본문 바로가기
딥러닝 with Python

[딥러닝 with Python] In-Context Learning이란? ICL이란?

by CodeCrafter 2025. 2. 21.
반응형

 

 이번에 알아볼 내용은 In Context Learning / ICL 에 대해서 알아보겠습니다.

 

 이는 LLM 관련 논문 또는 설명들을 볼때 많이 나오는 개념인데요. 너무 어렵지 않고 직관적으로 이해할 수 있게 정리해보겠습니다.

 

1. In-Context Learning 이란? (ICL 이란?)

- In-Context Learning(ICL)은 LLM이 추가 학습 없이 프로프트 내 정보만으로 태스크를 수행하는 방법을 말합니다.

 * GPT-4, LLaMA, PaLM 같은 최신 모델에서 활용되며, Fine tuning 없이도 다양한 작업을 수행할 수 있다는 장점을 가진 방법입니다.

 

- ICL은 주어진 프롬프트에서 제공된 데이터를 활용하되, 모델이 사전에 훈련된 가중치를 변경하지 않고도 문맥(Context) 내에서만 학습하는 방식이기에, 학습을 통해 생길 수 있는 잘못된 가중치 업데이트를 방지할 수 있고, 학습이 불필요하기에 전반적인 비용이 적게 든다는 장점이 있습니다.

 

- ICL이 사용되는 방식은 아래와 같이 Zero-shot / One-shot / Few-shot 방식으로 정리해 볼 수 있습니다.

 * Zero-shot learning : 예제 없이 바로 답변을 생성 (사전 학습된 지식만을 활용)

   예제) 

   Q. The capital of France is ?

   A : Paris

 

 * One shot learning : 단 한 개의 예제만을 활용해서 패턴 학습 및 새로운 입력에 대해 올바르게 응답

   예제)

    Q. Apple -> 사과

    Q. Banna -> ?

     A. 바나나

 

* Few shot learning : 모델이 문맥 내에서 패턴을 학습하고, 새로운 입력에 대해 올바른 출력 생성

  예제)

  Q. Apple -> 사과

  Q. Banana -> 바나나

  Q. Car -> 자동차

  Q. Tree ->  ?

   A.  나무

 

 

2. ICL 과 Fine Tuning

- ICL과 Fine tuning은 모델을 특정 태스크에 맞게 적응(Adapt)시킨다는 점에서 동일하지만 작동방식적인 측면에서 아래와 같이 차이점을 정리해볼 수 있습니다.

 

비교 항목 ICL Fine Tuning
모델 업데이트 X
(학습된 모델의 가중치 그대로 사용)
O
(학습된 모델의 가중치 업데이트)
추가 데이터
(모델 학습용)
필요여부
X O
새로운 태스크
적용 가능성
O
(Few-shot 예제만 있으면 가능)
X
(새로운 데이터로 재학습 필요)

 

- 즉 ICL은, 추가적인 훈련 없이 다양한 테스크에 적용가능하다는 점이 있기에 이를 LLM에서 활용하여 강력한 Zero shot 또는 Few shot 성능을 만들어낼 수 있는 방법입니다.

 

 

3. ICL의 한계

하지만 이렇게 유용한 ICL은 다음과 같은 한계점들을 가지고 있습니다.

 

1) 메모리 제한(Context Window Size)

 - 모델의 프롬프트 길이(Context Window size)가 제한됨

 - 너무 긴 문맥을 처리하려면 Long-from의 컨텍스트 최적화가 필요

 

2) 정확도 문제

 - 제공된 예제가 충분하지 않으면 패턴을 제대로 학습할 수 없음

 - 몇 개의 예제로는 일반화 능력이 부족할 수 도 있음

 

3) 모델 크기에 의존

 - ICL은 많은 데이터로 충분히 학습된 LLM에서 효과적으로 작동함

 - 경량화 시켜야하는 sLLM 등에서도 효과를 발휘하기에는 제한사항이 있음

 

 

 

 

반응형

댓글