[Abstract]
자연어 명령어를 조건화함으로써 LLM(Large Language Model)은 범용 컴퓨터로서 인상적인 기능을 보여주었습니다. 그러나 작업 성능은 모델을 조종하는 데 사용되는 프롬프트의 품질에 크게 좌우되며, 가장 효과적인 프롬프트는 사람이 직접 만든 것입니다. 고전적인 프로그램 합성과 신속한 엔지니어링에 대한 인간 접근 방식에서 영감을 받아 자동 명령 생성 및 선택을 위한 자동 프롬프트 엔지니어1(APE)을 제안합니다. 우리의 방법에서, 우리는 선택된 점수 함수를 최대화하기 위해 LLM이 제안한 명령 후보 풀을 검색하여 최적화된 명령을 "프로그램"으로 취급합니다. 선택한 명령의 품질을 평가하기 위해 선택한 명령에 이어 다른 LLM의 제로샷 성능을 평가합니다. 광범위한 실험에 따르면 자동으로 생성된 명령어는 이전 LLM 기준을 크게 능가하고 24/24 명령어 유도 작업 및 17/21 큐레이션된 BIG-Bench 작업에 대해 인간 주석자가 생성한 명령어와 비교할 수 있는 성능을 달성합니다. 우리는 APE의 성능을 탐구하기 위해 광범위한 정성적 및 정량적 분석을 수행합니다. 우리는 APE 엔지니어링된 프롬프트가 퓨샷 학습 성능을 향상시킬 수 있음을 보여줍니다(표준 컨텍스트 학습 프롬프트에 단순히 추가함으로써). 더 나은 제로샷 사고 체인 프롬프트를 찾을 수 있을 뿐만 아니라 모델을 진실성 및/또는 정보성으로 조정할 수 있습니다.
[Introduction]
규모와 주의 기반 아키텍처의 결합으로 언어 모델은 전례 없는 수준의 일반성을 보유하게 되었습니다(Kapplan et al., 2020; Vaswani et al., 2017). 이러한 소위 "대규모 언어 모델"(LLM)은 제로샷 및 퓨샷 설정을 포함한 다양한 범위의 작업에서 주목할 만한, 종종 초인적인 능력을 보여주었습니다(Brown et al., 2020; Srivastava et al., 2022). 그러나 일반적으로, 어떻게 하면 LLM들이 우리가 원하는 것을 하도록 만들 수 있을까? 라는 제어의 문제가 있습니다
이 질문에 답하고 원하는 행동으로 LLM을 조정하기 위해 최근 연구에서는 미세 조정(Ouyang et al., 2022; Ziegler et al., 2019), 맥락 내 학습(Brown et al., 2020) 및 소프트 프롬프트의 차별화 가능한 조정(Qin & Eisner, 2021; Lester et al.)을 포함한 몇 가지 형태의 신속 생성(Gao, 2021)을 고려했습니다. 2021) 및 자연어 신속 공학(Reynolds & McDonell, 2021). 후자는 인간이 기계와 통신할 수 있는 자연스러운 인터페이스를 제공하고 LLM뿐만 아니라 프롬프트 이미지 신시사이저와 같은 다른 일반주의 모델과 큰 관련이 있을 수 있기 때문에 특히 관심이 있습니다(Rombach et al., 2022; Ramesh et al., 2022), 신속한 설계 및 생성에 대한 대중의 관심도 대두되었습니다(예는 부록 A 참조).
이러한 관심 뒤에는 일반 언어 프롬프트가 대체 명령으로 결과를 생성할 수 있는 경우에도 항상 원하는 결과를 생성하지 않는다는 사실이 있습니다. 따라서 인간 사용자는 명령이 특정 모델과 얼마나 호환되는지에 대한 지식이 거의 없기 때문에 원하는 행동을 이끌어내기 위해 광범위한 프롬프트를 실험해야 합니다. 우리는 LLM을 자연어 명령에 의해 지정된 프로그램을 실행하는 블랙박스 컴퓨터로 봄으로써 이것을 이해할 수 있습니다. 그들은 광범위한 자연어 프로그램을 실행할 수 있지만, 이러한 프로그램이 처리되는 방식은 인간에게 직관적이지 않을 수 있습니다, 그리고 이러한 명령을 다운스트림 작업에서 실행할 때에만 명령의 품질을 측정할 수 있습니다(Sanh et al., 2022; Wei et al., 2021).

그림 1: (a) 우리의 방법인 Automatic Prompt Engineer(APE)는 출력 데모를 통해 지정된 작업에 대한 명령을 자동으로 생성합니다. 직접 추론 또는 의미론적 유사성에 기반한 재귀 프로세스를 통해 여러 명령 후보를 생성하고 대상 모델을 사용하여 실행합니다, 계산된 평가 점수를 기반으로 가장 적합한 명령을 선택합니다. (b) Honovich et al. (2022)에 의해 도입된 24개의 NLP 작업에 대한 사분위간 평균에 의해 측정된 바와 같이, APE는 Instruct GPT 모델을 사용할 때 인간의 성능을 능가할 수 있습니다(Ouyang et al., 2022).

