참고자료
Medprompt
모든 절차와 기법이 합쳐진 방법
전처리 단계에서는 관련 있는 예시들을 찾아내고,
추론 단계에서는 이 예시들을 통해 AI가 질문에 대한 답변을 예측하는 것
1. Medprompt 접근법의 기본 구성 요소 개념
- ICL(In-Context Learning) ex)Zero-shot, One-shot, Few-shot
몇 가지 예시와 함께 테스트 질문을 줘서 AI가 새로운 문제를 풀 수 있게 돕는 방법
- CoT(Chain of Thought) ex)바로 답을 주지 않고 풀이 과정을 제시
복잡한 문제를 작은 단계로 나눠서 생각하며 답을 찾아가는 방법
- Ensembling
여러 차례 모델을 실행해서 얻은 답변을 합쳐서 더 좋은 결과를 얻는 방법
2. Medprompt
- Dynamic Few-shot
새로운 질문을 좋은 예시와 비교해서 가장 유사한 것들을 선택하는 방법
테스트 예제가 주어지면 임베딩 공간에서 k-NN 클러스터링을 사용하여 의미적으로 유사한 k개의 교육 예제를 선택
해당 프로젝트에서:
text-embedding-ada-002∗를 사용하여 학습용 문제와 평가용 문제를 벡터 표현으로 임베딩. 그런 다음 각 평가용 문제 x에 대해 text-embedding-ada-002의 임베딩 공간에서 학습용 세트에서 가장 가까운 k개의 이웃 x1, x2, ..., xk를 검색. 미리 정의된 코사인 유사성과 같은 유사성 측정치 d가 주어지면, 순서가 지정됨.
- Self-Generated Chain of Thought
특정한 질문에 대해 '단계별로 생각해보기'라는 방식으로 복잡한 문제를 해결하는 방법
해당 프로젝트에서:
자체 생성된 사고로 인해 할루시네이션이나 부정확한 추론을 방지하기 위해
GPT-4에게 추론 과정에 따른 가장 가능성 있는 답변의 평가와 함께 이유를 생성하도록 지시. 이 답변이 실제 정답 레이블과 일치하지 않으면 해당 샘플을 삭제함
- Choice Shuffling Ensemble
편향을 줄이기 위해 선택지를 섞어 보고 답변이 일관되는지 확인하는 방법
위의 모든 절차와 기법이 합쳐져 메드프롬프트를 만들어냄
3. Medprompt 알고리즘 명세
입력:
훈련 데이터 D와 테스트 질문 Q.
전처리:
주어진 D라는 데이터셋에서 각 질문 q에 대해 다음과 같이 수행
질문 q에 대한 Embedding 벡터 vq를 얻음.
LLM을 사용하여 chain-of-thought Cq와 답변 Aq생성.
올바른 답변인 경우에만 vq, Cq, Aq를 저장.
추론:
테스트 질문 Q에 대한 Embedding vQ 계산.
KNN을 사용하여 가장 유사한 5가지 예제 {(vQi, CQi, AQi)} 선택.
코사인 유사성을 사용하여 거리 계산.
예제를 LLM에 제공할 컨텍스트 C로 형식화.
다섯 번 반복하면서:
테스트 질문의 답변 선택을 섞음.
LLM과 컨텍스트 C를 사용하여 chain-of-thought Ckq와 답변 Akq생성.
다수결 투표로 선택된 최종 답변 AFinal 출력.
'Prompt > 프롬프트 공부' 카테고리의 다른 글
RAG VS 파인튜닝 (1) | 2024.01.01 |
---|---|
The Power of Prompting 번역 (0) | 2023.12.31 |
서비스란 정의한 문제를 해결하는 솔루션 (1) | 2023.09.19 |
프롬프트 엔지니어 독후감 : 프롬프트 잘 쓰는 법 (1) | 2023.08.05 |
프롬프트 엔지니어 독후감 (0) | 2023.08.03 |