대규모 언어 모델에서 자동 체인 오브 소트 프롬프팅에 대해 알아야 할 모든 것

대규모 언어 모델에서 자동 체인 오브 소트 프롬프팅에 대해 알아야 할 모든 것

소개

대규모 언어 모델에서 자동 체인 오브 소트 프롬프팅(Automatic Chain of Thought Prompting)이란 무엇일까요? 이 블로그에서는 체인 오브 소트(CoT) 프롬프팅의 정의부터 Auto CoT의 장점과 발전까지 이 질문을 작은 부분으로 나누어 살펴보겠습니다. 마지막으로 Auto CoT를 적용하는 핵심 요소로서 LLM API에 대해 논의합니다. 강력한 Auto CoT를 탐험하기 위해 계속 지켜봐 주세요!

CoT 프롬프팅이란?

체인 오브 소트(CoT) 프롬프팅은 대규모 언어 모델(LLM)의 추론 능력을 향상시키는 기술입니다. GPT-3와 같은 LLM은 질문 응답, 텍스트 생성, 문제 해결 등 다양한 작업에서 뛰어난 성능을 보여주었습니다.

그러나 많은 복잡한 추론 작업에서 LLM은 완전하고 일관된 단계별 솔루션을 제공하는 데 어려움을 겪을 수 있습니다. CoT 프롬프팅은 언어 모델이 최종 답변으로 이어지는 일련의 중간 추론 단계인 '사고 사슬’을 생성하도록 유도하여 이 문제를 해결하고자 합니다.

CoT 프롬프팅의 핵심 아이디어는 언어 모델이 직접적인 답변만 제공하는 대신 문제를 명시적으로 생각하도록 프롬프트하는 것입니다. 일반적으로 입력 질문이나 문제와 함께 ‘단계별로 생각해 봅시다’ 또는 '추론 과정을 설명하세요’와 같은 프롬프트를 포함하여 수행합니다. CoT 프롬프팅은 특히 복잡한 다단계 작업에서 더 정확하고 설명 가능한 출력을 생성할 수 있습니다.

Auto CoT가 필요한 이유는?

핵심 문제는 체인 오브 소트 프롬프팅에 두 가지 주요 접근 방식이 있고, 둘 다 상당한 단점이 있다는 점입니다.

Zero-Shot-CoT의 한계

이 접근 방식에서는 단순히 언어 모델(LM)에 질문을 주고 '단계별로 생각’하여 답변을 도출하도록 요청합니다. 장점은 추가 정보나 예시를 제공할 필요 없이 매우 사용하기 쉽다는 것입니다. 그러나 큰 단점은 LM의 단계별 추론에 결함이나 오류가 자주 발생할 수 있다는 점입니다. 따라서 최종 답변이 신뢰할 수 없을 수 있습니다.

Manual-CoT의 한계

이 접근 방식은 LM이 문제를 논리적 단계로 나누고 올바른 답변에 도달하는 방법을 보여주는 상세한 예시를 수동으로 생성하는 것입니다. 이러한 정교하게 제작된 예시를 제공하면 LM이 새 질문을 더 잘 해결하기 위해 해당 지식을 활용할 수 있습니다. 장점은 LM이 수동 예시를 참조할 수 있을 때 추론이 더 견고하고 정확하다는 것입니다. 그러나 주요 단점은 이러한 상세한 예시를 만드는 데 엄청난 시간과 인적 노력과 전문성이 필요하다는 점입니다. 전혀 확장 가능하지 않습니다.

Auto-CoT로 한계 극복

요약하면 Zero-Shot-CoT는 쉽지만 신뢰할 수 없고, Manual-CoT는 더 견고하지만 매우 노동 집약적입니다. 이것이 저자들이 제안한 ‘Auto-CoT’ 접근 방식으로 해결하려는 핵심 과제입니다.

일부 학자들이 주장하는 Auto-CoT의 핵심 아이디어는 수동 인간 노력 없이 LM이 사용할 수 있는 예시 데모를 자동으로 생성하는 것입니다. 이는 기존 두 접근 방식의 장점(신뢰할 수 있는 추론과 더 확장 가능한 방식)을 결합할 수 있습니다.

사람들은 Auto CoT를 어떻게 개발했을까?

이 섹션에서는 2022년 Zhuosheng Zhang, Aston Zhang, Mu Li, Alex Smola가 발표한 '대규모 언어 모델에서 자동 체인 오브 소트 프롬프팅’이라는 논문의 세부 내용을 살펴보겠습니다. 연구 세부 사항에 관심이 없으시면 다음 섹션으로 건너뛰셔도 됩니다.

제안된 접근 방식

기존 CoT 접근 방식의 한계를 극복하기 위해 저자들은 CoT 프롬프팅을 위한 데모를 자동으로 구성하는 ‘Auto-CoT’ 패러다임을 제안합니다.

