10.02.LLM 추론을 위한 프롬프트 기법들 - yojulab/learn_promptengineerings GitHub Wiki
인-컨텍스트(In-context) 학습
설명
인-컨텍스트 학습은 모델이 이전 대화나 예시에서 제공된 정보만을 사용하여 추론을 수행하는 방법입니다. 이를 통해 모델은 주어진 맥락을 기반으로 문제를 해결합니다.
장단점
- 장점: 빠르고 효율적이며, 외부 학습 데이터가 필요 없고, 문맥을 반영한 적응력이 뛰어납니다.
- 단점: 문맥이 길어지면 모델이 중요한 정보를 놓칠 수 있으며, 매우 긴 대화에는 한계가 있을 수 있습니다.
인간 대화 비유
대화에서, 이전에 이야기했던 내용을 기억하고 그 내용을 바탕으로 후속 질문을 처리하는 것과 같습니다.
예시
**질문**: "서울의 유명한 관광지는 어디인가요?"
**응답**: "경복궁, N서울타워, 명동 등이 유명합니다."
**후속 질문**: "그 중에서 가장 많은 방문객이 찾는 곳은 어디인가요?"
**응답**: "경복궁이 가장 많은 방문객을 끌어들입니다."
제로-샷(Zero-shot) 학습
설명
제로-샷 학습은 모델이 특정 작업에 대해 별도의 예시나 훈련 없이 바로 추론을 하는 방식입니다. 모델은 이전에 학습한 지식만을 기반으로 문제를 해결합니다.
장단점
- 장점: 별도의 훈련 데이터 없이 다양한 작업을 수행할 수 있어 유연성 있습니다.
- 단점: 작업에 대한 구체적인 훈련이 없으므로 정확도나 신뢰도가 떨어질 수 있습니다.
인간 대화 비유
"이 문제를 처음 접했지만, 내가 이전에 비슷한 상황에서 얻은 경험을 바탕으로 답변하겠다."는 접근입니다.
예시
**질문**: "기후 변화가 농업에 미치는 영향은 무엇인가요?"
**응답**: "기후 변화는 농업에 여러 영향을 미칩니다. 예를 들어, 기온 상승은 작물의 성장 주기를 변화시키고, 극단적인 날씨 패턴은 수확량에 영향을 줄 수 있습니다."
퓨-샷(Few-shot) 학습
설명
퓨-샷 학습은 모델이 작업을 수행하기 전에 몇 가지 예시를 제공받고 이를 바탕으로 추론하는 방법입니다. 예시가 많지 않기 때문에 훈련 비용이 적습니다.
장단점
- 장점: 적은 양의 예시만으로도 높은 정확도를 제공할 수 있습니다.
- 단점: 예시가 충분하지 않으면 모델의 성능이 저하될 수 있습니다.
인간 대화 비유
"이 문제와 비슷한 몇 가지 사례를 들어봤으니, 그걸 바탕으로 답변해보겠다."는 방식입니다.
예시
**질문**: "정리 정돈을 잘 하는 방법은 무엇인가요?"
**예시 1**: "항상 물건을 제자리로 돌려놓는 것이 중요하다."
**예시 2**: "일주일에 한 번, 집을 전체적으로 정리하는 시간을 갖는다."
**응답**: "위와 같은 방법들이 효과적입니다. 그 외에도 물건을 카테고리별로 구분해 두면 더 쉽게 관리할 수 있습니다."
연쇄적 사고(CoT: Chain-of-Thought) 학습
설명
연쇄적 사고(CoT)는 문제를 해결하기 위한 단계별 사고 과정을 모델에 제공하는 방법입니다. 이를 통해 모델은 문제를 풀 때 각 단계에서의 논리적 흐름을 명확히 합니다.
장단점
- 장점: 복잡한 문제를 풀 때 논리적으로 접근할 수 있어 정확한 답을 유도할 수 있습니다.
- 단점: 때로는 과도하게 길어진 추론 과정이 효율성을 떨어뜨릴 수 있습니다.
인간 대화 비유
"이 문제를 풀기 위해서는 먼저 첫 번째 단계부터 시작하고, 그 다음에 두 번째 단계, 세 번째 단계로 넘어가는 방식입니다."
예시
**질문**: "5 + 3 * 2 = ?"
**응답**: "먼저 곱셈부터 계산해야 합니다. 3 * 2는 6, 그래서 5 + 6은 11입니다."
SC(Self-Consistency) 기법
설명
언어 모델이 다양한 사고 경로를 탐색하도록 유도한 후, 가장 빈번히 나타나는 결과를 선택하는 접근 방식입니다. 이를 통해 단일 답변 생성에서 발생할 수 있는 편향이나 불확실성을 줄이고, 보다 신뢰할 수 있는 답변을 제공할 수 있습니다.
- 작동 원리:
- 모델은 동일한 입력에 대해 여러 번 응답을 생성합니다.
- 생성된 응답들 중에서 가장 자주 등장하는 결과(일관된 답변)를 선택합니다.
- 이렇게 선정된 답변은 여러 사고 과정에서 합의된 결과로 간주됩니다.
장단점
장점
- 신뢰성 향상: 다양한 사고 경로를 통해 일관성 있는 응답을 도출하므로, 결과의 신뢰도가 높아집니다.
- 복잡한 문제 해결: 문제의 다양한 측면을 검토할 수 있어, 복잡한 문제에 대한 더 나은 답변을 생성할 가능성이 커집니다.
- 오류 감소: 단일 답변 생성에서 발생할 수 있는 오류나 편향을 줄이는 데 효과적입니다.
단점
- 비용 증가: 여러 응답을 생성하고 분석해야 하므로 계산 자원이 많이 소모됩니다.
- 일관성 오류 가능성: 응답이 분산될 경우, 가장 빈번한 답변이 항상 최적의 답변은 아닐 수 있습니다.
인간 대화 비유
“여러 사람이 한 문제를 각자 풀어본 뒤, 가장 많이 일치하는 답을 선택하는 것과 유사합니다. 이를 통해 집단적 합의와 유사한 결과를 얻을 수 있습니다.”
예시
**질문**: "피라미드의 건축 방식에 대한 가능성은 무엇인가요?"
**모델의 SC 기법 적용 결과**:
1. 여러 응답을 생성:
- "노동자들이 경사로를 사용해 돌을 운반했을 가능성이 높습니다."
- "사람들이 나무 통나무를 굴려서 운반했을 수도 있습니다."
- "외계인 기술의 도움을 받았다는 설도 있습니다."
- "경사로를 사용했다는 이론이 가장 지지를 받습니다."
2. 최빈값 도출: "경사로를 사용해 건축했다는 이론이 가장 유력합니다."
TOT(Think-Out-Task) 기법
설명
문제 해결 또는 사고 과정을 나무 구조(Tree)처럼 시각적으로 표현하는 방법입니다. 각 아이디어나 단계는 가지(branch)로 확장되며, 이를 통해 문제 해결 과정을 체계적으로 정리하고, 다양한 가능성을 탐색할 수 있습니다.
ToT 기법은 문제를 한 번에 해결하려 하기보다, 중간 단계로 분해하여 다양한 접근법을 시도할 수 있는 환경을 제공합니다. 이는 창의적 사고와 논리적 분석을 결합한 기법으로, 특히 복잡한 문제를 다룰 때 유용합니다.
장단점
장점:
- 복잡한 문제를 구조적으로 시각화할 수 있습니다.
- 다양한 접근법을 시도하며 창의적 해결책을 도출할 가능성을 높입니다.
- 문제 해결 과정의 흐름을 명확히 파악할 수 있습니다.
단점:
- 지나치게 세분화하면 비효율적으로 느껴질 수 있습니다.
- 주요 가지에 대한 우선순위 설정이 어려울 수 있습니다.
인간 대화 비유
"문제를 해결할 때, 머릿속에서 생각을 나무처럼 펼쳐서 각 가지마다 가능한 해결책을 정리하는 방법이에요."
예시
**질문:** "회사의 매출을 올리기 위한 방법을 어떻게 찾을 수 있을까요?"
**응답:**
1. **주요 가지 생성:**
- 가지 A: 기존 고객 유지 전략
- 가지 B: 신규 고객 확보 전략
- 가지 C: 마케팅 강화 방안
2. **세부 가지 확장:**
- A1: 고객 로열티 프로그램 개발
- A2: 정기적 피드백 수집
- B1: 온라인 광고 확대
- B2: 제휴 및 파트너십 활용
- C1: 소셜 미디어 캠페인
- C2: SEO 최적화
반응적 추론(ReAct: Reasoning and Acting)
설명
ReAct는 추론과 행동을 동시에 수행하는 방식으로, 문제를 해결하기 위한 추론을 동시에 실시간으로 실행하는 것입니다.
장단점
- 장점: 추론과 실행이 동시에 이루어져 효율적입니다.
- 단점: 행동을 즉시 실행하기 위해서는 모델의 응답 속도와 정확도가 중요합니다.
인간 대화 비유
"문제를 추론하면서 바로 그에 맞는 해결책을 실행하는 방식입니다."
예시
**질문**: "새로운 프로젝트를 시작하려면 무엇을 해야 하나요?"
**응답**: "먼저 팀원을 구성하고, 프로젝트 목표를 설정합니다. 그 후 예산을 계획하고, 필요한 자원을 배분합니다."
검색 기반 추론(RAG: Retrieval-Augmented Generation)
설명
RAG는 외부 지식베이스에서 정보를 검색하고, 이를 바탕으로 텍스트를 생성하는 기법입니다. 모델은 질문에 대해 관련 정보를 검색하고 그 정보에 기반해 답변을 생성합니다.
장단점
- 장점: 실시간으로 최신 정보나 방대한 외부 데이터베이스를 활용할 수 있습니다.
- 단점: 검색 단계에서의 정확성 문제가 있을 수 있습니다.
인간 대화 비유
"이 문제에 대해 잘 모른다면, 외부 자료를 찾아서 그 정보를 기반으로 답변하는 방식입니다."
예시
**질문**: "2025년 오스카 수상자는 누구인가요?"
**응답**: "2025년 오스카 수상자는 아직 발표되지 않았습니다. 하지만 최근 트렌드에 따르면, 몇몇 영화들이 후보로 거론되고 있습니다."