문맥 내 학습(In-Context Learning)

•
2026년 11월 15일 발행•2026년 11월 15일 수정
요약

언어 모델이 가중치 갱신 없이 프롬프트 속 지시문과 예시만으로 새로운 작업을 수행하는 능력

중급
트랜스포머 기반 언어 모델의 생성 방식과 프롬프트 구성, 미세 조정과의 차이를 이해해야 한다.

#개념

문맥 내 학습(In-Context Learning, ICL)은 언어 모델이 가중치를 갱신하지 않고, 프롬프트에 포함된 지시문과 몇 개의 입력-출력 예시만 보고 새로운 작업을 수행하는 능력이다. Brown 등(2020)이 GPT-3 논문에서 이 현상을 체계적으로 보고하면서 대규모 언어 모델(Large Language Model, LLM)을 활용하는 기본 방식으로 자리 잡았다.
기존 머신러닝에서 새 작업을 배우려면 레이블 데이터로 모델의 파라미터를 학습하거나 미세 조정(Fine-tuning)해야 했다. 문맥 내 학습에서는 작업 정보가 파라미터가 아니라 입력 텍스트에 담긴다. 모델은 예시들이 나열된 문맥을 조건으로 다음 토큰을 예측할 뿐이지만, 그 결과가 마치 예시로부터 규칙을 배운 것처럼 보인다. 프롬프트를 지우면 학습한 내용도 사라진다는 점에서 일시적인 학습이다.
GPT-3 논문은 예시 수에 따라 평가 설정을 세 가지로 구분했다. 모든 설정에서 경사 하강법에 의한 가중치 갱신은 일어나지 않는다.
예시 수에 따른 설정
  • 제로샷(Zero-shot): 예시 없이 작업을 설명하는 자연어 지시문만 제공한다.
  • 원샷(One-shot): 지시문과 함께 시연 예시 1개를 제공한다.
  • 퓨샷(Few-shot): 문맥 창에 들어가는 만큼 여러 예시를 제공하며, 논문은 대체로 10~100개를 사용했다.
GPT-3는 1,750억 개 파라미터를 가진 자기회귀 언어 모델이며, 모든 모델의 문맥 창은 2,048토큰이었다. 퓨샷 예시 수가 10~100개로 제한된 것도 이 문맥 창에 들어갈 수 있는 양 때문이다. 논문은 TriviaQA 퓨샷 설정에서 71.2%의 정확도를 보고하는 등, 별도 학습 없이도 여러 작업에서 미세 조정 모델에 근접하는 결과를 제시했다.
GPT-3 논문은 문맥 내 학습이라는 용어를 메타 학습 과정의 내부 루프를 가리키는 말로 사용했다. 모델은 사전 학습 단계에서 폭넓은 기술과 패턴 인식 능력을 익히고, 추론 시점의 내부 루프에서는 문맥 속 예시로 현재 작업을 파악한다. 모델 규모가 커질수록 제로샷과 퓨샷의 성능 차이가 벌어져, 큰 모델일수록 문맥 정보를 더 잘 활용한다는 점도 함께 보고되었다.
문맥 내 학습은 편리하지만 결과가 프롬프트 구성에 민감하다는 문제가 있다. Zhao 등(2021)은 프롬프트 형식, 예시 선택, 예시 순서에 따라 정확도가 무작위 수준에서 당시 최고 수준까지 크게 흔들린다고 보고했다. 원인은 모델이 특정 답에 치우치는 편향이며, 대표적인 편향과 대응은 다음과 같다.
프롬프트 민감도의 원인
  • 최신성 편향(Recency Bias): 프롬프트 끝부분에 가까운 예시의 레이블을 더 자주 답하는 경향이다.
  • 빈도 편향: 사전 학습 데이터에서 흔한 토큰을 답으로 더 자주 내놓는 경향이다.
  • 순서 민감도: Lu 등(2021)은 같은 예시라도 순서에 따라 성능이 무작위 추측 수준까지 떨어질 수 있고, 좋은 순서가 모델 사이에 전이되지 않는다고 보고했다.
