- Turing Post Korea
- Posts
- 소형 언어모델 (sLLM)은 AI의 미래인가? Microsoft Phi-3 개발자와의 인터뷰
소형 언어모델 (sLLM)은 AI의 미래인가? Microsoft Phi-3 개발자와의 인터뷰
Sébastien Bubeck, Ronen Eldan과 나눈 Phi-3 계열 모델의 빠른 발전, 그 잠재력에 대한 이야기
작년 Microsoft는 "Textbooks Are All You Need"라는 논문을 통해서 소형 언어 모델(SLM) Phi를 소개했는데, 여기서 기존의 스케일링 법칙 (Scaling Law)을 깨고 고품질 데이터만으로도 훨씬 더 큰 모델과 경쟁할 수 있는 모델을 만들 수 있다는 것을 보여주었습니다. 그 후 1년도 채 지나지 않았지만, Build 2024에서 Phi-3-small, Phi-3-medium, Phi-3-vision을 포함한 Phi-3 계열의 모델을 추가로 출시했는데요, 정말 놀라운 속도죠.
“Textbooks Are All You Need” 공저자이나 Phi 모델의 개발자 Sébastien Bubeck 그리고 Ronen Eldan을 만나서, Phi 모델을 개발하면서 했던 생각, 다양한 데이터셋이 모델에 미치는 영향, 합성 데이터 (Synthetic Data)를 사용하는 데 있어서의 어려움, SLM의 미래 등에 대해 이야기를 나누어 보았습니다.
안녕하세요, Sebastien 그리고 Ronen, 만나서 반갑습니다. ‘소형 언어모델 (SLM)’이라는 표현은 비교적 새롭게 등장한 것긴 하지만 이미 학계와 업계에서 활발하게 사용되고 있는데요. “Textbooks Are All You Need” 논문은 모델 개발과 관련해서 어떤 생각을 하고 쓰게 되신 건가요? 연구 단계에서 어떤 생각을 하셨는지 설명해 줄 수 있나요?
Sébastien: "Sparks of AGI" 논문을 보고 나서, LLM 내부에서 일어나는 일을 '이해'하기 위해 우리의 LLM을 직접 만들어야겠다고 결심했습니다. 물론 당시에는 대형 트랜스포머를 트레이닝한 경험이 전혀 없었고, 뭔가 시작하기 위해 쓸 데이터도 많지 않았고, ‘Sparks of AGI’ 논문을 통해서 막 배웠듯이 LLM 평가하는 것 자체가 어려울 것 같았어요 (이 때에는 이런저런 벤치마크를 이해하고 사용하는 것 자체가 벅차 보였어요…) 그래서, 어떻게 했냐면, 일단 가능한 한 해야 할 일의 범위를 좁히기로 했어요 - ‘코딩’을 목표 영역으로 선택했는데, The Stack이라는 대규모 데이터셋이 이미 있었고, OpenAI의 HumanEval이라는 간단하고 이해하기 쉬운 평가 지표가 있었고, 1B 정도의 파라미터를 가진 비교적 작은 네트워크도 코딩에서 괜찮은 성능을 보일 수 있다는 게 이미 입증되었기 때문이었습니다. 그 때 목표는 아주 명확했어요 - 우리가 동원할 수 있는 몇십개 정도의 GPU에서 작동하는 SLM을 가지고 가능한 한 높은 HumanEval 점수를 내 본다는 것이었습니다. 사용할 수 있는 GPU에 한계가 있다는 것도 중요한 조건이었는데, 어떤 식으로는 데이터를 어떤 식으로든 제한해야 했기 때문이죠. 그러다가 자연스럽게 The Stack 데이터셋을 필터링해서 ‘교육용 컨텐츠’만 걸러내고 ‘합성으로 Textbook’을 작성해서 모델에 노출되는 데이터를 다양화하자는 아이디어가 떠올랐습니다. 전체 프로젝트는 겨우 한 달 정도밖에 걸리지 않았는데, 매주 HumanEval 스코어가 10%씩 상승해 가는 걸 보면서 아주 짜릿했어요! 한 달 후에 스코어가 50%에 도달한 시점에 ‘이 정도면 잘 했다’ 생각이 들었습니다. 그 다음에 든 생각은, ‘자 과연 이런 접근방식을 코딩 같은 좁은 영역을 넘어서 확장할 수 있을까?’ 하는 것이었고, 그래서 phi-1.5로 상식 추론을 진행했고, 그 다음 phi-2로 일반 인지 능력을, 마지막으로 phi-3에 이르게 되었습니다.
Phi의 혁신적인 접근 방식은 대규모 웹 데이터 대신 고품질의 큐레이션된 데이터셋 (TinyStories, CodeTextbook)를 사용하는 것이었다고 보는데요. 보통 LLM 훈련을 할 때처럼 대규모 데이터를 수집해서 사용하는 것과 비교했을 때, 이런 접근 방식의 장점, 그리고 어려웠던 점은 무엇이었나요? 모델의 성능이나 동작 관점에서 예상하지 못한 발견 사항이 있나요?
Ronen: 기존의 것을 사용하지 않고 새로 데이터셋을 큐레이션할 때 가장 어려운 점은 ‘어떻게 그 내용을 다양하게 만들 수 있느냐’ 하는 점입니다. 무슨 말이냐 하면, 예를 들어 모델이 상식을 잘 학습할 데이터셋을 만들고 싶다고 했을 때 모델에게 “이 데이터셋에 있는 모든 상식 목록을 알려줘”라고 할 수는 없는 노릇이죠. 언어 모델은 그냥 가장 일반적인, 많이 등장하는 ‘상식이라고 생각되는’ 사실의 목록을 계속해서 제공할 뿐이고, 좀 애매하거나 모호한 경우에 상식을 찾아내지는 못합니다. 그래서 데이터셋이 어떻게 사람의 지식을 포괄적으로 포함하도록 할 것이냐 하는 문제는 생각보다 어렵고 명확하지가 않은 것이죠. 잘 만들어진 다양한 데이터셋이 모델이 미치는 영향을 확인하고 상당히 놀랐는데, 스케일이 작았는데도 (속도나 비용 측면에서 모델이 효율적이라는 뜻으로) 예상보다 훨씬 더 성능이 좋은 모델을 얻을 수가 있었거든요.
Reply