사람의 사고 과정을 그대로 모방하여 복잡한 문제를 자연어처리를 통해 풀게끔 하는 방법론인 Chain-of-Thought이라는 연구입니다.
읽은 날짜 2023.06.04
카테고리 #자연어처리논문리뷰, #프롬프트, #Chain-of-Thought
Chain-of-Thought Prompting Elicits Reasoning in Large Language Models
- Authors: Jason Wei, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, Brian Ichter, Fei Xia, Ed Chi, Quoc Le, Denny Zhou
- DOI: https://arxiv.org/abs/2201.11903
- Keywords:
- Issue Date:
- Publisher: 2023 (NeurlPS)
1. 등장 배경
딥러닝 NLP모델의 챌린지
- 모델 사이즈를 키운 large language models의 경향으로 NLP의 스케일이 커지고, 성능이 우수해졌다.
- 하지만, 아직까지 complex reasoning (arithmetic, commonsense, symbolic reasoning) 분야에서는 충분한 성능을 보이지 못하고 있었다.
- 이와 같은 complex reasoning태스크는 multi-step reasoning을 요구하는 태스크로 볼 수 있다.
Few-shot learning과 prompt tuning
- GPT3를 시작으로 few-shot learning 기법이 사용되기 시작했고, 적은 데이터로 모델을 task-specific하게 추론할 수 있는 prompt tuning의 장점으로 prompt를 활용한 방법에 대한 연구가 많이 시작되었다.
2. 목표
- 기존에 챌린지였던 arithmetic reasoning, commonsense reasoning, symbolic reasoning 태스크의 성능(reasoning ability)을 향상시키기 위하여, Chain-of-Thought (생각의 사슬) 이라는 방법을 사용한 prompting 방법을 제안한다.
- Chain-of-Thought 방법이란, 하나의 문제를 여러 절차(steps)로 분해하여, secondary window를 추가하여 문제의 intermediate steps를 거쳐 final question에 도달하도록 하는 것이다.
3. 이론적 기반
Standard Prompting vs Chain-of-Thought Prompting
- Standard Prompting: 기존의 GPT-3에서 사용하던 Prompting 방식
- Chain-of-Thought Prompting: 생각의 과정에 따라 Answer를 유도하는 prompt가 추가되어 있어, 모델이 답을 맞출 가능성이 높아진다.
Chain-of-Thought 의 장점
(1) 모델이 문제를 Intermediate steps로 분해하여 해결할 수 있도록 하므로, 더 많은 reasoning steps를 요구하는 문제에 추가 계산을 할당할 수 있다.
(2) intermediate steps에 대한 secondary windows를 제공하여, 특정 answer에 도달하게 된 과정을 볼 수 있으므로, 중간 과정을 debugging할 수 있다. (모델의 계산을 완전히 특성화(characterizing)하는 것은 아직 open question이다.)
(3) math-word problem(수학 단어 문제), commonsense reasoning, symbolic manipulation(기호 조작)과 같은 작업에 사용될 수 있고, 잠재적으로 사람이 language 를 이용해 해결할 수 있는 여러 태스크에 적용 가능하다.
(4) 간단히 chain-of-thought sequence를 few-shot-prompting으로 포함시키는 방법으로, 기존의 모델들 (off-the-shelf models)에 적용할 수 있다.
4. 모델/데이터 및 실험
각 태스크 (Arithmetic, Commonsense, Symbolic reasoning)에 따라 실험을 진행했다.
(1) Arithmetic reasoning
- 이미지의 초록색 부분
- Benchmarks: 5 math word problem benchmark datasets
- GSM8K, SVAMP, ASDiv, AQuA, MAWPS
- Models: (1) GPT-3, (2) LaMDA, (3) PaLM, (4) UL2 20B, (5) Codex
- Prompt: 기존의 standard prompting과 Chain-of-thought을 사용하여 비교 했다.
- 실험 결과:
- (1) 모델 사이즈가 클 수록, reasoning performance가 좋다.
- (2) 데이터셋의 난이도가 클 수록 (어려울수록) 효과적이다.
- Single-step reasoning 데이터셋(MAWPS) 보다 Multi-step reasoning을 요구하는 데이터셋(GSM8K)에서 성능이 일관되게 좋다.
(2) Commonsense reasoning
- 이미지의 주황색 부분
- Benchmarks: 5 datasets
- CSQA, StrategyQA, Data Understanding, Sports Understanding, SayCan
- Models: (1) GPT-3, (2) LaMDA, (3) PaLM
- Prompts: 기존의 standard prompting과 Chain-of-thought을 사용하여 비교 했다.
- 실험 결과:
- commonsense reasoning에서는 chain-of-thought이 효과적임을 증명했다.
(3) Symbolic reasoning
- 이미지의 파란색 부분
- Tasks:
- Last letter concatenation: 단어의 마지막 문자를 이어 붙이는 태스크 예: “Take the last letters of the words in “Lady Gaga” and concatenate them. 이름 부분은 Name census data(https://namecensus.com/)를 활용했다.
- Coin flip: 동전을 뒤집는 행동에 대한 text를 주고, 마지막에 동전의 앞/뒷면 중 어느 면이 보이는지 답하는 태스크. 예: “A coin is heads up. Phoebe flips the coin. Osvaldo does not flip the coin. Is the coin still heads up?”
- Models: (1) LaMDA, (2) PaLM, 외. (실험 한 듯하나, 언급되지 않음)
- 실험 결과:
- 작은 모델에서는 성능이 좋지 않았고, 100B scale이상의 큰 모델에서는 성능이 크게 향상되었다.
5. 결과
Chain-of-thought prompting방식으로 몇몇 경우 reasoning ability 향상을 확인하였으나, 아래와 같이 한계점이 존재한다.
한계점
- 실제 모델이 multi-step reasoning을 하는 것인지, 단순하게 mimic(흉내내기)하는 것인지 확인할 방법이 없다.
- Chain-of-thought 방식은 prompting에는 적용할 수 있으나 fine-tuning에 적용하기 어렵다.
- 항상 정확한 답을 보장하는 것이 아니다.
- 큰 규모의 모델에서는 성능이 뛰어나지만, 규모가 작으면 (100B이하) 성능 차이가 없다.
나의 의견
논문을 선택한 이유
(1) Chain-of-Thought 라는 유명한 개념의 의미와 원리가 궁금했다.
읽고 난 후 의견
- Chain-of-thought을 처음 들었을 때는 AutoGPT, LangChain과 비슷한 것일까?했었는데 논문을 보니 task를 분해한다는 점은 비슷하지만 좀 더 text의 이해에 초점을 둔 방식이라는 생각이 든다.
- AI 자체가 사람의 뇌를 표방하여 만들어지고, 그 원리를 많이 답습하고 있기 때문에 사람이 생각하듯 연쇄적으로 사고하여 문제를 풀고자 한 아이디어가 좋은 시도였다고 생각한다.
- 딥러닝이 black-box 로 동작하여 debugging이 불가능하지만 chain-of-thought가 잘 동작하면 큰 범위에서의 debugging이 가능하다는 점도 큰 장점이다.
- LLM의 모든 추론과정을 세분화하여 모두 출력하게 끔 할 수 있다면 , 즉 Chain-of-thought의 분해 단위를 더욱 세밀하게 할 수 있다면 딥러닝 debugging을 가능하게 할 수 있지 않을까한다.