핵심 단계는 다음과 같습니다.

  1. ‘단계별로 생각해 봅시다’ 프롬프트로 LLM을 활용하여 데모 질문에 대한 추론 체인을 생성합니다.
  2. 생성된 추론 체인에 오류가 포함될 수 있음을 인식하고, 저자들은 선택된 데모 질문의 다양성을 보장하는 데 중점을 둡니다.
  3. 저자들은 데모를 자동으로 구성하는 두 단계 접근 방식을 개발합니다.
    a. 데이터 세트 질문을 유사성에 따라 클러스터로 분할합니다.
    b. 각 클러스터에서 대표 질문을 선택하고 Zero-Shot-CoT를 사용하여 추론 체인을 생성합니다.

평가

저자들은 GPT-3를 사용하여 산술, 상식, 기호 추론 등 10가지 벤치마크 추론 작업에서 Auto-CoT 접근 방식을 평가합니다. Zero-Shot-CoT 및 Manual-CoT 패러다임과 성능을 비교합니다.

주요 발견

결과는 Auto-CoT 접근 방식이 수동 데모 설계가 필요한 Manual-CoT 패러다임의 성능과 일관되게 일치하거나 초과함을 보여줍니다. 이는 LLM이 수동 노력 없이도 효과적인 CoT 추론을 수행할 수 있음을 입증합니다.

Auto CoT는 어떻게 작동하나요?

Auto-CoT의 핵심 아이디어는 언어 모델(LM)이 체인 오브 소트 프롬프팅에 사용할 수 있는 데모 예시를 수동으로 제작하는 대신 자동으로 생성하는 것입니다.

Auto-CoT 접근 방식의 단계별 작동 방식은 다음과 같습니다.

1단계 질문 클러스터링:

  • 첫 번째 단계는 테스트 질문 세트(LM이 평가될 질문 및 표준 벤치마크 데이터 세트의 기존 질문)를 가져와 유사성을 기준으로 몇 개의 클러스터로 그룹화하는 것입니다.
  • 이 클러스터링은 데모 질문이 너무 유사하지 않고 다양한 유형의 문제를 다루도록 보장합니다.

2단계 데모 생성:

  • 각 질문 클러스터에 대해 Auto-CoT는 해당 클러스터에서 대표 질문을 선택합니다.
  • 그런 다음 ‘단계별로 생각해 봅시다’ 프롬프트를 사용하여 LM이 해당 대표 질문에 대한 추론 체인을 생성하도록 요청합니다.
  • 중간 단계와 최종 답변으로 구성된 이 추론 체인이 해당 클러스터의 데모 예시가 됩니다.

3단계 LM 프롬프팅:

  • 새로운 테스트 질문에 대해 LM을 평가할 때 Auto-CoT는 LM에 자동으로 생성된 데모 예시 세트를 제공합니다.
  • 그러면 LM은 이러한 데모를 사용하여 테스트 질문에 대한 답변에 도달하기 위한 자체 단계별 추론 프로세스를 안내할 수 있습니다.

Auto CoT를 어떻게 사용할 수 있나요?

요구 사항:

  • Python 버전 3.8 이상

설치:

  • 지정된 버전과 PyPI URL을 사용하여 필수 PyTorch 및 torchtext 패키지를 설치합니다.
    pip install torch==1.8.2+cu111 torchtext==0.9.2 -fhttps://download.pytorch.org/whl/lts/1.8/torch_lts.html
  • pip install -r requirements.txt를 실행하여 다른 요구 사항을 설치합니다.

데이터 세트:

다음 GitHub 저장소에서 데이터 세트를 다운로드합니다.

빠른 시작:

빠른 시작 가이드는 try_cot.ipynb 노트북을 참조하세요.

지침:

데모 구성:

  • 다음 명령을 실행하여 ‘multiarith’ 작업에 대한 데모를 구성합니다.
    python run_demo.py --task multiarith --pred_file log/multiarith_zero_shot_cot.log --demo_save_dir demos/multiarith

추론 실행:

  • 다음 명령을 실행하여 ‘multiarith’ 데이터 세트에 대한 추론을 실행합니다.
    python run_inference.py --dataset multiarith --demo_path demos/multiarith --output_dir experiment/multiarith

Auto-CoT 인용:

작업에 Auto-CoT를 사용하는 경우 다음 논문을 인용해 주세요.

@inproceedings{zhang2023automatic,
title={Automatic Chain of Thought Prompting in Large Language Models},
author={Zhang, Zhuosheng and Zhang, Aston and Li, Mu and Smola, Alex},
booktitle={The Eleventh International Conference on Learning Representations (ICLR 2023)},
year={2023}
}

Auto-CoT 적용의 핵심 요소로서 LLM API

