https://arxiv.org/pdf/2301.00234
Abstract:
- In-context Learning 의 정의와 이것과 관련된 고급 기술 (훈련 전략, 프롬프트 디자인 전략, 그리고 관련 분석 등) 에 대한 정리를 다룸.
- 데이터 엔지니어링과 지식 업데이트 (Knowledge updating) 등 다양한 시나리오에서 ICL 이 어떻게 활용될 수 있는지도 다룸.
- 마지막으로 ICL이 직면한 문제들을 다루고, 향후 연구를 위한 잠재적인 방향을 제시한다.
Introduction:
- ICL의 개념, 장점, 현재의 도전 과제 및 향후 연구 방향에 대해 다룸.
- 모델 크기와 데이터 양의 확장으로 인해 LLM은 컨텍스트 내에서 몇 가지 예시를 통해 학습하는 ICL 방법이 등장했음.
- 그리고 여러 연구에서 LLM이 ICL을 통해 수학적 추론 문제 등 복잡한 작업을 수행할 수 있음을 보여줬음.
- ICL의 핵심 아이디어는 몇 가지 시범 예시를 프롬프트 컨텍스트로 구성하고, 여기에 질문을 추가하여 모델이 패턴을 학습하고 예측하도록 하는 방법임.
- 시범 예시와 질문을 결합한 입력을 모델에 제공하면, 모델은 파라미터 업데이트 없이도 패턴을 학습하여 올바른 예측을 할 수 있는 것.
- 즉 ICL은 역전파를 통한 파라미터 업데이트가 필요한 지도 학습과는 달리, 파라미터를 업데이트하지 않고도 학습이 가능하다.
- 기본 GPT 모델들이 우수한 ICL 능력을 보이지만, 사전 훈련 단계에서의 적응을 통해 이 능력을 더욱 향상시킬 수 있다는 연구가 있다고 함.
- ICL의 성능은 프롬프트 템플릿, 시범 예시의 선택과 순서 등 특정 설정에 매우 민감하다고도 함.
- 시범 예시의 간결성을 최적화하고 계산 효율성을 향상시키는 것이 중요한 연구 분야임.
- 시범 예시의 간결성이란 모델이 효과적으로 학습할 수 있도록, 필요한 핵심 정보를 담은 예시를 최소한의 길이로 제공하는 것을 의미함.
- 계산 효율성이란 모델이 더 빠르고 적은 자원으로 예측을 수행할 수 있도록 하는 것을 말함.
- ICL의 작동 메커니즘이 완전히 이해되지 않았으며, 이에 대한 심층적인 연구가 필요하다고도 함. 지금은 그냥 작업과 관련된 예시를 추가하니 잘 되더라 정도임.
Taxonomy of in-context learning:
관련 개념의 정의:
- In-context Learning(ICL):
- In-context Learning은 몇 가지 시범 예시(demonstration)만을 제공하여 언어 모델이 과제를 학습할 수 있게 하는 패러다임
- 프롬프트 학습(Prompt Learning):
- 프롬프트는 모델이 원하는 출력을 예측하도록 유도하는 디스크리트 템플릿 또는 소프트 파라미터 라고 볼 수 있음.
- 따지면 ICL 은 프롬프트 튜닝의 하위 클래스.
- ICL 은 시범 예시와 쿼리로 구성될거임.
- 프롬프트 학습은 일반적으로 프롬프트의 형태와 내용에 초점을 맞추며, 모델 파라미터의 미세 조정이 포함될 수 있다고 함.
- ICL은 모델 파라미터의 업데이트 없이 시범 예시를 통해서만 학습
- 소수 샷 학습(Few-shot Learning):
- Few-shot Prompting 이 아니라 Learning 임
- Few-shot Learning 은 제한된 수의 지도 예시로 모델 파라미터를 적응시켜 과제를 수행하는 일반적인 기계 학습 접근 방식임.
- 이 방법도 모델 파라미터의 업데이트(미세 조정)가 필요함.
ICL 능력을 향상시키기 위한 모델의 훈련 방법:
- 대규모 언어 모델(LLM)은 이미 유망한 ICL 능력을 보여주고 있지만, 추론 전에 특수한 훈련을 통해 이러한 능력을 더욱 향상시킬 수 있다는 연구들이 있음.
- 사전 훈련(Pretraining)과 워밍업(Warmup)이라는 두 가지 주요 접근법이 있음:
- 사전 훈련(Pretraining):
- LLM의 ICL 능력을 향상시키기 위한 가장 직접적인 방법은 사전 훈련 또는 지속적인 사전 훈련을 통해서 이룰 수 있다.
- 주요 연구:
- Gu et al. (2023)와 Shi et al. (2024):
- 관련 있는 컨텍스트를 집계하여 사전 훈련 코퍼스를 재구성
- 모델이 이전 시범(demonstration) 간의 추론을 학습하도록 함
- Li et al. (2024c):
- 메타-디스틸레이션(meta-distillation) 사전 훈련 과정을 도입
- 메타-디스틸레이션은 메타러닝(Meta-Learning)과 지식 증류(Knowledge Distillation) 를 결합한 방법임.
- 메타러닝(Meta-Learning): 모델이 다양한 과제(task)에서 학습하는 방법을 학습하여, 새로운 과제에 빠르게 적응할 수 있도록 하는 학습 기법임.
- 지식 증류(Knowledge Distillation): 큰 모델(교사 모델)의 지식을 작은 모델(학생 모델)에 전달하여, 학생 모델이 교사 모델의 성능을 재현하거나 근접하게 만드는 방법
- 메타-디스틸레이션은 여러 과제에서의 학습 경험을 증류하여, 모델이 새로운 과제에서도 높은 성능을 발휘할 수 있도록 함. 즉, 다양한 시범 예시에서 공통적인 패턴이나 지식을 추출하고, 이를 압축된 형태로 모델에 전달함.
- 메타 디스틸레이션은 증류된 시범 벡터를 사용하여 모델이 추론하도록 하여, 효율성을 높이면서도 효과성은 유지하는 방법임.
- 증류된 시범 벡터는 원래의 시범 예시(demonstration examples)에서 핵심적인 정보를 추출하여 벡터 형태로 표현한 것. 시범 예시 전체를 사용하는 대신, 중요한 특징이나 패턴만을 포함하는 벡터를 이용하는 거임.
- 추론 시에 원래의 시범 예시 대신 증류된 시범 벡터를 입력으로 사용하는 것. 프롬프트를 입력으로 주는게 아니라 벡터를 입력으로 주는 것.
- Gu et al. (2023)와 Shi et al. (2024):
- 사전 훈련(Pretraining):
- 워밍업(Warmup):
- 사전 훈련과 ICL 추론 사이에 지속적인 훈련 단계를 추가하여 모델을 파인 튜닝해서 ICL 능력을 향상하는 것.
- 워밍업은 추론 전에 LLM의 파라미터를 수정하거나 추가하여 모델을 조정하는 선택적인 절차임.
- 대부분의 사전 훈련 데이터는 ICL에 최적화되어 있지 않기 때문에 이 방법의 아이디어가 나온 것
- 주요 연구:
- Min et al. (2022b)와 Wang et al. (2022b):
- 다양한 작업에 대해 다수의 시범 예시를 사용하여 LLM을 지속적으로 미세 조정 하는 것.
- ICL 능력 향상을 위해서
- Wei et al. (2023a) - 심볼 튜닝(Symbol Tuning):
- 모델이 컨텍스트에서 입력과 레이블 간의 매핑을 학습하도록 장려.
- 자연어 레이블(예: “긍정적/부정적 감정”)을 임의의 심볼(예: “foo/bar”)로 대체.
- 임의의 심볼을 사용하여 모델이 레이블에 의존하지 않고 패턴을 학습하게 하는 것
- Min et al. (2022b)와 Wang et al. (2022b):
- 주요 연구:
Prompt Designing
ICL에서 프롬프트를 구성하는 방법에 대해 논의하며, 이는 두 가지 주요 주제로 나눔:
- Demonstration Organization (시범 예시 조직화)
- Instruction Formatting (지시문의 형식화)
Demonstration Organization (시범 예시 조직화)
연구에 따르면 ICL의 성능은 시범 예시의 선택, 형식, 순서 등 표면적인 요소에 크게 영향을 받는 것으로 나옴.
여기서는 시범 예시를 조직하는 다양한 전략을 소개하고, 이를 세 가지 범주로 분류함:
- Demonstration Selection (예시 선택)
- Demonstration Reformatting (예시 재구성)
- Demonstration Ordering (예시 순서)
Demonstration Selection (예시 선택):
- 어떤 샘플이 ICL에 적합한 좋은 예시가 될까? 를 묻는 질문임.
- 관련 연구를 두 가지 접근 방식으로 분류함:
- 비지도 학습 방법: 사전 정의된 메트릭을 기반으로 예시를 선택
- 지도 학습 방법: 과제별 감독(supervision)을 통해 최적의 예시를 선택
- 비지도 학습 방법:
- 입력 데이터와의 유사성을 기반으로 가장 가까운 예시를 선택하는 방법
- 문장 임베딩을 활용하여 L2 거리나 코사인 유사도를 계산하는 방법을 사용한다:
- 주요 연구:
- Liu et al. (2022): KATE라는 kNN 기반 Retriever 를 제안하여 시범 예시를 선택하는 방법
- Tanwar et al. (2023): 다중 언어 ICL에서 소스와 타겟 언어 간의 정렬을 강화하기 위해 k-NN 교차 언어 시범 예시를 사용
- Su et al. (2023): 그래프와 신뢰도 점수를 결합하여 다양한 대표 예시를 선택
- 기타 메트릭 활용:
- 상호 정보량(Mutual Information): Sorensen et al. (2022)이 사용하여 레이블이 없는 데이터에서도 유용한 프롬프트를 선택
- 퍼플렉서티(Perplexity): Gonen et al. (2023)이 활용하여 특정 LLM 없이도 프롬프트를 선택
- LLM 출력 점수 활용:
- Wu et al. (2023b): 데이터 전송을 위한 코드 길이를 기반으로 kNN 예시의 최적 부분 집합을 선택.
- Li and Qiu (2023): 검증 세트의 예시에 대해 정보 점수(infoscore)를 계산하여 예시를 선택.
- 지도 학습 방법:
- 기존의 Retriever 는 과제별 감독이 부족하여 최적이 아니라고 함.
- 지도 학습을 통해 과제에 특화된 예시를 선택하는 방법을 개발하는 것
- 주요 연구:
- Rubin et al. (2022) - EPR: 두 단계로 밀집 리트리버를 훈련하여 시범 예시를 선택
- 1단계: 비지도 방법(BM25 등)을 사용하여 유사한 예시를 후보로 선택합니다.
- 2단계: 이 후보를 사용하여 지도 학습된 밀집 리트리버를 구축합니다.
- Li et al. (2023d): 다양한 작업에서 시범 예시를 선택하는 통합된 리트리버를 제안합니다.
- Ye et al. (2023): 개별 예시 대신 전체 시범 세트를 회수하여 예시 간의 상호 관계를 고려합니다.
- Mavromatis et al. (2023) - AdaICL: LLM을 사용하여 라벨이 없는 데이터의 불확실성을 평가하고, 이를 기반으로 예시를 선택합니다.
- Zhang et al. (2022a): 강화 학습을 통해 시범 예시 선택을 최적화합니다
- Rubin et al. (2022) - EPR: 두 단계로 밀집 리트리버를 훈련하여 시범 예시를 선택
비지도 학습 결과:
- 모델마다 데이터셋마다 결과가 다르고 우월한 방법은 안보임.
Table 1: Summary of representative demonstration designing methods:
Demonstration Reformatting (예시 재구성):
- 훈련 데이터에서 직접 예시를 선택하는 것 외에도, 기존 시범 예시의 표현을 재구성하는 연구가 주목받고 있음.
- LLM을 활용한 재구성:
- Kim et al. (2022): 외부 시범 데이터에 대한 의존도를 줄이기 위해 대규모 언어 모델(LLM)을 사용하여 시범 예시를 직접 생성하는 방법을 제안
- Structured Prompting (Hao et al., 2022b): 시범 예시를 특별한 위치 임베딩(positional embeddings) 으로 개별적으로 인코딩하는 것. 스케일 조정된 어텐션 메커니즘을 통해 테스트 예시에 이 인코딩된 예시를 제공.
- 잠재 표현 수정:
- 시범 예시의 잠재 표현(latent representation)을 수정하는 방법
- Liu et al. (2024a):
- In-Context Vectors (ICVs): LLM에서 시범 예시의 잠재 임베딩으로부터 파생된 ICVs를 개발
- 추론 시 이 ICVs를 사용하여 LLM의 잠재 상태(latent states) 를 조정
- 모델이 시범 예시를 더 효과적으로 따를 수 있도록 향상시킴
- 시범 예시를 LLM을 통해 재구성하거나 잠재 임베딩을 수정함으로써, 모델의 추론 능력을 강화하고 외부 데이터에 대한 의존성을 줄이는 연구들이 진행되고 있음.
Demonstration Ordering (예시 순서):
- 선택된 시범 예시의 순서를 정하는 것은 시범 예시 조직화의 중요한 측면임.
- Lu et al. (2022): 순서 민감성(order sensitivity) 이 일반적인 문제이며, 다양한 모델에서 항상 존재함을 입증했음.
- 훈련이 필요 없는 정렬 방법: 이전 연구들은 시범 예시를 정렬하기 위한 여러 훈련이 필요 없는 방법을 제안함:
- Liu et al. (2022):
- 입력과의 유사성에 따라 예시를 배열하고, 가장 가까운 예시를 가장 오른쪽(마지막)에 배치
- Lu et al. (2022):
- 글로벌 및 로컬 엔트로피 메트릭 도입: 엔트로피 메트릭을 사용하여 모델 별 최적의 시범 예시 순서를 결정
- ICCL (Liu et al., 2024b):
- 시범 예시를 간단한 것에서 복잡한 것으로 순위를 매겨, 추론 과정에서 시범 예시의 복잡성을 점진적으로 증가시킴
- Liu et al. (2022):
- 시범 예시의 순서는 ICL의 성능에 큰 영향을 미치며, 이를 최적화하기 위한 다양한 방법들이 연구되고 있음.