CoT – Chain of Thought
CoT (Chain of Thought)는 기계학습, 특히 자연어 처리(NLP) 분야의 개념으로, 모델이 추론을 단계별로 설명하여 특정 결과에 도달하도록 장려하는 프로세스를 의미합니다. 최종 결론 또는 답변. 이는 복잡한 문제를 더 작고 관리하기 쉬운 단계로 나누고 순서대로 추론하여 인간이 복잡한 문제를 해결하는 방법을 말한다. GPT와 같은 대규모 언어 모델(LLM)의 맥락에서 CoT는 모델이 정보를 논리적이고 순차적으로 처리하도록 요구하여 더 정확하거나 해석 가능한 결과를 도출하는 데 사용된다. CoT 프롬프트는 ‘Let’s think step by step’와 같은 지시어를 사용하여 모델이 문제를 단계별로 해결하도록 유도한다. 이는 모델이 중간 추론 단계를 생성하도록 하여, 최종 답변에 이르기까지의 논리적 과정을 보여준다. 작동 방식과 중요한 이유는 다음과 같다.
1. 단계별 추론
모델에게 최종 답변으로 직접 이동하는 대신 결론에 도달하는 중간 단계를 제공하라는 메시지를 제공한다. 이 프로세스는 답변에 도달하기 전에 모델이 정보를 논리적으로 처리하는지 확인하는 데 도움이 된다.
- CoT가 없는 예
프롬프트: "14 곱하기 18은 무엇입니까?" 응답: "252."
- CoT의 예
프롬프트: "14 곱하기 18은 무엇인가요? 추론을 단계별로 보여주세요." 응답: "14 곱하기 18은 다음과 같이 나눌 수 있습니다. 14 곱하기 10은 140입니다. 14 곱하기 8은 112입니다. 140과 112를 더하면 252가 됩니다."
2. 향상된 해석성
Chain of Thought의 장점 중 하나는 모델의 추론을 투명하게 만든다는 것이다. 모델이 실수하는 경우에도 각 단계가 설명되어 있어, 문제가 발생한 부분을 찾아내기가 더 쉽게 된다.
사례
모델이 “고양이 8마리와 거미 3마리의 다리는 몇 개입니까?”라는 질문을 한 경우이다. CoT가 없으면 아무런 추론 없이 잘못된 답변을 제공하여 어떻게 거기에 도달했는지 이해하기 어려울 수 있을 것이다. 그러나 CoT를 사용하면 다음과 같이 계산이 표시될 수 있다.
고양이의 다리는 4개이므로 고양이 8마리의 다리는 8 × 4 = 32개입니다. 거미의 다리는 8개이므로 거미 3마리의 다리는 3 × 8 = 24개입니다. 모두 합치면 32 + 24 = 56개의 다리입니다.
이와 같은 단계별 프로세스는 정답으로 이어질 뿐만 아니라 모델의 논리에 문제가 있는 경우 모델을 수정할 수 있는 기회도 제공한다.
3. 복잡한 문제 해결
사고 사슬 추론은 수학적 추론, 논리적 퍼즐 또는 물리학, 금융, 법과 같은 분야의 복잡한 쿼리와 같은 다단계 논리가 필요한 복잡한 문제에 특히 유용하다. 이를 통해 모델은 이러한 작업을 더 작은 덩어리로 나누어 이러한 작업을 보다 효과적으로 처리할 수 있다.
논리 퍼즐의 예
- 프롬프트:
한 남자가 누군가의 그림을 보고 있습니다. 친구가 묻습니다. '저 그림은 누구죠?' 남자는 '형제자매들, 나에게는 하나도 없지만 그 사람의 아버지는 내 아버지의 아들입니다.'라고 대답하였습니다. 그림은 누구입니까?”
- CoT가 없는 경우
모델은 추론을 설명하지 않고 단순히 답(예: "그의 아들")을 추측할 수 있다.
- CoT를 포함한 경우
이것을 분석해 보겠습니다. 그 남자는 '그 사람의 아버지는 내 아버지의 아들이다'라고 말하였습니다. '내 아버지의 아들'은 그 사람 자신을 가리킵니다. 그래서 '그 남자의 아버지'는 그 남자를 말하는 것입니다. 따라서 그림 속 인물은 그 남자의 아들입니다."
4. 다단계 작업 성능 향상
CoT는 여러 단계의 추론이 필요한 작업에서 모델의 성능을 향상시킨다. 수학 단어 문제나 논리적 추론이 필요한 작업에서 이 구조화된 추론 프로세스는 모델이 실수로 이어질 수 있는 논리의 비약을 방지하는 데 도움이 된다.
수학 단어 문제의 예:
- 프롬프트:
Tom은 사과 3개를 가지고 있습니다. 그는 Sara에게 1개를 주고 2개를 더 삽니다. 톰은 지금 사과를 몇 개나 가지고 있나요?”
- CoT 미포함
모델은 "사과 4개"라고만 말할 수 있다.
- CoT 포함
Tom은 사과 3개로 시작합니다. 그는 1개를 기부했기 때문에 이제 3 - 1 = 2개의 사과를 갖게 되었습니다. 그는 2개를 더 구입하여 이제 2 + 2 = 4개의 사과를 갖게 되었습니다.
5. 일반화 장려
단계를 세분화함으로써 모델은 다양한 유형의 문제에 걸쳐 더 효과적으로 일반화하는 방법을 학습한다. 이러한 접근 방식을 사용하면 다양한 작업에 유사한 단계별 추론을 적용할 가능성이 높아져 단순한 문제뿐만 아니라 다양한 영역의 더 복잡한 문제도 해결하는 능력이 향상된다.
6. 사고 사슬의 응용
- 수학적 문제: 모델이 각 계산 또는 논리적 단계를 표시하도록 장려하여 산술 또는 대수학의 오류를 줄인다.
- 복잡한 논리 및 단어 문제: 논리적 구조를 명확하게 하고 사용자가 모델의 추론을 더 쉽게 따라갈 수 있도록 도와준다.
- AI의 설명 가능성: AI 모델을 사용할 때의 과제 중 하나는 AI 모델이 어떻게 결정에 도달하는지 이해하는 것이다. CoT는 추론 프로세스의 모든 단계가 사용자를 위해 배치되므로 해석 가능성을 향상시킨다.
7. 결론
CoT는 모델이 복잡한 문제를 단계별로 추론하도록 요구하는 것이다. 작업을 더 작고 더 논리적인 단계로 나누면 모델이 정답에 도달할 가능성이 높아지고 더 해석 가능한 출력을 제공할 수 있다. 또한 다단계 추론이 필요한 작업의 성능을 향상시켜 모델의 응답을 더욱 투명하고 안정적으로 만들 수 있다.