최소 최대 프롬프트

🟦 This article is rated medium
Reading Time: 1 minute
Last updated on August 7, 2024

샌더 슐호프

최소 최대 프롬프트(LtM)1Zhou, D., Schärli, N., Hou, L., Wei, J., Scales, N., Wang, X., Schuurmans, D., Cui, C., Bousquet, O., Le, Q., & Chi, E. (2022). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models. 는 CoT 프롬프팅에서 더 나아가 하나의 문제를 여러 개의 서브 문제들로 분할 후 각각을 해결하는 것입니다. 이 기술을 실제로 아이들을 위한 교육 전략에서 영감을 받아서 만들어졌습니다.

먼저 CoT 프롬프팅에서 풀어야 할 문제는 각각 서로를 기반으로하는 서브 문제들로 이루어져 있습니다. 두 번째로 이 서브 문제들은 한번에 하나씩 해결됩니다. 일반 CoT와는 다르게 이전에 풀었던 서브 문제들은 다음 문제를 푸는데에 사용됩니다.

최소 최대 프롬프팅 도표

예시: 소비자 연구 결과

조금 복잡한 소비자 서비스 질문을 해봅시다.


실패입니다. 이제 서브 문제들로 나누어보는 과정을 진행해봅시다.


첫 번째 서브 문제를 풀어봅시다.

첫 번째 문제를 푸는 것 만으로도 우리는 문제 전체를 풀 수 있었습니다. 만약 GPT-3가 답을 즉각적으로 주지 못한다고 해도 답을 줄때까지 우리는 다음 문제를 풀 수 있었습니다. Let's go step by step.라는 문장을 사용하는 것을 참고하세요. 이 문장은 필수가 아니지만 최소한 이 예제에서는 도움이 되었습니다.

예제: 문자 연결

LtM은 문제를 여러 단계로 나누는데 명시적인 지시를 사용하는 것이 아니라 퓨샷 프롬프팅을 사용하는 것으로 위에서 설명이 되었습니다. 추가적으로 여러개의 프롬프트가 아니라 하나의 프롬프롬프트로 개발되는 경우도 종종 있습니다. 각 개별적인 단어들의 마지막 문자를 연결하는 문제를 풀어봅시다.

첫 번째 시도: 표준

퓨샷을 사용하는 표준 프롬프트 예제는 제대로 작동하지 않습니다. 심지어 text-davinci-003같은 더 좋은 모델을 써도 그렇습니다.

두 번째 시도: 사고 사슬 프롬프팅

사고 사슬 프롬프팅은 표준 프롬프트 보다는 낫습니다. 이제는 모델들이 단어의 마지막 문자를 추출하는 것이 가능해졌고 이전보다 문자들을 모으는 모으는 작업의 복잡성이 내려갔기 때문에 성능이 좋아질 수 밖에 없었습니다.

세 번째 시도: 최소 최대 프롬프팅(프롬프트 한 개)

최소 최대 프롬프팅을 통해서 우리는 이전에 연결된 결과를 다시 진술하기 위한 개별 단계를 재구성하여 사고 사슬 개념을 강화한다. 이 방법은 새로운 문자를 연결하는 각각의 과정들을 단순화한다. 그리고 이 방법은 단어가 12개 이상일 때의 성능을 향상시킨다.

이 접근법은 그냥 사고 사슬 방식과 비슷해보일 수 있습니다. 하지만 실제로는 굉장히 다릅니다. 가장 다른 부분은 모든 단계에서 이전의 연결을 활용한다는 점입니다. "think, machine, learning"의 예를 들어봅시다, "k","e","g" 각각을 개별적으로 연결하는 것이 아니라 "k"와 "e"를 더해서 "ke"를 만들고 그 다음 "g"를 더하는 방식을 사용할 것입니다. 이 이전의 결과물을 활용하는 것으로 인해서 모델은 각각의 단계에서는 아주 조금의 작업만을 필요하기 때문에 더 긴 사슬을 형성할 수 있습니다.

결론

