지난주에 매우 인상적인 AI 대회가 열렸습니다. 많은 사람들이 AI 세계의 소음 속에서 이 대회를 놓쳤지만, 저는 여러 참가자를 알고 있어서 이 이야기를 일요일 아침 커피 시간에 전해드리고자 합니다.
아마도 클레이 수학연구소에서 7개의 깊이 있는 수학 문제에 대해 처음으로 정확한 해결책을 제시하는 사람에게 100만 달러의 상금을 약속한 밀레니엄 상 문제에 대해 들어본 적이 있을 것입니다. 현재까지 이 중 하나인 푸앵카레 추측만이 해결되었고, 그리골리 페렐만이 해결했지만 상을 거절한 것으로 유명합니다 (그리골리를 체크해보세요, 그는 정말 독특한 삶을 살고 있습니다).
이번 새로운 대회인 인공지능 수학 올림피아드(AIMO)도 100만 달러의 상금이 걸려 있었지만, 오직 AI 모델만 참가할 수 있었습니다(즉, 사람이 AI의 작업에 대한 상을 받는 것입니다...). 이 대회는 매우 어려운 문제를 다루었지만, 아직 수학 지식의 최전선은 아니고 대부분의 사람들이, 저를 포함해, 오늘날 해결할 수 없는 수준의 문제를 다루었습니다.
AIMO 조직 위원회는 세계적으로 매우 존경받는 수학자들로 구성되어 있으며, 예를 들어, 현존하는 가장 위대한 수학자 중 한 명으로 널리 알려진 수학 천재 테렌스 타오가 있습니다.
여기서 우리 팀인 Jia Li, Yann Fleuret, Hélène Evain이 등장합니다. 이전 스타트업에서 성공적인 퇴사를 한 후 (제가 과거에 지적재산권 변호사로 활동할 때 잘 알고 있던 회사인데, 그것은 또 다른 이야기입니다) 그들은 비영리 단체로 Numina를 공동 창립하여 AI4Math를 공개적으로 수행했습니다.
Numina는 DeepMind와 같은 AI 수학 노력에 대한 반론으로서, 훨씬 더 공개적으로 수학에서 AI의 사용을 발전시키고 어려운 문제를 해결하는 것을 목표로 했습니다. 이 과정에서 Guillaume Lample(미스트랄 공동 창립자)나 Stanislas Polu(이전에 OpenAI에서 수학 모델을 추진하던 사람)과 같은 매우 인상적인 AI+수학 분야의 인물들의 도움을 받을 수 있었습니다.
Jia는 Hugging Face의 몇몇 사람들과 함께 코드 모델 BigCode 협업에 참여하고 있었고, 코드 모델을 형식 수학에 어떻게 사용할 수 있을지 탐구하는 아이디어를 떠올렸습니다.
컨텍스트를 위해, 올림피아드 수학 문제는 매우 어렵고, 핵심 문제는 각 문제를 해결하기 위한 계획을 세우는 것입니다. Numina의 첫 번째 초점은 경쟁 수준의 수학을 위한 고품질의 Chain-of-Thought(CoT) 데이터를 만드는 것이었습니다. 이 CoT 데이터는 DeepSeek Math와 같은 모델을 훈련시키는 데 사용되었지만, 거의 공개되지 않았기 때문에 이 데이터셋은 도전에 맞서기 위한 귀중한 자원이 되었습니다.
BigCode의 리드인 Leandro는 Jia를 Hugging Face의 Zephyr 모델을 훈련시키는 팀과 연결시켜 주었고, Lewis, Ed, Costa, Kashif와 추가적으로 Roman과 Ben의 도움을 받아 첫 번째 AIMO 진보 상을 목표로 강력한 모델을 훈련시키기로 했습니다.
그리고 훈련이 시작되었습니다:
올림피아드 코치인 Jia는 이 대회의 난이도에 매우 익숙했고, 모델 선택을 가능하게 하는 매우 강력한 내부 검증 세트를 큐레이트할 수 있었습니다(Kaggle 제출은 블라인드입니다). 데이터셋 구축을 반복하면서, Hugging Face의 Lewis와 Ed는 모델을 훈련시키고 Kaggle 제출을 위한 추론 파이프라인을 구축하는 데 집중했습니다.
경쟁에서 자주 그렇듯이, 이는 Eureka와 Aha 순간들로 모두를 더 앞으로 나아가게 하는 강렬한 여정이었습니다. Lewis는 몇 가지 이야기를 들려주었는데, 이는 정말로 놀라웠습니다. 기술 보고서가 곧 나올 예정이라서, 이는 단지 "도중에" 일어난 일들로 곧 더 포괄적인 레시피와 보고서에 모일 것입니다.
코딩 학습: 팀의 제출은 자기 일관성 디코딩(즉, 다수결 투표)을 사용하여 문제당 N개의 후보를 생성하고 가장 흔한 솔루션을 선택하는 방식에 의존했습니다. 그러나 Numina 데이터로 훈련된 초기 모델은 약 13/50점만을 기록했습니다... 더 나은 접근법이 필요했습니다. 그들은 MuMath-Code 논문(https://arxiv.org/abs/2405.07551)을 보고, CoT 데이터를 코드 데이터와 결합하여 강력한 모델을 만들 수 있다는 것을 알게 되었습니다. Jia는 GPT-4에서 훌륭한 코드 실행 데이터를 생성하여 초기 모델을 훈련시키고 성능을 인상적으로 향상시킬 수 있었습니다.
분산 제어: 또 다른 아하 순간은 Kaggle 회원이 노트북을 공유하며 DeepSeek 모델이 코드 실행에서 매우 잘 작동한다는 것을 보여주었을 때였습니다(모델이 문제를 단계별로 나누고 각 단계를 Python으로 실행하여 다음 단계를 추론하는 방식). 그러나 팀이 이 노트북을 시도했을 때, 이 방법이 큰 분산을 가지고 있다는 것을 발견했습니다(Kaggle에서 점수가 16/50에서 23/50까지 다양했습니다). 파리에 모여 이 문제를 해결하기 위한 해커톤에서 Ed는 다수결 투표를 "생각의 나무"로 구성하는 아이디어를 떠올렸습니다(https://arxiv.org/abs/2305.10601). 이는 분산에 놀라운 영향을 미쳤고 제출에 훨씬 더 자신감을 가질 수 있게 했습니다(모델이 테스트 세트에서 검증 세트에 비해 훨씬 더 잘 작동한 것으로 나타났습니다).
계산 제약 극복: Kaggle 제출은 2xT4s에서 9시간 이내에 실행되어야 했는데, 이는 매우 어려웠습니다. FA2가 작동하지 않았고 bfloat16도 사용할 수 없었습니다. 팀은 AWQ와 GPTQ와 같은 양자화 방법을 탐구했으며, GPTQ로 7B 모델의 8비트 양자화가 가장 좋다는 것을 발견했습니다.
데이터 검토: 주요 초점은 GPT-4 데이터셋의 품질을 확인하고 수정하는 것이었습니다. GPT-4가 환각을 일으키고 코드 출력을 올바르게 해석하지 못하는 경우가 많다는 것을 빠르게 발견했습니다. 마지막 주에 데이터 문제를 수정하면서 성능이 크게 향상되었습니다.
마지막 추진: 결과는 정말 놀라웠고, 모델은 1위를 차지했습니다. 더 나아가, 공개 검증 리더보드에서 공동 1위(28개의 문제를 해결하고 2위는 27개를 해결)로 타이였지만, 비공개 테스트 리더보드에서는 넓은 차이로 빛을 발하며 29개의 문제를 해결하고 2위는 22개를 해결했습니다.
테렌스 타오 자신이 설정한 대로, 이는 "기대 이상"이었습니다.
이 대회에서 모델이 이미 가능한 수학 수준 뿐만 아니라, 참가자들이 짧은 시간 내에 T4에서 추론을 실행해야 했던 자원 제약을 고려할 때, 앞으로 몇 달 안에 이러한 모델이 얼마나 강력해질지를 상상할 수 있게 합니다.
지금은 GenAI가 과학에 영향을 미칠 시기가 될 것 같고, 이는 아마도 AI가 앞으로 1-2년 안에 우리에게 가져올 가장 흥미로운 것 중 하나일 것입니다. 인류 발전을 가속화하고 과학이 해결할 수 있는 모든 실제 문제에 도전하는 것입니다.