728x90
반응형
논문 링크 : https://arxiv.org/pdf/2205.11916.pdf
논문 리뷰를 가장한 논문 읽기임을 밝힙니다...
Abstract
- CoT는 산수와 추론 등에서 SOTA의 성과를 거두었음
- 산수와 추론은 그동안 어려웠던 부분들임
- 우리의 Zero-shot-CoT는 다양한 벤치마크에서 높은 성능을 보였다.
- 하나의 prompt만 사용하고도!!!
굳이, 가내수공업처럼 few-shot example 만들 필요가 없다 이 말이야
- simgle prompt의 범용성은 다양한 추론 문제에서 볼 수 있음
- 그리고 이는 아직 미개발된 zero-shot 능력을 시사함
- zero-shot 잠재력은 엄청나고, 이를 분석하고 탐구하는 것이 매우 중요하다.
- LLM에 대한 zero-shot 연구가 덜 되어서 좀 더 연구할 필요가 있다는 걸 강조하는 듯함
1. Introduction
- 최근 NLP에서 LM 크기 키우는 건 중요한 역할을 했음
- LLM의 성공은 few-shot, zero-shot 덕분임
- few-shot, zero-shot에 조건주는 걸 "prompting"이라 함
- prompting을 수동 혹은 자동으로 설계하는 것이 hot topic이 되었음
- LLM이 system-1 task에서는 성능이 좋았지만, system-2에서는 안좋았음
- system-2는 상당한 추론과정이 요구되는 task
- 그러던 와중에 CoT가 제안되었다.
- 단순히 질문&답변하는 것 보다 step-by-step으로 추론 예제를 주는 방식
- 복잡한 추론을 간단한 단계로 나누는 방식
- CoT와 함께 성능은 꽤 올랐음
- 우리는 "Let's think step by step"이라는 간단한 프롬프트를 추가했다.
- 간단한데, 효과는 굉장했다.
- 우리의 Zero-shot-CoT는 기존 zero-shot 접근에서 실패한 문제에 대해서도 올바른 답을 내놓았다.
- task별로 프롬프트에 대한 변경이 없이도
- 성능이 많이 올랐음
- MultiArith에서는 17.7에서 78.7
- GSM8K에서는 10.4에서 40.7
- 중요한 점은 우리의 Zero-shot-CoT는 few-shot CoT와 비교할만한 커브를 지녔다는 것
- LLM의 zero-shot 능력은 아직 미개발 되었다. (
콜럼버스?) - 주로 few-shot에 대해 연구가 많이 진행되었지만, 우리의 연구를 통해 zero-shot 능력에도 많관부!
2. Background
- 2가지 주요한 이전 개념들을 리뷰할 것
- LLM과 prompting
- LM이란? 텍스트에 대한 확률 분포를 예측하는 모델
- 최근 더욱 큰 모델 사이즈와 더욱 큰 데이터로 인해 LLM이 많은 downstream NLP tasks에 좋은 성능을 보임
- 100B+의 모델들은 few-shot learning에 도움이 되고 이는 in context learning이라는 방법으로 가능
- 이는 "pre-train and prompt"시대의 시작을 의미
- CoT prompting
- 여러단계로 구성된 산수나 논리추론 벤치마크는 도전적인 문제였음
- Chain of thought prompting이 이 어려운 벤치마크들에서 성능 향상을 달성
- 근데, few-shot이 당연한 것처럼 여겨졌고 zero-shot은 언급도 안됬었다. -> 기존 방식은 Few-shot-CoT라고 부를 거고 우리의 방식은 zero-shot에 적용해보겠다는 의미
3. Zero-shot Chain of Thought
- Zero-shot-CoT는 step-by-step few-shot examples를 필요로 하지 않음
- 우리의 방식은 매우 간단하게 step-by-step reasoning을 이끌어낼 수 있다.
- 2번의 prompting으로 reasong과 answer를 이끌어 낸다.
- zero-shot과 few-shot 차이
- zero-shot은 "The answer is"라는 형식 이미 사용
- few-shot은 명시적으로 few-shot example answers 사용
- zero-shot과 few-shot 차이
- 즉, Few-shot-CoT는 task마다 human enngineering이 필요함 (대충 힘들면서 안좋다는 뜻)
- 반면에, Zero-shot-CoT는 LLM을 2번 prompting하긴 하지만 engineering은 덜 필요함
- 첫번째 프롬프트: reasoning 추출
- Q, A 형식으로 바꾸고 A에 "Let's think step by step"을 넣어줌
- 그리고 Z를 생성하게 됨
- 두번째 프롬프트: answer 추출
- z를 사용하여 최종 답인 A를 생성
- answer 포맷에 따라서 answer trigger는 달라질 수 있음
4. Experiment
- 산수, 일반상식, 기호 및 논리 추론 task와 dataset
- 모델은 Instruct-GPT3, original GPT3, PaLM, GPT-2, GPT-Neo, GPT-J, T0, OPT 등 썼음
- GPT-3나 OPT처럼 스탠다드도 포함했고
- Instruct-GPT3나 T0처럼 Instruction을 따르는 variant도 포함
- Zero-shot-CoT는 Zero-shot prompting과 비교했음
- CoT의 효용성을 입증하려고
- 물론 Few-shot하고 Few-shot-CoT하고도 비교함
- Anser cleansing도 적용함
- probabaly 375 and 376으로 나오면 375로 해주는 등
- Zero-shot-CoT는 MultiArith에서 17.7에서 78.7까지 올렸고, GSM8K에서는 10.4에서 40.7까지 올림
- 상식 추론 task에서는 성능 향상은 X
- 더 중요한건, 우리는 많은 CoT가 논리적으로 올바르며 오직 인간이 이해할만한 실수만 포함했다는 것을 관찰함.
- 이는 Zero-shot-CoT가 더 나은 commonsense reasoning을 유도함을 시사함. (지표에선 반영안될지라도)
너무 억지아닌가 라고 할뻔
- 다른 other baselines과의 비교
- GSM8K에서는 Zero-shot-CoT with Instruct GPT-3가 finetuned GPT-3나 표준 few-shot prompting (PaLM)보다 좋은 성능 기록
- CoT없이 모델크기 증가시키면 성능이 증가하지 않거나 천천히 증가함
- curve가 평평함
- 근데, CoT와 함게라면 성능이 급격하게 오름
- 모델 사이즈가 작으면 작을수록 CoT는 효과가 없음
- 상식추론에서 Zero-shot-CoT는 예측이 틀렸더라도 chain of thought는 종종 합리적이었음
- 산수 추론에서 Zero-shot-CoT와 Few-shot-CoT는 다른 error 패턴을 보여줌
- Zero-shot-CoT는 올바른 예측 후에 불필요한 step으로 틀린 예측으로 바꾸는 경향. 그리고 때로는 추론을 시작하지 않고 입력 질문을 다시 정리할 뿐
- Few-shot-CoT는 삼항 연산에 실패 많이 함
- Zero-shot-CoT의 robustness를 검증하기 위해 다양한 실험을 했음
- "Let's think step by step"이 가장 좋은 결과를 이끌어 냄
- Zero-shot-CoT에 대한 좋은 템플릿을 자동으로 만드는 건 아직 미해결된 질문
- 동일한 답변 형식으로 상당한 성능을 보여줌
- 다른 답변 유형의 예제를 사용하면 성능 향상이 매우 떨어짐
- LLM은 in-context 자체가 아니라 반복된 포맷을 추론하는 경향이 있다.
5. Discussion and Related Work
- 우리는 zero-shot prompting에 집중했음
- 그리고 single fixed trigger prompt로도 LLM의 zero-shot 추론 능력의 상당한 증가를 보여줌
- 이전 논문들에서는 task-specific 예제를 쓰고 충분히 다양한 추론 task로 평가하지 않았다.
- 우리의 연구는 LLM이 zero-shot 꽤 한다는걸 시사함
- 이전의 연구들이 few-shot learning하고 task-specific in-context learning만 강조하고 zero-shot은 언급없었던거랑 다르게
- 우리의 방법은 fine-tuning에 시간도 절약되고 sample engineering 비싸게 할 필요없고 어떤 pre-trained LLM과도 결합 가능
- 우리는 system-1보다는 system-2 task에 집중함
- system-2는 system-1보다 더욱 어려운 task
- Zero-shot-CoT는 instruction tuning과 관련없고 Instruct GPT3, vanilla GPT3, PaLM의 zero-shot performance를 증가시켰다.
- few-shot prompts는 task-specific하다. (작업별로 특화)
- 대다수의 zero-shot prompts는 per-task engineering하다. (작업별 엔지니어링?)
- 느낌상 반대되는 개념인듯
- task-specific한 prompts는 "narrow generalization"을 유발
- 한편, 우리의 방식인 multi-task prompt는 "broad generalization"을 유발
- 논리적 추론이나 system-2같은 넓은 인지 능력
- public 정보 부족이 한계였음
- 그래도 Zero-shot과 Zero-shot-CoT사이에서는 큰 향상이 있었음
- 산수나 산수가 아닌 task에서도 일관된 향상
- 단순 기억아니고 다단계의 추론 능력을 시사
- training 데이터에서 발견된 biase를 증혹시킴
- 그치만, 우리의 접근은 더욱 직접적으로 pre-trained LLM의 복잡한 추론을 탐구한다.
- 다단계로 이루어졌으니 뭔가 사고회로를 볼 수 있고 이를 활용할 수 있다... 뭐 그런 의미인듯?
6. Conclusion
- 우리의 간단한 접근은 어려운 multi-step system-2 추론 task에 간단하면서도 강한 zero-shot baseline이 될 것임
- 이 접근을 토대로 커뮤니티에서 유사한 multi-task prompts를 발견했으면 좋겠다.
728x90
반응형