brunch

You can make anything
by writing

C.S.Lewis

by 박태웅 May 05. 2023

Chain of thoughts, 생각의 연결고리

거대언어모델(LLM)의 불현듯 나타나는 능력(Emergence)


아래 논문을 번역한 뒤 교정했다. 조금이라도 의심스런 부분은 원문을 참조하기 바란다. 

https://arxiv.org/abs/2201.11903


일련의 중간 추론 단계인 사고 연쇄를 생성하는 것이 어떻게 대규모 언어 모델의 복잡한 추론 수행 능력을 크게 향상시키는지 살펴봅니다. 특히, 몇 가지 연쇄적 사고의 예시를 프롬프트의 예시로 제공하는 연쇄적 사고 프롬프트라는 간단한 방법을 통해 충분히 큰 언어 모델에서 이러한 추론 능력이 어떻게 자연스럽게 나타나는지 보여줍니다.


세 가지 대규모 언어 모델에 대한 실험에 따르면 연쇄적 사고 프롬프트는 다양한 산술, 상식 및 상징적 추론 작업에서 성능을 향상시키는 것으로 나타났습니다. 경험적 이득은 놀랍습니다. 예를 들어, 8개의 연쇄 사고 예시만으로 PaLM 540B에 프롬프트하면 수학 단어 문제의 GSM8K 벤치마크에서 최첨단 정확도를 달성하여 검증기를 통해 미세 조정된 GPT-3을 능가합니다.


표준 프롬프트


질문: 로저는 테니스 공 5개를 가지고 있습니다. 그는 테니스 공 2캔을 더 삽니다. 각 캔에는 3개의 테니스 공이 들어 있습니다. 이제 로저는 몇 개의 테니스 공을 가지고 있을까요?

A: 정답은 11개입니다.

질문: 카페테리아에 사과가 23개 있었습니다. 점심을 만드는 데 20개를 사용하고 6개를 더 샀다면 사과가 몇 개입니까?


A: 정답은 27입니다. X


생각의 연결 고리 프롬프트


질문: 로저는 테니스 공 5개를 가지고 있습니다. 그는 테니스 공 2캔을 더 삽니다. 각 캔에는 3개의 테니스 공이 들어 있습니다. 이제 로저는 몇 개의 테니스 공을 가지고 있나요?

A: 로저는 5개의 공으로 시작했습니다. 테니스 공 3개가 들어 있는 캔 2개를 합치면 테니스 공이 6개입니다. 5 + 6 = 11. 정답은 11입니다.

질문: 카페테리아에 사과가 23개 있었습니다. 점심을 만드는 데 20개를 사용하고 6개를 더 샀다면 사과는 몇 개입니까?


A: 카페테리아에는 원래 사과가 23개 있었습니다. 점심을 만드는 데 20개를 사용했습니다. 따라서 23 - 20 = 3입니다. 사과 6개를 더 샀으므로 3 + 6 = 9가 됩니다. 정답은 9입니다. O  

그림1: 생각의 사슬 프롬프트는 복잡한 산술, 상식 및 기호 추론 작업을 처리할 수 있는 큰 언어 모델을 가능하게 합니다. 연쇄 추론 프로세스가 강조 표시되어 있습니다.


1 소개


NLP 환경은 최근 언어 모델에 의해 혁신적으로 변화하고 있습니다(Peters 외, 2018; Devlin 외, 2019; Brown 외, 2020, 이상 참조). 언어 모델의 규모를 확장하면 성능 및 샘플 효율성 향상과 같은 다양한 이점을 얻을 수 있는 것으로 나타났습니다(Ka- plan 외, 2020; Brown 외, 2020 등). 그러나 산술, 상식, 상징적 추론과 같은 까다로운 작업에서 높은 성능을 달성하기 위해서는 모델 규모를 확장하는 것만으로는 충분하지 않은 것으로 입증되었습니다(Rae et al., 2021).


이 연구는 대규모 언어 모델의 추론 능력이 어떻게 언어 모델의 추론 능력을 어떻게 향상시킬 수 있는지 탐구합니다. 두 가지 아이디어에 의해 동기 부여되었습니다. 


첫째, 산술적 추론 기술은 최종 답변으로 이어지는 자연어 추론을 생성함으로써 이점을 얻을 수 있습니다. 이전 연구에서는 자연어 대신 형식적 언어를 사용하는 신경 기호적 방법 외에도 처음부터 학습하거나(Ling et al., 2017), 사전 학습된 모델을 미세 조정하여 자연어 중간 단계를 생성할 수 있는 기능을 모델에 부여했습니다(Cobbe et al., 2021).(Roy and Roth, 2015;Chiang and Chen, 2019; Amini et al., 2019; Chen et al.,2019).


둘째, 대규모 언어 모델은 맥락에 맞는 프롬프트를 통한 상황에 맞는 단발성 학습의 가능성을 제공합니다. 즉, 새로운 작업마다 별도의 언어 모델 체크포인트를 미세 조정하는 대신 작업을 보여주는 몇 가지 입력-출력 예시를 통해 모델을 '프롬프트'할 수 있습니다. 놀랍게도 이 방법은 다양한 간단한 질문-응답 과제에서 성공적이었습니다(Brown et al., 2020).


