728x90
SMALL
논문은 LLM(대규모 언어 모델) prompting과 querying의 과정을 간소화하기 위해 26가지 가이드 지침을 소개합니다. 우리의 목표는 다양한 규모의 LLM에 대한 질문을 구성하는 기본 개념을 단순화하고, 그 성능을 테스트하고, 다양한 프롬프트를 입력할 때 다양한 규모의 LLM의 동작에 대해 사용자의 이해도를 높이는 것입니다. 명령어와 프롬프트 설계에 제안된 원칙이 효과가 있는 것을 증명하기 위해 LLaMA-1/2(7B, 13B, 70B), GPT-3.5/4에서 광범위한 실험을 수행했습니다. 우리는 이 작업이 LLM의 프롬프트를 연구하는 연구자들에게 더 나은 가이드를 제공하기를 바랍니다. 프로젝트 페이지는 다음 링크(https://github.com/VILA-Lab/ATLAS)에서 확인할 수 있습니다.
* LLM : "Large Language Model"의 약자로, 대규모의 언어 모델을 의미합니다.
* prompt : 컴퓨터 프로그램이나 시스템에서 사용자로부터 입력을 받는 부분이며, 일반적으로 명령이나 정보를 제공하는 메시지 또는 문구를 가리킵니다.
1. Introduction
- ChatGPT와 같은 LLM은 다양한 영역(Q&A, 수학적 추론, 코드 생성 등)에서 인상적인 능력을 보여주었음
- BUT, 적용 및 사용에 있어서 특히 instructions 또는 prompt를 설계하는데 있어 일반 사용자에게는 불분명할 수 있음
- 이번 연구를 통해 개발자 또는 일반 사용자에게 LLM 또는 fine-tuning된 LLM을 사용할 때 prompt을 단순히 curating 하여 응답 품질을 더욱 향상하는 것을 목표로 함
- 특정 작업에서 LLM을 fine-tuning 하는 것은 현실적으로 어렵기 때문에 연구자들은 프롬프트 최적화에 주목하고 있음
- 그래서 자연어를 통해 instruction과 prompt를 만드는 protmp engineering 기술은 핵심 연구 분야가 되었음
- 이러한 노력이 있었음에도 불구하고 LLM의 구체적인 답변을 받기 위해서 최대한 활용하는 작업은 아직도 상당히 어려운 숙제임
- Section 3에서는 LLM prompt에 대한 원칙적인 지침에 대해 설명
- Section 4에서는 제안된 원칙이 더 높은 성능, 간결하고 덜 복합한 응답을 생성할 수 있음을 실험으로 보여줌
- 특히 각 원칙에 대해 여러 개의 질문이 포함된 ATLAS 벤치마크를 통해 도입한 prompt는 GPT-4에 적용했을 때 LLM 응답의 성능과 정확성을 각각 평균 57.7%, 36.4% 향상함
- 또한 이러한 개선은 모델의 크기가 커질수록 뚜렷하게 나타남
ex) LLaMA-2-7B에서 GPT-4로 이동하면 20% 넘게 성능이 좋아진다.
* ATLAS: LLM 문의 원칙 벤치마크 (An LLM Inquiry Principle Benchmark) - 참고
2. Related Work
- LLM의 진화는 NLP(자연어 처리)를 발전시키는데 중추적인 역할을 하였음
- 이 Section에서는 LLM의 주요 발전 사항을 검토하여 현재 연구에 대한 기초를 제공
- Google의 BERT는 양방향 학습 접근 방식을 통해 문맥 이해에 혁명을 일으켰음 - 참고
- T5는 다양한 NLP 작업을 단일 프레임워크로 통합해발전시켰음 - 참고
- GPT-1은 비지도학습을 위해 transformer 아키텍처를 활용하는 선구적인 모델 도입
- GPT-2는 매개변수의 수를 15억 개로 대폭 확장하여 텍스트 생성에서 놀라운 기능을 보임
- GPT-3은 1,750억 개의 파라미터를 자랑하며 다양한 언어에 걸쳐 뛰어나고 광범위한 언어작업을 보임
- Gopher는 2,800억 개의 파라미터 모델을 통해 언어 처리 기능 향상 + 윤리적 고려 사항도 추가함
- Meta의 LLaMA 시리즈는 효율성의 중요성을 강조하며 더 적은 리소스로 강력한 성능을 발휘할 수 있다고 제안
이는 Chinchilla에서도 주장한 개념으로 최적의 훈련을 받은 소규모 모델이 좋은 결과를 얻을 수 있다고 제안 - 가장 최근 출시된 Mistral은 효율성과 성능이 뛰어나 LM을 능가하는 성능을 자랑함
- 가장 최근의 획기적인 사건은 OpenAI의 GPT-4와 Google의 Gemini이며, 다양한 영역의 새로운 벤치마크가 되었음
- Prompt는 LLM과 상호작용하며 모델을 fine-tuning 하는 것이 아니라 사용자의 입력으로 LLM의 응답을 얻는 복잡한 관계가 있음
- AutoPrompt과 같은 초기 연구에서는 프롬프트 디자인이 언어 모델의 성능과 출력에 얼마나 큰 영향을 미칠 수 있는지를 연구하며 프롬프트 엔지니어링의 탄생을 알림 - 참고
- 빠르게 확장되어 최소한의 예제로 수행할 수 있는 few-shot과 zero-shot에서 프롬프트의 중요한 역할을 밝혀냄 - 참고
- 최근 연구는 단순한 task instruction을 넘어, 프롬프트의 의미와 작은 변화가 LLM에서 크게 다른 응답으로 이어질 수 있는지에 대해 연구하는 방향으로 변화하였음
- Ask-Me-Anything은 불완전한 프롬프트를 여러 개 사용하고 이를 종합해서 Q&A에서 모델 성능을 개선하는데 도입 - 참고
- 복잡한 작업의 성능을 향상하기 위한 중간의 추론 단계를 생성하는 Chain-of-Thought - 참고
- least-to-most prompting은 복잡한 문제를 더 간단한 하위 분제로 분해하는 학습 전략으로, 프롬프트에 제시된 문제보다 더 어려운 문제를 해결할 수 있는 모델의 능력을 크게 향상함 - 참고
- 설명의 효과에 대한 연구를 통해 설명이 복잡한 과제에 대한 LLM 능력을 향상시킬 수 있음을 발견 - EMNLP 2022, pages 537–563
- Directional Stimulus prompting은 가변 정책 모델을 사용해 보조 프롬프트를 생성해 특정 원하는 결과에 도달- 참고
3. Principles
3.1 Motivation
- LLM이 생성한 응답의 품질(성능)은 사용자가 제공하는 프롬프트 또는 instruction과 직접적인 관련이 있어,
LLM이 효과적으로 이해하고 응답할 수 있는 프롬프트를 만드는 것이 필수적임 - LLM에 전달되는 프롬프트는 다양한 작업을 처리할 수 있는 능력을 향상시킴
(주요 초점은 출력 품질 향상을 위한 프롬프트 제작 및 사용자 정의) - 이를 위해 LLM의 기능과 행동, 기본 메커니즘, 응답을 지배하는 원칙 등에 대한 포괄적 이해가 필요
- 다양한 시나리오와 상황에 대한 종합적인 프롬프트 26가지를 설명해 이러한 목표를 달성함
3.2 Overview
- Prompt Structure and Clarity (프롬프트 구조 및 명확성)
- Specificity and Information (특이성과 정보)
- User Interaction and Engagement (사용자 상호작용과 참여)
- Content and Language Style (내용 및 언어 스타일)
- Complex Tasks and Coding Prompts (복잡한 작업과 코딩 프롬프트)
원칙 | Instrcutions를 위한 Prompt 원칙 | ||
1 | 간결한 답변을 선호한다면 예의를 지킬 필요가 없다. | ||
2 | 의도한 청중을 프롬프트에 추가한다. | ||
3 | 대화형 대화에서 복잡한 작업을 프롬프트로 분해한다. | ||
4 | 부정적인 언어 대신 긍정적인 지시어를 사용한다. | ||
5 | 주제, 아이디어, 또는 정보에 대한 명확성이 필요한 경우 초보자(어린이에게 설명하듯이)라는 청자를 추가한다. | ||
6 | 더 나은 해결책을 위해 xxx 팁으로 줄게요를 추가한다. | ||
7 | few-shot(예제기반) 프롬프트 구현한다. | ||
8 | 지시, 예제, 질문으로 구성한다. (각 기능별로는 "###" 또는 줄바꿈 사용) | ||
9 | "당신의 임무는", "당신은 반드시" 와 같은 임무를 설정한다. | ||
10 | "처벌을 받을 것"이라는 구문을 추가한다. | ||
11 | "자연스럽고 인간적인 방식으로 주어진 질문에 답하세요" 구문을 추가한다. | ||
12 | "단계별로 생각해라"과 같은 주요 단어를 사용한다. | ||
13 | "답변이 편견 없이 편향되지 않도록 고정관념에 의존하지 않도록 해라"라는 내용을 추가한다. | ||
14 | 정보가 충분할 때까지 질문을 하라고 시킨다. | ||
15 | [이론/주제/규칙]으로 지식을 알려주고 테스트를 추가해서 답이 맞는지 확인하도록 시킨다. | ||
16 | 역할을 할당시킨다. (ex. 너는 데이터과학자야.) | ||
17 | 구분자를 사용한다. | ||
18 | 특정 단어 또는 구문을 를 반복해 사용한다. | ||
19 | CoT + fet-shot을 사용한다. | ||
20 | 출력 primer를 사용한다. | ||
21 | "필요한 모든 정보를 추가해" 라는 문구를 추가한다. | ||
22 | 사용자가 보낸 모든 문단을 수정해달라는 내용을 추가한다. | ||
23 | 다른 파일에 있는 복잡한 코딩 프롬프트가 있으면 스크립트를 생성해달라고 한다. | ||
24 | 특정 단어, 구 또는 문장을 사용해 텍스트를 생성한다. | ||
25 | 특정 키워드를 포함해서 텍스트를 생성하라고 시킨다. | ||
26 | 샘플과 유사하게 작성하도록 비슷한 느낌의 글을 생성해서 같이 준다. |
3.3 Design Principles
- 간결함과 명확성 : 지나치게 장황하거나 애매한 프롬프트는 모델을 혼란스럽게 해서 관련 없는 응답으로 이어질 수 있음
- 문맥적 관련성 : 모델이 작업의 배경과 영역을 이해하는데도 도움이 되는 적절한 프롬프트를 제공해야 함
- 작업 정렬 : 작업의 특성을 명확하게 나타내는 언어와 구조를 사용해 현재 작업과 밀접하게 일치해야 함
- 예시 데모 : 프롬프트에 예제를 포함하여 원하는 형식이나 응답 유형을 보여줄 수 있음
- 점진적 프롬프트 : 일련의 단계가 필요한 경우 프로세스를 안내해 점진적으로 프롬프트를 작성할 수 있음
4. Experiments
4.1 Setup and Implementation Details
- 모든 평가는 원칙에 따른 즉각적인 평가를 위한 수동으로 제작된 ATLAS에서 수행됨 - 참고
- [10], [26]과 비슷하게 원칙이 있는 응답과 없는 응답을 비교하고 human evaluation에 의해 LLM 출력의 다양한 척도를 평가함
4.2 Models and Metrics
- 기본 모델로 LLaMA-1-{7, 13}, LLaMA-2-{7,13}, LLaMA-2-70B-chat, GPT-3.5, GPT-4를 사용함
- 모델을 소규모(7B), 중규모(13B), 대규모(70B, GPT-3.5/4)로 분류함
- 2가지 설정에서 평가 : Boosting과 Correctness
- Correctness을 위해 복잡한 추론 작업을 사용해 모델 출력의 정확성을 정확하게 측정함
단순한 작업을 사용해 품질 향상을 효과적으로 측정하는 Boosting과는 대조적임 - 이러한 구분은 다양한 척도의 모델에 대한 실제 기능과 프롬프트에 대한 원리 효과를 더 잘 반영하도록 보장
- 정확성을 위해 일반적으로 복잡한 추론 작업을 포함하는 질문을 사용하는 원칙 14, 15, 21, 22, 23을 포함한 일부 원리는 적용하지 않음
- Boosting
- 제안된 원칙을 적용할 때 응답 품질의 증가 비율을 나타냄
- 요약된 프롬프트 원칙을 적용한 후 human 평가를 통해 다양한 LLM의 응답 품질 향상을 평가함
- 원래 수정되지 않은 프롬프트는 향상을 측정하는 기준으로 작용
- Correctness
- 모델의 출력 또는 응답의 정밀도를 의미, 이는 정확하고 관련성이 있으며 오류가 없는 것을 확인
- 절대적 및 상대적 정확도를 모두 고려, 이 측면을 측정하기 위해 Human 평가자가 활용됨
4.3 Results
4.3.1 Results on small, medium and large-scale LLMs
- Boosting
- 일반적으로 모든 원칙은 LLM의 3가지 척도에서 상당한 개선을 가져올 수 있음
- 원칙 2, 5, 15, 16, 25, 26의 경우 large-scale 모델이 원칙에 따른 프롬프트로 가장 큰 개선을 얻음
- 특히, 원칙 14는 적용되는 모든 질문에 대해 개선되었음
- Correctness
- 절대 정확도: 다양한 규모의 모델에서 원리를 사용할 때 절대 성능을 검사
- 평균 20~40%의 정확도를 향상함
- 특히, small, medium 모델의 경우 기본적으로 10%~40% 사이에 도달 / large-scale 모델의 경우 40% 이상에 도달
- Correctness
- 상대적 정확도: 원칙을 사용하면 다양한 모델에서 평균 10% 이상의 성능 향상을 보여줌
- 더 큰 모델의 경우 20%를 초과할 수 있음
4.3.2 Results on individual LLMs
- Boosting
- 수정된 프롬프트 사용 후 개별 모델 및 원리에 대한 응답 품질 향상을 보여줌
- 평균적으로 50% 이상의 안정적인 개선 효과가 있음
- Correctness
- Figure 8은 절대 정확도를 나타내고 Figure 9는 다양한 크기의 LLM에 대한 상대적인 정확도 향상을 보여줌
- 모델이 클수록 정확도 향상이 더 크게 증가하는 경향이 눈에 띔
- Figure 11, Figure 12는 각 원리에 의한 절대적 및 상대적 정확성 향상을 추가로 제시
4.3.3 More examples on various scales of LLMs
- 소규모 LLaMA-2-7B의 경우 Figure13과 14 / 중규모 LLaMA-2-13B의 경우 Figure 15와 16과 같이 추가 예제를 제시함
- 경험적으로, 프롬프트에 제안된 원칙을 사용하면 이러한 모델에서 생성된 응답의 정확도가 크게 향상됨
5. Conclusion
- 우리는 LLM이 input context의 중요한 요소에 집중하는 능력을 향상해 품질 있는 응답을 생성하도록 하는 26가지 원칙을 제시함
- 제작 원칙으로 LLM을 안내함으로써 모델이 더 나은 응답을 생성하도록 유도할 수 있음
- 우리의 경험적 결과는 이 전략으로 재구성하여 응답의 관령성, 간결성 및 객관성을 향상할 수 있음을 보여줌
- 기초 모델을 정교화해서 원칙에 따라 지시를 조정하고, fine-tuning, 강화학습, 최적화 또는 생성된 데이터 set을 사용하는 다양한 프롬프트 방법을 통해 다른 전략으로 발전시킬 수 있음
6. Limitations and Discussion
- 제안된 26개의 원칙은 다양한 쿼리에 걸쳐 LLM의 응답 품질을 개선하고 향상하기 위해 설계되었지만, 매우 복잡하거나 고도화된 질문을 처리할 때 이러한 원칙의 효과는 줄어들 수 있음
- 원칙은 주로 각 모델의 추론 능력과 학습에 따라 달라질 수 있음
- 그래서 다양한 규모에서 원칙을 테스트해서 효과를 종합적으로 측정함
- 7개 언어모델에 이러한 원칙을 평가하기 위해 노력했음에도 테스트된 것과 다른 구조를 가진 모델은 다른 방식으로 응답할 수 있음
- 개선 및 정확도 비율에 대한 우리의 평가는 제한된 질문 선택에 기반함
-> 향후 연구에서 설정한 질문을 확장하면 보다 일반화된 결과를 얻을 수 있고 더 높은 통창력을 얻을 수 있음
728x90
LIST