Many-Shot ICL으로 달라진 점과 함께 PEFT와 비교합니다. # 39 위클리 딥 다이브 | 2024년 5월 15일 에디터 배니 |
|
|
💡 이번주 뉴스레터에는 이런 내용을 담았어요!
- PEFT와 ICL를 비교한 2022년 논문을 리뷰했습니다.
- Many-Shot ICL과 관련된 새로운 연구들을 소개합니다.
- ICL과 PEFT의 특징과 함께 상황별 모델 활용법을 정리했습니다.
|
|
|
안녕하세요, 에디터 배니입니다.
지난주 뉴스레터에서는 ‘🤔 ICL과 PEFT 중 어떤 것이 더 좋을까?’ 의문을 던지고 ICL과 PEFT를 이해하는 데 필요한 개념(🔗 링크)을 정리해봤습니다. 파인튜닝이 무엇이고, In-Context Learning, PEFT가 어떤 특징들을 갖고 있는지 소개 드렸는데요.
두 분야가 서로 다른 목적을 가지고 발전해왔지만, LLM의 발전과 함께 개인 수준의 활용 목적으로 무엇이 더 효율적인가에 대한 다양한 의견이 제시되고 있습니다. 이번주 뉴스레터에서는 ICL와 PEFT 방법론에 대한 비교 연구를 몇 가지 살펴보겠습니다. |
|
|
연구진은 실험을 위한 기반 모델로 T0(11B)를 선정했습니다. T0는 2019년 Google이 발표한 T5 모델을 기반으로 파인튜닝한 모델인데요. 프롬프트 형태를 통해 멀티태스크 데이터셋을 학습하고, 일반적인 상황에서 Zero-Shot 성능을 높인 것이 특징입니다. |
|
|
연구진은 T0에 적용할 PEFT 방법론으로 (IA)^3를 새롭게 제시합니다. 이는 중간 단계의 활성화 함수에 학습된 벡터(Learned Vector)를 곱하는 방법입니다. (IA)^3는 Full Fine-tuning보다 1만 배 이상 적은 파라미터를 업데이트 하면서 동시에 더 좋은 성능을 보인다고 합니다.
또한 학습을 위해서 새로운 손실 함수(Loss Function)를 도입했는데요. 수학적인 내용이 나오는 만큼 간략하게 설명하자면, 정답이 아닌 것에 대한 확률을 낮추도록 하고(Unlikelihood Loss), 문장의 길이에 따른 성능 차이가 생기지 않도록 토큰 길이를 정규화(Length-Normalized)하여 평가할 수 있게 했습니다. 이렇게 T0에 새로운 손실 함수를 도입해 (IA)^3로 학습한 모델을 ‘T-Few’라고 부릅니다.
실험을 위해 적은 데이터에 대해 파인튜닝한 T-Few 모델의 결괏값과 당시 최고 성능을 보이는 모델 GPT-3를 비교했습니다. 실제 실험은 다양한 데이터셋에 대해 20-70개의 예제를 학습 / 입력해 비교했는데요. T0에서는 ICL 결과가 오히려 성능을 저하시켜, T0의 Zero-Shot 성능만 비교했고, GPT-3는 공개되지 않았기 때문에 논문에 있는 결과를 빌려왔다고 합니다. |
|
|
왼쪽 그림은 다양한 PEFT 방법론과 비교한 결과를 나타내고 있고, 오른쪽 그림은 GPT-3, T0, 그리고 T-Few를 비교한 결과를 보여줍니다. 새롭게 제시한 (IA)^3의 성능이 다른 PEFT 방법론보다 더 좋은 성능을 보이고 있고, 이를 기반으로 학습한 T-Few 모델이 ICL을 적용한 GPT-3보다 더욱 좋은 성능을 보이는 동시에 연산량은 1,000(10^3)배 가량 적은 것을 알 수 있습니다. 추론 시 캐싱을 활용하면 41배 정도 줄어들기는 하지만 여전히 T-Few에 비해서는 높은 수치입니다.
물론, ICL은 더 긴 토큰을 처리해야 하기 때문에 추론 시 연산 비용이 높은 것은 당연합니다. 반면 PEFT 방법론을 활용할 때는 학습할 때 비용이 발생하죠. 하지만 학습할 때 드는 비용조차 20개의 예제를 입력한 ICL만큼밖에 들지 않는다는 게 연구진의 설명입니다. |
|
|
판도를 바꾼 Many-Shot Learning |
|
|
그러나 위의 실험은 2022년에 진행된 실험인 데다가, T0를 기반 모델로 하여 GPT-3와 비교한 논문입니다. 특히 최근에는 긴 문맥(Long Context)을 한 번에 이해하는 모델들이 등장하면서 Many-Shot ICL이 가능해졌습니다. Many-Shot의 수에 대한 절대적인 기준이 있는 것은 아니지만 수 백개 이상의 예제를 가리킵니다. (논문에서는 최대 8,092개의 예제를 활용합니다.)
지난 4월, Google DeepMind에서는 Many-Shot ICL에 대한 체계적인 분석을 진행한 <Many-Shot In-Context Learning> 논문을 발표했습니다. 우선, Many-Shot이 Few-Shot에 비해 좋은 성능을 보이는지 비교해봐야 합니다. 연구진은 Gemini 1.5 Pro를 기반으로 다양한 데이터셋에서 Few-Shot과 Many-Shot 실험을 진행했습니다. 그 결과 Few-Shot보다 Many-Shot이 더 좋은 성능을 보인다는 것을 밝혔습니다.
|
|
|
오늘 주제와 직접적으로 관련은 적지만, Many-Shot 성능에 대한 이해를 위해 몇 가지 흥미로운 사실을 간단하게 알아보겠습니다. 먼저, 연구진은 관련 분야에 대해 학습하지 않은(Out-of-distribution) 데이터셋에 대해서도 파인튜닝 방법론과 같이 일반화된 능력을 보인다는 것 또한 알아냈는데요. 예를 들어 수학 문제에 대한 데이터셋인 MATH로 ICL을 진행하고 GSM8K 데이터셋으로 테스트한 결과 여전히 높은 성능을 보이는 것을 알 수 있습니다. |
|
|
수학 문제에 관하여, OOD 데이터셋에 대해서도 Many-Shot ICL 방법이 좋은 성능을 보인다.
또한 사전 훈련된 데이터셋에 대해서 잊도록 만드는 Unlearning에 대해서도 가능하다는 것을 밝혀냈습니다. Unlearning이 가능한지 실험하려면 기존에 확실하게 알고 있는 답과는 완전히 다른 답을 제공해야 합니다. 그래서 정답을 완전히 반대로 한 Flipped Labels과 정답 정보에 대해 숨겨버린 Abstract Labels을 예제로 제공했고 그 결과 샷이 많아질수록 사전 학습에 얻은 편향 정보를 잊고 정답을 맞히는 것을 알 수 있습니다. |
|
|
예제(Shot)의 수가 늘어날수록 테스트 정확도가 올라가고, Confidence 역시 높아지는 결과를 살펴볼 수 있다.
|
|
|
Many-Shot ICL이 PEFT보다 더 좋을까? |
|
|
그리고 지난 4월 30일 공개된 카네기멜론 대학과 텔 아비브 대학의 연구 논문 <In-Context Learning with Long-Context Models: An In-Depth Exploration>에서는 Long-Context Model에 대해서 ICL과 PEFT 방법론에 대해서 비교합니다.
이번 연구에서는 기반 모델로 Llama-2-7B를 선정했고, 최대 80K개의 토큰까지 한 번에 이해할 수 있는 모델(Llama2-80K 논문 🔗 링크)을 실험 대상으로 결정했습니다. 그리고 PEFT 방법론으로 LoRA를 적용했습니다. LoRA는 LLM 등장 이후로 대중적으로 활용되고 있는 PEFT 방법론 중 하나입니다.
여전히 어떤 데이터셋으로 학습하느냐에 따라서 ICL과 PEFT 우위는 달라집니다. 하지만 이 연구에서는 PEFT가 ICL에 비해서 더 많은 데이터를 필요로 한다고 지적합니다. 아래 실험 결과를 살펴보겠습니다.
|
|
|
해당 연구에서는 (1) Random Sampling ICL 방법과 (2) Retrieval ICL을 활용합니다. Retrieval ICL은 테스트셋과 관련 있는 예제들을 검색한 뒤 K개의 프롬프트를 필터링하여 입력하는 방법입니다. 왼쪽 그림에서 살펴볼 수 있듯이 ICL의 두 가지 방식과 Fine-tuning 결과를 비교해보면 같은 예제에서 Retrieval ICL 방법이 더 좋은 성능을 보이는 것을 알 수 있습니다. 그러나 오른쪽 그림과 같이 일부 데이터셋에 대해서는 샘플 예제가 많아질수록 정확도가 높아지면서 ICL의 성능보다 높아지는 것을 확인할 수 있습니다. 다만, ICL은 그만큼 많은 예제를 입력할 수 없기 때문에 직접적인 비교는 어렵습니다.
그럼에도 추론의 효율성이 필요한 상황에서는 Fine-tuning이 선호될 수 있다고도 봅니다. 위의 실험에서는 연산량에 대한 부분은 배제하고 정확도의 결과만 비교했습니다. 그렇다보니 일정 수준에서 정확도가 비슷해지는 만큼, 추론 시 연산량을 고려했을 때 Fine-tuning하는 것이 1000개가 넘는 예제로 ICL 하는 것보다 여전히 더 효율적이라는 것이죠.
위의 연구에서는 Long-Context에 있어 ICL의 효과를 몇 가지 더 살펴봤는데요. 예제가 많은 만큼 예제 선택에 대한 의존도가 줄어들고, 예제 순서에 대한 성능이 안정적으로 나온다는 점을 꼽았습니다. 기존 ICL에서 지적됐던 문제들이 Many-Shot ICL에서는 어느 정도 해소될 수 있다는 의미입니다. |
|
|
이제 ICL과 PEFT 중 어떤 것이 더 좋을까? 질문에 대한 답을 해보겠습니다. 조금 뻔하고 무책임한 답변일 수도 있지만 ‘상황에 따르다’고 결론을 낼 수 있습니다. 사실 애초에 좋은 질문은 아니었습니다. 왜냐하면 ‘좋은 모델’에 대한 정의가 추상적이기 때문입니다. ‘좋은 모델’에 대한 구체적인 정의, 예를 들면 ‘높은 성능을 보이는 것이 좋다’거나, ‘비용을 절약하는 것이 더 좋다’, ‘적은 양의 데이터셋만으로도 결과를 내는 것이 좋다’ 등 다양한 상황에 대한 고려가 필요합니다.
ICL과 PEFT의 비교는 마치 호랑이와 사자 중 더 센 동물을 비교하는 상황과도 같다는 생각이 듭니다. 두 모델 모두 성능을 개선하는 데 분명한 영향력을 미치고 있는 것은 여러 연구를 통해 입증됐습니다. 다만, 어떤 환경에서 어떤 목적으로 활용하느냐에 따라 달라질 것입니다.
학습 데이터셋이 충분한 상황에서 특정한 목적 자주 활용하고자 한다면 PEFT를 택하는 것이 준수한 성능을 보이면서 추론 비용을 크게 아낄 수 있을 것입니다. 반면에 계속 다양한 종류의 태스크를 반복적으로 수행해야 하는 상황이고 데이터의 양이 많지 않다면 ICL이 더 좋은 선택지가 될 것입니다. 조금 더 일반화해 말한다면 일반인들에게 서비스를 제공하는 기업 입장에서는 PEFT, 다양한 목적으로 사용하는 일반인은 ICL 합리적인 대안이 될 수 있겠죠.
분명한 것은 최근 Many-Shot ICL에 대한 연구가 활발하게 이뤄지고 있다는 점입니다. 앞서 소개한 연구에서도 여전히 더 많은 데이터셋에 대한 비교가 필요하다며 후속 연구의 필요성에 대해 언급합니다. 그만큼 잠재력이 높은 연구 주제인 동시에 앞으로도 개선될 여지가 많아 보입니다. |
|
|
SNS를 팔로우하면 최신 소식을 가장 빠르게 확인하실 수 있습니다 😆 |
|
|
deep daiv.
manager@deepdaiv.com
|
|
|
|
|