Auto-CoT를 LLM API와 결합하면 어떤 이점이 있나요?

  1. 강력한 언어 모델에 대한 접근:
  • Auto-CoT는 단계별 추론 체인을 생성하고 정확한 출력을 생성하는 데 대규모 언어 모델의 기능에 의존합니다.
  • LLM API를 통합함으로써 연구자와 개발자는 GPT-3, Megatron-LLM, InstructGPT와 같은 최신의 가장 강력한 언어 모델을 활용하여 Auto-CoT 시스템을 구동할 수 있습니다.

2. 유연성 및 사용자 정의:

  • 언어 모델마다 장점, 편향, 기능이 다를 수 있습니다. LLM API를 통합하면 사용자가 특정 작업과 애플리케이션에 대해 다양한 모델의 성능을 실험하고 비교할 수 있습니다.
  • 이러한 유연성을 통해 연구자는 언어 모델을 미세 조정하고 필요에 맞게 사용자 정의하여 Auto-CoT 시스템의 전반적인 효과를 개선할 수 있습니다.

3. 확장성 및 배포:

  • LLM API는 종종 언어 모델을 제공하고 배포하기 위한 확장 가능하고 신뢰할 수 있는 인프라를 제공하므로 Auto-CoT 시스템이 증가된 작업량을 처리하고 더 많은 사용자 기반에 서비스를 제공할 수 있습니다.
  • LLM API의 확장 기능을 활용함으로써 연구자와 개발자는 프로덕션 환경에서 Auto-CoT 시스템을 더 쉽게 배포하고 유지 관리할 수 있습니다.

4. 지속적인 모델 개선:

  • 언어 모델은 빠르게 진화하고 있으며 새롭고 개선된 버전이 자주 출시됩니다. LLM API를 통합하면 Auto-CoT 시스템이 이러한 발전의 혜택을 받고 최신 언어 모델 기능을 계속 업데이트할 수 있습니다.
  • 이는 언어 모델 분야가 발전함에 따라 Auto-CoT 시스템이 계속해서 고품질 결과를 제공하고 경쟁력을 유지할 수 있도록 보장합니다.

내 프로젝트에 LLM API를 어떻게 통합하나요?

Novita AI 는 새로 출시된 llama-3–8b 및 llama-3–70b를 포함하여 호출할 수 있는 많은 모델이 포함된 LLM API를 사용자에게 제공합니다. LLM API를 통합하기 전에 Playground에서 다양한 모델을 무료로 시험하고 성능을 비교할 수 있습니다.

또한 사용자 정의 요구를 충족시키기 위해 temperature(모델 출력의 무작위성과 탐색을 제어), top_p(온도를 사용한 샘플링의 대안으로, 모델이 top_p 확률 질량을 가진 토큰의 결과를 고려하는 핵 샘플링), presence_penalty(모델이 이전에 생성한 것과 다른 텍스트를 생성하도록 장려), maximum tokens(모델 생성 출력의 최대 길이 설정)와 같은 주요 매개변수를 조정하여 특정 애플리케이션 요구 사항에 맞게 모델 출력을 최적화할 수 있습니다. 이러한 수준의 맞춤 설정을 통해 LLM의 기능을 Auto-CoT 시스템과 완전히 결합할 수 있습니다.

통합을 위한 코드 지침, 가격 및 기타 기능을 포함한 LLM API에 대한 자세한 내용은 당사 웹사이트를 방문하세요.

결론

이 블로그에서는 체인 오브 소트(CoT) 프롬프팅의 개념과 Auto-CoT라는 자동화된 접근 방식의 필요성을 살펴보았습니다. 기존 CoT 방법에는 한계가 있지만, Auto-CoT 접근 방식은 수동 노력 없이 언어 모델이 단계별 추론을 수행하도록 안내하는 데모 예시를 자동으로 생성하는 것을 목표로 합니다. 질문 클러스터링과 데모 생성을 포함한 Auto-CoT의 주요 단계에 대해 논의했습니다. 마지막으로 LLM API를 통합하면 Auto-CoT 시스템을 구동할 강력하고 유연한 언어 모델을 제공하여 성능, 확장성 및 지속적인 모델 개선을 이끌어낼 수 있음을 강조했습니다. 전반적으로 Auto-CoT는 대규모 언어 모델의 추론 능력을 향상시키는 흥미로운 발전을 나타냅니다.

Novita AI는 무한한 창의성을 위한 올인원 플랫폼으로, 100개 이상의 API에 접근할 수 있습니다. 이미지 생성, 언어 처리, 오디오 향상, 비디오 조작에 이르기까지 저렴한 종량제 요금제로 GPU 유지 관리의 번거로움 없이 자체 제품을 구축할 수 있습니다. 지금 무료로 사용해 보세요.