[2024 데이터야 놀자] 챗GPT,실무에서 바로쓰는 LLM 최적화 기법_프롬프트엔지니어링 기술 정리

Oni·2024년 6월 2일
1

교육&강의

목록 보기
3/5

2024년 6월 1일 광화문 마이크로소프트 본사에서 <2024 데이터야 놀자> 컨퍼런스가 열렸다.
이번 포스팅은 맹윤호님의 <챗GPT,실무에서 바로쓰는 LLM 최적화 기법- RAG부터 LLMOps까지> 세션에서 프롬프트 엔지니어링 기술에 대해 집중적으로 정리한 글이다.


CoT(Chain-of Thought) 생각의 사슬

  • 답에 대한 풀이과정 작성을 통해 성능 향상

Contrastive Chain-of-Thought

  • 생각의 사슬 방식에서 반례를 통해 성능 향상(기존 딥러닝 방식에서 착안)

Chain-of-Code(CoC)

  • 생각의 사슬 방식에서 사고의 과정을 코드로 한 경우 성능 향상

일반적으로는 프롬프팅 -> 답변 바로 생성하는 것으로 되어있으나
SC나 DoT의 경우는 답변을 여러개 생성하여 결과를 앙상블하는 기법이다.

Self-Consistency(SC)

  • 자기일관성:다수의 답변을 생성한게 한 뒤, 투표를 통해 가장 높은 점수의 답변을 채택하는 방법. 일종의 앙상블 전략이다. (중간 이상은 하는 듯한 다수결의 법칙)
  • 단점은 API 호출을 많이 해야하기 때문에 가격부담이 있다는 점이다. 위 사례의 경우 API를 4번 호출하게 된다. (각 답변+최종답변)

Diversity-of-Thoughts(DoT)

  • 다양한 접근 방법을 생성하게 한 뒤 투표를 통해 가장 높은 점수의 답변을 채택

  • 2가지 방법론
    1) IDIV-SE(In-call DIV-SE) : 하나의 프롬프트에 대해 하나의 방법으로 n번 호출
    2) DIV-SE(DIVerse reasoning path Self-Ensemble): 하나의 프롬프트에 n가지 방법에 대한 답 동시 생성

Self-Notes

  • 스스로 추론하는 과정 속에서 질문과 답변을 기록하며 추론하는 방식
  • 상대적으로 가격의 부담을 낮출 수 있음

⭐Self-Discover

  • 사전에 다양한 추론 구조를 정의하고 특정 문제 해결에 필요한 추론방식을 LLM이 선택해 추론

  • 🐰 성능&비용 두마리 토끼를 잡는 방법 : 추론 벤치마크에서 CoT 방식에 비해 최대 32%까지 성능을 향상 또 10~40배 적은 추론 계산을 요구해서 적은 컴퓨팅 파워를 활용

  • 사람이 문제 해결과정에서 사용하는 사고방식을 적용한 방법

  • 원리

    1️⃣stage 1: 주어진 문제에 대한 추론 구조 발견을 위한 단계.

    • 1-1. select : 문제 해결에 필요한 추론 모듈 선택 (ex. 과학 이론에 관한 생각:reflective thinking, 소설 생성:creative thinking)
    • 1-2. adapt : 선택된 모듈을 구체적인 문제에 맞게 상세한 description 작성
      ex : "break the problem into sub-problems" -> "calculate each arithmetic operation in order"
    • 1-3. implement : 전 단계에서 생성한 description으로 문제 해결을 위한 구체적인 계획 수립. key-value pair 형식의 상세한 추론구조 생성하는 단계

    2️⃣stage 2 : 과제 해결 단계

  • 단계별 추론 구조에 해당하는 value를 생성하여 최종 답 생성

요약하자면 문제 종류에 따라 전략을 다르게 세워서 문제 해결을 위한 step by step 전략을 세워서 차근차근 추론해나가는 전략이다.


Reference

profile
데이터 분석/엔지니어링/ML에 관한 기록

0개의 댓글