그러나 위의 두 가지 아이디어에는 모두 중요한 한계가 있습니다. 근거 증강 훈련(rationale-augmented training) 및 미세 조정 방법의 경우, 일반 머신러닝에서 사용되는 단순한 입출력 쌍보다 훨씬 더 복잡한 고품질의 대규모 근거 세트를 생성하는 데 많은 비용이 듭니다. Brown 등(2020)에서 사용된 기존의 소수 샷 프롬프트 방식의 경우 추론 능력이 필요한 작업에서는 제대로 작동하지 않으며, 언어 모델 규모가 커져도 크게 개선되지 않는 경우가 많습니다(Rae et al., 2021). 


이 논문에서는 이 두 가지 아이디어의 강점을 결합하여 한계를 피하는 방법을 제시합니다. 특히, 삼단계(입력, 생각의 연쇄, 출력⟩로 구성된 프롬프트가 주어졌을 때 언어 모델이 추론 과제에 대한 짧은 프롬프트를 수행할 수 있는 능력을 살펴봅니다. 생각의 사슬은 최종 출력으로 이어지는 일련의 중간 자연어 추론 단계로, 이러한 접근 방식을 생각의 사슬 프롬프트라고 부릅니다. 프롬프트의 예는 그림 1에 나와 있습니다.  

산술, 상식, 기호 추론 벤치마크에 대한 경험적 평가를 통해 연쇄 추론 프롬프트가 표준 프롬프트보다 성능이 뛰어나며 때로는 놀라울 정도로 우수하다는 것을 보여줍니다. 그림 2는 이러한 결과 중 하나를 보여주는데, 수학 단어 문제에 대한 GSM8K 벤치마크(Cobbe et al., 2021)에서 PaLM 540B를 사용한 연쇄 프롬프트는 표준 프롬프트를 큰 차이로 능가하며 새로운 최첨단 성능을 달성합니다. 프롬프트 전용 접근 방식은 대규모 훈련 데이터 세트가 필요하지 않고 단일 모델 체크포인트로 일반성을 잃지 않고 많은 작업을 수행할 수 있기 때문에 중요합니다. 이 연구는 작업에 대한 자연어 데이터가 포함된 몇 가지 예제를 통해 대규모 언어 모델이 어떻게 학습할 수 있는지를 보여줍니다(cf. 대규모 학습 데이터 세트를 통해 기본 입출력 패턴을 자동으로 학습하기).


2 연쇄적 사고 유도


다단계 수학 낱말 문제와 같은 복잡한 추론 과제를 풀 때 자신의 사고 과정을 고려하세요. 문제를 중간 단계로 분해하고 최종 답을 내기 전에 각각을 해결하는 것이 일반적입니다: "제인이 엄마에게 꽃 2개를 주면 10개를 갖게 되고, 아빠에게 3개를 주면 7개를 갖게 되므로 답은 7입니다." 이 백서의 목표는 언어 모델에 유사한 사고의 사슬, 즉 문제에 대한 최종 답으로 이어지는 일련의 일관된 중간 추론 단계를 생성할 수 있는 능력을 부여하는 것입니다. 이 글에서는 몇 개의 샷 프롬프트에 대한 예시에서 사고 연쇄 추론의 데모를 제공하면 충분히 큰 언어 모델도 사고 연쇄를 생성할 수 있음을 보여줄 것입니다.

그림 1은 생각의 연쇄를 생성하여 다른 방법으로는 틀렸을 수학 단어 문제를 푸는 모델의 예를 보여줍니다. 이 경우의 사고 연쇄는 해답과 유사하며 해답으로 해석할 수도 있지만, 해답에 도달하기 위한 단계별 사고 과정을 모방한다는 아이디어를 더 잘 포착하기 위해 사고 연쇄라고 부르기로 했습니다(또한 해답/설명은 일반적으로 최종 해답 다음에 나옵니다(Narang 외, 2020; Wiegreffe 외, 2022; Lampinen 외, 2022 등)).


연쇄적 사고 프롬프트는 언어 모델에서 추론을 촉진하기 위한 접근 방식으로서 몇 가지 매력적인 특성을 가지고 있습니다.


1. 첫째, 연쇄적 사고는 원칙적으로 모델이 다단계 문제를 중간 단계로 분해할 수 있게 해주기 때문에 더 많은 추론 단계가 필요한 문제에 추가 계산을 할당할 수 있습니다.

2. 둘째, 사고 연쇄는 모델의 동작에 대한 해석 가능한 창을 제공하여 모델이 특정 답에 어떻게 도달했는지 제안하고 추론 경로가 잘못된 부분을 디버그할 수 있는 기회를 제공합니다(답을 뒷받침하는 모델의 계산을 완전히 특성화하는 것은 아직 미해결 과제로 남아 있지만).

3. 셋째, 연쇄 추론은 수학 단어 문제, 상식적 추론, 기호 조작과 같은 작업에 사용할 수 있으며, 인간이 언어를 통해 해결할 수 있는 모든 작업에 (적어도 원칙적으로는) 잠재적으로 적용될 수 있습니다.

4. 마지막으로, 생각의 연쇄 추론은 단발성 프롬프트의 예시에 생각의 연쇄 시퀀스의 예를 포함시킴으로써 충분히 큰 기성 언어 모델에서 쉽게 도출할 수 있습니다. 


경험적 실험을 통해 산술적 추론(섹션 3), 상식적 추론(섹션 4), 상징적 추론(섹션 5)에 대한 연쇄적 사고 프롬프트의 유용성을 관찰할 것입니다.


3 산술적 추론

먼저 언어 모델의 산술적 추론 능력을 측정하는 그림 1과 같은 형태의 수학 단어 문제를 고려합니다. 산술 추론은 인간에게는 간단하지만 언어 모델에게는 종종 어려움을 겪는 작업입니다(Hendrycks 외., 2021; Patel 외., 2021, 특히). 놀랍게도 540B 매개변수 언어 모델과 함께 사용되는 연쇄적 사고 프롬프트는 여러 작업에서 작업별 미세 조정 모델과 비슷한 성능을 보이며, 심지어 까다로운 GSM8K 벤치마크에서 새로운 최첨단 기술을 달성하기도 했습니다(Cobbe et al., 2021).


그림3. 산술, 상식, 상징적 추론 벤치마크에 대한⟨입력, 생각의 사슬, 출력⟩의 예가 있습니다. 생각의 사슬은 강조 표시되어 있습니다. 전체 프롬프트는 부록 G에 있습니다.


수학 단어 문제(자유 응답)

로저는 테니스 공 5개를 가지고 있습니다. 그는 테니스 공 캔 2개를 더 삽니다. 각 캔에는 3개의 테니스 공이 들어 있습니다. 이제 로저는 몇 개의 테니스 공을 가지고 있나요?

답: 로저는 5개의 공으로 시작했습니다. 테니스 공 3개가 들어 있는 캔 2개를 합치면 테니스 공이 6개입니다. 5 + 6 = 11. 정답은 11입니다.


수학 단어 문제(객관식)

질문: 1부터 500까지의 숫자를 입력하려면 몇 번의 키 입력이 필요합니까? 정답 선택: (a) 1156 (b) 1392 (c) 1480 (d) 1562 (e) 1788

답: 1부터 9까지 9개의 한 자리 숫자가 있습니다. 10에서 99까지의 두 자리 숫자는 90개입니다. 100에서 500까지의 세 자리 숫자는 401개입니다. 9 + 90(2) + 401(3) = 1392. 정답은 (b)입니다.


CSQA(상식)

질문: 새미는 사람들이 있는 곳으로 가고 싶었습니다. 그가 갈 수 있는 곳은 어디일까요? 옵션: (가) 경마장 (나) 인구 밀집 지역 (다) 사막 (라) 아파트 (마) 도로 블록

답은 사람이 많은 곳이어야 합니다. 경마장, 사막, 아파트, 도로 차단에는 사람이 많지 않지만 인구 밀집 지역에는 사람이 있습니다. 따라서 정답은 (b)입니다.


전략QA

질문: 예 또는 아니오: 배는 물에 가라앉을까요?

A: 배의 밀도는 약 0.6g/cm^3으로 물보다 낮습니다. 따라서 배는 물에 뜰 것입니다. 따라서 대답은 '아니오'입니다.


날짜 이해

질문: 콘서트는 1943년 6월 1일에 열릴 예정이었으나 오늘로 하루 연기되었습니다. 10일 전 날짜는 월/일/년/년으로 어떻게 되나요?

A: 1943년 6월 1일에서 하루 뒤는 1943년 6월 2일이므로 오늘은 1943년 6월 2일입니다. 오늘 10일 전은 05/23/1943입니다. 따라서 정답은 05/23/1943입니다.


스포츠 이해

질문: 다음 문장이 그럴듯한가요? "주앙 마우티뉴는 NFC 챔피언십에서 스크린 패스를 잡았다."

A: 주앙 마우티뉴는 축구 선수입니다. NFC 챔피언십은 미식축구의 일부이지 축구가 아닙니다. 따라서 대답은 '아니요'입니다.


SayCan(로봇에게 명령하기)

인간: 과일이 아닌 것을 어떻게 가져올 수 있죠?

설명: 사용자가 과일이 아닌 먹을 것을 원합니다. 에너지바는 과일이 아니므로 사용자에게 에너지바를 가져다주겠습니다.

계획하기: 1. find(에너지바) 2. pick(에너지바) 3. find(사용자) 4. put(에너지바) 5. done().


마지막 글자 연결

Q: "레이디 가가"에 있는 단어의 마지막 글자를 가져와 연결하세요.

A: "Lady"의 마지막 글자는 "y"입니다. "Gaga"의 마지막 글자는 "a"입니다. 이들을 연결하면 "야"가 됩니다. 따라서 정답은 '야'입니다.


동전 뒤집기(상태 추적)

Q: 동전이 앞쪽을 향하고 있습니다. 메이벨이 동전을 뒤집습니다. 샬론다는 동전을 던지지 않았습니다. 동전이 여전히 위로 향하고 있나요?

A: 메이벨이 동전을 던졌습니다. 따라서 동전은 홀수인 1번 던져졌습니다. 동전은 앞면이 위로 향하게 시작했으므로 홀수 번을 뒤집은 후에는 뒷면이 위로 향하게 됩니다. 따라서 답은 '아니오'입니다.



3.1 실험 설정


여러 벤치마크에서 다양한 언어 모델에 대한 연쇄 사고 프롬프트를 살펴봅니다.


벤치마크. 우리는 다음 다섯 가지 수학 단어 문제 벤치마크를 고려합니다: (1) 수학 단어 문제의 GSM8K 벤치마크(Cobbe et al., 2021), (2) 다양한 구조를 가진 수학 단어 문제의 SVAMP 데이터 세트(Patel et al, 2021), (3) 다양한 수학 단어 문제로 구성된 ASDiv 데이터 세트(Miao et al., 2020), (4) 대수 단어 문제로 구성된 AQuA 데이터 세트, (5) MAWPS 벤치마크(Koncel-Kedziorski et al., 2016)를 사용합니다. 예시 문제는 부록 표 12에 나와 있습니다.


표준 프롬프트. 기준선으로는 브라운 외(2020)에 의해 대중화된 표준 소수 샷 프롬프트를 고려하는데, 언어 모델에 테스트 시간 예제에 대한 예측을 출력하기 전에 문맥 내 입출력 쌍의 예시가 주어집니다. 예제는 질문과 답변으로 구성됩니다. 그림 1(왼쪽)과 같이 모델이 직접 답을 제공합니다.


연쇄적 사고 프롬프트. 우리가 제안한 접근 방식은 그림 1(오른쪽)에 표시된 것처럼, 연관된 답변에 대한 연쇄적 사고 프롬프트를 통해 각 예시를 몇 개의 샷 프롬프트에서 보강하는 것입니다. 대부분의 데이터 세트에는 평가 분할만 있기 때문에, 우리는 프롬프트에 대한 생각의 사슬이 포함된 8개의 숏샷 예시 세트를 수동으로 구성했습니다. 그림 1(오른쪽)은 하나의 생각의 사슬 예시를 보여주며, 전체 예시 세트는 부록 표 20에 나와 있습니다. (이러한 특정 예시들은 프롬프트 엔지니어링을 거치지 않았으며, 견고성에 대해서는 섹션 3.4와 부록 A.2에서 살펴봅니다.)  


이러한 형태의 사고 연쇄 프롬프트가 다양한 수학 단어 문제에서 성공적인 추론을 이끌어낼 수 있는지 조사하기 위해, 자유 응답 대신 객관식인 AQuA를 제외한 모든 벤치마크에서 이 단일 세트의 8가지 사고 연쇄 예시를 사용했습니다. AQuA의 경우, 부록 표 21에 제시된 바와 같이 훈련 세트에서 4개의 예시 및 솔루션을 사용했습니다.


언어 모델. 크게 다섯 가지 언어 모델을 평가했습니다. 첫 번째는 GPT-3(Brown et al., 2020)로, 텍스트-ada-001, 텍스트-배추-001, 텍스트-큐리-001, 텍스트-다빈치-002를 사용했으며, 이는 아마도 350M, 1.3B, 6.7B, 175B 파라미터의 InstructGPT 모델(Ouyang et al., 2022)에 해당하는 것으로 추정됩니다. 두 번째는 422M, 2B, 8B, 68B 및 137B 파라미터의 모델을 가진 LaMDA(Thoppilan et al., 2022)입니다. 세 번째는 8B, 62B 및 540B 매개변수 모델이 있는 PaLM입니다. 네 번째는 UL2 20B(Tay et al., 2022), 다섯 번째는 Codex(Chen et al., 2021, OpenAI API의 code-davinci-002)입니다. 

우리는 그리디 디코딩(greedy decoding)을 통해 모델에서 샘플링합니다(후속 연구에 따르면 샘플링된 여러 세대에 걸쳐 다수의 최종 답변을 취함으로써 연쇄적 사고 프롬프트가 개선될 수 있음이 밝혀졌습니다(Wang et al., 2022a)). LaMDA의 경우, 각 시드마다 무작위로 섞인 예시 순서가 다른 5개의 무작위 시드에 대한 평균 결과를 보고합니다. LaMDA 실험은 서로 다른 시드 간에 큰 차이를 보이지 않았기 때문에 계산을 절약하기 위해 다른 모든 모델에 대해 단일 예시 순서에 대한 결과를 보고합니다.


3.2 결과


생각의 사슬 프롬프트의 가장 강력한 결과는 그림 4에 요약되어 있으며, 각 모델 컬렉션, 모델 크기 및 벤치마크에 대한 모든 실험 결과는 부록의 표 2에 나와 있습니다.   


세 가지 핵심 사항이 있습니다. 

첫째, 그림 4는 생각의 연쇄 프롬프트가 모델 규모의 새로운 능력임을 보여줍니다(Wei et al., 2022b). 즉, 생각의 연쇄 프롬프트는 소규모 모델의 경우 성능에 긍정적인 영향을 미치지 않으며, ∼100억 개의 매개변수가 있는 모델에 사용할 때만 성능 향상을 가져옵니다. 우리는 질적으로 작은 규모의 모델이 유창하지만 비논리적인 사고 연쇄를 생성하여 표준 프롬프트보다 성능이 낮다는 것을 발견했습니다. 


둘째, 생각의 사슬 프롬프트는 더 복잡한 문제에 대해 더 큰 성능 향상을 가져옵니다. 예를 들어, 기준 성능이 가장 낮은 데이터 세트인 GSM8K의 경우, 가장 큰 GPT 및 PaLM 모델의 경우 처리량이 두 배 이상 증가했습니다. 반면, 한 단계만 해결하면 되는 가장 쉬운 MAWPS의 하위 집합인 Sin- gleOp의 경우 성능 개선 효과가 음수이거나 매우 작았습니다(부록 표 3 참조).


셋째, GPT-3 175B와 PaLM 540B를 통한 연쇄 사고 프롬프트는 일반적으로 레이블이 지정된 훈련 데이터세트에서 작업별 모델을 미세 조정하는 이전의 최신 기술과 비교했을 때 유리한 결과를 보였습니다. 그림 4는 PaLM 540B가 연쇄 사고 프롬프트를 사용하여 GSM8K, SVAMP 및 MAWPS에서 새로운 최신 기술을 달성하는 방법을 보여줍니다(표준 프롬프트는 이미 SVAMP에서 이전 최고 수준을 넘어섰음에 유의하세요). 다른 두 데이터 세트인 AQuA와 ASDiv에서는 연쇄 사고 프롬프트를 사용한 PaLM이 최신 기술의 2% 이내에 도달했습니다(부록 표 2).


생각의 사슬 프롬프트가 작동하는 이유를 더 잘 이해하기 위해 GSM8K용 LaMDA 137B로 모델 생성된 생각의 사슬을 수동으로 조사했습니다. 모델이 정답을 반환한 50개의 무작위 예제 중 우연히 정답에 도달한 두 개를 제외하고는 생성된 모든 생각의 사슬이 논리적으로나 수학적으로 정확했습니다(부록 D.1 및 표 8에서 올바른 모델 생성 생각의 사슬의 예제 참조).

또한 모델이 오답을 낸 50개의 무작위 샘플을 무작위로 조사했습니다.

분석 결과, 사소한 실수(계산기 오류, 기호 매핑 오류, 추론 단계 하나 누락)를 제외하면 46%의 사고 연쇄가 거의 정답이었으며, 나머지 54%의 사고 연쇄는 의미 이해나 일관성에서 큰 오류가 있었습니다(부록 D.2 참조). 확장으로 사고 연쇄 추론 능력이 향상되는 이유에 대한 작은 통찰력을 제공하기 위해 PaLM 62B에서 발생한 오류와 PaLM 540B로 확장하여 이러한 오류가 수정되었는지에 대한 유사한 분석을 수행했습니다. 요약하자면, PaLM을 540B로 확장하면 62B 모델에서 한 단계 누락 및 의미 이해 오류의 상당 부분이 수정된다는 것입니다(부록 A.1 참조).


3.3 제거 연구


연쇄적 사고 프롬프트 사용의 이점이 관찰되면 다른 유형의 프롬프트를 통해서도 동일한 성능 개선 효과를 얻을 수 있는지에 대한 자연스러운 의문이 제기됩니다. 그림 5는 아래에 설명된 세 가지 연쇄적 사고의 변형이 포함된 제거 연구를 보여줍니다.


방정식만 물을 때. 연쇄 사고 프롬프트가 도움이 될 수 있는 이유 중 하나는 평가할 수학 방정식을 생성하기 때문이므로 모델에 답을 제시하기 전에 수학 방정식만 출력하도록 프롬프트하는 변형을 테스트했습니다. 그림 5는 방정식만 묻는 프롬프트가 GSM8K에 큰 도움이 되지 않는다는 것을 보여주며, 이는 GSM8K에서 질문의 의미가 연쇄적인 자연어 추론 단계 없이 방정식으로 직접 변환하기에는 너무 어렵다는 것을 의미합니다. 그러나 한 단계 또는 두 단계 문제로 구성된 데이터 세트의 경우 질문에서 방정식을 쉽게 도출할 수 있기 때문에 방정식만 프롬프트하는 것이 성능을 향상시키는 것으로 나타났습니다(부록 표 6 참조). 


변수 계산만 할 때. 또 다른 직관은 연쇄 추론이 모델이 더 어려운 문제에 더 많은 계산(즉, 중간 토큰)을 할애할 수 있게 해준다는 것입니다. 연쇄 사고 추론에서 변수 계산의 효과를 분리하기 위해 모델에 문제 해결에 필요한 방정식의 문자 수와 동일한 점(. . .) 시퀀스만 출력하라는 메시지가 표시되는 구성을 테스트해 보았습니다. 이 변형은 기준선과 거의 동일한 성능을 보였으며, 이는 변수 계산 자체가 연쇄 사고 추론 프롬프트의 성공 원인이 아니며, 자연어를 통해 중간 단계를 표현하는 것이 유용하다는 것을 시사합니다.


대답에 이은 생각의 연쇄. 연쇄적 사고 프롬프트의 또 다른 잠재적 이점은 단순히 이러한 프롬프트를 통해 모델이 사전 학습 중에 습득한 관련 지식에 더 잘 접근할 수 있다는 것일 수 있습니다. 따라서 모델이 실제로 생성된 연쇄 사고에 의존하여 최종 답변을 제공하는지 여부를 분리하여 연쇄 사고 프롬프트가 답변 이후에만 제공되는 대안 구성을 테스트합니다. 이 변형은 기준선과 거의 동일한 성능을 보였으며, 이는 사고 연쇄에 구현된 순차적 추론이 단순히 지식을 활성화하는 것 이상의 이유로 유용하다는 것을 시사합니다.


3.4 사고 연쇄의 견고성


예제에 대한 민감도는 프롬프트 접근법의 핵심 고려 사항입니다. 예를 들어, 소수 샷 예제의 순열을 변경하면 SST-2에서 GPT-3의 정확도가 우연에 가까운 수준(54.3%)에서 최첨단 수준에 가까운 수준(93.4%)까지 다양해질 수 있습니다(Zhao et al., 2021). 이 마지막 하위 섹션에서는 서로 다른 주석자가 작성한 생각의 사슬에 대한 견고성을 평가합니다. 주석자 A가 작성한 생각의 사슬을 사용한 위의 결과 외에도, 이 논문의 다른 두 공동 저자(주석자 B와 C)는 동일한 몇 개의 샷 예시에 대해 독립적으로 생각의 사슬을 작성했습니다(부록 H에 표시됨). 주석자 A는 Cobbe 외(2021)의 해법 스타일을 따라 원본보다 더 간결한 또 다른 생각의 사슬을 작성하기도 했습니다.1

그림 6은 GSM8K 및 MAWPS의 LaMDA 137B에 대한 이러한 결과를 보여줍니다(다른 데이터 세트에 대한 제거 결과는 부록 표 6/표 7에 나와 있습니다). 예시 기반 프롬프트를 사용할 때 예상할 수 있는 것처럼, 다양한 사고 연쇄 주석 간에 차이가 있지만(Le Scao and Rush, 2021; Reynolds and McDonell, 2021; Zhao et al., 2021), 모든 사고 연쇄 프롬프트 세트는 표준 기준선을 큰 차이로 능가합니다. 이 결과는 연쇄 사고의 성공적인 사용이 특정 언어 스타일에 의존하지 않는다는 것을 의미합니다. 


다른 예제 세트에서도 성공적인 연쇄 사고 프롬프트가 작동하는지 확인하기 위해 독립적인 소스인 GSM8K 훈련 세트(이 데이터 세트의 예제에는 이미 연쇄 사고와 같은 추론 단계가 포함되어 있음)에서 무작위로 샘플링한 8개 예제로 구성된 3개 세트로 실험을 수행했습니다.2 그림 6은 이러한 프롬프트가 수동으로 작성한 예제와 비슷한 성능을 보였으며 표준 프롬프트보다 훨씬 뛰어난 성능을 발휘했음을 보여줍니다.

주석자, 독립적으로 작성된 생각의 사슬, 다양한 예시 및 다양한 언어 모델에 대한 견고성 외에도 산술 추론을 위한 생각의 사슬 프롬프트는 다양한 예시 순서와 다양한 예시 수에 대해서도 견고하다는 사실을 발견했습니다(부록 A.2 참조).


4 상식적 추론


연쇄 사고는 수학 단어 문제에 특히 적합하지만, 연쇄 사고의 언어 기반 특성으로 인해 실제로는 일반적인 배경 지식을 전제로 물리적 및 인간 상호 작용에 대한 추론을 포함하는 광범위한 상식 추론 문제에 적용할 수 있습니다. 상식적 추론은 세상과 상호작용하는 데 있어 핵심적인 요소이며, 현재의 자연어 이해 시스템으로는 아직 도달할 수 없는 영역입니다(Talmor 외., 2021).

벤치마크. 다양한 범위의 상식적 추론 유형을 포괄하는 5가지 데이터 세트를 고려합니다. 널리 사용되는 CSQA(Talmor 외., 2019)는 종종 사전 지식이 필요한 복잡한 의미론과 관련된 세상에 대한 상식적인 질문을 던집니다. StrategyQA(Geva et al., 2021)는 질문에 답하기 위해 멀티홉 전략을 추론하는 모델을 요구합니다. 우리는 BIG-벤치 노력에서 두 가지 전문 평가 세트를 선택합니다(BIG-벤치 공동 작업, 2021): 주어진 문맥에서 날짜를 추론하는 날짜 이해와 스포츠와 관련된 문장이 그럴듯한지 그렇지 않은지 판단하는 스포츠 이해입니다. 마지막으로 SayCan 데이터세트(Ahn et al., 2022)는 자연어 명령을 이산 집합의 로봇 동작 시퀀스에 매핑하는 작업을 포함합니다. 그림 3은 모든 데이터 세트에 대한 연쇄 사고 주석이 포함된 예시를 보여줍니다.


프롬프트. 이전 섹션과 동일한 실험 설정을 따릅니다. CSQA와 StrategyQA의 경우, 훈련 세트에서 무작위로 예제를 선택하고 몇 개의 샷 예제로 사용할 생각의 사슬을 수동으로 구성했습니다. 두 개의 빅벤치 작업에는 훈련 세트가 없으므로 평가 세트에서 처음 10개의 예제를 소수의 샷 예제로 선택하고 나머지 평가 세트에 대한 보고서 번호를 지정했습니다. SayCan의 경우, Ahn 등(2022)에서 사용된 훈련 세트의 6개 예제와 수동으로 구성한 생각의 사슬을 사용했습니다.


결과. 그림 7은 PaLM에 대한 이러한 결과를 보여줍니다(LaMDA, GPT-3 및 다양한 모델 척도에 대한 전체 결과는 표 4에 나와 있습니다). 모든 작업에서 모델 크기를 확장하면 표준 프롬프트의 성능이 향상되었으며, 생각의 연쇄 프롬프트는 더 많은 이점을 가져왔으며, PaLM 540B의 경우 개선 효과가 가장 큰 것으로 나타났습니다. PaLM 540B는 연쇄적 프롬프트를 통해 기준선 대비 강력한 성능을 달성하여 StrategyQA에서 이전 최신 기술을 능가했으며(75.6% 대 69.4%), 스포츠 이해도에서는 비보조 스포츠 애호가보다 더 높은 성능을 보였습니다(95.4% 대 84%). 이러한 결과는 연쇄적 사고 프롬프트가 다양한 상식적 추론 능력을 필요로 하는 과제에서도 성과를 향상시킬 수 있음을 보여줍니다(단, CSQA에서는 개선 효과가 미미했습니다). 

그림 7: 연쇄 사고 프롬프트는 언어 모델의 상식적인 추론 능력도 향상시킵니다. 여기에 표시된 언어 모델은 PaLM입니다. 이전 최고 수치는 CSQA(Talmor 외., 2019) 및 StrategyQA(Geva 외., 2021)의 리더보드에서 가져온 것입니다(단일 모델만 해당, 2022년 5월 5일 기준). 다양한 크기의 LaMDA, GPT-3, PaLM을 사용한 추가 결과는 표 4에 나와 있습니다.


5 상징적 추론


마지막 실험 평가에서는 인간에게는 간단하지만 언어 모델에게는 잠재적으로 까다로운 상징적 추론을 고려했습니다. 연쇄적 사고 프롬프트는 언어 모델이 표준 프롬프트 환경에서는 어려운 상징적 추론 작업을 수행할 수 있게 해줄 뿐만 아니라, 몇 컷의 예시에서 볼 수 있는 것보다 더 긴 추론 시간 입력에 대한 길이 일반화를 용이하게 해준다는 것을 보여줍니다.


과제. 다음 두 가지 장난감 과제를 사용합니다.


-마지막 문자 연결. 이 작업은 모델에 이름에서 단어의 마지막 글자를 연결하도록 요청합니다(예: "에이미 브라운" → "yn"). 이는 언어 모델이 이미 연쇄 사고 없이 수행할 수 있는 첫 글자 연결보다 더 어려운 버전입니다.3 이름 센서스 데이터(https://namecensus.com/)에서 상위 1,000개의 이름과 성을 무작위로 연결하여 전체 이름을 생성합니다.


- 동전 던지기. 이 작업은 모델에게 사람들이 동전을 뒤집거나 뒤집지 않은 후에도 여전히 동전이 앞면인지 묻습니다.(예: "동전이 앞면입니다. 피비가 동전을 뒤집습니다. 오스발도는 동전을 던지지 않습니다. 동전이 아직 앞면인가요?" → "아니오")

이러한 상징적 추론 작업의 구성은 잘 정의되어 있으므로 각 과제에 대해, 예제의 단계 수가 훈련/소수 샷 예제와 동일한 도메인 내 테스트 세트와 평가 예제의 단계 수가 예제의 단계 수보다 많은 도메인 외부(OOD) 테스트 세트를 고려합니다. 마지막 글자 연결의 경우, 모델은 두 단어로 구성된 이름의 예시만 확인한 다음 세 단어와 네 단어로 구성된 이름에 대해 마지막 글자 연결을 수행합니다.4 동전 던지기 과제에서 잠재적인 뒤집기 횟수에 대해서도 동일하게 수행합니다. 실험 설정은 앞의 두 섹션에서와 동일한 방법과 모델을 사용합니다. 그림 3에 제시된 각 과제에 대한 몇 개의 샷 예시에 대해 다시 한 번 수동으로 생각의 사슬을 구성합니다.


결과. 이러한 도메인 내 및 OOD 평가의 결과는 PaLM의 경우 그림 8에 표시되어 있으며, LaMDA의 결과는 부록 표 5에 나와 있습니다. PaLM 540B의 경우, 연쇄 사고 프롬프트는 거의 100%에 가까운 해결률을 보여줍니다(표준 프롬프트는 이미 PaLM 540에서 동전 뒤집기를 해결하지만, LaMDA 137B의 경우 그렇지 않습니다). 이러한 도메인 내 평가는 몇 개의 샷으로 구성된 예제에서 완벽한 솔루션 구조가 이미 생각의 사슬에 의해 제공된다는 점에서 '장난감 과제'이며, 모델은 테스트 시간 예제의 새로운 기호를 사용하여 동일한 단계를 반복하기만 하면 됩니다. 그럼에도 불구하고 작은 모델은 여전히 실패합니다. 이 세 가지 작업을 위해 보이지 않는 기호에 대한 추상적 조작을 수행하는 능력은 모델 매개변수의 규모가 100억 개에 달할 때만 발생합니다.

OOD 평가의 경우, 표준 프롬프트는 두 작업 모두에 대해 실패합니다. 연쇄 사고 프롬프트를 사용하면 언어 모델이 상향 스케일링 곡선을 달성합니다(도메인 내 설정보다 성능은 낮지만). 따라서 사고 연쇄 프롬프트는 충분한 규모의 언어 모델에 대해 보이는 사고 연쇄를 넘어 길이 일반화를 용이하게 합니다.


6 토론


지금까지 대규모 언어 모델에서 다단계 인식 행동을 유도하기 위한 간단한 메커니즘으로 연쇄 사고 프롬프트를 살펴봤습니다. 먼저 생각의 연쇄 프롬프트가 산술 추론에서 큰 폭으로 성능을 개선하여 생략보다 훨씬 강력하고 다양한 주석자, 예시 및 언어 모델에 강력한 개선 효과를 가져온다는 사실을 확인했습니다(섹션 3). 


 다음으로, 상식 추론에 대한 실험을 통해 연쇄 추론의 언어적 특성이 어떻게 일반적으로 적용될 수 있는지를 강조했습니다(섹션 4). 마지막으로, 상징적 추론의 경우 연쇄 추론 프롬프트가 더 긴 시퀀스 길이에 대한 OOD 일반화를 용이하게 한다는 것을 보여주었습니다(섹션 5). 모든 실험에서 연쇄 추론은 기성 언어 모델을 프롬프트하는 것만으로 유도되었습니다. 이 논문을 작성하는 과정에서 언어 모델을 세밀하게 조정하지는 않았습니다.


모델 확장으로 인한 연쇄 추론의 출현은 일반적인 주제였습니다(Wei 외., 2022b). 표준 프롬프트가 평평한 스케일링 곡선을 갖는 많은 추론 작업에서 연쇄적 사고 프롬프트는 스케일링 곡선을 급격히 증가시킵니다. 즉, 연쇄적 사고 프롬프트는 대규모 언어 모델이 성공적으로 수행할 수 있는 작업의 범위를 확장하는 것으로 보이며, 우리의 연구는 표준 프롬프트가 대규모 언어 모델의 능력에 대한 하한선을 제공할 뿐이라는 점을 강조합니다. 이 관찰은 모델 규모가 더 커지면 추론 능력이 얼마나 더 향상될 것으로 기대할 수 있는지와 같이 해답보다 더 많은 질문을 제기할 수 있습니다. 언어 모델이 해결할 수 있는 작업의 범위를 확장할 수 있는 다른 프롬프트 방법은 무엇일까요?


먼저, 연쇄 사고는 인간 추론자의 사고 과정을 모방하지만, 신경망이 실제로 '추론'을 하는지 여부에 대한 해답을 제시하지 못한다는 한계가 있으며, 이는 열린 질문으로 남겨져 있습니다

둘째, 생각의 사슬로 예시를 수동으로 보강하는 데 드는 비용은 소수 샷 설정에서는 미미하지만, 미세 조정에는 이러한 주석 비용이 엄청날 수 있습니다(합성 데이터 생성 또는 제로 샷 일반화로 이 문제를 극복할 수 있음). 

셋째, 올바른 추론 경로를 보장할 수 없기 때문에 정답과 오답이 모두 나올 수 있으며, 언어 모델의 사실적 생성을 개선하는 것은 향후 연구의 열린 방향입니다(Rashkin 외., 2021; Ye and Durrett, 2022; Wiegreffe 외., 2022 등). 

마지막으로, 대규모 모델 규모에서만 연쇄 추론이 등장하기 때문에 실제 애플리케이션에서 사용하기에는 비용이 많이 들며, 추가 연구를 통해 소규모 모델에서 추론을 유도하는 방법을 모색할 수 있습니다.


7 관련 연구


이 작업은 많은 연구 분야에서 영감을 얻었으며, 확장된 관련 작업 섹션(부록 C)에서 자세히 설명합니다. 여기서는 가장 관련성이 높은 두 가지 방향과 관련 논문을 설명합니다.


첫 번째 관련 방향은 추론 문제를 해결하기 위해 중간 단계를 사용하는 것입니다. Ling 등(2017)은 일련의 중간 단계를 통해 수학 단어 문제를 푸는 데 자연어 추론을 사용하는 아이디어를 개척했습니다. 이들의 연구는 추론에 형식적 언어를 사용하는 문헌과 현저한 대조를 이룹니다(Roy et al., 2015; Chiang and Chen, 2019; Amini et al., 2019; Chen et al., 2019). Cobbe 등(2021)은 모델을 처음부터 훈련하는 대신 더 큰 데이터 세트를 생성하고 이를 사용하여 사전 훈련된 언어 모델을 미세 조정함으로써 Ling 등(2017)을 확장합니다. 프로그램 합성 영역에서 Nye 등(2021)은 언어 모델을 활용하여 중간 계산 결과를 한 줄씩 예측함으로써 Python 프로그램의 최종 출력을 예측하고, 단계별 예측 방법이 최종 출력을 직접 예측하는 것보다 성능이 더 우수하다는 것을 보여줍니다.

물론 이 논문은 프롬프트에 관한 최근의 대규모 연구와도 밀접한 관련이 있습니다. Brown 등(2020)이 제시한 소수 샷 프롬프트가 대중화된 이후, 프롬프트를 자동으로 학습하거나(Lester 등, 2021) 모델에 작업을 설명하는 지침을 제공하는 등 몇 가지 일반적인 접근 방식이 모델의 프롬프트 능력을 향상시켰습니다(Wei 등, 2022a; Sanh 등, 2022; Ouyang 등, 2022). 이러한 접근 방식은 프롬프트의 입력 부분(예: 입력에 추가되는 지침)을 개선하거나 증강하는 반면, 우리의 작업은 사고의 사슬을 통해 언어 모델의 출력을 증강하는 직교 방향을 취합니다.


8 결론


지금까지 언어 모델의 추론을 향상시키기 위한 간단하고 광범위하게 적용할 수 있는 방법으로서 연쇄 추론 프롬프트를 살펴봤습니다. 산술적기호적상식적 추론에 대한 실험을 통해 연쇄 추론이 모델 스케일의 새로운 속성이라는 사실을 발견했으며이를 통해 충분히  언어 모델도 평평한 스케일링 곡선을 갖는 추론 작업을 수행할  있습니다. 언어 모델이 수행할 수 있는 추론 작업의 범위가 넓어지면 추론에 대한 언어 기반 접근 방식에 대한 추가 연구에 영감을 줄 수 있을 것으로 기대합니다.

작가의 이전글 티타임즈에서 거대언어모델에 관해 얘기하다
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari