With the scaling of model size and data size
Learning from a few examples in the context
ICL requires a pormpt context containing a few examples written in natural language templates. Taking this prompt and a query as the input, large language models are responsible for making prediction.
새로운 패러다임으로써, ICL은 다수의 attractive advantages를 가지고 있음.
첫 번째, demonstration을 natural language로 작성할 수 있음.
두 번째, in-context learning은 analogy로부터 학습을 수행하는 인간의 의사결정 과정과 유사함.
세 번째 supervised learning과 다르게, ICL은 training-free learning framework를 가짐.
-이것은 computational costs (for adapting the model to new task)를 상당히 줄일 뿐만 아니라
이러한 유망함에도 불구하고 여기에는 ICL에 대한 더 많은 investigation을 요구하는 interesting question과 intriguing properties들이 남아있음.
이전 연구에 따라, 우리는 formal definition of in-context learning을 제시함.
In-context learning is a paradigm that allows language models to learn tasks given only a few examples in the form of demonstration.
공식적으로, query input text 와 a set of candidate answers 이 주어졌을 때, pre-trained language models 은 maximum score를 가진 candidate answer를 prediction으로 결정함. (conditioned a demonstration set )
는 optional task instruction 와 demonstration examples를 포함함.
여기서 은 task에 따라 자연어로 작성된 example들임.
Candidate answer 의 likelihood는 socring function 로부터 계산됨. (whole input sequence에 대해)
prompts가 templetes들로 discrete될 수 있거나 soft parameters가 model이 desired output을 예측하는 것을 도울 수 있음.
ICL은 prompt tuning의 subclass 정도로 분류될 수 있으며, 여기에서 demonstration examples는 prompt 중 하나의 파트임.
사전 연구에서 prompt learning에 대한 서베이를 진행했지만 이 연구에 ICL은 포함되지 않았음.
Prompt learning
Pre-trained Language Model을 특정 Task에 맞게 최적화 하기 위해 모델에 입력으로 주어지는 Prompt를 조작하여 원하는 출력을 유도하는 방식을 연구하는 분야로, 크게 다음과 같은 두 가지 방식을 활용
a) Discrete templates: 명시적인 텍스트 형태의 프롬프트를 최적화
b) Soft parameters: 학습 가능한 연속적인 벡터 형태의 프롬프트를 최적화
이와 달리 ICL은 자연어로 작성된 demonstration (with task instruction, few examples)를 통해 task를 최적화하는 방식으로, few-shot / zero-shot 환경에서 어떻게 더 잘 프롬프트를 구성할 수 있을까에 초점을 맞춤.
이는 descrete의 templates의 한 일종으로 볼 수 있으므로, 논문에서는 subclass에 포함될 수 있다고 표현하였음. 어쨌든 결과적으로는 prompt learning(혹은 tuning)이 더 큰 개념으로 사용됨.
In-context pretraining: Language modeling beyond document boundaries. In The Twelfth International Conference on Learning Representations (2024)
ICL ability를 향상시킬 수 있는 또 다른 방법은 continual training stage를 pretraining과 inference사이에 추가하는 것임. (그리고 우리는 이걸 model warmup for short라고 부름)
Warmup은 optional procedure for ICL임. 그리고 이건 LLM inference전에 adding parameters들을 수정함으로써 LLM을 조정함.
대부분의 pretraining data가 ICL에 맞게 구성되지 않기 때문에, 연구자들은 various warmup strategies를 도입했음. 이 pretraining과 ICL inference간의 격차를 극복하기 위해.
이전 연구에서는 연속적으로 LLMs을 broad range of tasks들에 대한 multiple demonstration examples들로 대해 finetune하는 방법을 제안하였으며, 이는 ICL abilities를 boost시켰음.
또 다른 연구에서는 모델이 context의 input-label을 mappings하는 능력을 향상시키기 위해 symbol tuning 기법을 제안하였음. 그리고 이것은 자연어 기호(positive/negative sentiment)를 임의의 심볼(too/bar)로 대체하는 방법을 제안하였음.
Symbol tuning improves in-context learning in language models. (EMNLP, 2023)
또 다른 연구는 downstream task의 raw text를 ICL 포맷으로 일치시키기 위한 self-supervised method를 제안하였음.
Improving in-context few-shot
learning via self-supervised training. (ACL, 2022)
이하 부분 약간 생략
demonstration selection은 다음과 같은 근본적인 질문을 해결하는 것을 목표로 함.
What samples are good examples for ICL
우리는 관련 연구들을 두 가지 접근법으로 나누어서 설명하고자 함.
off-the-shelf retrievers가 extensive NLP 테스크를 위한 편리한 서비스를 제공하고 있음에도 불구하고, 이것들은 휴리스틱하고 sub-optimal함. 왜? 이것들이 task-specific supervision이 부족하기 때문에.
이를 해결하기 위해, 많은 supervised method들이 개발되어 왔음.
EPR (2022)는 demonstrate selection을 위해 dense retriever를 훈련하기 위한 two-stage method를 제안함.
EPR에 따라, 다른 연구는 통합된 demonstration retriever를 채택하였음. 이는 different tasks들에 따른 demosntrations을 선택하는 역할을 함.
이전 연구와 다르게, (individual demonstrations을 반환했던) 또 다른 연구는 전체 demonstratios set을 반환하는 방법을 선택함. 이러한 방식은 모델이 example간 inter-relationships을 고려할 수 있게 함.
추가적으로, 다른 연구는 AdaICL을 제안하였으며, 이는 model-adaptive method로, 여기에서 LLM은 unlabeled data set을 예측함으로써 uncertainty score for each instance를 생성하도록 함.
맨 마지막 uncertainty score 관련 논문
Which examples to annotate for in-context learning? towards effective and efficient selection (CoRR, 2023)
직접적으로 training data로부터 examples를 선택하기 위한 또 다른 연구 트렌드는, LLMs을 이미 존재하는 demonstrations들의 representation을 reformat하는 데 활용하는 것임.
예를 들어, Kim et al., 2022) 연구는 LLM으로부터 demonstrations을 직접적으로 generation하는 방식을 선택함으로써 external demonstration data에 대한 의존성을 줄였음.
Self-generated in-context learning: Leveraging autoregressive language models as a demonstration generator. ArXiv preprint, abs/2206.08082 (2022) - 서울대학교 논문 (한 번 읽어보면 좋을 듯)
또 다른 연구는 Structured Prompting을 제안하였음. 이는 demonstration examples들을 개별적으로 인코딩함. (with special positional embeddings) 그리고, rescaled attention mechanism을 사용해 test example에 이것들을 제공함.
이러한 방법론들로부터 벗어나(diverging from these methods) 다른 접근방법은 latent representation of demonstrations을 수정하는 것에 초점을 맞춤. 구체적으로, 한 연구는 In-Context Vectors (ICVs)를 LLM내의 demonstration examples의 잠재적 임베딩들로부터 만들고, 이 ICV들을 inference동안 latent states of the LLM을 조정하는 데 사용함.
이를 통해 model의 demonstrations을 follow하는 능력들을 보다 효과적으로 강화할 수 있었음.
In-context vectors: Making in context learning more effective and controllable through latent space steering. (2024)
demonstration을 format하기 위한 흔한 방법은 concatenating examples임 (with a template 에 직접)
그러나, complex reasoning을 필요로 하는 몇몇 테스크에서는 (e.g., math word problems, and commonsense reasoning) 오직 demonstration만으로는 에서 를 매핑하는 함수를 학습시키기 어려움. (어~~ 나도 그래~~!)
template engineering이 prompting안에서 연구되고 있는 가운데, 몇몇의 연구자들은 instuction 와 함께 task를 describing함으로써 ICL을 위한 demonstations의 포맷을 더 잘 디자인하는 방법에 초점을 맞춰왔음.
한 연구는 몇개의 demonstration examples가 주어졌을 때, LLM이 task instruction을 그들 스스로 생성할 수 있다고 보았음.
Instruction induction: From few
examples to natural language task descriptions. (ACL 2023)
LLMs의 generation abilities들을 고려하면서, 다른 연구는 Automatic Prompt Engineer를 개발하였음. 이는 automatic instruction generation and selection을 함.
Large language models are human-level
prompt engineers (ICLR 2023)
더 나아가 자동으로 생성되는 instruction의 퀄리티를 향상시키기 위해 몇개의 전략은 LLM을 그것의 own generation을 boostrap off하는 데 사용하였음.
Self-instruct: Aligning language models with self-generated instructions. (ACL 2023)
Grimoire is all you need for enhancing large language models (CoRR, 2024)
추가적으로, Chain-of-thought (CoT)는 intermediate input과 output간의 reasoning steps를 도입하여 problem-solving 및 comprehension을 강화하였음.
이외의 최근의 많은 연구들은 LLM의 step-by-step reasoning의 강화를 강조하고 있음.
How to transform the predictions of a language model into an estimation of the likelihood of a specific answer
ICL을 이해하기 위해, 최근의 연구들은 무엇이 ICL 퍼포먼스에 영향을 주는지, 그리고 왜 ICL이 동작하는지에 대한 연구를 수행하기 시작했음.
What influence ICL performance / Why ICL works
이 섹션에서 influencing factors, learning mechanisms of ICL에 대한 상세한 설명을 제공하고자 함.
랩세미나 논문 여기에 있다~ 여기 맥락에 있다~ 찾았다...
ICL의 맥락에서 이는 모델의 파라미터를 변경하지 않고 입력을 통해 모델의 성능을 향상시키는 것을 의미
ICL안에서 demonstration의 사용은 두 가지 어려움(challenge)을 도입함.
이전 연구에서는 이 이슈들을 완화하고자 lengthy demonstration을 compact vector로 distil하려고 했으며 LLM의 inference time을 늘리고자 하였음.
그러나, 이러한 방법들은 종종 trade-off in performance를 야기하거나, 모델 파라밑 ㅓ에 대한 필수적인 접근을 요구함. 그리고 이것은 closed-source-model (like ChatGPT, Claude)에 대해 impractical함.
그러므로, ICL의 scalability and efficiency를 높이는 것 (with more demonstration) 남은 해결해야 할 도전과제들임.