Zhao 등은 이를 보정하기 위해 문맥 보정(Contextual Calibration)을 제안했다. "N/A"처럼 내용이 없는 입력을 같은 프롬프트에 넣었을 때 모델이 내놓는 답의 분포를 편향으로 보고, 이 입력에 대한 예측이 모든 답에 균등해지도록 보정 파라미터를 맞춘다. 이 방법은 GPT-3와 GPT-2의 평균 정확도를 최대 30.0%포인트 높이고 프롬프트 선택에 따른 분산도 줄였다.
예시 선택 방법도 성능에 큰 영향을 준다. Liu 등(2021)은 무작위로 고른 예시보다 테스트 입력과 의미적으로 비슷한 예시를 검색해 프롬프트를 구성할 때 GPT-3의 성능이 높아진다고 보고했다. 이후 임베딩 유사도나 BM25로 학습 데이터에서 예시를 동적으로 검색하는 방식이 실무 표준처럼 쓰이게 되었다.
Min 등(2022)은 예시의 레이블이 정말 중요한지 검증했다. GPT-3를 포함한 12개 모델에서 분류·객관식 과제의 예시 레이블을 무작위로 바꿔도 성능이 크게 떨어지지 않았다. 대신 레이블 공간, 입력 텍스트의 분포, 전체 형식이 성능에 중요한 요소로 나타났다. 이는 모델이 예시에서 입력-레이블 대응을 새로 배운다기보다 작업의 형식과 범위를 파악하는 데 예시를 활용함을 시사한다.
가중치 갱신 없이 학습처럼 보이는 행동이 어떻게 가능한지에 대해 여러 가설이 제시되었다. 대표적인 설명은 다음과 같다.
메커니즘 가설
  • 암묵적 경사 하강: von Oswald 등(2022)은 선형 자기 어텐션 층 하나가 회귀 손실에 대한 경사 하강 한 단계와 같은 변환을 수행하도록 구성될 수 있으며, 회귀 과제로 학습한 트랜스포머가 실제로 이와 비슷하게 동작함을 보였다.
  • 인덕션 헤드(Induction Head): Olsson 등(2022)은 앞서 나온 "[A][B]" 패턴을 기억했다가 [A]가 다시 나오면 [B]를 예측하는 어텐션 헤드가 문맥 내 학습의 상당 부분을 담당할 수 있다고 제안했다.
  • 잠재 작업 추론: 예시를 통해 사전 학습에서 익힌 여러 작업 가운데 현재 작업이 무엇인지 식별한다는 관점으로, 레이블이 틀려도 형식이 중요하다는 실험 결과와 잘 맞는다.
Olsson 등은 학습 중 인덕션 헤드가 형성되는 시점과 문맥 내 학습 능력이 급격히 좋아지는 시점이 일치하며, 이것이 학습 손실 곡선의 돌출로 관찰된다고 보고했다. 다만 저자들은 어텐션만 있는 작은 모델에서는 인과적 증거를, MLP가 있는 큰 모델에서는 상관적 증거를 제시했다고 밝혀, 대형 모델에 대한 결론은 아직 간접적이라는 점을 명시했다.
문맥 창이 수십만 토큰 이상으로 커지면서 수백에서 수천 개의 예시를 넣는 다수 예시 문맥 내 학습(Many-shot ICL)이 가능해졌다. Agarwal 등(2024)은 다수 예시 설정이 퓨샷보다 생성·판별 과제 전반에서 성능을 크게 높이고, 사전 학습 편향을 뒤집거나 미세 조정과 비슷한 성능을 내기도 한다고 보고했다. 사람이 쓴 풀이 대신 모델이 생성한 추론을 예시로 쓰는 방법도 효과적이었지만, 추론 비용은 예시 수에 비례해 선형으로 늘어난다.
문맥 내 학습은 모델에 작업 정보를 주는 다른 방법들과 비교해 선택한다. 주요 비교는 다음과 같다.
다른 적응 방식과의 비교
  • 미세 조정: 가중치를 갱신해 작업을 내재화하므로 추론 시 프롬프트가 짧고 성능이 안정적이지만, 학습 데이터와 학습·배포 비용이 필요하다.
  • 검색 증강 생성(Retrieval-Augmented Generation, RAG): 외부 지식 문서를 검색해 문맥에 넣는 방식으로, 작업 형식보다 사실 지식을 보강하는 데 초점이 있다. 예시를 검색해 넣는 동적 퓨샷은 두 방식을 결합한 형태다.
  • 문맥 내 학습: 학습 없이 프롬프트만 바꿔 즉시 작업을 바꿀 수 있지만, 매 요청마다 예시 토큰 비용이 들고 프롬프트 구성에 민감하다.
