- Preliminaries
- Scenario: unsupervised learning
- Technique
- 방법: IOP, ICL, CoT, IT, AT 등
-
- 방법: IOP, ICL, CoT, IT, AT 등
- LLM-Based Data Annotation
- Manually Engineered Prompts(수동으로 설계된 프롬프트)
- 제로샷 (Zero-Shot)
- 개념: 제로샷 학습은 LLM에게 예시 없이 작업을 수행하도록 요청하는 방법입니다. 즉, LLM이 이전에 본 적이 없는 새로운 작업에 대해 바로 응답을 생성해야 합니다.
- 사용법:
- 프롬프트 생성: 특정 작업에 대한 명령어를 포함한 프롬프트를 작성합니다.
- 출력 획득: LLM에게 프롬프트를 제공하고 응답을 받습니다
- 예시: Prompt: "Translate the following English sentence to French: 'The cat is on the mat.'" Output: "Le chat est sur le tapis."
- 퓨샷(Few-shot)
- 개념: 퓨샷 학습은 LLM에게 작업의 몇 가지 예시를 제공하여 작업을 수행하도록 요청하는 방법입니다. 예시 데이터를 통해 LLM이 주어진 작업의 패턴을 학습하고 더 정확한 출력을 생성할 수 있습니다.
- 사용법:
- 예시 데이터 포함: 여러 개의 예시 데이터를 프롬프트에 포함시킵니다.
- 프롬프트 작성: 예시 데이터와 함께 입력 데이터를 포함한 프롬프트를 작성합니다.
- 예시: Prompt: "Example 1: Translate the following English sentence to French: 'The cat is on the mat.' Translation: 'Le chat est sur le tapis.' Example 2: Translate the following English sentence to French: 'The dog is in the garden.' Translation: 'Le chien est dans le jardin.' Now translate the following English sentence to French: 'The bird is in the cage.'" Output: "L'oiseau est dans la cage."
- 제로샷 (Zero-Shot)
- Alignment via Pairwise feedback
- 쌍별 피드백(Alignment via Pairwise Feedback)
- 쌍별 피드백은 LLM의 출력을 인간의 기대와 일치시키기 위해 피드백을 기반으로 모델을 미세 조정하는 방법입니다. 이 방법은 LLM이 보다 도움이 되고 정직하며 해롭지 않은 출력을 생성하도록 보장하는 데 사용됩니다. 쌍별 피드백은 인간 피드백과 자동 피드백의 두 가지 주요 방식으로 나눌 수 있습니다.
- 인간 피드백(Human Feedback)
- 개념: 인간 피드백은 사람이 직접 LLM의 출력을 평가하고 그에 따라 모델을 조정하는 방법입니다. 이는 LLM이 생성하는 출력을 인간의 선호도에 맞추기 위해 사용됩니다.
- 사용법:
- 출력 평가: LLM이 생성한 여러 출력 중에서 사람에게 더 적합하거나 선호되는 출력을 선택하게 합니다.
- 보상 모델 학습: 인간의 선택 데이터를 기반으로 보상 모델을 학습시켜, LLM이 더 나은 출력을 생성하도록 합니다.
- 모델 미세 조정: 보상 모델을 사용하여 LLM을 미세 조정합니다.
- 예시: Prompt: "What is the capital of France?" Response 1: "The capital of France is Paris." Response 2: "France's capital is known as Paris." Human Feedback: 선택된 응답 1은 더 명확하고 직접적인 답변이므로 선호됨.
- 장점
- 높은 품질의 피드백을 통해 LLM의 출력을 개선할 수 있습니다.
- 특정 사용자 그룹의 선호도에 맞춘 출력을 생성할 수 있습니다.
- 단점
- 피드백 수집이 비용이 많이 들고 시간이 많이 소요될 수 있습니다.
- 대규모의 피드백 데이터가 필요할 수 있습니다.
- 자동 피드백(Automated Feedback)
- 개념:
- 자동 피드백은 LLM이 생성한 출력을 평가하는 또 다른 LLM을 사용하여 피드백을 제공하는 방법입니다. 이는 인간의 피드백 없이도 LLM을 개선할 수 있는 방법입니다.
- 사용법:
- 자동 평가: LLM이 생성한 출력들을 다른 LLM 또는 같은 LLM을 사용하여 평가합니다.
- 보상 모델 학습: 자동 평가 데이터를 기반으로 보상 모델을 학습시켜, LLM이 더 나은 출력을 생성하도록 합니다.
- 모델 미세 조정: 보상 모델을 사용하여 LLM을 미세 조정합니다.
- 예시
- Prompt: "Explain the process of photosynthesis." Response 1: "Photosynthesis is the process by which plants make their food using sunlight." Response 2: "Plants use sunlight to convert carbon dioxide and water into glucose and oxygen during photosynthesis." Automated Feedback: Response 2는 더 자세하고 정확하므로 높은 점수 부여.
- 장점
- 인간의 개입 없이도 LLM의 출력을 개선할 수 있습니다.
- 피드백 수집이 빠르고 비용 효율적일 수 있습니다.
- 단점
- 자동 평가 모델의 품질에 따라 피드백의 신뢰도가 달라질 수 있습니다.
- 인간 피드백만큼 정교하거나 정확하지 않을 수 있습니다.
- 개념:
- 쌍별 피드백(Alignment via Pairwise Feedback)
- Manually Engineered Prompts(수동으로 설계된 프롬프트)
- Assessing LLM-Generated Annotations
- Evaluation(평가)
- 인간 중심 평가 (Human-Centric Evaluation)
- 사용법:
- 직접 비교: 사람 평가자들이 LLM이 생성한 주석을 인간이 생성한 주석과 비교하여 품질을 평가합니다.
- 가이드라인 준수 여부 평가: 주석이 주어진 가이드라인이나 기준을 얼마나 잘 준수하는지 평가합니다.
- 주석의 유용성 평가: 주석이 실제 작업에 얼마나 도움이 되는지 평가합니다.
- 개념: 인간 중심 평가는 사람이 직접 LLM이 생성한 주석의 품질을 평가하는 방법입니다. 이 방법은 주로 주석의 정확성, 유용성, 그리고 일관성을 평가하는 데 사용됩니다.
- 예시: 주어진 텍스트: "The quick brown fox jumps over the lazy dog." LLM 주석: {"subject": "fox", "action": "jumps", "object": "dog"} Human Feedback: 이 주석은 정확하지만 'lazy'와 같은 추가적인 정보를 포함할 수 있음.
- 장점:
- 높은 정확도와 신뢰성을 제공할 수 있습니다.
- 주석의 맥락적 의미를 잘 파악할 수 있습니다.
- 시간과 비용이 많이 소요될 수 있습니다.
- 대규모 데이터셋에 대해 수행하기 어려울 수 있습니다.
- 사용법:
- 자동화된 평가 (Automated Evaluation, Task-Specific)
- 개념: 자동화된 평가는 특정 작업을 기준으로 LLM이 생성한 주석의 품질을 평가하는 방법입니다. 이 방법은 주로 알고리즘이나 다른 모델을 사용하여 주석의 품질을 정량적으로 평가합니다.
- 사용법:
- 메트릭 기반 평가: 정확도(accuracy), 정밀도(precision), 재현율(recall), F1 점수와 같은 정량적 메트릭을 사용하여 주석의 품질을 평가합니다.
- 작업 성능 평가: 특정 작업(예: 텍스트 분류, 감정 분석)에서 LLM이 생성한 주석이 모델 성능에 미치는 영향을 평가합니다.
- 자동 비교: LLM이 생성한 주석을 기존의 골드 스탠다드(gold standard) 데이터와 비교하여 품질을 평가합니다.
- 장점:
- 빠르고 효율적으로 대규모 데이터셋을 평가할 수 있습니다.
- 일관된 기준으로 평가할 수 있습니다.
- 정량적 메트릭만으로는 주석의 맥락적 의미를 충분히 평가하지 못할 수 있습니다.
- 자동 평가 모델의 성능에 따라 평가 결과가 달라질 수 있습니다.
- 인간 중심 평가 (Human-Centric Evaluation)
- Data Selection Via Active Learning
- 능동 학습을 통한 데이터 선택 (Data Selection Via Active Learning).
- 능동 학습의 주요 개념
- 획득 함수 (Acquisition Function): 능동 학습의 핵심은 획득 함수입니다. 이 함수는 모델이 어떤 샘플을 선택해야 할지 결정하는 기준을 제공합니다. 일반적인 획득 함수는 다양성(Diversity), 불확실성(Uncertainty), 유사성(Similarity)을 기준으로 샘플을 선택합니다.
- 라벨링 비용 감소: 능동 학습은 모델이 가장 정보가 많은 샘플을 선택하여 학습함으로써 전체 라벨링 비용을 줄입니다. 이를 통해 적은 양의 라벨링된 데이터로도 높은 성능을 달성할 수 있습니다.
- 반복적 프로세스: 능동 학습은 모델이 샘플을 선택하고 학습하는 과정을 반복합니다. 각 반복(iteration)마다 모델의 성능이 향상됩니다.
- 능동 학습의 프로세스
-
- 초기 모델 학습: 초기에는 소량의 라벨링된 데이터로 모델을 학습시킵니다.
- 미라벨링 데이터 풀: 모델이 예측해야 할 대규모의 미라벨링 데이터 풀을 준비합니다.
- 획득 함수 적용: 획득 함수를 사용하여 미라벨링 데이터 풀에서 가장 정보가 많은 샘플을 선택합니다.
- 라벨링 및 학습: 선택된 샘플을 라벨링하고, 이를 모델 학습에 추가합니다.
- 반복: 모델이 더 이상 성능 향상을 이루지 못할 때까지 3번과 4번 단계를 반복합니다.
-
- LLM을 이용한 능동 학습
- LLM을 획득 함수로 사용 (LLMs as Acquisition Functions)
- 개념: LLM을 획득 함수로 사용하여 가장 정보가 많은 샘플을 선택합니다. LLM의 불확실성 추정 능력을 활용하여 모델이 가장 필요로 하는 데이터를 선택하는 것입니다.
- 사용법:
- 다양성 기반 선택: 다양한 유형의 데이터를 선택하여 모델이 다양한 패턴을 학습할 수 있도록 합니다.
- 불확실성 기반 선택: 모델이 불확실하게 예측하는 샘플을 선택하여 학습 데이터에 추가합니다.
- 유사성 기반 선택: 기존 데이터와 유사한 샘플을 선택하여 모델이 더 정밀하게 학습할 수 있도록 합니다.
- LLM을 오라클 주석자로 사용 (LLMs as Oracle Annotators)
- 개념: LLM을 사용하여 미라벨링 데이터에 대한 주석을 자동으로 생성합니다. 이를 통해 인간의 라벨링 노력을 줄일 수 있습니다.
- 사용법:
- 오라클 주석 생성: LLM을 이용하여 선택된 샘플에 대해 라벨을 생성합니다.
- 학습 데이터 확장: LLM이 생성한 주석을 학습 데이터에 추가하여 모델을 학습시킵니다.
- LLM을 획득 함수로 사용 (LLMs as Acquisition Functions)
- 능동 학습의 주요 개념
- Learning with LLM-Generated Annotations.
- Target Domain Inference
- Target Domain Inference는 LLM이 생성한 주석을 특정 도메인에서 직접 활용하여 다양한 다운스트림 작업을 수행하는 방법입니다. 주석을 통해 예측된 라벨이나 추가 속성 정보를 사용하여 모델의 성능을 향상시키는 것을 목표로 합니다.
- Predicting Labels (라벨 예측)
- 개념: LLM이 입력 데이터에 대해 직접 라벨을 예측하는 방법입니다. 이 방법은 감독 학습 및 비감독 학습 모두에 사용될 수 있습니다.
- 사용법
- 수동 프롬프트 작성: 예시 데이터를 포함하거나 포함하지 않은 프롬프트를 작성합니다.
- 라벨 예측: LLM이 제공된 입력 데이터에 대해 예측된 라벨을 생성합니다.
- Inferring Additional Attributes
- 개념: LLM이 입력 데이터에 대해 라벨 외의 추가 속성 정보를 추론하는 방법입니다. 이는 데이터의 더 깊은 이해와 세부적인 분석을 가능하게 합니다.
- 사용법:
- 프롬프트 작성: 데이터에서 추출하고자 하는 속성 정보를 명시하는 프롬프트를 작성합니다.
- 속성 추론: LLM이 입력 데이터에 대해 예측된 속성 정보를 생성합니다
- Target Domain Inference
- 능동 학습을 통한 데이터 선택 (Data Selection Via Active Learning).
- Evaluation(평가)
- Knowledge Distillation
- Fine-Tuning and Prompting
- 방법
- Input-Output Prompting (IOP)
- 개념: IOP는 기본적인 프롬프트 방식으로, LLM에게 특정 입력을 제공하고 해당 입력에 대한 출력을 얻는 방법입니다.
- 사용법:
- 프롬프트 생성: 입력 데이터와 관련된 프롬프트를 작성합니다.
- 출력 획득: LLM에게 프롬프트를 제공하여 출력을 얻습니다.
- 예시: "The sentiment of the following review is positive or negative? Review: 'The movie was fantastic!'"
- In-Context Learning (ICL)
- 개념: ICL은 예시 데이터를 포함하는 프롬프트를 사용하여 LLM이 더 정확하게 작업을 수행하도록 돕는 방법입니다.
- 사용법
- 예시 데이터 포함: 여러 개의 예시 데이터를 프롬프트에 포함시킵니다.
- 프롬프트 작성: 예시 데이터와 함께 입력 데이터를 포함한 프롬프트를 작성합니다.
- 예시: Example: The movie was fantastic! Sentiment: Positive Example: The movie was terrible! Sentiment: Negative Now analyze: The movie was okay.
- Chain-of-Thought Prompting (CoT)
- 개념: CoT는 LLM이 문제 해결 과정을 단계별로 설명하도록 하는 방법입니다. 이를 통해 복잡한 추론 작업에서 성능을 향상시킬 수 있습니다.
- 사용법:
- 추론 단계 포함: 프롬프트에 중간 추론 단계를 포함시켜 LLM이 각 단계를 따라가며 답을 도출하도록 합니다.
- 예시: Question: If there are 3 apples and you take away 2, how many do you have? Let's think step by step. Step 1: There are 3 apples. Step 2: If you take away 2 apples, 1 apple is left. Therefore, the answer is 1.
- Instruction Tuning (IT)
- 개념: IT는 특정 작업에 대한 명령어를 사용하여 LLM을 미세 조정하는 방법입니다. 이를 통해 모델이 다양한 작업을 일반화할 수 있습니다.
- 사용법:
- 명령어 제공: 특정 작업에 대한 명령어를 프롬프트에 포함시킵니다.
- 모델 미세 조정: 명령어와 예시 데이터를 사용하여 모델을 미세 조정합니다.
- 예시: Instruction: Translate the following English sentence to French. Sentence: "The cat is on the mat."
- Alignment Tuning (AT)
- 개념: AT는 LLM의 출력을 인간의 기대에 맞추기 위해 보상 모델을 사용하여 LLM을 미세 조정하는 방법입니다.
- 사용법:
- 보상 모델 학습: 인간 피드백 데이터를 사용하여 보상 모델을 학습시킵니다.
- 정렬 튜닝: 보상 모델을 사용하여 LLM을 미세 조정합니다.
- 예시: Instruction: Rank these responses based on helpfulness, honesty, and harmlessness. Response 1: "I can't help with that." Response 2: "You can try the following approach..."
- Input-Output Prompting (IOP)
- 방법