1. 개념
전통적인 머신러닝 모델은 주로 특정 작업을 처리하도록 설계되었으며, 이는 학습 데이터에 기반한 입력-출력 쌍에 의해 한정되었습니다.
이러한 모델은 훈련된 범위를 벗어난 작업에 대해서는 성능이 크게 저하되었습니다.
그러나 대규모 언어 모델(LLMs)의 등장으로 자연어 과제를 해결하는 방식에 큰 전환점이 생겼습니다.
In-context learning, ICL은 작업 예시(demonstrations)를 자연어 형식의 프롬프트 안에 통합하여 사용하는 기법입니다.
이 방식은 사전학습된 LLM이 파인튜닝 없이도 새로운 작업을 수행할 수 있게 해줍니다.
전통적인 지도학습(supervised learning)은 역전파(backpropagation)를 통한 학습 단계가 필수이며, 이를 통해 모델 파라미터를 수정합니다.
반면, ICL은 모델 파라미터를 전혀 업데이트하지 않고, 사전학습된 언어 모델을 기반으로 추론만 수행합니다.
모델은 프롬프트 내에 주어진 예시들을 바탕으로 잠재 공간(latent space)에서 패턴을 파악하고, 이를 기반으로 정확한 예측을 수행합니다.
인컨텍스트 러닝은 퓨샷 러닝(few-shot learning) 또는 퓨샷 프롬프트(few-shot prompting)라고도 불립니다. 기존 모델들과 달리, ICL을 통해 쌓은 지식은 일시적입니다.
즉, 추론이 끝난 후에도 LLM은 해당 정보를 지속적으로 저장하지 않으며, 이는 모델 파라미터의 안정성을 유지하는 데 도움이 됩니다.
ICL이 효과적인 이유는 방대한 사전학습 데이터와 확장된 모델 크기를 활용할 수 있기 때문입니다.
덕분에 LLM은 기존 머신러닝 아키텍처처럼 복잡한 학습 과정을 거치지 않아도 새로운 작업을 이해하고 수행할 수 있습니다.