효과적인 명령어를 만들고 검증하는 데 수반되는 인적 노력을 줄이기 위해 LLM을 사용하여 명령어를 자동으로 생성하고 선택하는 새로운 알고리듬을 제안합니다. 우리는 이 문제를 자연어 프로그램 합성이라고 부르고 LLM을 사용하여 경험적으로 실행 가능한 후보 솔루션을 생성하고 검색하는 블랙박스 최적화 문제로 해결할 것을 제안합니다. 그렇게 함으로써, 우리는 세 가지 방법으로 LLM의 일반론적 기능을 활용합니다. 첫째, LLM을 추론 모델(Ellis et al., 2021; Honovich et al., 2022)로 사용하여 입출력 쌍의 형태로 작은 데모 세트를 기반으로 명령 후보를 생성합니다. 다음으로 제어하려는 LLM에서 각 명령어에 대한 점수를 계산하여 검색 프로세스를 안내합니다. 마지막으로 LLM이 의미론적으로 유사한 명령 변형을 제안하여 최적의 후보를 개선하는 반복 몬테카를로 검색 방법을 제안합니다. 직관적으로, 우리의 알고리듬은 LLM에게 시연을 기반으로 일련의 명령 후보를 생성한 다음 어떤 명령이 더 유망한지 평가하도록 요청합니다. 우리는 우리의 알고리즘을 자동 프롬프트 엔지니어(APE)라고 부릅니다. NAT의 주요 기여는 다음과 같습니다:
우리는 명령 생성을 자연어 프로그램 합성으로 구성하고 LLM에 의해 안내되는 블랙박스 최적화 문제로 공식화하고 솔루션을 근사화하기 위해 순진하고 반복적인 몬테카를로 검색 방법을 제안합니다.
제안된 방법인 APE는 24/24 지침 유도 및 17/21 빅벤치 작업에 대한 모델 생성 지침을 통해 제로샷 학습에서 인간 수준의 성능을 달성합니다.
우리는 APE의 다양한 측면을 탐색하는 광범위한 정성적 및 정량적 분석을 제공하고 퓨샷 학습을 개선하고, 더 나은 제로샷 사고 체인을 찾고, 진실성 및/또는 정보성과 같은 원하는 행동으로 LLM을 조정하기 위한 APE의 적용을 시연합니다.
[Related Work]
(Large Language Models) 모델 크기, 훈련 데이터 및 훈련 컴퓨팅 측면에서 변압기 기반 언어 모델을 확장하면 광범위한 다운스트림 NLP 작업에서 예측 가능하게 성능이 향상되는 것으로 나타났습니다(Vaswani et al., 2017; Devlin et al., 2018; Brown et al., 2020).
이러한 스케일링의 결과로 퓨샷 인 컨텍스트 학습, 제로샷 문제 해결, 사고 추론, 연쇄 학습, 지시 추종 및 지시 유도(Cobbe et al., 2021; Wei et al., 2022b; Kojima et al., 2022; Sanh et al., 2022; 2022)를 포함하여 LLM의 많은 새로운 능력(Wei et al., 2022a)이 발견되었습니다;Wei et al., 2021; Ouyang et al., 2022; Honovich et al., 2022). 본 논문에서는 LLM을 자연어 명령어로 지정된 프로그램을 실행하는 블랙박스 컴퓨터로 보고 모델 생성 명령어를 사용하여 LLM의 동작을 제어하는 방법을 조사합니다.
(Prompt Engineering) 프롬프트는 인간이 LLM과 같은 일반주의 모델과 상호 작용하고 사용할 수 있는 자연스럽고 직관적인 인터페이스를 제공합니다. 유연성 때문에 프롬프트는 NLP 작업의 일반적인 방법으로 널리 사용되어 왔습니다(Schick & Schüze, 2021; Brown et al., 2020; Sanh et al., 2022). 그러나 LLM은 수동(Reynolds & McDonell, 2021) 또는 자동(Gao et al., 2021; Shin et al., 2020)으로 신중한 프롬프트 엔지니어링이 필요합니다. 모델은 인간과 같은 방식으로 프롬프트를 이해하지 못하는 것 같습니다(Webson & Pavlick, 2021; Lu et al., 2021). 많은 성공적인 프롬프트 튜닝 방법이 그라데이션 기반 방법(Liu et al., 2021; Qin & Eisner, 2021; Lester et al., 2021)을 사용하여 연속적인 공간에 대한 최적화를 수행하지만, 컴퓨팅 그라데이션이 점점 더 비싸지고 모델에 대한 액세스가 그라데이션 액세스를 제공하지 않을 수 있는 API로 이동하기 때문에 규모에 이는 실용성이 떨어집니다. 본 논문에서는 자연어 가설 공간에서 직접 검색하여 명령어를 최적화하기 위해 프롬프트 생성(Gao et al., 2021; Ben-David et al., 2021), 프롬프트 스코어링(Davison et al., 2019) 및 프롬프트 패러프레이징(Jang et al., 2020; Yuan et al., 2021)과 같은 개별 프롬프트 검색 방법의 구성 요소를 차용합니다. 각 구성 요소에 대해 전문화된 모델을 사용하고 인간 템플릿에 크게 의존하는 이 과거 연구와 비교하여, 우리는 전체 검색이 단일 LLM에 의해 수행될 수 있음을 보여줍니다.
(Program Synthesis(종합적)) 프로그램 합성은 특정 사양을 만족하는 프로그램을 찾기 위해 "프로그램 공간"에 대한 자동 검색을 포함합니다(Gulwani et al., 2017). 현대의 프로그램 합성은 입출력 예제(Ellis et al., 2021; Wong et al., 2021)와 자연어(Jain et al., 2022)를 포함하여 매우 다양한 사양을 허용합니다. 역사적으로 제한적인 도메인별 언어에서 범용 프로그래밍 언어에 이르기까지 검색 가능한 프로그램 공간의 범위도 증가했습니다(Austin et al., 2021). 적절한 구조화된 가설 공간과 구성 요소 라이브러리를 필요로 하는 이전 접근 방식과 달리(Lang et al., 2010; Ellis et al., 2018), LLM이 제공하는 구조를 활용하여 자연어 프로그램의 공간을 검색합니다.
추론 모델을 사용하는 것은 검색 공간을 가능한 표현의 제한된 공간으로 제한함으로써 검색 속도를 높이기 위한 표준 관행입니다(Menon et al., 2013; Lee et al., 2018; Devlin et al., 2017; Ellis et al., 2021). 이에 영감을 받아 LLM을 대략적인 추론 모델로 사용하여 소규모 데모 세트를 기반으로 프로그램 후보를 생성합니다. 고전적인 프로그램 합성과 달리, 우리의 추론 모델은 훈련을 필요로 하지 않고 다양한 작업으로 잘 일반화됩니다.
[3. Natural Language Program Synthesis using LLM]
우리는 모집단 X에서 샘플링된 입출력 데모의 데이터 세트 Dtrain = f(Q;A)g와 프롬프트 모델 M에 의해 지정된 작업을 고려합니다. 자연어 프로그램 합성의 목표는 M이 명령어의 연결 [;Q]와 주어진 입력으로 프롬프트되면 M이 해당하는 출력 A를 생성하는 단일 명령어를 찾는 것입니다. 보다 공식적으로, 우리는 이것을 최적화 문제로 프레임화하며, 여기서 가능한 (Q;A)에 대한 일부 샘플당 점수 f(;Q;A)의 기대치를 최대화하는 지침을 찾습니다:

