YoojLee / paper_review

paper review archive
6 stars 2 forks source link

LARGE LANGUAGE MODELS ARE HUMAN-LEVEL PROMPT ENGINEERS (2023) #43

Open YoojLee opened 1 year ago

YoojLee commented 1 year ago

image

Summary

LLM의 성능은 prompt의 quality에 굉장히 dependent, 그리고 좋은 prompt를 얻어내기 위해서 사람들이 많은 handcrafting을 거침. 따라서, 기존의 program synthesis와 prompt engineering을 위한 human approach에서 영감을 받아서 automatic instruction generation과 selection을 위한 Automatic Prompt Engineer (APE)를 제안함.

LLM으로 여러 instruction candidates를 만들어내고 그걸 정해둔 score function을 maximize함으로써 search하는 방식으로 instruction을 최적화함 (instruction을 program으로 상정해서 접근하는 방식임).

APE를 통해 선택된 instruction을 평가하기 위해 다양한 실험과 분석을 진행함. 이를 통해 APE-engineered prompts가 few-shot (even zero-shot) learning performance를 개선시킬 수 있었으며 여러 벤치마크에서 human engineered prompts에 견줄 만한 혹은 뛰어넘는 성능을 보여줌을 확인함. 또한, 신뢰할 만한 혹은 informative한 답을 리턴할 수 있도록 모델을 steer하는 걸 보여줄 수 있었음.

Method Highlights

전체적인 workflow는 다음과 같음. image LLM이 instruction candidates proposal을 수행하고, proposed instruction set에 대해 train set에 대한 non-overlapping subset을 sampling하여서 LLM이 task를 수행 후, execution accuracy를 산출하여 이를 바탕으로 최적의 instruction을 찾아내는 과정이라고 볼 수 있음.

image APE 알고리즘을 도식화하면 위와 같음. efficient score estimation을 위해 높은 score를 보이는 instruction만을 평가하는 방식으로 instruction search를 수행함. 구체적으로 얘기해보면, 반복적으로 trainset에 대한 subsampling (non-overlapping subset)을 진행하여 선택된 instruction과 함께 model에 feed하여 execution을 수행함. 이때, score를 산출하는 $f$는 $f(\rho, Q, A) = \mathbb{1}[\mathcal{M}([\rho;Q]) = A]$ 로 정의됨 (execution accuracy is simply defined as the 0-1 loss). soft score도 고려하였으나, 실제 test accuracy는 0-1 loss를 score function으로 활용할 때가 더 좋았음) 이처럼, high score (일정 threshold 이상)만 보이는 instruction에 대한 execution & score computation이 진행되기 때문에 low quality instruction에 대한 computation을 줄이는 방식으로 전체적인 search performance는 유지하되 computation만 효율적으로 가져가는 방식. 알고리즘 line3에서 언급하는 converge는 instruction이 하나만 남을 때를 의미함.

set $\mathcal{U}$를 업데이트하는 방식은 이를 naive하게 $\mathcal{U}_k$로 대체하는 방식과 $\mathcal{U}_k$와 비슷한 형태의 candidate을 resample하는 방식이 있음. 후자는 iterative monte carlo search로 논문에서 칭하고 있음. resample은 아래 명시된 resampling templates (bottom right)을 모델에 feed하여서 생성됨.

ape_prompts model이 candidate을 생성하는 방식은 모델이 instruction을 induction할 수 있도록 특정 prompt (meta prompt or templates)를 날려주는 방식임. 이 meta prompt를 두 가지 방식으로 구성하고 있는데, 하나는 forward mode generation(upper left side of the above figure)이고 하나는 reverse mode generation(lower left)임. 전자는 마지막에 instruction was ~~ 의 방식으로 맨 마지막에 instruction이 무엇인지 맞히는 형식이나 instruction을 맞혀야 하는 위치가 고정되어 있다는 점에서 유연성이 떨어짐. 따라서, 논문에서는 reverse mode를 추가 제안하고 있음. 이는 instruction을 infilling하는 방식으로, instruction을 맞히도록 하는 부분이 어떤 곳에든 들어갈 수 있다는 점에서 meta-prompt 유연성이 높음. 혹은 추가적으로 task 별로 meta-prompt를 다르게 날려줄 수 있음. 이는 위 그림의 우상단을 참고.

Experiments Highlights

image 24 Instruction Induction tasks (regarding language understanding)에 대해 실험한 결과. Greedy는 Honovich et al. (2022)를 지칭함 (논문에서는 Honovich의 방법이 APE에서 search와 selection이 없는 방식, 즉 greedy한 APE라고 얘기함).

실제, APE는 greedy보다 consistent하게 좋은 결과를 보여주었고, human performance에 필적하는 혹은 더 좋은 성능을 보여주기도 함.

image 여러 모델 variants에 대해 IQM을 기록한 결과임. Honovich et al. (2022)에서 밝힌 결과와는 상반되게, GPT-3 역시 induction을 잘 수행하고 있음을 알 수 있음. 결국에 중요한 것은 좋은 instruction을 "찾는" 과정임을 알 수 있음. 또한, APE를 거친 Instruction을 바탕으로 InstructGPT는 사람보다 더 높은 IQM을 기록함. 모델 사이즈에 따라서 전반적으로 성능도 향상되나, InstructGPT 같은 경우에는 monotonous increasing하진 않음.

image 큰 모델이 더 좋은 proposal distributions를 만들어내는 경향이 있음 (Fig 6의 left). 만들어내는 instruction sample size를 늘릴 수록 더 좋은 결과를 내는 경향이 있음 (Fig 7의 left).

Iterative Monte Carlo Search의 경우, 어느 정도 더 좋은 proposal을 제공해줄 수는 있으나 일정 반복 횟수를 지나면 추가되는 효용은 감소함 (Fig 6의 right). 실제로 iterative search를 통해 Second Letter, Passivization 등의 execution accuracy은 증가하였으나, 나머지 태스크에서는 큰 차이가 없었음. (이러한 결과를 바탕으로, 디폴트 세팅은 iterative search 없이 가는 듯. 또한, 마지막에 남는 instruction은 iterative search 여부와 무관했다는 추가적인 설명이 있었음.)


Strengths

Weaknesses