LLM에서의 인지적 프롬프팅

Towards Data Science 블로그 포스트 번역
2024-10-19



소개

AI를 배우기 시작했을 때 가장 매력적인 아이디어 중 하나는 기계가 인간처럼 생각한다는 것이었습니다. 하지만 AI와 머신러닝 방법이 실제로 무엇을 하는지 자세히 살펴보니, 강의와 책에서 찾을 수 있는 인간의 사고 방식(즉, 인간 인지)과 기계가 하는 방식 사이에 실제로 엄청난 격차가 있다는 것에 놀랐습니다. 제게 있어 이러한 격차의 예시는: 퍼셉트론이 어떻게 작동하는지(종종 "생물학적 대응물에서 영감을 받았다"고 불림)와 실제 뉴런이 어떻게 작동하는지, 또는 퍼지 논리가 인간의 정보 및 추론 개념을 어떻게 모델링하려고 하는지와 인간 추론이 실제로 어떻게 작동하는지, 또는 인간이 점들의 구름을 보고 칠판에 점 구름 주위에 원을 그려서 클러스터링하는 방식과 DBSCAN 및 k-means 같은 알고리즘이 이 작업을 수행하는 방식입니다.
하지만 이제 ChatGPT, Claude, LLaMA 같은 LLM이 주목을 받고 있습니다. 수십억 개 또는 심지어 수조 개의 인공 뉴런과 인지에 중요한 역할을 하는 메커니즘(attention, 즉 "필요한 것이 전부")을 기반으로 합니다. 우리는 먼 길을 왔고, 한편 이 분야의 초기 거인들을 기리기 위해 노벨상이 수여되었습니다. LLM은 기사를 요약하고, 코드를 생성하거나, 복잡한 질문에 답하고 창의적이 되는 데 엄청나게 성공적입니다. 핵심 포인트는 의심의 여지 없이 올바른 프롬프트입니다. 모델에서 원하는 것을 더 잘 지정할수록 결과가 더 좋습니다. 프롬프트 엔지니어링은 진화하는 분야가 되었으며, 인간을 위한 전문화된 직업이 되기도 했습니다(개인적으로는 이 역할의 장기적 미래를 의심합니다). 수많은 프롬프팅 전략이 제안되었습니다: 유명한 것들은 Chain-of-Thought (CoT) [2] 또는 Tree-of-Thought (ToT) [3]로, 주로 성공적인 문제 해결 예시의 단계를 제공함으로써 언어 모델 추론을 단계별로 안내합니다. 하지만 이러한 단계는 보통 구체적인 예시이며 명시적인 솔루션 체인 설계가 필요합니다.
다른 접근 방식은 PromptBreeder 같은 진화 알고리즘(EA)을 사용하여 프롬프팅을 최적화하려고 시도합니다. 개인적으로 EA는 항상 좋은 아이디어라고 생각합니다. 최근에 Apple의 연구팀이 LLM이 다양한 프롬프트로 문제 해결에서 쉽게 산만해질 수 있음을 보여주었습니다 [4]. 여기에는 CoT 및 프롬프트 설계에 관한 수많은 좋은 포스트(최근 TDS의 포스트 같은)가 있으므로, 여기서 더 자세히 다시 설명할 필요가 없다고 생각합니다.

인지적 프롬프팅이란 무엇인가?

인지 과학에 대한 격차가 명백히 있으므로 뭔가 여전히 부족합니다. 이 모든 것이 저를 생각하게 했습니다: 이 모델들이 인간처럼 더 잘 "생각"하도록 도울 수 있을까요, 그리고 어떻게? 인지 과학이 인지 작업(cognitive operations)이라고 부르는 것으로 안내될 수 있다면 어떨까요? 예를 들어, 문제를 단계별로 분해하여 접근하고, 불필요한 정보를 필터링하고, 사용 가능한 정보에 있는 패턴을 인식합니다. 어려운 퍼즐을 풀 때 우리가 하는 것과 조금 비슷하게 들립니다.
여기서 인지적 프롬프팅이 등장합니다. AI가 질문에만 답할 수 없지만 구조화된 단계로 "생각"함으로써 복잡한 문제 해결 과정을 통해 자신을 안내하고 출력을 읽을 때 당신을 안내할 수 있다고 상상해보세요.
수학 단어 문제를 풀고 있다고 상상해보세요. 가장 먼저 하는 일은 아마도 목표를 명확히 하는 것입니다: 정확히 무엇을 파악해야 하나요, 우리가 기대하는 결과는 무엇인가요? 그런 다음 문제를 더 작은 단계로 나누고, 유망한 방법은 관련 정보를 식별하고 생각을 원하는 솔루션에 더 가깝게 안내하는 데 도움이 되는 패턴을 인식하는 것입니다. 이 예시에서 이러한 단계를 목표 명확화, 분해, 필터링, 패턴 인식이라고 부르겠습니다. 이들은 모두 우리가 본능적으로 수행하는 인지 작업(COP)의 예시입니다(또는 최선의 경우 교사가 따르도록 가르치는 것들입니다).