-------------------------------------------------------------------------------------------------------------------------------------------------------
2. 왜
ICL의 접근 방식은 인간의 인지적 추론 과정과 유사하기 때문에, 문제 해결 측면에서 보다 직관적인 모델로 여겨집니다.
또한, 작업에 특화된 모델을 별도로 학습시키기 위한 계산 비용이 현저히 낮아, 언어 모델을 서비스로 제공하고 이를 실제 환경에 쉽게 적용할 수 있는 기반이 됩니다.
ICL은 방대한 라벨링 데이터로 학습된 모델들과 비교해도 다양한 자연어 처리(NLP) 벤치마크에서 경쟁력 있는 성능을 보여주고 있습니다.
-------------------------------------------------------------------------------------------------------------------------------------------------------
3. 어떻게
인컨텍스트 러닝의 핵심 아이디어는 유추(analogy)를 통해 학습하는 것입니다.
이는 모델이 소수의 입력-출력 예시, 심지어 단 하나의 예시만 보고도 일반화할 수 있게 하는 원리입니다.
이 방식에서는 작업 설명이나 예시들을 자연어로 구성하여 프롬프트(prompt) 형태로 모델에 제공합니다.
이 프롬프트는 일종의 의미적 사전 정보(semantic prior)로 작용하며, 모델의 사고 흐름과 이후 생성될 출력에 방향을 제시합니다.
선형 회귀와 같은 전통적인 머신러닝 방식은 라벨링된 데이터와 별도의 학습 과정이 필요하지만, 인컨텍스트 러닝은 사전학습된 모델을 활용하며 파라미터를 업데이트하지 않습니다.
인컨텍스트 러닝의 효과는 사전학습 단계와 모델 파라미터의 규모와 밀접하게 관련되어 있습니다.
연구에 따르면, 모델의 파라미터 수가 많을수록 인컨텍스트 러닝 수행 능력이 향상된다고 합니다.
모델은 사전학습 과정에서 다양한 의미적 사전 지식을 습득하며, 이는 나중에 특정 작업에 맞춘 표현 학습(task-specific representation)에 도움을 줍니다.
이처럼 인컨텍스트 러닝은 사전학습 데이터를 기반으로 하여, 추가 입력이 거의 없이도 복잡한 작업을 수행할 수 있게 됩니다.
인컨텍스트 러닝은 일반적으로 퓨샷 러닝(few-shot learning) 시나리오에서 사용되며, 모델이 수행할 작업을 이해할 수 있도록 몇 가지 예시만 제공하면 됩니다.
이때 중요한 것이 바로 프롬프트 엔지니어링(prompt engineering)이며, 이는 모델의 인컨텍스트 러닝 능력을 최대한 활용하는 데 핵심적인 역할을 합니다.
-------------------------------------------------------------------------------------------------------------------------------------------------------
4. 인컨텍스트 러닝을 위한 접근 방식
인컨텍스트 러닝의 핵심 요소 중 하나는 작업 적응을 위해 필요한 예시 수에 유연성이 있다는 점입니다.
특히, 세 가지 주요 접근 방식이 있습니다:
1) 퓨샷 러닝 (Few-Shot Learning)
퓨샷 러닝에서는 여러 개의 입력-출력 쌍을 예시로 제공하여 모델이 작업의 특성을 이해하도록 합니다.
이러한 예시는 의미적 사전 정보(semantic prior)로 작용하여, 모델이 새 작업에 대해 일반화하고 적절한 결과를 생성할 수 있도록 돕습니다.
이 접근 방식은 모델의 사전 학습(pre-training) 데이터와 기존 파라미터를 활용하여 복잡한 작업에서도 정확한 다음 토큰 예측을 가능하게 합니다.
2) 원샷 러닝 (One-Shot Learning)
원샷 러닝은 보다 제한적인 형태로, 단 하나의 입력-출력 예시만을 제공합니다.
예시 수가 적음에도 불구하고, 모델은 사전 학습을 통해 축적된 의미적 사전 지식을 활용하여 작업 설명에 부합하는 출력을 생성합니다. 이 방식은 특히 도메인 특화 데이터가 부족할 때 자주 활용됩니다.
3) 제로샷 러닝 (Zero-Shot Learning)
제로샷 러닝에서는 작업에 대한 예시가 전혀 제공되지 않습니다.
대신, 모델은 작업 설명과 사전 학습된 지식만을 기반으로 작업의 요구 사항을 유추합니다.
이 접근 방식은 모델이 사전 학습을 통해 내재된 일반화 능력을 바탕으로 완전히 새로운 작업을 수행할 수 있는지를 시험합니다.
각 접근 방식은 장단점이 있으며, 모두 모델의 사전 학습과 파라미터 규모를 활용해 새로운 작업에 적응합니다.
어떤 방식을 선택할지는 라벨링된 데이터의 양, 작업의 복잡도, 사용 가능한 계산 자원 등에 따라 달라집니다.
최근에는 수백 개에서 수천 개에 이르는 인컨텍스트 예시를 활용하면, 어려운 데이터셋에 대해 언어 모델의 성능이 향상된다는 결과도 다수 보고되었다
https://icml.cc/virtual/2024/38376
ICML Many-shot In-Context Learning
Abstract: Large language models (LLMs) excel at few-shot in-context learning (ICL) -- learning from a few examples provided in context at inference, without any weight updates. Newly expanded context windows allow us to investigate ICL with hundreds or tho
icml.cc
Many-shot Jailbreaking
Requests for name changes in the electronic proceedings will be accepted with no questions asked. However name changes may cause bibliographic tracking issues. Authors are asked to consider this carefully and discuss it with their co-authors prior to reque
proceedings.neurips.cc
https://arxiv.org/abs/2405.00200
In-Context Learning with Long-Context Models: An In-Depth Exploration
As model context lengths continue to increase, the number of demonstrations that can be provided in-context approaches the size of entire training datasets. We study the behavior of in-context learning (ICL) at this extreme scale on multiple datasets and m
arxiv.org
-------------------------------------------------------------------------------------------------------------------------------------------------------
5. 프롬프트 엔지니어링
프롬프트 엔지니어링은 모델의 사고 흐름(chain of thought)을 유도하고 주어진 작업에 대한 성능을 향상시키기 위해 효과적인 프롬프트를 구성하는 기술과 방법론입니다.
이는 다양한 작업에 대한 복수의 시연 예제(demonstration examples)를 포함하고, 입력과 출력의 대응 관계가 명확하게 드러나도록 구성하는 것을 포함합니다.
대규모 언어 모델(LLM)에서는 인컨텍스트 러닝(ICL)을 효과적으로 활용하기 위한 핵심 전략으로 프롬프트 엔지니어링이 부상하고 있습니다.
이 기술은 모델에 명확한 지시와 맥락을 제공하도록 프롬프트를 정교하게 설계함으로써, 복잡한 작업 수행 능력을 향상시키는 데 기여합니다.
프롬프트 엔지니어링은 종종 퓨샷 러닝(few-shot learning)과 결합되어 보다 강력한 프레임워크를 구성합니다.
몇 개의 예제를 프롬프트에 포함시키면, 모델은 작업 설명을 더 잘 이해하고 정확한 출력을 생성할 수 있게 됩니다.
이는 특히 도메인 특화 데이터가 제한적인 상황에서 유용합니다.
그러나 프롬프트 엔지니어링은 여전히 몇 가지 과제를 안고 있습니다.
프롬프트에 작은 변화만 주어도 출력이 크게 달라질 수 있는 민감성이 존재하여, 전체적인 과정이 불안정할 수 있습니다.
따라서 프롬프트 엔지니어링을 보다 견고하고 다양한 작업에 유연하게 적용할 수 있도록 개선하려는 후속 연구가 필요합니다.
-------------------------------------------------------------------------------------------------------------------------------------------------------
6. 대규모 언어 모델에서의 인컨텍스트 러닝(ICL) 변형 방식
1) 정규 ICL (Regular ICL)
정규 인컨텍스트 러닝은 기본적인 작업(task)-기반 학습 방식입니다.
모델은 사전 학습(pre-training) 과정에서 습득한 의미론적 사전 지식(semantic prior knowledge)을 바탕으로, 인컨텍스트 예제의 형식에 따라 정답 레이블을 예측합니다.
예를 들어 감정 분석 작업이라면, 모델은 “긍정적 감정”과 “부정적 감정”에 대한 사전 지식을 활용해 적절한 레이블을 생성합니다.
2) 레이블 반전 ICL (Flipped-Label ICL)
레이블 반전 ICL은 인컨텍스트 예제의 레이블을 반대로 설정하여 모델의 예측을 더 어렵게 만듭니다.
일부러 잘못된 레이블을 붙여주는?
이 방식은 모델이 기존의 의미론적 사전 지식을 무시하고 입력과 레이블 간의 새로운 매핑을 학습할 수 있는지를 평가합니다.
특히 대규모 모델은 이러한 사전 지식을 뛰어넘어 반전된 레이블에 적응할 수 있는 능력을 보이지만, 소규모 모델은 그렇지 못한 경우가 많습니다.
3) 의미적으로 무관한 레이블 ICL (SUL-ICL, Semantically-Unrelated Label ICL)
SUL-ICL은 인컨텍스트 예제의 레이블을 의미적으로 전혀 관련 없는 단어들로 대체하는 방식입니다.
전혀 상관없는 레이블을 붙여주는?
이 설정에서는 모델이 기존의 의미론적 사전 지식에 의존할 수 없어, 입력-레이블 매핑을 처음부터 학습해야 합니다.
이 또한 대규모 모델일수록 더 잘 수행되며, 이는 모델이 새로운 작업 설명에 대해 유연하게 적응할 수 있는 능력을 의미합니다.
또한, 명령어 튜닝(instruction tuning)은 모델의 입력-레이블 매핑 학습 능력을 높이지만, 동시에 의미론적 사전 지식에 대한 의존도도 강화시킵니다.
이러한 이중적 효과는 명령어 튜닝이 ICL 성능 최적화를 위한 핵심 도구임을 시사합니다.

