2023년 9월 12일
https://arxiv.org/abs/2309.04564
When Less is More: Investigating Data Pruning for Pretraining LLMs at Scale (Max Marion, Ahmet Üstün, Luiza Pozzobon, Alex Wang, Marzieh Fadaee, Sara Hooker)
요즘 자주 나오는 데이터셋 pruning. 어려울 것 없이 perplexity로 필터링하는 것으로도 결과가 좋더라는 보고입니다.
#dataset #llm
https://arxiv.org/abs/2309.05463
Textbooks Are All You Need II: phi-1.5 technical report (Yuanzhi Li, Sébastien Bubeck, Ronen Eldan, Allie Del Giorno, Suriya Gunasekar, Yin Tat Lee)
제목 그대로 Textbooks Are All You Need (https://arxiv.org/abs/2306.11644) 의 후속 연구입니다. 코드 뿐만 아니라 일반적인 도메인에 대해서도 synthetic 데이터를 만들어서 100B 까지 규모를 키웠군요. 이를 통해서 1.5B 모델로 괄목할만한 벤치마크 스코어를 찍었다는 것이 요점입니다.
그런데 Textbooks Are All You Need 이상으로 데이터를 어떻게 구축했는지에 대한 정보가 없네요. 데이터셋 만들기 어렵더라 이런 정도의 이야기만 하고 있습니다. 의도를 알기 어렵네요.
일단 모델은 공개했습니다. https://huggingface.co/microsoft/phi-1_5
#dataset #llm
https://arxiv.org/abs/2309.04662
MADLAD-400: A Multilingual And Document-Level Large Audited Dataset (Sneha Kudugunta, Isaac Caswell, Biao Zhang, Xavier Garcia, Christopher A. Choquette-Choo, Katherine Lee, Derrick Xin, Aditya Kusupati, Romi Stella, Ankur Bapna, Orhan Firat)
구글 딥마인드의 commoncrawl 기반 3T (clean) / 5T (noisy) multilingual (419개 언어) 데이터셋이군요. 구글이 이 시점에 commoncrawl 기반으로 이걸 왜? 라는 생각도 들긴 하는데 여튼 그렇습니다.
#dataset #corpus
https://arxiv.org/abs/2309.04663
FIAT: Fusing learning paradigms with Instruction-Accelerated Tuning (Xinyi Wang, John Wieting, Jonathan H. Clark)
in context learning과 full finetuning을 결합해보자...는 아이디어입니다. 큰 모델에서 튜닝한 프롬프트로 입력 샘플에 대한 chain of thought reasoning을 생성하게 한 다음에, 이 reasoning과 추가적인 instruction 프롬프트를 결합해 작은 모델을 peft (lora)로 학습시킨다는 파이프라인입니다. in context learning과 full finetuning의 결합이라고만 표현하기에는 갖춰야 하는 게 좀 많은 것 같긴 합니다만 여하간 그렇습니다.
#efficient_training #in_context_learning #finetuning
https://arxiv.org/abs/2309.04658
Exploring Large Language Models for Communication Games: An Empirical Study on Werewolf (Yuzhuang Xu, Shuo Wang, Peng Li, Fuwen Luo, Xiaolong Wang, Weidong Liu, Yang Liu)
LLM으로 Werewolf (대충 마피아 같은 게임)를 플레이하게 만든 시스템. 주로 제한된 context length에 대응하기 위한 방법과 과거 경험을 사용해서 개선하는 방법으로 구성되어 있습니다. 흥미로운 것은 이 시스템을 굴려본 결과 플레이어간 신뢰, 대립, 위장, 리더십 같은 전략적인 행동들이 발생했다는 것이네요.
#game
https://arxiv.org/abs/2309.04858
Reverse-Engineering Decoding Strategies Given Blackbox Access to a Language Generation System (Daphne Ippolito, Nicholas Carlini, Katherine Lee, Milad Nasr, Yun William Yu)
LLM 시스템의 디코딩 전략 (Top-K, Top-P 등)을 알아내기. 기본적으로 여러 번 샘플링하면서 나타나는 패턴을 관측하는 방법입니다.
#attack
https://arxiv.org/abs/2309.05519
NExT-GPT: Any-to-Any Multimodal LLM (Shengqiong Wu, Hao Fei, Leigang Qu, Wei Ji, Tat-Seng Chua)
multimodal input & generation을 지원하는 모델. 이쪽은 특정 modal의 인코더의 projection을 입력에 사용하는 것처럼 특정 modal의 디코더 (diffusion model)을 위한 임베딩을 projection으로 생성하게 만드는 식으로 연결했군요. 거기에 더해 multimodal generation을 위한 instruction 데이터셋을 구축.
#multimodal #vision-language #multimodal_generation
https://arxiv.org/abs/2309.05542
Kani: A Lightweight and Highly Hackable Framework for Building Language Model Applications (Andrew Zhu, Liam Dugan, Alyssa Hwang, Chris Callison-Burch)
요즘 llm 기반 어플리케이션 개발을 위한 프레임워크들 사이의 경쟁도 치열하군요. 이걸 잘 설계하는 것도 쉽지 않을 듯 합니다. 자바스크립트 생태계를 생각하면 트렌드가 계속 바뀌는 식으로 움직일까 하는 생각도 드네요.
#framework
https://arxiv.org/abs/2309.05653
MAmmoTH: Building Math Generalist Models through Hybrid Instruction Tuning (Xiang Yue, Xingwei Qu, Ge Zhang, Yao Fu, Wenhao Huang, Huan Sun, Yu Su, Wenhu Chen)
수학 능력을 위한 instruction 데이터셋. 기존의 수학 데이터셋들을 모은 다음 GPT-4로 chain of thought reasoning 결과를 생성해서 붙였군요.
#instruct
https://arxiv.org/abs/2309.05660
Hypothesis Search: Inductive Reasoning with Language Models (Ruocheng Wang, Eric Zelikman, Gabriel Poesia, Yewen Pu, Nick Haber, Noah D. Goodman)
ARC 같은 Inductive Reasoning (몇 가지 사례에서 일반 원칙을 찾아 새로운 케이스에 적용)을 풀어보려고 한 시도군요. GPT-4로 여러 가설을 생성한 다음, 가설을 추려내고, 가설을 기반으로 파이썬 프로그램을 작성하고, 이 프로그램이 입력 케이스에 대해서 잘 작동하는지를 테스트하는 방식입니다. 꽤 흥미롭네요. 예쁘게 풀렸다고 하기에는 가설 생성, 가설 선정, 프로그램 작성 모두 성능적 한계가 발생하고 있는 것이 아닌가 싶긴 합니다만...
#reasoning
https://arxiv.org/abs/2309.04827
Neurons in Large Language Models: Dead, N-gram, Positional (Elena Voita, Javier Ferrando, Christoforos Nalmpantis)
트랜스포머 FFN 열어보기.
초기 레이어에서 대부분의 뉴런이 activate 되지 않는다. 낮은 단계에서는 저수준의 처리가 일어나기 때문에 패턴 표현에 특별히 많은 뉴런이 필요하지 않다는 추측. 높은 단계에서는 반대로 수많은 패턴을 커버해야 하는 필요가 생긴다는 것이죠. Sandwich Transformer (https://arxiv.org/abs/1911.03864) 가 생각나는 군요.
초기 레이어에서, 모델이 커질 수록 n-그램 검출기 뉴런이 많아진다. n-그램 검출기 뉴런이 많아진다는 것은 특정(1~5개 정도의) 토큰에 대해서만 반응하는 뉴런이라는 의미입니다. 거기에 여러 FFN의 뉴런들이 각기 다른 n-그램에 반응해서 종합적으로 n-그램 검출기를 구성하게 되네요.
이러한 n-그램 검출기는 결과적으로 n-그램이 감지되었을 때 예측 토큰의 확률을 변화시키는 것인데(https://arxiv.org/abs/2203.14680), 관련 있는 토큰의 확률을 높이는 것이야 예상 가능한 부분이지만 의외로 검출된 토큰 자신의 확률을 낮추는 경향이 발생하는 군요. 즉 Weather라는 토큰이 검출되었다면 Weather 토큰의 확률을 낮춥니다.
특정한 위치에 반응하는 뉴런들. Position에 대해 특정한 주기로 특정 위치에만 반응하는 진동하는 경우, 특정 역치에 따라서 역치를 넘으면 켜졌다가 역치 아래에서는 켜지지 않는 경우, 특정 위치를 넘으면 반응을 하거나 반응을 하지 않는 경우, 그 외 위치에 따라 패턴이 있는 경우 등등이 있습니다.
이것도 모델 크기에 따라 패턴이 달라집니다. 작은 모델에서는 구체적인 위치를 탐지하는 뉴런이 많고 큰 모델에서는 위치에 따른 경향적인 패턴을 보이는 뉴런이 많습니다. 여하간 더 큰 모델일수록 구체적인 위치가 아니라 보다 추상적인 위치 관계에 반응하는 것으로 보입니다.
그리고 이 위치 검출 뉴런도 레이어별로 연계되어 있어서 Redundancy 없이 전체 위치 범위를 커버하도록 구성되어 있네요.
위치 검출 뉴런도 레이어 위치에 따라 분포가 달라집니다. 하위 레이어에서는 구체적인 위치 검출을 통해 낮은 단계의 패턴을 검출한다면 상위 레이어로 갈수록 더 높은 단계의 패턴 검출을 위한 위치 검출 뉴런의 분포가 많아진다는 이야기를 하는 군요.
그런데 이건 모두 Absolute Position Embedding을 사용하는 OPT 기반 분석이죠. 그래서 Position Embedding을 빼고 학습시켜 봤습니다. 그래도 여전히 위치 검출 뉴런들이 발생하긴 하지만 어떤 종류의 위치 검출을 하는 뉴런이 많은가에 대한 패턴은 달라지는 군요. Absolute Position Embedding의 경우 진동하는 뉴런이 많고 Position Embedding은 역치에 따라 움직이는 뉴런들과 위치에 따른 경향성 정도를 보이는 뉴런 많습니다.
이런 위치 검출 뉴런 때문에 FFN이 특정 텍스트 패턴에 반응해 출력 분포를 업데이트한다는 설명에 한계가 있지 않은가 하는 이야기를 합니다. 텍스트 내용과는 별개로 위치에만 반응하는 뉴런이 있다는 건 특정 텍스트-위치 패턴에 반응해서 움직인다는 설명으로는 바로 설명하기 어렵죠.
그런데 350M 모델은 또 이와는 다른 패턴을 보입니다. 350M 모델의 차이는 Post LN을 썼다는 것인데 그게 모델의 거동을 상당히 바꿨다는 의미가 되는 군요. (그럴 수 있을 것 같긴 하네요.) 거기다 OPT는 ReLU를 쓰기 때문에...다른 Activation에 대해서는 패턴이 또 달라질 수 있겠죠.
여하간 이런 트랜스포머 분석 논문을 보면 토큰 패턴을 검출해서 출력 분포를 업데이트하는 것 뿐이네라고 말할 수 있을 것 같다가도 꼭 그것만으로는 설명할 수 없는 것 같기도 하고 그렇네요. 그렇지만 여전히 큰 모델은 다르다는 건 이런 방식으로도 확인되는 것 같습니다.
#transformer