Hugging Face의 SmolLM3는 3B급에서 Llama-3.2-3B와 Qwen2.5-3B를 앞섭니다.
원문에는 128k 문맥, 2.36M 전역 배치, 384 H100, 24일 학습이 적혀 있습니다.
실무에서는 KV 캐시, 문맥 길이, 데이터 혼합을 함께 확인해야 합니다.
Hugging Face는 SmolLM3로 무엇을 보여주려 했나
huggingface.co가 공개한 「SmolLM3: smol, multilingual, long-context reasoner」는 3B급 모델의 효율 구간을 겨냥합니다. 원문은 기본 모델과 지시·추론 모델을 함께 공개합니다. 또한 think / no_think 모드를 지원하는 이중 모드 추론을 내세웁니다.
지원 언어는 영어, 프랑스어, 스페인어, 독일어, 이탈리아어, 포르투갈어입니다. 문맥 길이는 NoPE와 YaRN을 써서 128k까지 확장했다고 밝힙니다. 핵심은 단순한 성능 경쟁이 아니라, 공개 데이터와 훈련 절차까지 함께 보여준 점입니다.
원문은 성능 수치만 나열하지 않고, 어떻게 만들었는지도 그대로 공개합니다.
원문이 확인한 수치는 어디에 모여 있나
아래 표는 원문에서 확인된 값만 정리한 것입니다.
| 항목 | 원문 값 | 무엇을 재는가 |
|---|---|---|
| 성능 비교 | Our 3B model outperforms Llama-3.2-3B and Qwen2.5-3B | 3B급 모델 간의 상대 성능입니다. |
| 최대 문맥 길이 | Long context up to 128k with NoPE and using YaRN | 한 번에 다루는 토큰 범위입니다. |
| GQA 검증 조건 | a 3B model trained with 100B tokens from FineWeb-Edu | 아블레이션 실험의 학습 조건입니다. |
| 전역 배치 크기 | 2.36M tokens | 한 번의 학습 단계에 묶는 토큰 수입니다. |
| 시퀀스 길이 | 4096 | 학습 시 입력 길이입니다. |
| 학습률 | 2e-4 | 가중치 갱신 속도입니다. |
| 옵티마이저 설정 | AdamW, beta1: 0.9, beta2: 0.95, weight decay of 0.1, gradient clipping of 1 | 최적화와 안정화 설정입니다. |
| 스케줄러 | WSD, 2000 warmup steps, final 10% training steps | 학습률 변화를 제어하는 규칙입니다. |
| 하드웨어와 기간 | 384 H100 GPUs for 24 days | 학습에 투입한 연산 자원입니다. |
| 총 학습량 | 11.2T tokens, three-stage training strategy | 전체 데이터 규모와 학습 단계입니다. |
원문 요약에는 11T tokens라고 적혀 있고, 본문에는 11.2T tokens라고 적혀 있습니다. 둘 다 공개된 문장에 적힌 값이지만, 해석할 때는 본문 수치를 따로 분리해 봐야 합니다.
원문 문장: We use a global batch size of 2.36M tokens with 4096 sequence length, a learning rate of 2e-4

GQA와 NoPE는 왜 함께 묶였나
기존 긴 문맥 접근은 문맥을 늘릴수록 메모리 비용도 함께 커지기 쉽습니다. SmolLM3는 그 부담을 줄이기 위해 구조와 위치 표현을 함께 손봤습니다. GQA는 다중 헤드 어텐션을 4개 그룹의 그룹화 질의 어텐션으로 바꿉니다.
원문은 FineWeb-Edu의 100B tokens로 학습한 3B 모델에서 GQA가 다중 헤드 어텐션과 비슷한 성능을 보였다고 적습니다. 동시에 추론 시 KV 캐시 크기를 줄였다고 밝힙니다. NoPE는 4번째 레이어마다 회전 위치 임베딩을 선택적으로 제거합니다.
원문은 이 방식이 짧은 문맥 능력을 해치지 않으면서 긴 문맥 성능을 높였다고 설명합니다. 여기에 문서 간 토큰이 서로 보지 않게 하는 마스킹까지 더해, 안정적인 긴 문맥 학습을 노렸습니다. 즉, SmolLM3의 차별점은 문맥 길이를 단순히 늘리는 데 있지 않습니다.
비용을 낮추는 장치와 학습 안정화를 함께 묶었다는 점이 다릅니다.

내 시스템에서는 무엇을 먼저 점검해야 하나
문맥 길이보다 먼저 볼 항목
긴 문맥이 필요한 시스템이라면, 먼저 추론 시 메모리 예산을 계산해야 합니다. 원문처럼 GQA를 쓰면 KV 캐시 부담을 줄일 수 있습니다. 반대로 문맥만 늘리고 캐시 비용을 놓치면, 실제 서빙에서 병목이 생깁니다.
학습 설정에서 고정할 항목
3B급 모델을 학습할 때는 시퀀스 길이, 전역 배치 크기, 학습률을 함께 고정해야 합니다. SmolLM3는 4096 시퀀스 길이, 2.36M 토큰 전역 배치 크기, 2e-4 학습률을 함께 사용했습니다. 옵티마이저와 스케줄러도 따로 떼어 보면 안 됩니다.
AdamW, 2000 warmup steps, 그리고 마지막 10%의 선형 감쇠가 한 묶음으로 움직입니다.
다국어와 추론 모드에서 볼 항목
다국어 성능이 필요하면, 목표 언어를 먼저 데이터 단계에서 고정해야 합니다. 원문은 영어, 프랑스어, 스페인어, 독일어, 이탈리아어, 포르투갈어를 명시합니다. 추론 품질과 응답 속도를 모두 원하면 think / no_think 같은 모드 분리가 유용합니다.
내일 할 일은 기능 추가가 아니라, 평가 기준과 자원 한계를 먼저 적는 일입니다.

자주 묻는 질문
SmolLM3는 몇 개 언어를 지원하나요?
SmolLM3는 6개 언어를 지원합니다. 원문이 명시한 언어는 영어, 프랑스어, 스페인어, 독일어, 이탈리아어, 포르투갈어입니다.
SmolLM3의 최대 문맥 길이는 얼마인가요?
SmolLM3의 최대 문맥 길이는 128k입니다. 원문은 NoPE와 YaRN을 함께 써서 이 길이를 지원한다고 적습니다.
GQA는 왜 넣었나요?
GQA는 추론 시 KV 캐시 크기를 줄이면서 다중 헤드 어텐션과 비슷한 성능을 얻기 위해 넣었습니다. 원문은 3B 모델과 100B tokens 조건의 아블레이션으로 이를 확인했다고 밝힙니다.
