RTX 5090로 1.5시간 만에 학습한 소형 트랜스포머가 다수 LLM 능가
한 연구자가 RTX 5090 하나로 1.5시간 만에 소형 트랜스포머를 처음부터 학습시켜 ARC-AGI 벤치마크에서 많은 대형 LLM과 동등하거나 그 이상의 성적(44%)을 달성했습니다. 테스트 시점에 퍼즐별로 모델을 직접 학습하는 메타러닝 접근법으로, 샘플 효율성(sample efficiency) 한계를 탐구하는 연구입니다. 코드는 오픈소스로 공개되어 저비용으로 누구나 재현·후속 연구가 가능하다는 점이 의미 있습니다.
저는 RTX 5090 하나로 1.5시간 만에 소형 트랜스포머를 처음부터 학습시켰습니다. 이 모델은 많은 LLM을 능가하며, TRM/HRM과 동등한 점수를 기록합니다. 이전 모델의 업그레이드 버전으로, 더 빠르고 더 좋고 더 저렴하며 여전히 오픈소스입니다. 또한 ARC-2에서 7%를 기록했습니다. 트위터에서의 토론과 깃허브 코드가 공개되어 있습니다. 이것은 ARC-AGI에 관한 시리즈 중 세 번째 블로그이며, 이전 글(블로그 2, 블로그 1)이 있습니다.
많은 사람들이 이전 결과를 불가능하다고 생각했습니다. 그 결과는 최고급 연구자들의 주목을 받았고 X에서 바이럴이 되었으며, Lucas Beyer, Jeremy Howard, Rohan Anil 등의 토론과 많은 다른 사람들의 댓글이 달렸습니다.
왜 이 작업을 하는가? 저는 샘플 효율성(sample efficiency)이 현재 AI의 가장 중요한 문제라고 생각하며, 이를 해결하고 싶습니다. 이 연구의 의도는 (1) 트랜스포머/오늘날의 딥러닝 방법으로 제한했을 때 샘플 효율성의 한계를 찾는 것과 (2) 비용을 줄여 반복 작업을 훨씬 빠르고 저렴하게 만드는 것입니다.
ARC는 이를 테스트하기에 훌륭한 벤치마크입니다. 고차원 공간에서 매우 적은 샘플(퍼즐 1000개만 존재), 각 퍼즐이 서로 다른 규칙을 사용하지만 일부 공통 개념을 공유하는 메타러닝 벤치마크, 사전 지식(prior)이 거의 필요하지 않음(평가 세트에 필요한 모든 개념이 학습 세트에 존재), 인간에게는 믿을 수 없을 만큼 쉽고 형편없는 AI 연구자도 접근 가능, 벤치마크가 아직 포화 상태(데이터 효율성 기준으로, 대량의 합성 데이터나 인간의 유도 편향을 사용하는 LLM 및 접근법은 제외).
다음으로 이러한 한계를 깨기 위한 새로운 연구 아이디어를 진행할 예정입니다. 비용을 낮게 유지하여 전 세계 누구나 이 작업을 할 수 있도록 하겠습니다.
기술적 세부 사항 어떻게 작동하는가? 전체적인 접근법은 이전과 비슷하지만(전체 기술 세부사항은 여기) 여러 업그레이지를 추가했습니다. 접근법 요약: 각 입력-출력 쌍을 토큰 시퀀스로 변환합니다. 이 시퀀스들은 소형 트랜스포머로 자기회귀(autoregressive) 방식으로 학습됩니다. 이 작업은 테스트 시점에 학습 세트와 평가 세트 퍼즐(테스트 라벨은 숨김) 모두에 대해 처음부터 수행됩니다. 태크 간 학습(cross-task learning)을 가능하게 하기 위해 각 퍼즐에 별도의 가산 임베딩(additive embedding, 학습됨)을 부여합니다. 각 시퀀스에 2D 격자 두 개가 있으므로, 3D RoPE 임베딩으로 위치 정보를 학습합니다. 시퀀스는 색상 및 이면체(dihedral) 순열로 증강됩니다. 추론 시 테스트 입력을 증강하고, 생성된 출력에 역증강(inverse aug)을 적용합니다. 가장 흔한 출력 두 개를 제출합니다(AAIVR).
이전과 달라진 점 주요 목표는 모델의 샘플 효율성을 높이는 아키텍처/알고리즘 개선을 찾는 것이었습니다. 점수 상승의 가장 큰 요인은: 모던 아키텍처(GELU 대신 SwiGlu, layernorm 대신 RMSnorm 등), 더 많은 데이터 다양성과 더 나은 데이터 셔플링, 스케일 업(4층 대신 8층). 비용 감소의 가장 큰 요인은: 훨씬 적은 증강(더 효율적인 샘플링!), AdamW → Normuon, 가변 길이 학습(varlen training)을 지원하는 flash attention과 추론용 flex attention 커널.
가장 큰 변화는 입력 토큰을 더 이상 학습하지 않는다는 것입니다. 즉, 손실 함수에 출력 토큰만 포함되어(접근법이 지도학습 방식이 됨) 성능이 약간 좋아졌습니다(40% → 44%). 다만 그 이유는 명확히 이해하지 못합니다. 아마도 유한한 모델 용량 때문일 것입니다. 또한 ARC-2에서 겹치지 않는 태스크를 추가해 학습 데이터를 늘렸습니다. 데이터 누수(leakage)가 없도록 매우 신중하게 수행했습니다. 추가 데이터가 마음에 들지 않으면 제거해도 여전히 약 40%의 점수를 얻지만, 약 두 배의 컴퓨팅이 필요합니다. 참고로 ARC-2는 ARC-1 퍼즐 773개와 새 퍼즐 347개를 포함합니다. ARC-1의 평가 퍼즐 대부분이 반복되므로, ARC-2를 무심코 학습하면 데이터 누수가 발생해 100%를 기록하게 됩니다. 저는 이 773개의 반복 퍼즐을 신중히 필터링하여 이를 피했습니다(누수 없음!). 성능이나 속도를 점진적으로 개선한 다른 많은 변경 사항들이 있으며, 전체 변경 목록은 여기서 확인할 수 있습니다.
흥미로운 동작 이제 입력을 학습하지 않으므로 이 접근법은 지도학습이 되었습니다. 이상한 점은 테스트 손실(loss)은 오히려 나빠졌는데 점수는 더 좋아졌다는 것입니다! 또한 더 안정적이고 점수의 분산도 줄었습니다. 오늘날 많은 사람들이 샘플 효율성 연구를 진행하고 있습니다.