본문 바로가기
논문/Large Language Model (LLM)

[논문 리뷰] Principled Instructions Are All You Need forQuestioning LLaMA-1/2, GPT-3.5/4 (24.01)

by JONGSKY 2024. 3. 3.
728x90
SMALL

https://arxiv.org/abs/2312.16171

 

논문은 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

  1. Prompt Structure and Clarity (프롬프트 구조 및 명확성)
  2. Specificity and Information (특이성과 정보)
  3. User Interaction and Engagement (사용자 상호작용과 참여)
  4. Content and Language Style (내용 및 언어 스타일)
  5. 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

  1. 간결함과 명확성 : 지나치게 장황하거나 애매한 프롬프트는 모델을 혼란스럽게 해서 관련 없는 응답으로 이어질 수 있음
  2. 문맥적 관련성 : 모델이 작업의 배경과 영역을 이해하는데도 도움이 되는 적절한 프롬프트를 제공해야 함
  3. 작업 정렬 : 작업의 특성을 명확하게 나타내는 언어와 구조를 사용해 현재 작업과 밀접하게 일치해야 함
  4. 예시 데모 : 프롬프트에 예제를 포함하여 원하는 형식이나 응답 유형을 보여줄 수 있음
  5. 점진적 프롬프트 : 일련의 단계가 필요한 경우 프로세스를 안내해 점진적으로 프롬프트를 작성할 수 있음

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의 응답 품질 향상을 평가함
    • 원래 수정되지 않은 프롬프트는 향상을 측정하는 기준으로 작용

13번 원칙을 사용한 프롬프트 예시

  • Correctness
    • 모델의 출력 또는 응답의 정밀도를 의미, 이는 정확하고 관련성이 있으며 오류가 없는 것을 확인
    • 절대적 및 상대적 정확도를 모두 고려, 이 측면을 측정하기 위해 Human 평가자가 활용됨

7번 원칙을 사용한 프롬프트 예시

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