하지만 이것이 실제로 어떻게 작동하나요?

프로세스가 어떻게 진행되었는지 설명하겠습니다. 우리는 COP의 시퀀스를 정의하고 LLM이 시퀀스를 따르도록 요청합니다. 그림 1은 프롬프트가 어떻게 보이는지의 예시를 보여줍니다. 중요한 것으로 나타나는 COP의 예시는:
  • 목표 명확화: 모델은 먼저 문제를 명확한 방식으로 다시 설명해야 합니다 – 정확히 무엇을 해결하려고 하나요, 원하는 결과는 무엇인가요?
  • 분해: 다음으로 문제를 관리 가능한 청크로 나눕니다. 사용 가능한 모든 정보에 압도되는 대신 모델은 더 작은 부분을 해결하는 데 집중해야 합니다 – 한 번에 하나씩.
  • 필터링: 모델에 불필요한 세부 사항을 필터링하도록 요청하여 정말 중요한 것에 집중할 수 있도록 합니다. 이는 종종 모델이 정말 중요한 정보에 주의를 기울일 수 있도록 하는 데 필요합니다.
  • 패턴 인식: 문제를 효율적으로 해결하기 위해 패턴을 식별합니다. 예를 들어, 문제가 반복되는 단계를 포함하면 모델에 패턴을 인식하고 적용하도록 요청합니다.
  • 통합: 마지막에 이전 단계의 모든 통찰력, 특히 마지막 COP를 기반으로 종합하고 최종 답변에 대한 솔루션으로 통합하는 것이 합리적입니다.
이러한 구조화된 단계는 인간이 문제를 해결하는 방식을 모방합니다 – 논리적으로, 단계별로. 수많은 추가 인지 작업이 있으며 어떤 것을 선택할지, 어떤 순서로, 프롬프트에 대해 어떻게 지정할지는 선택의 여지가 있습니다. 이것은 확실히 추가 개선의 여지를 남깁니다.
우리는 이미 다음과 같은 방식으로 접근 방식을 확장했습니다. COP의 결정론적 순서를 따르는 대신, 우리는 모델에 제공된 목록을 기반으로 자신의 COP 시퀀스를 선택할 자유를 줍니다 – 자기 적응형 인지적 프롬프팅이라고 불립니다. 이 접근 방식이 꽤 잘 작동하는 것으로 나타났습니다. 다음 단락에서 우리는 벤치마크 문제 세트에서 두 변형을 비교합니다.
그림 1: 인지적 프롬프팅: 왼쪽의 LLM 추론을 안내하기 위한 인지 작업(COP)의 일반 목록, 오른쪽의 산술 추론에 맞게 조정된 특화된 버전.

성능을 개선하는 것으로도 나타나는 것은 COP 설명을 특정 문제 도메인에 맞게 조정하는 것입니다. 그림 1(오른쪽)은 일반 COP의 수학 특화 적응의 예시를 보여줍니다. 이들은 "각 변수를 명확하게 정의하세요" 또는 "방정식을 단계별로 풀어보세요" 같은 프롬프트로 "펼쳐집니다".
실제로는 모델에 최종 답변을 JSON 문자열로 제공하도록 조언하는 것이 합리적입니다. 일부 LLM은 솔루션을 제공하지 않지만 문제를 해결하기 위한 Python 코드를 제공합니다. 우리의 실험 분석에서 우리는 공정했고 Python 코드가 올바른 결과를 반환할 때 답변을 올바른 것으로 취급하여 코드를 실행했습니다.

예시

GSM8K [5]의 8.5k 산술 문제 중 하나를 풀기 위해 LLaMA3.1 70B에 요청하는 짧은 예시를 제공하겠습니다. 그림 2는 요청을 보여줍니다.
그림 2: 결정론적 인지적 프롬프팅을 사용한 산술 추론의 예시입니다.

그림 3은 올바른 답변으로 이어지는 모델의 출력을 보여줍니다. 모델이 체계적으로 COP의 시퀀스를 따르는 것으로 나타났습니다 – 심지어 인간을 위한 좋은 문제 해결 설명을 제공합니다.
그림 3: 그림 3의 인지적 프롬프팅 기반 문제 해결 요청에 대한 LLaMA3.1 70B의 출력.


인지적 프롬프팅의 성능은 어떻게 되나요 – 과학적으로?