문맥 내 학습은 프롬프트 엔지니어링(Prompt Engineering)의 토대가 된다. 예시의 형식, 순서, 선택 기준을 설계하는 일이 곧 프롬프트 엔지니어링의 핵심 작업이며, 사고의 사슬(Chain-of-Thought, CoT)은 퓨샷 예시에 중간 추론 과정을 포함해 문맥 내 학습을 추론 과제로 확장한 기법이다. 지시 튜닝을 거친 최신 모델은 제로샷 지시만으로도 많은 작업을 수행하지만, 출력 형식을 고정하거나 도메인 특유의 판단 기준을 전달할 때는 여전히 예시가 효과적이다.
실무에서는 몇 가지 원칙을 지키면 문맥 내 학습의 불안정성을 줄일 수 있다. 예시는 실제 입력 분포와 비슷하게 고르고, 레이블 공간 전체가 고르게 드러나도록 구성하며, 출력 형식을 일관되게 유지한다. 또한 예시 순서를 바꾼 여러 프롬프트로 성능 분산을 확인하고, 평가 데이터셋으로 프롬프트 변경 전후를 비교하는 과정을 거쳐야 한다.
문맥 내 학습은 사전 학습된 모델 하나로 수많은 작업을 학습 없이 처리할 수 있게 해, LLM 기반 서비스의 개발 방식을 바꾼 능력이다. 동시에 예시 구성에 따른 편향과 분산, 긴 문맥의 비용이라는 한계가 있으므로, 데이터와 요구 정확도에 따라 미세 조정이나 검색 증강 생성과 함께 검토하는 것이 바람직하다.

#관련 용어

퓨샷 학습
소수의 예시만으로 새로운 작업을 수행하도록 하는 학습 설정
인덕션 헤드
앞서 나온 토큰 패턴을 찾아 다음 토큰을 복사하듯 예측하는 어텐션 헤드
프롬프트 엔지니어링
원하는 출력을 얻도록 언어 모델 입력을 설계하고 개선하는 작업
사고의 사슬(CoT)
최종 답 이전에 중간 추론 단계를 생성하도록 유도하는 프롬프트 기법
검색 증강 생성(RAG)
외부 문서를 검색해 문맥에 넣고 이를 근거로 답을 생성하는 방식
미세 조정
사전 학습된 모델의 가중치를 특정 작업 데이터로 추가 학습하는 과정

#직무 연관도

DA
Data Analyst
보통
분류·추출 같은 분석 작업에 퓨샷 프롬프트를 적용하고 결과의 안정성을 검증
DS
Data Scientist
밀접
문맥 내 학습의 메커니즘과 예시 구성 효과를 연구하고 프롬프트 기반 모델 성능을 평가
DE
Data Engineer
높음
예시 검색과 프롬프트 템플릿을 포함한 LLM 서비스 파이프라인을 설계하고 토큰 비용과 지연을 관리

#사용 사례

인터넷 서비스전자상거래금융의료미디어
개요
문맥 내 학습은 학습 데이터가 적거나 작업 정의가 자주 바뀌는 업무에서 LLM을 빠르게 적용하는 데 쓰인다. 인터넷 서비스와 전자상거래에서는 문의 분류와 상품 속성 추출에, 금융과 의료에서는 문서 요약과 정보 추출 형식 고정에, 미디어에서는 콘텐츠 태깅과 문체 맞춤 생성에 활용된다.
사례
전자상거래 서비스에서 고객 문의를 분류할 때, 문의와 의미가 비슷한 과거 분류 사례 몇 개를 임베딩 검색으로 골라 프롬프트에 넣어 별도 모델 학습 없이 새 카테고리 체계에 맞는 분류 결과를 얻음

#참고 자료

#추천 포스트

© 2024 diki All rights reserved.