SmolLM3 릴리스: 다국어, 장기 컨텍스트 3B 추론기
Hugging Face는 효율성과 높은 성능을 위해 설계된 3B 파라미터 오픈 언어 모델인 SmolLM3를 소개했습니다. SmolLM3는 Llama-3.2-3B와 Qwen2.5-3B보다 뛰어나며, 더 큰 4B 모델과도 경쟁력을 유지하면서 명시적 사고와 직접 답변 사이를 전환할 수 있는 듀얼 모드 추론 기능을 제공합니다.
아키텍처 및 사전학습
SmolLM3는 결합된 임베딩을 사용하는 트랜스포머 디코더 아키텍처를 활용하며, 효율성과 장기 컨텍스트 성능을 최적화하기 위해 여러 수정 사항을 포함합니다:
- Grouped Query Attention (GQA): 멀티헤드 어텐션을 4개의 그룹으로 대체하여 추론 시 KV 캐시 크기를 줄이면서 성능을 유지합니다.
- NoPE: 매 4번째 레이어에서 회전 위치 임베딩을 선택적으로 제거하여 짧은 컨텍스트 기능을 유지하면서 장기 컨텍스트 성능을 향상시킵니다.
- Intra-Document Masking: 단일 학습 시퀀스 내 서로 다른 문서의 토큰이 서로를 주시하지 못하도록 하여 보다 안정적인 장기 컨텍스트 학습을 보장합니다.
- Training Stability: 임베딩 레이어에서 가중치 감쇠를 제거하여 학습 역학을 안정화합니다.
3단계 사전학습
이 모델은 도메인 성능을 단계적으로 향상시키기 위해 3단계 전략으로 11.2조 토큰에 대해 학습되었습니다:
- Stable Phase (0T to 8T tokens): 85% 웹(그 중 12% 다국어 포함), 12% 코드, 3% 수학의 혼합으로 일반 능력에 초점을 맞춥니다.
- Stable Phase (8T to 10T tokens): 고품질 수학 및 코드 데이터를 늘려 75% 웹, 15% 코드, 10% 수학으로 전환합니다.
- Decay Phase (10T to 11.1T tokens): 수학과 코드를 추가로 업샘플링하여 최종적으로 63% 웹, 24% 코드, 13% 수학이 되며, OpenMathReasoning과 같은 지시 및 추론 데이터셋을 도입합니다.
중간 학습: 컨텍스트 및 추론
주요 사전학습 이후, SmolLM3는 최종 감독 미세조정 전에 특정 능력을 강화하기 위해 "중간 학습"을 진행했습니다.
장기 컨텍스트 확장
컨텍스트 윈도우를 확장하기 위해 모델은 두 단계에 걸쳐 추가로 1000억 토큰을 학습했습니다: 4k에서 32k(RoPE theta 1.5M)로 전환하고, 이후 32k에서 64k(RoPE theta 5M)로 전환했습니다. 추론 시 YARN을 사용해 외삽함으로써 SmolLM3는 최대 128k 컨텍스트를 처리할 수 있습니다.
추론 적응
SmolLM3는 OpenThoughts3-1.2M와 NVIDIA의 Llama-Nemotron-Post-Training-Dataset-v1.1의 일부에서 일반 추론 데이터 350억 토큰을 학습했습니다. 이 단계는 수학이나 코드와 같은 특정 주제에 초점을 맞추기보다 도메인 전반에 걸쳐 일반적으로 추론하도록 모델을 교육하는 데 중점을 두었습니다.
사후 학습 및 듀얼 모드 추론
SmolLM3는 추론(/think)과 비추론(/no_think) 모드를 모두 지원하는 듀얼 인스트럭션 모델입니다.
감독 미세조정 (SFT)
SFT 데이터셋은 18억 토큰(10억 비추론, 8억 추론)으로 구성됩니다. 특정 도메인에 대한 추론 트레이스를 보완하기 위해 Hugging Face는 비추론 프롬프트로 추론 모드에서 Qwen3-32B를 호출해 합성 데이터를 생성했습니다. 이를 통해 다중 턴 대화와 다국어 성능이 향상되었습니다.
Anchored Preference Optimization (APO)와 정렬
정렬은 Direct Preference Optimization(DPO)의 보다 안정적인 변형인 Anchored Preference Optimization(APO)을 사용해 수행되었습니다. 이 과정에서는 비추론 모드에 Tulu3 선호도 데이터셋을, 추론 모드에 Qwen3-32B에서 선택되고 Qwen3-0.6B에서 거부된 합성 쌍을 사용했습니다.
복구를 위한 모델 병합
추론 중간 학습 및 APO 단계가 장기 컨텍스트 벤치마크(RULER)에서 성능 저하를 일으켰기 때문에, Hugging Face는 MergeKit을 사용해 선형 병합을 수행했습니다. APO 모델 "스프"와 중간 학습 체크포인트를 각각 가중치 0.9와 0.1로 결합하여 기본 모델의 RULER 점수를 128k 토큰까지 회복했습니다.
성능 평가
기본 모델
SmolLM3는 지식, 추론, 수학, 코딩을 포함한 12개의 벤치마크(HellaSwag, ARC, GSM8K 등)에서 다른 3B 모델들을 지속적으로 능가합니다. Qwen3-4B와 Gemma3-4B와 같은 4B 모델과도 경쟁력을 가지며, 주요 유럽 5개 언어에 걸쳐 강력한 다국어 성능을 보여줍니다.
인스트럭션 및 추론 모델
- Non-Reasoning Mode: SmolLM3는 Llama-3.2-3B Instruct와 Qwen2.5-3B Instruct보다 뛰어나며, 더 큰 추론 모델에 대한 고효율 대안으로 자리매김합니다.
- Reasoning Mode: 확장된 사고가 활성화되면 모델은 복잡한 작업에서 큰 향상을 보입니다. 예를 들어, AIME 2025 점수가 9.3% (비추론)에서 36.7% (추론)로 상승했으며, LiveCodeBench 점수도 15.2%에서 30.0%로 상승했습니다.
로컬 구현 및 사용법
SmolLM3는 transformers v4.53.0 이상이 필요합니다. 사용자는 시스템 프롬프트를 통해 추론 모드를 제어할 수 있습니다:
- Extended Thinking: 시스템 프롬프트에
/think플래그를 포함합니다. - Direct Answer: 시스템 프롬프트에
/no_think플래그를 포함합니다.
모델은 또한 채팅 템플릿의 xml_tools(표준) 및 python_tools(Python 함수 스니펫) 인수를 통해 도구 호출을 지원합니다.