이제 전형적인 벤치마크에서 인지적 프롬프팅을 테스트하여 조금 더 체계적으로 접근해보겠습니다. 우리는 GSM8K [5] 데이터셋의 수학 문제 세트에서 테스트했습니다 – 기본적으로 초등학교에서 찾을 수 있는 수학 질문의 모음입니다. 다시 한 번, 우리는 Meta의 LLaMA 모델을 사용하여 인지적 프롬프팅이 문제 해결 능력을 개선할 수 있는지 확인했으며, 80억 개의 파라미터를 가진 LLaMA와 훨씬 더 큰 700억 개의 파라미터 버전을 적용했습니다.
그림 4는 일부 결과를 보여줍니다. 더 작은 모델은 결정론적 인지적 프롬프팅으로 약간 개선되었습니다. 아마도 구조화된 사고의 복잡성을 처리하기에 충분히 크지 않을 수 있습니다. COP의 자신의 시퀀스를 선택할 때 성능의 향상이 상당합니다.
그림 4: GSM8k 벤치마크에서 인지적 프롬프팅의 결과(왼쪽) 및 선택된 COP 시퀀스의 히스토그램(오른쪽)(목표 명확화(GC), 분해(DC), 패턴 인식(PR), 일반화(GN), 재구성(RE)).

인지적 프롬프팅 없이 더 큰 모델은 수학 문제에서 약 87%의 점수를 받았습니다. 우리가 결정론적 인지적 프롬프팅(모델이 고정된 인지 단계 시퀀스를 따르는 경우)을 추가했을 때 점수는 89%로 뛰어올랐습니다. 하지만 모델이 적응하고 인지 작업을 동적으로 선택할 수 있도록 허용했을 때(자기 적응형 프롬프팅), 점수는 91%로 치솟았습니다. 추가 예시 없이 인간처럼 추론하도록 일반적인 조언을 받는 기계에게는 나쁘지 않습니다, 맞죠?

이것이 왜 중요한가요?

인지적 프롬프팅은 이러한 인간 같은 인지 작업을 구조화된 프로세스로 조직하고 LLM이 복잡한 문제를 해결하도록 돕는 데 사용하는 방법입니다. 본질적으로 모델이 따를 구조화된 "사고 전략"을 제공하는 것과 같습니다. CoT 같은 이전 접근 방식이 도움이 되었지만, 인지적 프롬프팅은 다양한 인지 작업을 통합함으로써 더욱 깊은 추론 계층을 제공합니다.
이것은 수학 문제를 넘어 흥미로운 함의를 가집니다! 의사 결정, 논리적 추론, 또는 심지어 창의성 같은 영역을 생각해보세요 – 단순히 사실을 되풀이하거나 문장의 다음 단어를 예측하는 것 이상을 요구하는 작업들입니다. AI에 우리처럼 생각하도록 가르침으로써 우리는 인간 인지에 더 가까운 방식으로 문제를 통해 추론할 수 있는 모델의 문을 엽니다.

여기서 어디로 가나요?

결과는 유망하지만 이것은 시작일 뿐입니다. 인지적 프롬프팅은 확실히 다른 도메인에 맞게 조정될 수 있지만 AI의 다른 아이디어와도 결합될 수 있습니다. 우리가 인지적 프롬프팅의 더 고급 버전을 탐색할 때 다음 큰 도전은 다양한 문제 유형에 걸쳐 최적화하는 방법을 파악하는 것입니다. 누가 알겠습니까? 어쩌면 언젠가 우리는 수학 문제에서 도덕적 딜레마까지 모든 것을 처리할 수 있는 AI를 가질 수 있을 것이고, 모두 우리처럼 논리적이고 창의적으로 생각하면서 말입니다. 자신의 인지적 프롬프팅을 시도해보면서 즐거운 시간 보내세요!

참고 자료

[2] J. Wei, X. Wang, D. Schuurmans, M. Bosma, B. Ichter, F. Xia, E. H. Chi, Q. V. Le, and D. Zhou. Chain-of-thought prompting elicits reasoning in large language models. In S. Koyejo, S. Mohamed, A. Agarwal, D. Belgrove, K. Cho, and A. Oh, editors, Neural Information Processing Systems (NeurIPS) Workshop, volume 35, pages 24824–24837, 2022
[3] S. Yao, D. Yu, J. Zhao, I. Shafran, T. Griffiths, Y. Cao, and K. Narasimhan. Tree of thoughts: Deliberate problem solving with large language models. In Neural Information Processing Systems (NeurIPS), volume 36, pages 11809–11822, 2023
[4] I. Mirzadeh, K. Alizadeh, H. Shahrokhi, O. Tuzel, S. Bengio, and M. Farajtabar. GSM-Symbolic: Understanding the Limitations of Mathematical Reasoning in Large Language Models. 2024.
[5] K. Cobbe, V. Kosaraju, M. Bavarian, M. Chen, H. Jun, L. Kaiser, M. Plappert, J. Tworek, J. Hilton, R. Nakano, C. Hesse, and J. Schulman. Training verifiers to solve math word problems. arXiv preprint arXiv:2110.14168, 2021.
0
3

댓글

?

아직 댓글이 없습니다.

첫 번째 댓글을 작성해보세요!