ActivePrompt
ActivePrompt는 Diao 외(2023)가 제안한 프롬프트 최적화 기법으로, 기존의 ChainofThought(CoT) 방식을 확장하여 LLM(대규모 언어 모델)의 성능을 향상시키기 위한 새로운 접근법입니다. CoT는 복잡한 작업을 해결하기 위해 중간 추론 단계를 명시적으로 추가하여 모델의 이해를 도모합니다. 하지만 CoT 방식의 기존 문제점은 특정 작업에 적합하지 않은 고정된 예시를 사용한다는 것입니다.
ActivePrompt는 동적이고 작업별 맞춤화된 예시 프롬프트를 생성하여 이 문제를 해결합니다. 핵심 아이디어는 모델이 잘못 이해하거나 불확실성을 보이는 질문에 대해 사람의 주석을 추가하고, 이를 통해 더 나은 추론 결과를 얻는 것입니다. 이 접근법은 특히 새로운 작업에 적응하거나 제한된 데이터를 활용해야 하는 상황에서 유용합니다.
ActivePrompt는 크게 네 단계로 구성됩니다:
(1) 불확실성 평가 (Uncertainty Estimation)
입력 데이터: 라벨이 없는 질문(Unlabeled Questions)을 LLM에 전달합니다.
답변 생성: Fewshot CoT(혹은 Zeroshot CoT)를 사용하여 각 질문에 대해 다수의 답변을 생성합니다.
불확실성 측정: 생성된 답변 간 불일치 정도를 기반으로 불확실성을 계산합니다.
예시: k개의 답변 중에서 선택된 답변이 다양할수록 불확실성이 높습니다.
(2) 선택 (Selection)
불확실성 메트릭을 기반으로 가장 불확실한 질문을 선택합니다.
예: \( Q_{101}, Q_{42}, Q_{62} \)와 같이 불확실성 점수가 높은 질문들이 선택됩니다.
(3) 주석 추가 (Annotation)
선택된 질문에 대해 사람이 답변 예시를 생성하고 주석을 추가합니다.
예: "Ralph는 175개의 테니스공으로 시작했으며 2/5를 쳤다. 남은 공의 수는..."과 같은 상세한 설명을 추가합니다.
(4) 추론 (Inference)
주석이 추가된 새로운 예시를 모델에 통합하여 모든 질문에 대해 향상된 추론을 수행합니다.
주석된 예시는 모델의 학습 예시로 활용되어 결과의 신뢰도를 높입니다.
더 자세하게 알아보기
이 이미지는 불확실성 기반의 질문 선택 및 학습 프로세스를 보여주는 프레임워크를 설명하고 있습니다. 4가지 주요 단계로 구성되어 있습니다:
1. Uncertainty Estimation (불확실성 추정):
- 레이블되지 않은 질문들(UNLABELED_QUESTIONS)에 대해
- Few-shot CoT 또는 Zero-shot CoT 방식으로 접근
- 다양한 수학 문제들(예: Karen의 배낭 문제, 로봇의 섬유 문제 등)을 포함
2. Selection (선택):
- 모델의 불확실성을 수치화하여 표시 (예: μ = 1/5 = 0.2)
- 숫자 1-5로 표시된 불확실성 레벨
- 여러 예시 문제에 대한 불확실성 점수 표시
* 로봇 문제: 모든 평가가 3으로 일관됨 (μ = 0.2)
* 테니스 연습 문제: 1에서 5까지 다양한 평가 (μ = 1.0)
* 호텔 예약 문제: 1에서 4까지의 평가 (μ = 0.8)
3. Annotation (주석):
- 가장 불확실한 질문들을 선별
- 새로운 예시(New Exemplars) 생성
- 상세한 해결 과정과 답변을 포함
* 테니스 공 계산 문제의 상세한 풀이
* 호텔 방 가용성 계산 문제의 명확한 설명
4. Inference (추론):
- 새로운 테스트 질문 제시
- 학습된 내용을 바탕으로 문제 해결
- 예시: Janet의 오리가 낳는 계란에 대한 문제
이 프레임워크의 주요 특징:
- 체계적인 불확실성 평가 시스템
- 단계적 학습 프로세스
- 명확한 문제 해결 과정 제시
- 불확실성이 높은 문제에 대한 우선적 처리
이는 AI 모델이 수학 문제 해결 능력을 향상시키는 데 있어 불확실성을 활용하는 효과적인 학습 방법을 보여줍니다.
ActivePrompt는 다음과 같은 특징을 가집니다:
적응형 프롬프트: 특정 작업이나 데이터에 맞는 예시를 동적으로 생성.
효율성: 사람이 주석을 다는 과정에서 가장 필요한 질문만 선택하여 리소스 절약.
일반화 능력 향상: 새로운 작업이나 데이터셋에서도 높은 성능을 유지.
성능 비교
기존 CoT 방식에 비해 MultiArith, GSM8K와 같은 벤치마크에서 더 높은 정확도를 기록.
불확실성을 기반으로 선택된 질문은 모델 학습에 있어 더 큰 기여를 함.
1) 교육
학생들의 질문 데이터에 기반하여 적응형 학습 자료를 생성하거나, 학습자의 취약점을 보완하는 방식으로 활용 가능.
2) 고객 지원
고객 문의 중 불확실성이 높은 항목을 분석하여 고객 지원 팀이 먼저 해결해야 할 항목을 우선순위로 두는 데 도움.
3) 연구
복잡한 연구 문제에서 가장 불확실성이 높은 부분을 선택하여 사람이 추가적으로 주석을 달아 정확성을 높임.
4) 데이터 레이블링
제한된 리소스를 활용해 라벨링할 데이터를 효율적으로 선정하여 데이터 품질을 개선.
추천 리소스
논문: https://arxiv.org/abs/2303.17580에서 ActivePrompt의 개념과 실험을 확인.
ChainofThought(CoT): https://arxiv.org/abs/2205.11916에서 CoT의 기본 개념 이해.
실습 환경
Hugging Face: CoT 기반 모델과 ActivePrompt 기법을 실험할 수 있는 플랫폼.
OpenAI API: 프롬프트 기반 학습과 추론 실험.
관련 기술 학습
Active Learning: 주석 작업 최적화를 위한 추가 자료.
Fewshot Learning: 제한된 데이터로 모델을 학습하는 방법.
ActivePrompt는 기존 CoT 방식을 혁신적으로 확장하여 LLM의 학습 및 추론 능력을 대폭 향상시킬 수 있는 잠재력을 보여줍니다. 이 접근법은 특히 데이터가 부족하거나 적응력이 필요한 상황에서 더욱 유용하게 사용될 것입니다.