arxiv : https://arxiv.org/pdf/2310.03016.pdf
code : X
In-context learning에 대해 나온 논문들 중 엄청 최근에 나온 논문이다. 얼마 전 발표된 ICLR 2024에서 oral paper로 선정되었고, 매주 목요일마다 진행 중인 LLM 스터디에서 내가 발표를 맡기로 해서(고르고 약간 후회했다 ..), 매우 자세하게 리뷰할 예정이다. 아마 이 논문을 완벽하게 이해하면, top-down으로 in-context learning을 공부하는 좋은 스타트가 되지 않을까 생각한다.
Before reading
- 논문 제목을 보고 해당 모델이 어떤 방법론을 바탕으로 할지 가설을 세워봅시다.
- -> Discrete Function을 학습해 Transformer 및 LLM의 in-context learning에 대해 이해하는 논문인 것 같다.
- 논문의 main figure를 보고 전체 흐름을 유추해봅시다.
- 이해되지 않는 파트가 있나요? 있다면 미리 표시해두고 집중적으로 읽어봅시다.
- -> 아래 그림에서와 같이 in-context learning을 이해하기 위해, Boolean Function을 활용한 실험을 진행한 것 같다.
- 이해되지 않는 파트가 있나요? 있다면 미리 표시해두고 집중적으로 읽어봅시다.
1. Introduction & Related Work
- 논문이 다루는 task : in context learning
- Input : {x_1,y_1,x_2,y_2,...,x_n}
- Output : y_n
GPT 3에서 처음 소개된 in-context learning은 많은 NLP의 (혹은 다른) task들을 weight update 즉, 학습 없이 수행할 수 있는 능력 때문에, 큰 주목을 받았다.
그러나 현실세계의 언어 및 문제들은 정의하기 어려운 경우가 많아, 이전의 연구들은 in-context learning을 well-defined setting에서 단순화하여 실험하였다.
- Data distributional properties drive emergent in-context learning in transformers. (Neurips 2022)
- A theory of emergent in-context learning as implicit structure induction. (2023)
- What can transformers learn in-context? a case study of simple function classes. (Neurips 2022)
특히 위 논문은 in-context learning이 나타나는 현상을 이해하기 위해서 아래과 같은 프레임워크를 제시하였다.
- model M이 input으로 받는 prompt는 P_{k} = (x_{1},y_{1},...,x_{k-1},y_{k-1},x_{k})와 같은 형태이고, output은 y_{k}다.
- x_i는 D_x에서 sampling 한 것이고, D_f에서 sampling된 함수 f에 의해 f(x_i) = y_i로 labeling 된다.
- D_x : data Distribution D_f : function distribution
(pretrained) LLM에서 in-context learning을 연구하던 기존 논문들과 달리, 위 프레임워크는 D_x와 D_f에서 각각 sampling한 x_i, f와 함께 scratch로 학습된다.따라서 이는 "learn learning algorithms"같은 meta learning 관점에서 생각될 수 있다.
이렇게 학습된 Transformer는 다양한 predicition 및 regression tasks에서 좋은 성능을 냈다.
위 프레임워크는 유연하고 해석 가능해서 이후 논문들도 이를 채택하여 in-context learning에 대한 연구를 하였다.
- A closer look at in-context learning under distribution shifts. (ICML 2023 workshop)
최근 연구들은 Transformer가 이러한 in-context setting에서 다양한 real-valued function f를 학습할 수 있음을 보여준다.
- In-Context Learning through the Bayesian Prism. (ICLR 2024)
- Transformers learn in-context by gradient descent. (ICML 2023)
이는 자연스레 아래와 같은 질문들로 이어지는데,
(a) Transformer의 in-context learning ability의 한계는 무엇인가?
(b) Attention mechanism은 in-context learning에 필수적인가?
(c) Transformer는 high-quality, informative한 example을 활용하면 더 효율적으로 학습할 수 있는가?
(d) 특정 task에 대해 명시적으로 훈련되지 않은 LLMs이 in-context learning 내에서 중요한 learning 알고리즘을 구현할 수 있는 능력은 어느 정도인가?
본 논문에서는 위 네가지 질문에 대한 답을 찾기 위해 다양한 Boolean functions을 활용하여 광범위한 실험을 진행한다.
Boolean functions은 learning theory에서 많이 사용되는 함수로, 다양한 함수들의 복잡성과 학습 가능성이 이미 잘 알려져있어 채택하였다. 또한 real-valued function과 달리 discrete valued input은 LLMs에 적용하고 테스트하기에 더 적합하다.
논문의 main contribution의 키워드는 아래와 같다.
1) In-context learning Boolean functions.
2) Teaching Sequences.
3) Investigation with LLMs.
좀 더 자세하게 살펴보자.
1) In-context learning Boolean functions.
scratch로 학습된 Transformer는 다양한 Boolean function classes에서 좋은 성능을 냈지만, 좀 더 "복잡한" function에서는 성능이 하락하였다. 특히, parities를 학습할때는 random guessing만큼이나 성능이 좋지 못했다.
그러나, 이미 알려진 알고리즘은 동일한 크기의 데이터셋에서 거의 완벽하게 수행할 수 있다.
-> 이미 알려진 알고리즘이 뭘 의미하는거지...? -> PAC algorithm in Conjunction / Disjunction / etc ..
또한 sub-quadratic inference를 위해 제안된 transformer 대안의 성능을 평가한다.
-> transformer의 대안 is what? -> Hyena와 같은 최신 아키텍쳐(attention-free)
이러한 모델들은 대부분의 task에서 transformer의 성능과 일치하지만, 몇몇 task에서는 아직 차이가 남아있다.
-> transformer is better? or worse? -> transformer is better!
💡 Parities (Parity function)란?
Boolean algebra에서 입력 벡터에 홀수 개의 1이 있는 경우에만 값이 1인 함수를 의미한다.
(즉, 1110000 -> 1 이고, 11010001 -> 0, 10000000 -> 1, 00001010101010 -> 1 이런식)
2) Teaching Sequences.
함수 클래스의 경우, teaching sequence는 해당 함수를 고유하게 식별할 수 있는 예제들의 시퀀스다.
-> teaching sequence는 어떻게 찾는가?
본 논문의 결과에 따르면, Transformer는 이러한 매우 유익한 sequence로 학습할때, sample-efficient 알고리즘을 더 많이 학습할 수 있는 능력이 있다.
특정 task의 경우 하나의 Transformer가 두 가지 알고리즘을 학습하고, context sequence에 따라 두 알고리즘 중 하나를 동적으로 선택할 수 있음을 보여주었다.
즉, input에 teaching sequence가 있으면, sample-efficient version을 사용하고, 그렇지 않은 경우 sample-efficiency가 낮은 알고리즘으로 돌아간다.
3) Investigation with LLMs.
최근 연구들의 목표는 LLMs이 in-context examples을 사용하여 새로운 task를 학습할 수 있는지를 이해하는 것이다.
그러나 LLMs이 pre-training 중에 학습한 task list에서 단순히 indexing하는 것이 아니라 learning algorithm을 직접 구현할 수 있는지 여부는 여전히 명확하지 않다.
이에 본 논문에서는 두가지 다른 방식으로 pretrained LLMs의 성능을 조사한다.
첫째, GPT-2 model의 input embedding layer만 학습시키고 나머지 부분은 frozen시킨다.
둘째, discrete input을 사용하므로 bit token을 직접 제공해 LLMs의 성능을 테스트 한다.
또한 sample x 및 function f가 large combinatorial space에서 샘플링된다는 것을 감안하면, 이 모델들이 in-context examples만으로부터 학습된다는 것을 사실상 보장한다.
2. Setup for in-context learning
In-context learning
- What can transformers learn in-context? a case study of simple function classes. (Neurips 2022).
위 paper의 setting을 대부분 따른다.
Sequence Model M은 N개의 sequence로 학습되고, 각각의 Sequence는 라벨링된 example (x_1,y_1,x_2,y_2,...,x_m,y_m) 으로 구성된다.
모델 M은 일반적인 LM처럼 next token prediction으로 학습되지만, 각각의 alternate token에만 집중한다.
즉 y_k^hat과 y_k로 loss를 구하는데, y_k^hat을 구하는 과정에서 x1,y1 -> x2 이런 것들은 고려하지 않고, x1,y1,x2 -> y2 처럼 임의의 x_i에 대응되는 y_i(alternate token)만 고려하겠다는 의미이다.
이때, N개의 training sequence는 어떻게 생성할까?
위에서 언급했듯 D_x에서 m개의 i.i.d. point x를 sampling한다. (x_1,x_2,x_3,...,x_m)
그런 다음 D_f로부터 f를 샘플링하여 (x_1,f(x_1),x_2,f(x_2),...,x_m,f(x_m))을 만든다. 이 과정을 N회 반복하면 된다.
N개의 sequence에 대한 Loss function은 아래 식과 같다.
(본 논문에서는 Boolean function을 주로 사용하기 때문에 0 or 1을 입력으로 받아 0 or 1을 output으로 예측하는 시퀀스 형태로 만들었다.)
또한 모델 M은 충분히 큰 K에 대해서도 높은 확률로 function F의 클래스를 학습할 수 있다고 하는데, 이를 식으로 표현하면 아래처럼 표시된다.
해석해보면, Prompt P_k는 D_x와 D_F로 부터 sampling되고(결국 x와 f만 있으면 N개의 sequence를 생성할 수 있으므로), (prompt P_k가 들어왔을때,)Model의 output M(P_k)와 정답(f(x_k))가 다를 확률이 epsilon 이하라는 의미다.
통상적으로 epsilon은 매우 작은 값을 나타내므로 model의 output과 정답은 거의 같다라는 의미이다.
여기서 주의할 점은, Model M은 single target function f를 학습하는 것이 아니다. (f는 sampling되는 것이기 때문)
즉, 각각의 sequence가 하나하나의 task이고, model은 이러한 task의 학습 알고리즘을 학습한다.
Models.
총 다섯가지 모델에 대해 실험한다.
- Transformer (main)
- LSTM (recurrenct model)
- DSS (state-space model)
- Hyena (long convolutional model)
- RetNet (hybrid model)
5가지 모델은 모두 위와 같은 setting을 따른다.
(x_1 -> y_1^hat predict -> y_1과 y_1^hat loss -> x_2 -> x_2^hat predict ... )
Training.
- crossentropy loss
- scratch training
- various depth(1~16) and widths + hyperparameter tuning
3. In-context Learning Boolean Functions
이 섹션에서는 AR 모델이 다양한 Boolean function들을 in-context 내에서 학습할 수 있는지 살펴봐보자.
실험의 목적은 크게 아래 두 질문에 답하는데에 있다.
1) Transformer가 학습할 수 있는 Boolean Function의 클래스는 무엇이며 그 한계는?
2) In-context learning에 attention이 꼭 필요한가? 또한 attention mechanism이 없는 모델과 Transformer의 능력에는 어떤 차이가 있는가?
(사실 요즘 in-context learning과 관련된 논문들을 읽어왔던 이유는 2번 질문에 대한 답을 찾기 위함이다.)
Tasks.
본 논문에서 실험에 사용한 대표적인 Boolean function의 class들은 아래와 같다. (총 12개의 class 사용)
1) Conjunctions and Disjunctions
2) DNFs and CNFs
3) Parities
(이 외에도 Sparse Disjunctions, Sparse Majority, 0-1 Threshold Function, The Nearest Neighbour task 가 있는데 Appendix C.1 참고)
하나씩 자세히 살펴보자.
1) Conjunctions and Disjunctions task
Conjunctions은 논리곱으로 어떤 input의 값들이 모두 True일때 True를 return하는 것이고,
Disjunctions은 논리합으로 input들 중 하나라도 True면 True를 return하는 함수이다.
input domain X_n에서 각 x ∈ X_n는 x_i 혹은 이것의 부정 x_i_bar로서 나타난다.
예를들어, 위와 같은 Conjunction이 있다고 해보자.
x_6는 bar가 붙어있으므로 부정 즉 값이 0이여야하고, x_2와 x_7은 값이 1이여야한다.
즉, x_2와 x_7은 1이고, x_6은 0이여야 이 conjunction의 output으로 1이 출력되는 것이다.
Disjunction을 예시로 살펴보면, 위와 같이 V 모양으로 표시하는데, 세가지의 조건(x_2 = 1, x_6 = 0, x_7 = 1) 중 하나만 만족하면 output으로 1이 출력된다.
2) DNFs and CNFs
DNF는 하나 이상의 conjunction의 disjunction이 있으면 DNF이다.
위 f(x)에서 z_{1,1}부터 z_{1,k_1}까지가 하나의 conjunction이고 이것이 disjunction (V)으로 되어있다.
CNF는 이와 반대로 하나 이상의 disjunction의 conjunction을 의미한다.
특히 여기서는 3-term DNFs와 3-clause CNFs를 사용했다고 한다.
Conjunctions과 Disjunctions을 사용하면 비교적 간단한 분류 규칙만 정의할 수 있지만,
DNF와 CNF를 사용하면, 보다 복잡한 분류 규칙을 정의할 수 있다. 즉, DNF/CNF가 더 어려운 task다.
3) Parities
Parities는 쉽게 말해서 홀짝문제로, 홀수개의 1이 있으면 1을 출력하고, 그렇지 않으면 0을 출력한다.
기호로는 아래와 같이 나타나는데, 이때 ⊕는 XOR(exclusive or) 연산자로, 둘 중 하나만 True면, True를 return한다는 의미이다.
예) 위 식에서 x1, x2, x3, x4, x5 = 1, 1, 0, 1, 0 이라고 하면,
x1(1) ⊕ x2(1)= 0
0 ⊕ x3(0) = 0
0 ⊕ x4(1) = 1
1 ⊕ x5(0) = 1
즉, 1의 개수가 총 3개(홀수)로 output이 1이여야 하는데, 하나씩 연산을 진행해서 구해지는 값도 1임을 알 수 있다.
Parity-n class는 가능한 2^n개의 가능한 Parity function이 있고, Parity-(n,k)는 n개 중 k개의 변수만을 선택한 parity function을 의미한다.
예) Parity-(4,2) 즉이고 인 경우를 살펴보자.
n개의 boolean 변수 x1,x2,x3,x4가 있다. k=2이므로 이 중 2개의 변수가 해당 Parity 함수에 관련이 있다.
즉, Parity-(4, 2) class에서의 함수는 이러한 4개의 변수 중에서 2개의 관련 변수를 가지는 Parity function이다.
예를 들어, x1과 x3이 관련 변수로 선택된다면, 이 클래스에 속하는 함수는 x1⊕x3 형태를 가질 것이다.
따라서 Patiry-(4, 2) class에 속하는 총 6개(4C2)의 함수 중 하나는 x1⊕x3인 것이다.
Sampling data and functions.
conjunction/Parity와 같은 task에 대해 function과 m개의 boolean inputs을 sampling
대부분의 경우 0 or 1 각각이 1/2씩으로 uniform하게 뽑지만 3-term DNF와 같은 task는, uniform 분포 하에서 null accuracy가 거의 1이 되기 때문에, input distribution을 조정.
-> 3-term DNF의 경우 disjunction이 가장 바깥의 연산이므로, term들 중에 하나라도 True가 있으면 True를 return하기 때문에 거의 1에 가깝게 된다.
Results
Transformer는 Boolean function에 대해 다양한 성능을 보인다. (어떤 class냐에 따라 다르다)
- 거의 완벽한 정확도 (> 95%) : 간단한 simple classes of function(Conjunction / Disjunction)
- 베이스라인보다 나은 성능 but under 95% : Majority, 0-1 Threshold
- 랜덤하게 찍는 것 보다 낮은 성능 : Parity
Conjunction/Disjunction과 같은 간단한 task의 경우 Transformer의 성능이 FFN 및 PAC algorithm과 거의 동일하다.
아래 그림에 따르면 가장 어려운 task인(성능이 안 좋은) Parity class는 FFN으로 학습시켰을때 140개의 example만으로 좋은 성능을 낼 수 있다. 즉, Trasnformer가 Parity를 잘 학습하지 못하는 것은 in-context example의 수가 부족해서 그런것이 아니다.
Transformers vs other Architectures.
Transformer와 다른 아키텍쳐를 비교해보면, attention-free model들도 Transformer만큼 잘 작동하는 것을 볼 수 있다.
Conjunction / Disjunction 등의 task에서 LSTM과 같은 recurrent and long-convolution models도 in-context property가 나타난다. 0-1 Threshold function은 RetNet과 DSS가 transformer보다 성능이 떨어진다.
Transformer와 가장 성능이 비슷한 모델은 Hyena인데, Nearest Neighborhood를 제외한 모든 task에서 transformer와 비슷한 성능을 낸다. 즉, 꼭 attention base model이 아니여도 in-context learning을 수행할 수 있다. (단, 성능은 조금 떨어짐)
4. In-context Learning with Teaching Sequences
Premise.
이 섹션에서 해결하고자 하는 핵심 질문은 바로 아래 질문이다.
Q. Can sequence models find learning algorithms which are more sample-efficient when they are provided with a more informative sequence of examples?
즉, 더 sample-efficient한 example로 구성된 sequence(=teaching sequence)가 입력으로 들어오면 model은 learning algorithms을 더 잘 찾을까?
Teaching Sequences.
teaching sequence는 function f를 명확하게(unambiguously) 학습할 수 있는 sequences(x1,y1,...,xm,ym)들 중에, 가장 짧은 sequence를 말한다. (정확히는 example이 여러개 있는 set의 개념이다)
자연스럽게 드는 의문은, 이러한 teaching sequence를 어떻게 찾아 낼(만들어 낼)것이냐는 건데, 논문의 Appendix F에 각 task별로 teaching sequence를 생성하는 방법이 자세하게 나와있으니 궁금한 사람은 참고하면 좋을 것 같다.
Experimental Setup.
실험 설정은 이전과 거의 동일하고, training과 evaluation에서, 처음 t points는 target function의 teaching sequence이다.
그리고 그 다음 m-t개는 D_x로 부터 sampling되었다.
Tasks.
Conjunctions / Disjunctions / CNF / DNF / Sparse Parity의 총 5가지 task를 수행하였다.
Transformers succeed in learning from Teaching Sequences.
결론적으로, Transformers는 성공적으로 Teaching Sequences을 학습하여 완벽한 accuracy를 달성했다.
아래 그림(Figure2)은 teaching sequence를 포함하는 첫 t개의 point를 받은 후의 transformer와 기준선의 정확도 곡선을 보여준다.
Figure 16에서 보면, FFN은 Teach Conjunction만 주어졌을때, 정확하게 예측을 못하는 반면, transformer는 정확하게 예측하고있다. 이를 보면, 일반적인 알고리즘보다 훨씬 더 적은 수의 예제로도(teaching sequence) 모델이 완벽하게 예측할 수 있다는 것을 알 수 있다.
FFN은 높은 수의 정확도로 예측하기 위해 teaching sequence외에 추가적인 points가 필요하다.
Two distinct algorithms to learn one task.
한 가지 신기한 점은, Transformer는 Conjunctions을 학습하기 위해 서로 다른 두 알고리즘을 학습하는 것으로 보인다.
[Figure 3 왼쪽]
training : train to perform in-context learning with Conjunctions in the vanilla setting without teaching sequences
test : teaching sequences가 포함된 examples(또는 prompts)로 테스트
트랜스포머는 teaching sequences 를 활용하지 못하고 정확한 예측을 위해 더 많은 예제를 필요로 하는 것을 볼 수 있다.
-> standard conjunction으로 학습한 알고리즘은 sample-efficient가 떨어지더라도 teaching sequences가 있는 예제에서 여전히 작동한다.
[Figure 3 왼쪽 중앙]
training : train to perform in-context learning with Conjunctions in the vanilla setting with teaching sequences
test : teaching sequences가 없는 examples(또는 prompts)로 테스트
-> learning algorithm이 teaching sequences가 포함된 첫 번째 t개의 examples에 의존하기 때문에 성능이 좋지 않다.
-> 이러한 결과는 학습 중에 제공되는 입력의 분포에 따라 모델이 두 가지 다른 알고리즘을 학습할 수 있음을 나타낸다.
[Figure 3 오른쪽 공통]
training : train with mixture of examples with and without teaching sequence
(sample an example with a teaching sequence with probability 1/2 and vice versa(without teaching sequence))
teaching sequences 가 포함된 예제와 포함되지 않은 예제 두 가지 task에 대해 모델을 개별적으로 평가
그 결과, 동일한 Transformer 모델이 두 작업 모두에서 거의 최적의 성능을 낼 수 있다는 것을 알 수 있었습니다.
[Figure 3 오른쪽 중앙]
teaching sequence가 없는 examples가 제공되면 Conjunction task만 학습한 모델처럼 작동한다.
[Figure 3 오른쪽]
teaching sequence가 제공되면 Teach Conjunction task만 학습한 모델처럼 작동한다.
이는 트랜스포머가 Conjunction에 대한 두 가지 학습 알고리즘을 학습하고 in-context examples의 순서에 따라 최적의 알고리즘을 구현할 수 있음을 나타낸다. 이는 동일한 task를 해결하기 위한 데이터 분포와 관련하여 별도의 학습 알고리즘을 찾을 수 있는 신경망 시퀀스 모델의 다양성을 강조한다.
* 한가지 드는 의문은 이게 왜 두 알고리즘을 학습하는 것인지 잘 와닿지 않을 수 있는데, 이에 대해 오픈리뷰에 리뷰어가 한 질문이 있고, 저자의 답변을 읽어보면 더 명확히 이해가 될 것 이다.
5. Investigations with Pretrained Models.
Premise.
기존의 연구들 중에 Transformer로 in-context learning에 대해 조사한 연구는 많지만, 이러한 결과가 LLM과 어떻게 관련이 있는지는 분명하지 않다. (LLM의 input,output이 실수가 아니라 discrete value)
따라서 본 논문에서는, 이에 대한 실험을 두 가지 세팅에서 진행하고, 이때 설정하는 discrete boolean function은 매우 큰 space에서 sampling하므로, training process에서 암기하는 것이 아니라 학습하는 것이라고 가정한다.
두 가지 세팅은 각각 Frozen GPT와 Direct Evaluation으로,
Frozen GPT는 이전 연구들의 ICL setting과 가깝고,
Direct Evaluation은 LLMs의 실제 사용에 가깝다.
(Direct Evaluation은 쉽게 말해 그냥 chatgpt같은 LLM을 가져다가 바로 test해본 것이다.)
(a) Frozen GPT.
(pretrained) GPT-2를 baseline으로 사용하였고, 모델의 처음과 끝 부분에 trainable한 입력 및 출력 layer를 추가하였다.
pretrained GPT-2는 frozen시킨 상태로, trainable layer만을 train하여 Equation 1의 objective를 최소화하였다.
결과는 이와 동일한 training process를 거치면서 random하게 initialize된 Transformer model의 성능과 비교합니다.
이 setting의 목표는 large text pre-training이 Transformer model에 어떤 능력을 부여하여 in-context에서 learning algorithm을 구현할 수 있게 하는지 이해하는 것이다.
(b) Direct Evaluation.
여러 LLMs(GPT-4, GPT-3.5-Turbo, LLaMA-2-70B)를 Boolean function을 학습하는 task에 직접적으로 평가한다.
이 setting에서 각 input example은 각 value가 0 or 1인 token sequence로 제공된다.
model의 parameter는 고정시키고, 간단한 프롬프트를 사용하여 모델에게 두 부분으로 구성된 프롬프트를 제공하여 모델을 평가한다다.
첫 번째 부분은 모델에게 learning algorithm으로 작동하고 최종 input에 해당하는 label을 예측하도록하는 instruction이며,
두 번째 부분에는 일련의 input sequence 및 각각에 해당하는 label이 포함된다.
모델의 prediction 성능을 평가하기 위해 다양한 길이의 프롬프트 (즉, 다양한 수의 in-context examples)로 실험을 100회 반복한다.
Results : LLMs perform at least as well as nearest neighbors
Results with Frozen GPT.
Figure 4는 Conjunctions의 성능을 보여준다.(Disjunctions도 거의 비슷)
GPT-2는 Nearest Neighbor baseline보다 상대적으로 더 나은 성능을 발휘하며 randomly initialized model보다 훨씬 더 나은 성능을 발휘한다.
그러나 여전히 위에서 언급한, fully trainable Transformer로 얻은 거의 완벽한 정확도에는 미치지 못한다.
GPT-2 can implement Nearest Neighbor.
Transformer의 가중치가 동결되고 훈련 과정 중에는 입력 임베딩 및 출력 레이어만 업데이트되기 때문에 NN 및 Conjunctions와 같은 작업을 해결하기 위한 메커니즘은 언어 데이터에 대한 사전 훈련 중에 배워졌어야 한다.
또한, 동일한 크기의 Transformer의 weight가 randomly initialized되면 찍기 수준의 정확도를 넘지 못한다.
Results with Direct Evaluation.
모든 LLMs의 Conjunction 및 Majority 작업에 대한 성능은 다양한 차원 수로 제공됩니다. 모든 모델이 NN baseline 동등하거나 더 나은 성능을 보였다.
이 설정에서 LLM은 직접 프롬프트를 제공할 때 task(Conjunction)에 대해 본질적으로 알지 못합니다.
n = 7인 경우에도 2^128개의 boolean function이 있으므로 in-context learning problem는 여전히 어렵고 이러한 모델의 관찰된 성능은 인상적이다.
Future works
- (a) Can LLMs leverage more informative examples to sample-efficiently learn practical tasks in-context?
- (b) What aspects of the pretraining process of LLMs lead to their ability to implement learning algorithms since they are not primarily trained in the meta-learning-like framework?
- (c) What are the theoretical limitations behind the difficulty of learning Parities in the in-context learning setting?
- (d) What are the mechanisms that various architectures (attention, recurrence, and convolution) use to learn tasks using different operations?
읽는데 생각보다 많이 어렵고 오래 걸렸던 논문 .. in-context learning 자체보단, 실험 setting 및 boolean function task에 대한 이해를 하는데 더 많은 시간이 걸렸던 것 같다. 그래도 읽으면서 매우 잘 쓰여진 논문이라는 생각이 들었다.
(각 task들 설명만 좀 더 자세히 (그림과 함께) 해주지 ...)
댓글