
작년 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: 기존의 것을 사용하지 않고 새로 데이터셋을 큐레이션할 때 가장 어려운 점은 ‘어떻게 그 내용을 다양하게 만들 수 있느냐’ 하는 점입니다. 무슨 말이냐 하면, 예를 들어 모델이 상식을 잘 학습할 데이터셋을 만들고 싶다고 했을 때 모델에게 “이 데이터셋에 있는 모든 상식 목록을 알려줘”라고 할 수는 없는 노릇이죠. 언어 모델은 그냥 가장 일반적인, 많이 등장하는 ‘상식이라고 생각되는’ 사실의 목록을 계속해서 제공할 뿐이고, 좀 애매하거나 모호한 경우에 상식을 찾아내지는 못합니다. 그래서 데이터셋이 어떻게 사람의 지식을 포괄적으로 포함하도록 할 것이냐 하는 문제는 생각보다 어렵고 명확하지가 않은 것이죠. 잘 만들어진 다양한 데이터셋이 모델이 미치는 영향을 확인하고 상당히 놀랐는데, 스케일이 작았는데도 (속도나 비용 측면에서 모델이 효율적이라는 뜻으로) 예상보다 훨씬 더 성능이 좋은 모델을 얻을 수가 있었거든요.
SLM 훈련을 위해 합성 데이터를 생성하는데 LLM을 사용하는 경우에, LLM에 잠재되어 있는 편향성 (Bias)이라든가 안전성 (Safety) 이슈가 제기되는데요. 합성 데이터셋의 품질과 안전성을 보장하기 위해 어떤 조치를 취해야 할까요?
Ronen: 우선은, 안전성 측면에서는 데이터셋의 모든 항목이 이미 안전과 관련된 정렬 (Alignment)을 거친 모델에 의해서 만들어진다는 것은 큰 장점입니다. 경험상, 직접 웹페이지의 데이터를 모아서 만든 데이터셋이 안전성 측면에서 훨씬 문제가 많습니다. 그렇지만, 물론 모델을 훈련한 다음에 항상 안전성을 확인하기 위한 테스트를 하는 것은 중요하고, 실제 검증해 보기 전의 모델을 신뢰해서는 절대로 안 됩니다. 편향성은 진짜로 어려운 과제인데요. 그렇지만 편향성 관련해서도 대부분의 다른 데이터셋보다 합성 데이터셋이 더 나을 거라고 생각하고, 몇 개의 벤치마크를 봐도 그런 것 같습니다. 그런데 편향성을 테스트한다는 것 자체가 매우 어려워서 (사람의 편향성을 테스트하는 게 어려운 것처럼요), 우리 모두가 신뢰할 수 있는 벤치마크를 개발하는 데 있어서 좀 뒤쳐져 있다고 생각합니다. 많은 연구가 진행되고 있는 것으로 알고 있고, 느리지만 확실히, 더 안전하고 덜 편향된 모델을 만드는 방향으로 나아가고 있다고 봅니다.
Phi-3 모델은 책임성(Accountability), 투명성 (Transparency), 공정성 (Fairness), 신뢰성 (Reliability) 및 안전성 (Safety), 개인정보 보호 (Privacy) 및 보안 (Security), 포용성 (Inclusiveness)이라는 6가지 원칙에 기반해서 만들어진 Microsoft의 Responsible AI Standard에 따라서 개발되었습니다. Microsoft의 표준과 베스트 프랙티스에 따라 개발, 테스트, 배포할 수 있도록 Phi-3 모델은 엄격한 안전성 측정 및 평가, 레드팀의 테스트, 정교한 사용자 리뷰, 보안 지침 준수 확인 과정을 거쳤습니다.
안전 교육 및 평가에 대한 Microsoft의 접근 방식은 기술 문서에 자세히 설명되어 있고, 모델 카드에 권장 사용방법 및 제약사항이 간략하게 설명되어 있으니, Hugging Face의 모델 카드 컬렉션을 참조해 보세요.
최근 있었던 Microsoft Build에서 완전히 새로운 Phi-3 모델을 소개했는데요. 2023년 6월 ‘Textbooks Are All You Need’ 논문을 통해서 Phi-1 발표한 이후 1년도 안 되는 시간에 엄청난 속도로 발전하고 있는 것 같은데, 그 동안 거둔 성과는 어떤 것이라고 보시나요?
Ronen: 사실 1년 만에 얼마나 많은 진전을 이루었는지 저희 스스로도 놀라고 있습니다. 2024년 4월에는 Phi-3-mini를 Azure에 출시해서 Phi-3 모델 패밀리를 선보였고, Build 2024에서는 언어와 비전 기능을 결합한 멀티모달 모델인 Phi-3-small, Phi-3-medium 및 Phi-3-vision을 출시하는 등 Azure AI 모델 카탈로그에 더 많은 Phi-3 모델을 출시했습니다.
물론 SLM과 LLM 사이에 존재하는 격차를 부정할 수는 없습니다. 하지만 저희는 합성 데이터를 생성하고, 외부로부터 고품질 데이터를 수집하고, 모델 아키텍처와 같은 다른 측면을 최적화하기 위해서 더 많은 기술을 개발하면서 계속 기존의 한계를 극복하기 위한 시도를 하고 있습니다. 예를 들어서, 웹 데이터를 필터링하는 방법에 대한 작은 아이디어 하나가 모델 성능에 큰 차이를 만들 수도 있는 것이죠. 아직 SLM의 잠재력을 완전히 이해하려면 멀었다고 생각합니다.
Phi-3와 같은 SLM이 우리가 항상 쓰는 디바이스(스마트폰, 카메라, 센서 등)에 어떻게 통합될 거라고 생각하시나요? 앞으로 SLM이 어떤 새로운 가능성을 보여주거나 새로운 인공지능의 활용법을 보여줄 거라고 생각하세요? 특히 기대하고 있거나 예상하는 발전 방향이라든가, 아니면 Phi 모델 패밀리의 다음 계획은 무엇인가요?
Sébastien: 개인적으로는 Phi-3와 같은 SLM이 모든 장치에 탑재되기를 기대하고 있죠. Build 2024 행사 직전인 5월 20일에 발표한 Copilot+ PC에서 실행할 수 있게 특별히 설계된 Phi Silica가 이미 그런 모습을 보여준다고 생각합니다. (Phi Silica는 Phi-3-mini의 파생 모델) - Windows가 NPU를 위해 맞춤 개발된 최첨단 SLM을 갖춘 최초의 플랫폼이 될 겁니다. 올해 말 출시 예정입니다.
궁극적으로는, 조깅을 할 때 시계하고 대화하면서 시계한테 몇 가지 작업을 수행하게 할 수 있으면 좋겠어요 - Phi-3를 사용하면 쉽게 할 수 있을 것 같습니다. 아니면 스마트폰에 SLM을 설치해 놓고, 하이킹을 하는데 보이는 이런 저런 것들에 대해 물어보고 싶을 때 쓸 수 있어도 좋겠죠. 사용할 곳은 무궁무진하다고 생각해요.
Microsoft는 LLM (거대언어모델)과 SLM (소형언어모델) 두 가지 방향을 다 추구하는 것으로 보이는데, 특별한 배경이나 이유가 있을까요? 이 모델들이 앞으로 어떤 역할을 맡으면서 공존할 것으로 보시나요? 업계 전체가 ‘좀 더 작고 더 효율적인 모델’ 쪽으로 전환하고 있다고 생각하시나요?
Sébastien: 저희는 거대언어모델, 소형언어모델 모두 성장할 만한 충분한 시장이 있다고 봅니다. 의료 분야라든가 아니면 Copilot이 Github 리포지토리를 분석한다든가 할 때같이 중요하거나 위험도가 높은 경우라면 가능한 최상의 답변을 얻기 위해서 더 많은 에너지, 시간을 기꺼이 투자할 수 있겠죠. 이런 경우에 GPT-4와 같은 프론티어 모델을 사용할 겁니다. 그런데, 모델에 수백만건의 콜을 해야 하는 경우가 있다고 해 보죠. 이 때는 이런 저런 몇 가지 오류는 용인할 수 있기 때문에, 중요한 건 Latency (지연 시간)와 Cost (비용)이고, 이런 경우에 바로 SLM이 빛을 발한다고 생각해요. 또는, 개인정보 보호라든가 보안 상 이유로 모든 처리를 디바이스 내에서 해야 한다든가 할 때도 SLM이 적합하겠죠. 앞으로는 LLM, SLM 양 쪽 방향 모두 중요하다고 봐요. 결국 ‘품질’과 ‘비용’이라는 변수의 ‘파레토 최적화’ 문제고, 어떤 어플리케이션이든 이 ‘파레토 경계 (Pareto Frontier)’의 어딘가에 놓이게 될 겁니다.
FLUTE같은 연합 학습 (Federated Learning) 기법은 데이터 프라이버시를 보호하면서 분산된 기기에서 공동으로 모델을 훈련할 수 있는 가능성을 보여주는데요. 연합 환경에서 SLM을 훈련하고 지속적으로 개선하기 위해 FLUTE 또는 이와 유사한 접근 방식을 적용하는 공동 연구가 있나요?
Ronen: Phi-3에 대한 연구 개발이 너무 빠르게 진행되고 있어서 아직 연합 학습 쪽은 검토하고 있지 않습니다. 검토해야 한다고 생각하는 목록에는 있습니다만…
Ronen, AGI를 달성하려면 아이들이 학습하는 방식을 모방해야 할 거라고 생각하시나요?
Ronen: 아마 인공지능 모델을 훈련할 때와 아이들이 뭔가를 배울 때 사이에 가장 큰 차이점은, 아이들은 세상으로부터 계속해서 피드백을 받게 된다는 걸 겁니다. 언어 모델은 학습할 때 하나의 긴 텍스트 청크 (Chunk; 덩어리), 즉 그럴듯한 텍스트들 중 한 사례를 얻을 뿐이지만, 아이들은 세상으로부터 받는 '수동적인' - 아이들의 입장에서 - 입력 외에도 특정한 행동을 '시도'해 보고 이 행동에 대한 외부로부터의 반응, 피드백을 얻을 수가 있죠 (이런 의미에서 훨씬 더 상호 작용성이 강한 학습이라고 할 수 있습니다). 언어 모델은 "만약 ~하다면 (what if)"하는 방식의 질문을 테스트할 수가 없습니다 - 텍스트 작성에 대한 새로운 접근 방식을 시도하고 좋은지 여부에 대한 피드백을 받을 수 없습니다. 물론, 이건 사전 학습 (Pre-training)에 관련된 이야기고, 모델이 생성해내는 텍스트에 대한 사람의 피드백은 활용할 수가 있고, 그렇게 해서 모델이 더 좋아진다는 건 이미 알려져 있습니다. 그런 의미에서, 이미 세상에는 다양한 행동을 시도하고 그에 대한 피드백을 받아서 진화하는 모델이 이미 있는 셈이죠.
매일 하시는 업무 외에, AI 산업을 발전시키는 데 꼭 필요하다고 생각하는 다른 연구 분야는 어떤 것이 있나요?
Ronen: 언어 모델이 어떻게 스스로 알아서 개선을 할 수 있는지에 대한 인사이트를 주는, 그리고 그 작업을 하기 위한 방법론과 관련된 모든 연구가 꼭 필요하고 중요하다고 생각합니다.
읽어주셔서 감사합니다. 재미있게 보셨다면 친구와 동료 분들에게도 뉴스레터를 추천해 주세요.


