AI 모델 및 플랫폼
대형 언어 모델이 지시를 건너뛰는 이유와 이를 해결하는 방법

대형 언어 모델(Large Language Models, LLM)은 빠르게 인공지능(Artificial Intelligence, AI) 도구로 필수적인 역할을 하고 있습니다. 채팅봇, 콘텐츠 생성, 코딩 지원 등 다양한 응용 프로그램에서 사용되고 있습니다. 그러나 이러한 모델은 지시를 건너뛰는 문제를 가지고 있습니다. 특히 지시가 길거나 여러 단계를 포함하는 경우에 이러한 문제가 발생합니다. 이러한 건너뛰기는 불완전하거나 부정확한 출력을 초래하여 사용자가 혼란을 겪고 인공지능 시스템에 대한 신뢰를 잃을 수 있습니다. 따라서 이러한 문제를 이해하고 해결하는 것이 필수적입니다.
대형 언어 모델이 지시를 건너뛰는 이유
LLM은 입력 텍스트를 토큰의 시퀀스로 읽습니다. 토큰은 텍스트를 나누는 작은 단위입니다. 모델은 이러한 토큰을 하나씩 처리하여 시작부터 끝까지 읽습니다. 이는 입력의 처음에 있는 지시가 더 많은 주의를 받게 됩니다. 나중에 나오는 지시는 덜 주의를 받을 수 있으며 무시될 수 있습니다.
이러한 문제는 LLM이 주의의 한계를 가지고 있기 때문입니다. 주의는 모델이 응답을 생성할 때 입력의 어떤 부분이 중요한지 결정하는 메커니즘입니다. 입력이 짧을 때는 주의가 잘 작동합니다. 그러나 입력이 길거나 지시가 복잡해지면 주의가 약해지고 나중에 나오는 부분이 무시될 수 있습니다.
또한 여러 지시가同时 존재하면 복잡성이 증가합니다. 지시가 중첩되거나 충돌하면 모델이 혼란을 겪을 수 있습니다. 모델은 모든 것을 응답하려고 하지만 모호하거나矛盾된 응답을 생성할 수 있습니다. 이는 지시를 건너뛰는 결과를 초래할 수 있습니다.
LLM은 인간과 유사한 한계를 가지고 있습니다. 예를 들어, 인간은 긴 또는 반복적인 텍스트를 읽을 때 주의를 잃을 수 있습니다. 마찬가지로, LLM도 더 많은 토큰을 처리할수록 나중에 나오는 지시를 잊을 수 있습니다. 이러한 주의의 손실은 모델의 설계와 한계의 일부입니다.
또한 LLM은 단순한 지시를 더 많이 본 경험이 있습니다. 그러나 복잡한 지시를 처리하는 능력은 약합니다. 이는 모델이 더 복잡한 지시를 건너뛰는 결과를 초래할 수 있습니다. 또한 토큰 제한으로 인해 모델이 처리할 수 있는 입력의 양이 제한됩니다. 입력이 이러한 제한을 초과하면 지시가 무시될 수 있습니다.
예시: 사용자가 LLM에 5개의 지시를 하나의 프롬프트에 제공한다고 가정합니다. 모델은 첫 두 개의 지시에 주의를 집중하고 나머지 세 개의 지시는 부분적으로 또는 완전히 무시할 수 있습니다. 이는 모델이 토큰을 순차적으로 처리하고 주의의 한계로 인해 발생합니다.
LLM이 순차적 지시를 처리하는 능력: SIFo 2024 연구 결과
최근 연구에서는 LLM이 순차적 지시를 처리하는 능력을 조사했습니다. 하나의 중요한 연구는 순차적 지시 처리 벤치마크(SIFo) 2024입니다. 이 벤치마크는 모델을 순차적 지시를 처리하는 능력을 테스트합니다. 이러한 지시는 텍스트 수정, 질문 응답, 수학, 보안 규칙 등을 포함합니다. 각 지시는 이전 지시의 올바른 완료에 의존합니다. 이러한 접근 방식은 모델이 전체 시퀀스를 올바르게 처리하는지 확인하는 데 도움이 됩니다.
SIFo 연구 결과에 따르면, 최고의 LLM인 GPT-4와 Claude-3도 지시를 완전히 처리하는 데 어려움을 겪습니다. 특히 지시가 길거나 복잡한 경우에 이러한 문제가 발생합니다. 연구는 LLM이 지시를 처리하는 데 세 가지 주요 문제를 지적합니다.
이해: 각 지시의 의미를 완전히 이해하는 것입니다.
추론: 여러 지시를 논리적으로 연결하여 응답을 명확하게 하는 것입니다.
신뢰할 수 있는 출력: 모든 지시를 완전히 처리하여 정확한 응답을 생성하는 것입니다.
프롬프트 엔지니어링과 같은 기술을 사용하여 모델이 지시를 처리하는 능력을 향상시킬 수 있습니다. 그러나 이러한 방법은 지시를 건너뛰는 문제를 완전히 해결하지는 못합니다. 또한 인간 피드백을 사용하는 강화 학습(Reinforcement Learning with Human Feedback, RLHF)을 사용하여 모델의 능력을 향상시킬 수 있습니다. 그러나 모델은 여전히 여러 단계 또는 복잡한 지시를 처리하는 데 어려움을 겪을 수 있습니다.
연구는 또한 LLM이 지시를 처리하는 데 가장 잘 작동하는 조건을 제시합니다. 지시가 간단하고 명확하게 구분되며 잘 조직되어 있을 때 모델은 더 잘 작동합니다. 그러나 지시가 복잡하거나 여러 단계를 포함하는 경우에 모델의 정확성이 떨어집니다. 이러한 발견은 LLM을 더 잘 사용하는 방법을 제시하고 모델이 지시를 올바르게 처리하는 능력을 향상시키는 데 도움이 됩니다.
LLM이 지시를 건너뛰는 이유: 기술적 문제와 실제 고려
LLM이 지시를 건너뛰는 이유는 모델이 입력 텍스트를 처리하고 인코딩하는 방식에 근거한 여러 기술적 및 실제 문제에 있습니다.
주의의 한계와 정보의 희석
LLM은 주의 메커니즘을 사용하여 입력의 중요성을 결정합니다. 프롬프트가 간결할 때 모델의 주의는 집중되고 효과적입니다. 그러나 프롬프트가 길거나 반복되는 경우 주의가 희석되고 나중에 나오는 토큰이나 지시는 덜 주의를 받습니다. 이는 지시를 건너뛰는 가능성을 증가시킵니다. 또한 모델은 고정된 토큰 제한(예: 2048 토큰)을 가지고 있습니다. 이러한 제한을 초과하는 입력은 잘립니다. 이는 지시가 무시될 수 있습니다.
출력의 복잡성과 모호성
LLM은 여러 또는 충돌하는 지시를 처리하는 데 어려움을 겪을 수 있습니다. 모델은 모호하거나矛盾된 응답을 생성하여 지시를 건너뛰거나 잘못 해석할 수 있습니다. 지시의 모호성도 모델이 의도된 동작을 결정하는 데 어려움을 겪게 합니다.
프롬프트 디자인과 형식의 민감성
프롬프트의 구조와 형식은 모델이 지시를 처리하는 데 중요한 역할을 합니다. 연구에 따르면 프롬프트의 작은 변경도 모델이 지시를 처리하는 데 큰 영향을 미칠 수 있습니다.
잘 구조화되지 않은 프롬프트는 모델이 지시를 구분하는 데 어려움을 겪게 합니다. 이는 지시를 건너뛰거나 잘못 해석할 수 있습니다. 모델의 내부 표현은 이러한 변이에 매우 민감합니다. 이는 프롬프트 엔지니어링이 모델이 지시를 처리하는 데 도움이 될 수 있음을 의미합니다.
LLM에서 지시 건너뛰기 문제를 해결하는 방법
LLM에서 지시 건너뛰기 문제를 해결하는 것은 정확하고 신뢰할 수 있는 결과를 생성하는 데 중요합니다. 다음은 지시 건너뛰기를 최소화하고 결과의 품질을 향상시키는 데 도움이 되는最佳 관행입니다.
작업을 더 작은 부분으로 나누기
긴 또는 여러 단계의 프롬프트는 더 작은, 더 집중적인 세그먼트로 나눠야 합니다. 모델이 주의를 유지하고 지시를 건너뛰는 가능성을 줄일 수 있습니다.
예시
대신에 모든 지시를 하나의 프롬프트에 결합하는 것보다, 각 지시를 별도로 또는 더 작은 그룹으로 제공해야 합니다.
지시를 번호 또는 글머리 기호로 형식화하기
지시를 명확하게 형식화하여 모델이 각 항목을 별개의 작업으로 인식할 수 있습니다. 이는 모델이 모든 지시를 처리하는 데 도움이 됩니다.
예시
- 다음 텍스트를 요약하세요.
- 주요 사항을 나열하세요.
- 개선을 제안하세요.
이러한 형식은 모델이 별개의 작업을 인식하는 데 도움이 됩니다.
지시를 명확하고 모호하지 않게 하기
지시는 모든 단계를 완료하도록 명확하게 지시해야 합니다. 모호하거나 애매한 언어를 피해야 합니다. 프롬프트는 모델이 모든 지시를 처리하도록 명확하게 지시해야 합니다.
예시
“다음 작업을 모두 완료하세요. 어떤 단계도 건너뛰지 마세요.”
이러한 직접적인 지시는 모델이 모든 지시를 처리하는 데 도움이 됩니다.
중요한 작업에는 별도의 프롬프트 사용
중요한 작업에는 별도의 프롬프트를 사용하여 모델이 하나의 작업에만 집중할 수 있도록 해야 합니다. 이러한 접근 방식은 모델이 모든 지시를 처리하는 데 도움이 됩니다.
고급 전략: 완전성과 효율성을 균형적으로 조정하기
모델이 모든 지시를 처리하는 데 시간이 걸릴 수 있습니다. 이러한 문제를 해결하기 위해 다음 고급 프롬프트 기술을 사용할 수 있습니다.
지시를 명확하게 형식화하고 레이블을 추가하기
여러 관련 지시는 하나의 프롬프트에 결합될 수 있지만, 각 지시는 번호 또는 제목으로 구분되어야 합니다. 프롬프트는 모델이 모든 지시를 완전히 처리하도록 지시해야 합니다.
예시 프롬프트
다음 작업을 모두 완료하세요. 지시를 건너뛰지 마세요.
- 다음 텍스트를 요약하세요.
- 주요 사항을 나열하세요.
- 개선을 제안하세요.
- 개선된 텍스트를 프랑스어로 번역하세요.
사고 연쇄 스타일 프롬프트
사고 연쇄 스타일 프롬프트는 모델이 각 작업을 순차적으로 처리하도록 지시합니다. 모델이 모든 지시를 완전히 처리하는 데 도움이 됩니다.
예시 프롬프트
다음 텍스트를 읽고 작업을 순서대로 처리하세요. 작업을 명확하게 표시하세요.
- 텍스트를 요약하세요.
- 주요 사항을 나열하세요.
- 개선을 제안하세요.
- 개선된 텍스트를 프랑스어로 번역하세요.
모든 작업을 완전히 처리하여 하나의 응답으로 제공하세요.
완료 지시와 리마인더 추가
모델이 모든 작업을 완전히 처리하도록 명확하게 지시해야 합니다.
- “모든 작업을 완전히 처리하세요.”
- “지시를 건너뛰지 마세요.”
- “응답을 명확하게 구분하세요.”
이러한 리마인더는 모델이 모든 지시를 처리하는 데 도움이 됩니다.
다른 모델과 매개변수 설정 테스트
모든 LLM이 다중 지시를 처리하는 데 동일한 성능을 보이지 않습니다. 다양한 모델을 테스트하여 다중 지시를 처리하는 데 가장 좋은 모델을 찾는 것이 중요합니다. 또한 매개변수 설정을 조정하여 모델의 주의와 완전성을 향상시킬 수 있습니다.
모델 미세 조정과 외부 도구 사용
모델을 다중 지시 또는 순차적 지시를 포함하는 데이터셋으로 미세 조정하여 지시를 처리하는 능력을 향상시킬 수 있습니다. 강화 학습과 같은 기술을 사용하여 모델의 능력을 향상시킬 수 있습니다.
고급 사용의 경우, API, 플러그인, 또는 검색 증강 생성(Retrieval Augmented Generation, RAG) 시스템과 같은 외부 도구를 통합하여 모델의 신뢰성과 정확성을 향상시킬 수 있습니다.
결론
LLM은 강력한 도구이지만 지시를 건너뛰는 문제를 가지고 있습니다. 이는 모델이 입력을 읽고 주의를 집중하는 방식으로 인해 발생합니다. 지시는 명확하고 간단하며 잘 조직되어 있어야 합니다. 작업을 더 작은 부분으로 나누고, 지시를 명확하게 형식화하고, 지시를 건너뛰지 않도록 모델을 지시하면 모델이 모든 지시를 완전히 처리하는 데 도움이 됩니다.
중요한 작업에는 별도의 프롬프트를 사용하여 모델이 하나의 작업에만 집중할 수 있도록 해야 합니다. 이러한 접근 방식은 모델이 모든 지시를 처리하는 데 도움이 됩니다. 또한 고급 프롬프트 기술을 사용하여 모델이 모든 지시를 완전히 처리하는 데 도움이 될 수 있습니다. 모델을 미세 조정하고 외부 도구를 사용하여 모델의 능력을 향상시킬 수 있습니다. 이러한 아이디어는 사용자가 일관된 결과를 얻고 인공지능 도구를 실제 작업에서 더 유용하게 사용하는 데 도움이 될 것입니다.