-------------------------------------------------------------------------------------------------------------------------------------------------------
7. Chain-of-Thought 프롬프트 기법
Chain-of-Thought(COT) 프롬프팅은 대규모 언어 모델(LLM)의 추론 능력을 향상시키기 위한 기법으로, 중간 추론 과정을 프롬프트에 포함시키는 방식입니다.
이 방법은 특히 복잡한 추론이 요구되는 작업에서 few-shot 프롬프트 기법과 결합될 때 효과적입니다.

Q,A를 왼쪽에서는 그냥 바로 answer을 알려주고, 비슷한 Q를 물어봄
오른쪽에서는 풀이과정과 함께 answer을 알려주고 비슷한 Q를 물어보면, 그에 맞춰 풀이과정과 함께 답을 알려준다는거
Zero-shot COT 프롬프팅은 COT 프롬프팅의 확장된 형태로, 기존 프롬프트에 "천천히 단계별로 생각해보자(Let's think step by step)"라는 문구를 추가하는 방식입니다.
이 접근법은 프롬프트에 활용할 수 있는 예시가 부족한 상황에서 특히 유용합니다.
프롬프트:
"나는 시장에 가서 사과 10개를 샀어. 이웃에게 사과 2개를 주고, 수리공에게도 2개를 줬어. 그리고 나서 사과 5개를 더 샀고, 사과 1개를 먹었어. 그럼 나는 사과를 몇 개 갖고 있을까? 천천히 단계별로 생각해보자."
출력:
"먼저, 사과 10개로 시작했어. 이웃에게 2개, 수리공에게 2개를 줬으니 6개가 남았어. 그다음 사과 5개를 더 샀으니 총 11개가 되었고, 마지막으로 사과 1개를 먹었으니 10개가 남았어."
COT 프롬프팅은 In-Context Learning(ICL)과 밀접한 관련이 있으며, 두 기법 모두 대규모 언어 모델이 사전 학습된 데이터를 기반으로 특정 과제를 수행할 수 있도록 한다는 점에서 공통점을 가집니다.
ICL은 few-shot 학습과 프롬프트 엔지니어링에 초점을 두는 반면, COT 프롬프팅은 복잡한 추론을 유도하기 위해 '사고의 흐름'을 강조합니다.
-------------------------------------------------------------------------------------------------------------------------------------------------------
8. In-context learning(문맥 학습)의 실제 활용 사례
In-context learning(ICL)은 대규모 언어 모델(LLM)에서 훈련 없이 새로운 작업에 적응할 수 있게 해주는 혁신적인 접근법으로 떠오르고 있습니다.
이 학습 방식은 다양한 산업 분야에서 활용되며 그 유연성과 잠재력을 입증하고 있습니다.
다음은 ICL이 실제로 활용되거나 앞으로 큰 영향을 미칠 수 있는 다섯 가지 주요 응용 분야입니다:
1) 감정 분석(Sentiment Analysis)
ICL의 힘을 활용하면 모델에 몇 개의 문장과 그 감정(긍정/부정)을 예시로 제공하는 것만으로, 새로운 문장의 감정을 정확하게 판단할 수 있습니다. 이는 고객 피드백 분석, 시장 조사, 소셜 미디어 모니터링 등을 혁신할 수 있습니다.
2) 맞춤형 작업 학습(Customized Task Learning)
기존의 머신러닝 모델은 새로운 작업마다 새 데이터를 사용해 재학습이 필요하지만, ICL은 몇 가지 예시만 보여주면 작업을 수행할 수 있습니다. 이로 인해 시간과 연산 자원이 크게 절약되어, 산업계가 빠르게 변화하는 요구사항에 유연하게 대응할 수 있습니다.
3) 언어 번역(Language Translation)
다국어 문장 쌍 몇 개를 예시로 주면, 모델은 새로운 문장도 번역할 수 있습니다. 이는 글로벌 비즈니스 환경에서 언어 장벽을 허무는 데 큰 도움이 됩니다.
4) 코드 생성(Code Generation)
프로그래밍 문제와 그 해결 코드 몇 가지를 보여주면, 모델은 유사한 새로운 문제에 대한 코드를 자동으로 생성할 수 있습니다. 이를 통해 소프트웨어 개발 속도를 높이고 수작업 코딩을 줄일 수 있습니다.
5) 의료 진단(Medical Diagnostics)
의학적 증상과 진단 사례 몇 가지를 모델에 제공하면, 모델은 새로운 사례에 대한 진단을 수행할 수 있습니다. 이는 의료 전문가가 더 빠르고 정확한 결정을 내리는 데 도움을 줄 수 있으며, 환자에게 신속한 치료를 제공하는 데 기여할 수 있습니다.
ICL은 이러한 실제 사례들을 통해 다양한 분야에서 효율성과 생산성을 향상시키는 데 기여하고 있으며, 앞으로 그 활용 범위는 더욱 확대될 것으로 기대됩니다.
-------------------------------------------------------------------------------------------------------------------------------------------------------
9. 주요 도전 과제 및 한계
1) 모델 파라미터와 규모
ICL의 효율성은 모델의 크기와 밀접한 관련이 있습니다. 작은 모델은 대형 모델에 비해 문맥 학습의 능력이 제한적일 수 있습니다.
2) 학습 데이터 의존성
ICL의 성능은 훈련 데이터의 품질과 다양성에 의존합니다. 데이터가 불충분하거나 편향되어 있다면, 모델 성능이 저하될 수 있습니다.
3) 도메인 특화 문제
LLM은 다양한 작업에 대해 일반화할 수 있지만, 특수한 전문 도메인에서는 한계가 있을 수 있습니다. 이 경우, 도메인 특화 데이터를 추가로 제공해야 최적의 성능을 기대할 수 있습니다.
4) 모델 파인튜닝 필요성
ICL만으로 해결하기 어려운 특수한 작업이나 원치 않는 모델의 특성을 수정하기 위해, 여전히 파인튜닝이 필요한 경우가 존재합니다.
-------------------------------------------------------------------------------------------------------------------------------------------------------
https://www.lakera.ai/blog/what-is-in-context-learning
'AI 논문 > AI trend research' 카테고리의 다른 글
| Paper2Code: Automating Code Generation from Scientific Papers in Machine Learning (0) | 2025.08.21 |
|---|---|
| On the generalization of language modelsfrom in-context learning and finetuning: acontrolled study (0) | 2025.05.22 |
| Chain-of-Thought Prompting 개념 학습하기 (0) | 2025.05.06 |
| RAG(Retrieval-Augmented Generation) 핵심 개념 학습하기 (0) | 2025.05.05 |
| LoRA(Low-Rank Adaptation)에 대한 개념 간단한 학습 (0) | 2025.05.04 |
