논문명: A Survey on In-context Learning
논문 링크: https://arxiv.org/abs/2301.00234
A Survey on In-context Learning
With the increasing ability of large language models (LLMs), in-context learning (ICL) has become a new paradigm for natural language processing (NLP), where LLMs make predictions only based on contexts augmented with a few examples. It has been a new tren
arxiv.org
논문 선정 이유
- 비교적 최근인 23년 6월 1일 개정되었으므로
- In Context Learning 의 필요성을 느껴서
- 흐름만 보고 싶어서
이 글은 해당 논문의 상세한 정리가 아니라 흐름 위주로 간략하게 정리하며, 사견이 많으니 참고하시길 바랍니다.
ICL의 개념
검정 글자 위주로 보면 된다. 사실 Demonstrations 안에 Instruction 이 하나 더 있다고 보면 된다.
- Instruction: 지시사항을 의미함. 예컨대, '한국어 문장을 프랑스어로 번역해줘'가 있다.
- Demonstration: 예시 전체를 의미함. 보통 K개라고 표현하는데, 위 그림은 K=3이다.
- Test Example: 모델이 추론했으면 하는 입력을 의미함.
ICL의 장점
- 자연어라 해석도 쉽고 소통이 가능하며, 누구나 할 수 있다.
- 인간의 유추과정과 비슷하다. (사실 이게 장점인지 잘 모르겠....)
- 학습하지 않는다, 즉 파라미터에 변화가 없다. 이로 인한 비용이 발생하지 않는다.
ICL의 단점 (사견)
- 성능이 향상된다는 것 이외에는 명확히 정해진 결론이 거의 없다.
- 모델의 크기, 모델의 성능, 예제, 지시, 길이 등 아주 다양한 요인들이 작용하는데, 어떤 논문에서는 맞고, 어떤 논문에서 반대의 결론을 내리기도 한다.
- 왜 성능이 올랐는지에 대해서도 명백히 밝혀지지 않았다. (물론 확률적, 알고리즘적으로 접근한 논문들이 있다.)
ICL의 갈래
어려울 것 하나 없다. 하나씩 간략히 설명하겠다.
Training vs Inference
- ICL 능력을 학습을 통해 끌어올릴 것인가, 혹은 추론시에 올릴 것인가?
Training: Warmup
- ICL은 pretraining 할 때와 방식에서 차이가 있으니, 그 사이에 ICL을 가르치는 학습을 추가하자는 것임.
- 즉, ICL을 위한 학습이며 파라미터 업데이트가 발생함.
- 이런 학습을 In Context training 이라고 지칭함.
- 이런 방식이 크게 supervised 와 self-supervised 로 나뉘는데, 관련 논문을 참고할 것
Inference: Demonstration Designing
- 지시사항과 예시를 어떻게 할까에 따라 나뉨
- Selection: 어떻게 예제를 선택할 것인가
- Ordering: 선택한 예제를 어떤 순서로 기입할 것인가
- Instruction: 인간이 직접 쓰는 경우가 많은데, 모델을 통해 자동적으로 쓴다 등
- Reasoning steps: CoT에 관한 논문이 많은데, 자세히 모르니 관련 논문을 참고할 것
Inference: Scoring Function
- 무엇으로 정답을 결정할 것인가에 대하여
- 크게 probability, PPL, Channel 등이 있다
사견
그 이외에도 다양한 목차가 있으나 갈래와 흐름 파악 위주이기 때문에 생략한다. 현재 GPT4가 나오면서 ICL 능력이 독보적으로 높다는 걸 알 수 있다. 22년 나왔던 논문을 GPT4에 시험해본 결과, GPT4는 이미 해당 논문에서 제시한 문제점을 해결했다. 이 점과 ICL의 분야에 대해 언급한 단점으로 볼 때 최신 논문 역시 병행하여 ICL의 흐름에 대해 유심히 지켜봐야겠다는 생각이 든다.