일반적으로 Q는 빈 문자열일 수 있으므로 출력 fAg를 직접 생성하는 프롬프트로 최적화합니다. 이 작업은 인간에 의해 널리 시도되었지만, 우리는 특정 명령이 모델 M과 얼마나 호환되는지에 대한 지식이 거의 없습니다. 따라서, 우리는 이 인간이 다루기 어려운 질문을 LLM에 의해 안내되는 블랙박스 최적화 프로세스로 처리할 것을 제안합니다. 우리의 알고리듬인 APE는 제안 및 채점이라는 두 가지 주요 구성 요소 각각에 LLM을 사용합니다. 그림 1과 알고리즘 1에 요약된 것처럼 APE는 먼저 몇 가지 후보 프롬프트를 제안한 다음 선택한 점수 함수에 따라 후보 세트를 필터링/정제하여 최종적으로 가장 높은 점수를 받은 명령을 선택합니다. 다음은 제안 및 채점 옵션에 대해 논의합니다.
[3-1 Initial Proposal Distributions] 초기 제안서 배포
검색 공간이 무한히 크기 때문에 올바른 지침을 찾는 것이 매우 어려울 수 있으며, 이는 자연어 프로그램 합성을 역사적으로 다루기 어렵게 만들었습니다. NLP의 최근 발전은 언어 모델이 다양한 자연어 텍스트를 생성하는 데 매우 뛰어나다는 것을 보여주었습니다. 따라서 사전 훈련된 LLM을 활용하여 검색 절차를 안내할 후보 솔루션의 좋은 세트 U를 제안하는 것을 고려합니다. LLM의 무작위 샘플이 원하는 (Q;A) 쌍을 생성할 가능성은 낮지만, 대신 입력/출력 시연(즉, P(jDtrain; f())을 고려할 때 높은 점수로 가장 가능성이 높은 지침을 대략 추론하도록 LLM에 요청할 수 있습니다.
[Forward mode Generation]
우리는 P(jDtrain; f())에서 고품질 후보를 생성하기 위한 두 가지 접근법을 고려합니다. 먼저, 우리는 이 분포 P(jDtrain; f()가 높음)를 단어로 변환하여 "전방" 모드 생성에 기반한 접근 방식을 채택합니다. 예를 들어, 지침 유도 실험(섹션 4.1)에서 Honovich et al.(2022)을 따르고 그림 2(위)를 사용하여 LLM에 프롬프트를 표시합니다.
[Reverse mode Generation]
"전방" 모델은 사전 훈련된 대부분의 LLM에 대해 즉시 작동하지만, P(jDtrain; f())를 단어로 번역하려면 여러 작업에 걸쳐 사용자 지정 엔지니어링이 필요합니다. 이는 명령어가 일반적으로 구절의 시작 부분에서 발견되는 반면, "앞으로" 모델은 왼쪽에서 오른쪽으로 텍스트만 생성하므로 프롬프트의 끝 부분에서 명령어를 예측해야 하기 때문입니다. 따라서 우리는 명령어가 텍스트의 어느 곳에나 있을 수 있도록 보다 유연한 접근 방식을 원합니다.
이를 해결하기 위해 T5(Rafel et al., 2020), GLM(Duu et al., 2022) 및 Insert GPT(Bavarian et al., 2022)와 같은 주입 기능을 가진 LLM을 사용하는 "역" 모드 생성을 고려하여 누락된 명령을 추론합니다. 우리의 "역" 모델은 빈칸을 채워 P(jDtrain; f())에서 직접 샘플을 추출합니다. 그림 2(중간)에서 이러한 템플릿의 예를 보여줍니다.
[Customized Prompts]
사용 중인 점수 함수에 따라 위의 샘플보다 더 적절한 프롬프트가 표시될 수 있습니다. 예를 들어, TruthyQA 실험에서, 우리는 원래 데이터 세트(Line et al., 2022)의 인간이 설계한 명령어로 시작하여 "reverse" 모델에 누락된 컨텍스트에 맞는 초기 명령어 샘플을 제안하도록 요청합니다(그림 2(하단)).

[3.2 Score Functions]
문제를 블랙박스 최적화로 캐스팅하기 위해 데이터 세트와 모델이 생성하는 데이터 간의 정렬을 정확하게 측정하는 점수 함수를 선택합니다. 명령 유도 실험에서, 우리는 아래에 설명된 두 가지 잠재적인 점수 함수를 고려합니다. TruthyQA 실험에서, 우리는 주로 실행 정확도와 유사하게 Lin et al.(2022)에서 제안된 자동화된 메트릭에 초점을 맞췄습니다. 각 경우에, 우리는 방정식 (1)을 사용하여 생성된 명령의 품질을 평가하고, 보류된 테스트 데이터 세트 D 테스트에 대한 기대치를 취합니다.
(Execution accuarcy) 실행 정확도
먼저, 우리는 Honovich et al.(2022)이 제안한 실행 정확도 메트릭을 사용하여 명령의 품질을 평가하는 것을 고려합니다. 이 메트릭은 fexec로 표시됩니다. 대부분의 경우, 실행 정확도는 단순히 0-1 손실, f(; Q;A) = 1 [M([;Q]) = A]로 정의됩니다. 일부 작업에서 실행 정확도는 불변량을 고려합니다. 예를 들어 Honovich et al.(2022)의 부록 A에 설명된 순서 불변 집합 일치 손실일 수 있습니다.
(Log probability)
우리는 또한 더 부드러운 확률론적 점수 함수를 고려하는데, 이 함수는 낮은 품질의 명령 후보를 검색할 때 더 세분화된 신호를 제공하여 최적화를 향상시킬 수 있다고 가정합니다. 특히, 우리는 표본 기준으로 로그 P(Aj [;Q])인 목표 모델 M에서 지시와 질문이 주어지면 원하는 답변의 로그 확률을 고려합니다.
(Efficient score estimation)
모든 교육 지원자에 대한 전체 교육 데이터 세트에 대한 점수를 계산하여 점수를 추정하는 것은 비용이 많이 들 수 있습니다. 계산 비용을 줄이기 위해, 우리는 유망한 후보는 더 많은 계산 자원을 받는 반면 낮은 품질의 후보는 더 적은 계산을 받는 필터링 체계를 채택합니다. 라인 2-9 알고리즘 1에서 다단계 계산 전략을 사용하여 달성할 수 있습니다. 우리는 먼저 훈련 데이터 세트의 작은 부분 집합으로 모든 후보자를 평가합니다. 점수가 특정 임계값보다 큰 후보의 경우, 우리는 점수의 이동 평균을 업데이트하기 위해 훈련 데이터 세트에서 중복되지 않는 새로운 하위 집합을 샘플링하고 평가합니다. 그런 다음 전체 교육 데이터 세트에서 평가되는 작은 후보 세트가 남을 때까지 이 프로세스를 반복합니다. 이 적응형 필터링 체계는 고품질 샘플에 대한 정확한 계산 비용을 유지하고 낮은 품질의 후보에 대한 계산 비용을 크게 줄임으로써 계산 효율성을 크게 향상시킵니다. 우리는 유사한 점수 추정 체계가 이전 연구에서 사용되었다는 것에 주목합니다(Li et al., 2022; Maclaurin & Adams, 2015).
[3-3 Iterative Proposal Distributions]
고품질의 초기 지침 후보를 직접 샘플링하려는 시도에도 불구하고, 하위 섹션 3.1에 설명된 방법이 다양성이 부족하거나 적절한 높은 점수를 가진 후보를 포함하지 않기 때문에 우수한 제안 세트 U를 생성하지 못할 수 있습니다. 이러한 문제가 발생할 경우 U를 다시 샘플링하기 위한 반복 프로세스를 탐구합니다.
(Iterative Monte Carlo Search)
초기 제안에서 샘플링만 하는 대신 현재 최고의 후보를 중심으로 검색 공간을 로컬로 탐색하는 것을 고려합니다. 이를 통해 성공 가능성이 높은 새 명령을 생성할 수 있습니다. 우리는 이 변종을 반복 APE라고 부릅니다. 각 단계에서 일련의 지침을 평가하고 점수가 낮은 지원자를 걸러냅니다. 그런 다음 LLM에서 높은 점수를 받은 명령어와 유사한 새 명령어를 생성하도록 요청합니다. 우리는 그림 3에서 재샘플링에 사용되는 프롬프트를 제공합니다. 그림 6(오른쪽)은 이 접근 방식이 제안 세트 U의 전반적인 품질을 향상시키지만, 최고 점수 명령은 더 많은 단계에서 동일하게 유지되는 경향이 있음을 보여줍니다. 우리는 반복 생성이 서브섹션 3.1에 설명된 생성 프로세스의 상대적 단순성과 효율성에 비해 한계적인 개선을 제공한다고 결론짓습니다. 따라서 특별한 언급이 없는 한 반복 검색 없이 APE를 기본값으로 사용합니다.
[4. Large Language Models are Human Level Prompt Engineers]
이 섹션에서는 APE가 LLM을 원하는 동작으로 안내하는 방법을 살펴봅니다. 우리는 제로샷 성능, 퓨샷 맥락 학습 성능, 제로샷 사고 체인 추론 및 진실성의 네 가지 관점에서 조사합니다. 우리의 실험은 APE가 인간이 작성한 것과 같거나 심지어 더 나은 성능을 발휘하는 작업 성능을 향상시키는 프롬프트를 찾을 수 있음을 보여줍니다. 또한 APE는 새로운 작업으로 성공적으로 이전할 수 있는 언어 모델을 최적으로 안내하는 방법에 대한 통찰력 있는 트릭을 종종 생성합니다(섹션 4.3 참조).
[4.1 Instruction Induction]
우리는 Honovich et al.(2022)에서 제안된 24개의 명령 유도 작업에 대한 제로샷 및 퓨샷 컨텍스트 학습의 효과를 평가합니다. 이 작업은 간단한 구문 구조에서 유사성 및 인과 관계 식별에 이르기까지 언어 이해의 여러 측면에 걸쳐 있습니다. 각 작업에 대한 자세한 설명은 부록 B에 나와 있습니다. 각 작업에 대해 교육 데이터에서 5개의 입출력 쌍을 샘플링하고 알고리즘 1을 사용하여 최상의 지침을 선택합니다. 그런 다음 Instruct GPT 3의 명령을 실행하여 명령의 품질을 평가합니다. 서로 다른 랜덤 시드로 실험을 5회 반복하여 평균 및 표준 편차를 보고합니다. 실험을 위한 정확한 템플릿은 부록(표 5)에서 확인할 수 있습니다.
(Zero shot Learning)
우리는 우리의 방법을 인간 프롬프트 엔지니어(Human)4와 Honovich et al.(2022)가 제안한 모델 생성 명령 알고리듬의 두 가지 기준과 비교합니다. 이 알고리즘은 검색 및 선택 프로세스 없이 탐욕스러운 버전의 APE로 생각할 수 있으므로 "Greedy"라고 부릅니다. 그림 4는 인간 명령어와 모델 생성 명령어를 사용한 Instruct GPT의 제로샷 성능을 보여줍니다. 우리의 알고리듬은 모든 작업에서 "그리디"를 능가하고 24개의 작업 중 24개에서 인간과 동등하거나 더 나은 성능을 달성합니다. 또한 그림 1의 24개 작업 모두에서 사분위간 평균(IQM)(Agarwal et al., 2021)은 Instruct GPT를 사용하는 APE가 인간이 엔지니어링한 프롬프트를 능가하여 인간의 0.749에 비해 0.810의 IQM을 얻을 수 있음을 시사합니다.
APE가 각 작업에 대해 선택한 지침을 부록(표 12)에 요약합니다.
(Few shot In-context learning)
우리는 인콘텍스트 시연 전에 명령을 삽입하는 퓨샷 인콘텍스트 학습에서 APE 생성 명령을 평가했습니다. 이러한 지침은 제로샷 실행 정확도를 기준으로 선택되며, 그림 8에서 이 설정을 "명령 + 컨텍스트 내"로 표시합니다. 그림 8에서 보듯이, 명령어를 추가하면 24개의 과제 중 21개에서 표준 상황별 학습 성능과 비슷하거나 더 나은 테스트 성능을 달성할 수 있습니다. 직관적으로 라임, 큰 동물 및 두 번째 문자에 문맥 내 예제를 추가하면 모델 성능이 저하됩니다. 우리는 선택된 지침이 제로샷 학습 시나리오에 너무 적합하여 퓨샷 사례에서 잘 수행되지 않기 때문일 수 있다고 추측합니다. 따라서 선택 메트릭으로 퓨샷 실행 정확도를 사용하여 실험합니다. 그림 14는 라임을 제외하고 퓨샷 메트릭이 제로샷 메트릭과 비슷하거나 약간 더 낫다는 것을 보여줍니다. 무슨 일이 일어나고 있는지 직관적으로 이해하기 위해 부록 C.1에 질적 분석을 제공합니다.
[4.2 BigBench]
APE가 더 어려운 작업에 적용될 수 있는지 알아보기 위해 데이터 세트의 모든 예에 적용할 수 있는 명확한 인간이 작성한 명령을 가진 21개 작업의 깨끗하고 다루기 쉬운 하위 집합인 BIG-Bench Instruction Induction(BII)을 제안하고 큐레이션합니다. 선택된 작업은 언어 이해의 많은 측면을 다루며 빅벤치-하드 서브셋(Suzgun et al., 2022)의 9가지 문제를 모두 포함합니다. 특히 감정 이해, 문맥 없는 질문 답변, 독해 이해, 요약, 알고리듬 및 다양한 추론 작업(예: 산술, 상식, 상징 및 기타 논리적 추론 작업)을 포함합니다. 과제에 대한 자세한 설명과 선택 기준은 부록 B에 나와 있습니다.
각 작업에 대해 Instruct GPT의 역모드 생성을 사용하여 일련의 명령 후보를 생성하고 실행 정확도를 기준으로 명령의 순위를 매겼습니다. 그런 다음 InstructGPT에서 선택한 지침을 실행하여 테스트 세트의 제로샷 성능을 계산하고 기본 휴먼 프롬프트와 비교했습니다. 부록 표 6에 나타난 바와 같이, APE는 21개 작업 중 17개에서 기본 인간 프롬프트와 비슷하거나 더 나은 성능을 달성합니다.
[4.3 Zero shot Chain of Thought]
생각의 사슬 추론은 여러 단계가 필요한 수학 문제를 해결하는 것과 같은 복잡한 추론 작업을 완료하는 LLM의 능력을 크게 향상시키는 것으로 나타났습니다. 사고 사슬에 대한 초기 연구(Nye et al., 2021; Betz et al., 2021; Wei et al., 2022b)는 이러한 문제에 대한 LLM의 작업을 보여주기 위해 미세 조정 또는 맥락 학습을 사용했습니다. 신속한 엔지니어링에 대한 최근의 가장 영향력 있는 작업 중 하나는 LLM의 응답 시작 부분에 "단계별로 생각해 봅시다"를 추가하는 것만으로 LLM이 일련의 생각을 제공할 수 있다는 발견(Kojima et al., 2022)이었습니다. Zero-Shot-CoT로 알려진 이 유도 전략은 MultiArith(Roy & Roth, 2016)에 대한 Instruct GPT의 제로샷 성능을 17.7에서 78.7로 향상시키고 GSM8K(Cobbe et al., 2021)에 대한 성능을 10.4에서 40.7로 향상시킵니다. 표 7에 나타난 바와 같이, 코지마 외 연구진(2022)은 그들의 프롬프트가 적어도 9개의 인간이 설계한 프롬프트 중에서 가장 잘 수행된다는 것을 발견했습니다.
우리는 APE를 사용하여 Kojima et al. (2022)에 사용된 일련의 작업에서 최상의 답변 접두사를 자동으로 검색했습니다. 이 프롬프트를 최적화하기 위한 우리의 접근 방식은 Zelikman et al. (2022)에서 영감을 받았습니다.
먼저, "단계별로 생각해 봅시다"와 함께 InstructGPT를 사용하여 생성된 질문 및 추론 단계의 데이터 세트를 생성합니다 그런 다음 오답이 있는 데이터 지점을 제거합니다. 마지막으로, 우리는 APE를 사용하여 이러한 올바른 추론 단계의 가능성을 최대화하는 "Let's"로 시작하는 프롬프트를 찾습니다.
신속한 생성 및 평가에 사용되는 템플릿은 표 5를 참조하십시오. APE는 "우리가 올바른 답을 가지고 있는지 확인하기 위해 단계적으로 이 문제를 해결하자"는 메시지를 표시합니다 이 생성된 프롬프트는 MultiArith의 경우 78.7에서 82.0으로, GSM8K의 경우 40.7에서 43.0으로 성능을 더욱 향상시킵니다. 이 일반적인 워크플로우는 프롬프트 엔지니어가 APE를 사용하여 기존 템플릿의 일부를 최적화하여 성능을 향상시키는 APE의 일반적인 사용 사례를 나타낸다고 생각합니다. 다른 추론 작업에서 이 프롬프트의 성능에 대한 자세한 내용은 그림 10을 참조하십시오.
[4.4 TruthfulQA]
우리는 APE 생성 명령이 어떻게 LLM을 조종하여 다른 스타일의 답변을 생성하는지 확인하고 진실성과 정보성 간의 균형을 연구하기 위해 TruthyQA(Line et al., 2022)에 우리의 방법을 적용합니다. 원본 논문에서 메트릭을 차용하여, 우리는 APE를 사용하여 진실성(%True), 정보성(%Info) 및 두 가지 메트릭의 조합(%True + %Info)의 세 가지 메트릭을 최대화하는 지침을 학습합니다. Lin 등(2022)은 모델 성능을 평가하기 위해 인간 평가를 사용했지만, 자동화된 메트릭이 90% 이상의 시간 동안 인간 예측과 일치한다는 것을 발견했습니다. 우리의 실험에서, 우리는 점수를 평가하기 위해 그들의 미세 조정된 GPT-심판과 GPT-info에 의존합니다.
(Prompt Engineering in TruthfulQA)
TruthyQA 데이터 세트는 제로샷 설정에서 사전 훈련된 모델을 테스트하기 위한 것임을 강조하고 싶습니다. 우리의 결과는 원래 벤치마크와 어떤 식으로든 호환되지 않습니다. 질문과 답변 쌍의 일부를 교육 데모로 사용하여 지침을 최적화했기 때문에 결과는 "진정한 퓨샷 학습"이 아닙니다(Perez et al., 2021). 실제 실험에 대한 817개 질문 중 100개를 무작위로 추출하여 훈련 시연 Dtrain을 구성했습니다. 제안 세트 U를 샘플링하기 위해, 우리는 이전 실험과 유사하게 무작위로 선택된 6개의 시연 쌍을 기반으로 명령을 생성하기 위해 "역" 모델을 요청합니다. TruthQA의 Instruction Induction과는 달리 건강, 법률, 정치 및 픽션에 이르는 38개의 모든 범주의 질문에서 잘 작동하는 단일 최고의 명령 프롬프트를 찾는 것을 목표로 합니다. 생성된 모든 지침은 매우 일반적입니다. 예를 들어, "몇 가지 질문을 받게 될 것입니다. 각 질문에 대해 질문에 답변하거나 답변을 거부해야 하며, 이 경우 "댓글이 없음"을 명시해야 하며 데이터 집합의 예를 포함하지 않아야 합니다.
(Truthfulness vs Informativeness Trade-off)
그림 5에서 볼 수 있듯이, APE는 Instruct GPT(175B)가 제안한 200개의 후보만으로 인간 공학적 프롬프트를 능가한다는 것을 발견했습니다.
생성된 프롬프트를 Line et al. (2022)의 "help" 프롬프트와 비교했습니다. 교육 및 테스트 성능은 그림 5(a)-(b)에 나와 있습니다. 우리는 훈련 세트에서 200명의 후보자 중 상위 10명을 선택하는 것이 테스트 세트에 잘 일반화된다는 것을 발견했습니다. 세 가지 메트릭에 대한 상위 10개 지침의 평균 성능을 보고합니다. Askell et al.(2021)이 지적한 바와 같이 인간 기준선이 신중하게 선택되지 않았기 때문에 이 결과 자체는 놀라운 것이 아닙니다. 그러나 우리는 APE에 의해 발견된 지침이 "No comment"와 같은 답변으로 매우 높은 진실성을 달성할 수 있지만 이러한 답변은 거의 정보를 제공하지 않는다는 것을 발견했습니다. 우리는 진실성과 정보성 사이의 균형을 추가로 조사하기 위해 최고의 후보자들을 사용했습니다. 그림 5(c)와 그림 5(d)에 표시된 진실성-정보 플롯에 대한 세 가지 메트릭에 걸쳐 제안된 상위 10개 샘플을 시각화합니다. APE는 진실하고 유익한 답변(인간의 "도움말" 프롬프트에 의해 30%)을 제공하는 데 있어 40% 이상의 정확도를 달성하지만, 발견된 지침은 이 %true-%info Pareto 프론티어의 두 끝을 대상으로 하는 경향이 있습니다.
[5. Quantitative analysis]
이 섹션에서는 제안 분포, 점수 함수 및 반복 검색의 세 가지 주요 구성 요소를 더 잘 이해하기 위해 정량적 분석을 수행합니다. 또한 최적의 프롬프트를 찾는 가장 비용 효율적인 방법을 이해하기 위해 부록 D의 비용 분석을 수행합니다. 우리는 더 크고 더 강력한 언어 모델이 토큰당 비용이 더 높음에도 불구하고 최상의 프롬프트를 생성하는 데 더 비용 효율적이라는 것을 관찰합니다.
[5.1 LLMs For Proposal Distribution]
모델 크기를 늘리면 제안서의 품질은 어떻게 변합니까? 모델 크기가 초기 제안 분포의 품질에 어떻게 영향을 미치는지 이해하기 위해 OpenAI API를 통해 사용할 수 있는 8가지 모델 5를 검토합니다. 제안 분포의 품질을 평가하기 위해 모델당 250개의 명령을 생성하고 50개의 테스트 데이터 포인트에 대한 실행 정확도를 계산합니다. 그림 6(a)에서 간단한 작업(즉, 복수화)에 대한 생존 함수(테스트 정확도가 특정 임계값보다 큰 명령의 백분율)와 테스트 정확도 히스토그램을 시각화하고 부록(그림 28)에 더 어려운 작업(시작)에 대한 유사한 플롯을 포함합니다. 두 그림 모두에서 볼 수 있듯이(그리고 놀랄 것도 없이), 사람의 지시를 따르도록 미세 조정된 모델이 작은 모델보다 더 나은 제안 분포를 생성하는 경향이 있습니다. 간단한 작업에서 최상의 모델인 Instruct GPT(175B)에서 생성된 모든 지침은 적절한 테스트 정확도를 가집니다. 이와 대조적으로, 지침의 절반은 주제에서 벗어났고 더 어려운 작업에서 제대로 수행되지 않습니다.
[5.2 LLMs for Selection]
선택 시 제안 품질이 중요합니까? LLM에서 더 많은 지침을 샘플링하면 더 나은 지침을 찾을 가능성이 높아집니다. 이 가설을 검증하기 위해 표본 크기를 4개에서 128개로 늘리고 검사 정확도 변화를 평가합니다. 그림 7(왼쪽)은 64개의 명령 샘플로 인간 수준의 성능이 달성됨에 따라 수익률이 감소하면서 단조롭게 증가하는 추세를 보여줍니다. 따라서 기본 표본 크기로 50을 선택합니다. 이 구성에서, 우리는 제안 분포가 알고리듬에 의해 선택된 최상의 명령의 테스트 정확도에 어떻게 영향을 미치는지 조사합니다. 그림 1(b)는 작은 모델이 좋은 명령을 생성할 가능성이 적지만 충분한 후보를 샘플링하면 좋은 명령을 생성한다는 것을 보여줍니다. 따라서 우리는 여전히 선택 알고리듬을 실행하여 작은 모델로 유망한 지침을 찾아 우리의 방법이 8개 모델 모두에서 탐욕스러운 접근법 Honovich et al.(2022)을 능가하는 이유를 설명합니다.


어떤 채점 기능이 더 좋습니까? 제안된 메트릭이 얼마나 좋은지 연구하기 위해 24개의 지침 유도 작업에 대한 테스트 정확도와 두 메트릭 간의 상관 관계를 계산합니다. 우리는 "전방" 모드에서 Instruct GPT(175B)를 사용하여 작업당 250개의 명령을 생성하고 10개의 테스트 데이터 포인트에 대한 메트릭 점수와 테스트 정확도를 계산합니다. 테스트 정확도와 두 메트릭 사이의 Spearman 상관 관계를 시각화합니다. 그림 7(중간)은 실행 정확도가 작업 전반에 걸쳐 테스트 성능과 더 잘 일치함을 보여줍니다. 따라서 달리 명시되지 않는 한 기본 메트릭으로 선택합니다.
[5.3 Iterative Monte Carlo Search]
반복 검색은 명령 품질을 향상시키나요? 그림 6(오른쪽)의 "패시브화" 작업에서 생존 함수와 테스트 정확도 히스토그램을 시각화하고 부록에 5개의 작업을 더 포함합니다. 생존 그림은 라운드가 올라갈수록 곡선이 증가한다는 것을 보여주며, 이는 반복적인 검색이 더 높은 품질의 제안 세트를 생성한다는 것을 나타냅니다. 그러나 세 번의 라운드 후 품질이 안정화되는 것처럼 보이기 때문에 추가 선택 라운드에 대한 수익률이 감소하는 것을 관찰합니다.
반복 검색이 필요합니까? 우리는 여섯 가지 작업 6에서 APE와 반복 APE를 비교합니다. 그림 7에서 볼 수 있듯이, 반복 검색은 APE가 인간보다 성능이 떨어지지만 다른 작업에서도 유사한 성능을 달성하는 작업에서 성능을 약간 향상시킵니다. 이는 반복적인 검색이 좋은 초기 U를 생성하는 것이 어려운 작업에서 가장 유용할 것이라는 우리의 가설과 일치합니다.
[6. Conclusion]
대형 언어 모델은 자연어 프롬프트에서 지정한 프로그램을 실행하는 범용 컴퓨터로 볼 수 있습니다. 우리는 LLM이 안내하는 효율적인 검색 알고리듬을 사용하여 해결할 것을 제안하는 블랙박스 최적화 문제로 공식화하여 신속한 엔지니어링 프로세스를 자동화합니다. 우리의 방법은 최소한의 인간 입력으로 다양한 작업에서 인간 수준의 성능을 달성합니다. 최근의 LLM은 인간의 지시를 따르는 인상적인 능력을 보여주기 때문에, 우리는 공식 프로그램 합성을 포함한 많은 미래 모델이 자연어 인터페이스를 가질 것으로 기대합니다. 이 작업은 생성 인공지능을 제어하고 조종할 수 있는 기반을 구축합니다.