12글자를 연결하는 지난 문제에서 사고 사슬은 34%의 정확도를 내었지만 최소 최대 프롬프팅에서는 74%의 정확도를 내었습니다.(text-davinci-002를 활용했을 때)

예제: 구성 일반화 (SCAN)

스캔 문제2Lake, B. M., & Baroni, M. (2018). Generalization without Systematicity: On the Compositional Skills of Sequence-to-Sequence Recurrent Networks. https://doi.org/10.48550/arXiv.1711.00350 은 모델이 자연어를 일련의 행동으로 바꾸는 과정을 요구 합니다. 예를 들어서, "run left and walk twice"라는 문장을 "TURN_LEFT + RUN + WALK * 2"로 바꾸는 것입니다. 언어 모델은 학습 데이터보다 더 긴 문장을 마주했을 때 특히 더 나쁜 성능을 보입니다.

첫 번째 시도: 표준 프롬프팅

표준 프롬프팅을 사용했을 때 text-davinci-003은 인상적이지만 여전히 실패하고 있습니다.

두 번째 시도: 최소 최대, 첫 번째 단계 - 축소

우리는 2가지의 다른 프롬프트를 다룰 것입니다. 첫 번째 프롬프트는 기존의 문제를 더 단순화된 단계로 바꾸는 데 사용됩니다. 두 번째 프롬프트는 이러한 단순화된 단계를 합쳐 실제 행동으로 만드는 데 사용될 것입니다.

두 프롬프트는 모두 길고 그리고 토큰에 저장할 작업에 파이썬 압축 표기법을 사용할 것입니다.

첫 번째 단계에서는 자연어 설명을 보다 명확하게 만듭니다.(여전히 인간 친화적인 언어로) 이것은 매핑 단계에서 순차적으로 상황을 파악하는 데 도움이 될 것입니다. 예를 들어서 "jump around left twice"는 "jump left" -> TURN_LEFT + JUMP, "jump around left" -> `(TURN_LEFT + JUMP) * 4로 축소됩니다. 또한 축소 단계는 반복의 개념을 설명하는 데에도 사용이됩니다.

두 번째 시도: 최소 최대, 두 번째 단계 - 합치기

두 번째 단계에서 우리는 축소된 결과물을 사용할 것이고 또 굉장히 긴 프롬프트를 사용해서 축소된 자연어 설명을 행동의 과정으로 만들 것입니다.

우리는 첫 번째 단계의 결과물을 삽입할 것입니다:

"jump around left twice" can be solved by: "jump left", "jump around left", "jump around left twice". "walk opposite left thrice" can be solved by: "walk opposite left", "walk opposite left thrice". So, "jump around left twice after walk opposite left thrice" can be solved by: "jump left", "jump around left", "jump around left twice", "walk opposite left", "walk opposite left thrice".

LLM으로요.

결론

LtM은 여러 장점이 있습니다:

  • 사고 사슬보다 더 개선된 정확도
  • 프롬프트안의 예시들 보다 더 복잡한 문제들을 일반화하는데 장점이 있다.
  • 특히 SCAN같은 문제에서 구성 일반화에 굉장한 장점이 있다.

text-davinci-002에 표준 프롬프트로 작성한 결과는 6%정도의 SCAN문제 정확도를 가지는데 최소 최대 프롬프팅의 결과는 76%의 정확도를 가진다. 게다가 code-davinci-002 모델에서는 더 뚜렷하게 나타나는데 최소 최대 프롬프팅은 무려 99.7%의 정확도를 가진다.

Footnotes

  1. Zhou, D., Schärli, N., Hou, L., Wei, J., Scales, N., Wang, X., Schuurmans, D., Cui, C., Bousquet, O., Le, Q., & Chi, E. (2022). Least-to-Most Prompting Enables Complex Reasoning in Large Language Models.

  2. Lake, B. M., & Baroni, M. (2018). Generalization without Systematicity: On the Compositional Skills of Sequence-to-Sequence Recurrent Networks. https://doi.org/10.48550/arXiv.1711.00350

Edit this page

© 2025 Learn Prompting. All rights reserved.