Olmo 3: AI2의 완전 오픈소스 LLM (모델, 데이터 및 코드)
소개
우리는 Allen AI가 진입 장벽을 낮추기 위해 하고 있는 일들을 정말 좋아합니다. 이는 대학 연구실, 독립 연구자, 취미로 AI를 연구하는 사람들까지 차세대 AI 개발에 기여할 수 있도록 힘을 실어줍니다. 우리가 말하고 있는 것은 그들의 오픈소스 출시, 특히 Olmo 3이며, 이에 대해서는 이 글에서 자세히 다룰 것입니다. Olmo 3 출시에는 모델, 데이터셋, 코드, 학습 로그, 실시간 데모에 대한 포괄적인 접근이 포함되어 있습니다. 이러한 수준의 투명성과 접근성은 이 분야에서 매우 드문 일입니다.
전제 조건
이 글은 LLM(예: 사전 학습, 사후 학습) 훈련에 익숙하다고 가정합니다. LLM 훈련에 대한 포괄적인 개요를 원하시면 Hugging Face의 The Smol Training Playbook을 추천합니다.
이 글의 목표는 Olmo3에 대한 간결한 개요를 제공하여 여러분이 구현을 빠르게 시작할 수 있도록 돕는 것입니다. 자료를 표로 보여줌으로써, 이미 자세히 설명된 이번 릴리스를 한눈에 파악할 수 있기를 바랍니다:
- 카메론 R. 울프의 올모 3와 오픈 LLM 르네상스
- Olmo 3: 오픈소스 AI를 이끌기 위한 모델 흐름 경로 설정 | Ai2 (Allen AI의 Olmo 3 출시 포스트)
- 네이선 램버트의 올모 3 강의
또한, 이 기사와 함께 Olmo 3 기술 보고서를 참고하여 모델 사양과 학습 파이프라인에 대한 추가적인 맥락을 얻으실 수 있습니다. Olmo 2에 익숙하다면 도움이 될 수 있습니다. Olmo 3은 이전 버전인 Olmo 2를 기반으로 개발되었습니다.
핵심 내용
- Olmo 3 기본 모델은 일반 텍스트 코퍼스(dolma 3 mix)에서 사전 학습을 완료했으며, 표적화된 고품질 데이터(dolma 3 dolmino)로 중간 학습을 진행했고, 문맥 확장(dolma 3 longmino)을 수행했습니다.
- 사후 학습 모델에는 Olmo 3 Instruct, Olmo 3 Think, Olmo-3 RL-Zero가 포함됩니다.
- AI2는 Olmo3와 OlmoTrace를 통합하여 모델 출력이 특정 사전 학습 데이터와 어떻게 연결되는지 확인할 수 있는 도구를 제공합니다.
이 모델은 Dolma3로 사전 학습되었고 Dolci 스위트로 후속 학습되었습니다.
모델 아키텍처
아래 표에서 우리는 Olmo 3 아키텍처의 주요 특징을 정리합니다.
| 사양 | 관련성 |
|---|---|
| 7B 및 32B 매개변수 | Olmo 3는 32B와 7B 파라미터 두 가지 버전으로 제공됩니다. 위 그림에서 볼 수 있듯이 7B 모델은 Query(Q)와 Key-Value(KV) 헤드의 수가 동일한 반면, 32B 모델은 KV보다 훨씬 많은 Q 헤드를 가지고 있습니다. 이는 32B 모델이 그룹화된 쿼리 어텐션(GQA)을 사용하고 있고, 7B 모델은 멀티헤드 어텐션(MHA)을 사용하고 있기 때문입니다. 어텐션에 대한 기본 정보를 원하신다면, 저희 LLM 추론 최적화 기사 내 어텐션 및 그 변형 섹션을 참고하세요. 이 모델은 고급 소비자 GPU(7B)나 단일 연구 노드(32B)에서도 실행될 만큼 컴팩트하고 효율적입니다. |
| 조밀한 트랜스포머 | 역사적으로 많은 오픈 웨이트 모델들이 MoE를 사용해 왔지만(예: Kimi-K2, gpt-oss), Olmo 3는 밀집형(decoder-only) 트랜스포머 아키텍처를 사용합니다. |
| 슬라이딩 윈도우 어텐션 (SWA) | 연구자들은 확장된 시퀀스 길이에서도 추론 비용을 관리하면서 확장 가능한 사전 학습을 가능하게 하기 위해 슬라이딩 윈도우 어텐션(SWA) 패턴을 도입했습니다. 이 접근법에서는 각 토큰이 4096 토큰 범위 내의 이전 토큰에 주목합니다. 연구자들은 4개 층 중 3개 층에 SWA를 적용하고, 마지막 층에서는 항상 전체 어텐션을 사용하도록 보장합니다. |
| 회전 위치 임베딩 Θ=5e5 | RoPE는 토큰의 위치에 따라 쿼리와 키 벡터를 회전시켜 위치를 인코딩합니다. 위치 인코딩은 어텐션이 입력 토큰의 순서를 인식하지 못하기 때문에 매우 중요합니다. RoPE의 θ 값 500K가 RULER 벤치마크 점수에 주요한 기여를 하는 방식을 이해하려면 Olmo3 논문의 그림 13을 참조하세요. |
| 실 | YaRN(Yet another RoPE-scaling 방법)는 트랜스포머 기반 모델의 컨텍스트 윈도우를 효율적으로 확장하기 위해 설계된 계산 효율적인 기법입니다. 연구자들은 RoPE를 원래의 사전 학습 컨텍스트 길이를 넘어서 확장하기 위해 여러 방법을 시도했습니다(섹션 3.6.4 참조). 그들은 YaRN을 전체 어텐션 레이어에만 적용했을 때 최상의 성능을 낸다는 것을 발견했습니다. |
데이터 큐레이션
| 데이터셋 이름 | 크기 | 설명 및 목적 |
|---|---|---|
| 돌마 3 | ~9.3조 토큰 | 웹 페이지, 과학 PDF, 코드베이스, 수학 문제 및 백과사전에서 추출한 전체 코퍼스. |
| 돌마 3 혼합 | 5.9조 토큰 (~6조) | Dolma 3로 구성된 사전 학습 믹스입니다. 코드와 수학 데이터의 비율이 높고 강력한 오염 제거/중복 제거 기능을 갖추고 있습니다. allenai/olmo-3-pre-training |
| 돌마 3 돌미노 | 1,000억 개의 토큰 | 중간 훈련 믹스는 Dolma 3에서 구성되었습니다. 최종 조정 전에 특정 기술을 향상시키기 위해 고품질의 수학, 과학, 코딩, 독해에 중점을 둡니다. allenai/dolma3_dolmino_pool |
| 돌마 3 롱미노 | ~500억 토큰 | Dolma 3에서 구성된 장기 컨텍스트 믹스입니다. 이는 장문 문서(639B 풀에서)와 중간 학습 데이터를 결합하여 모델이 긴 입력(최대 65K 토큰)에 걸친 정보를 추적하도록 학습시키는 데 사용됩니다. allenai/dolma3_longmino_pool |
| 돌치 스위트 | 변수 (혼합 종속) | 사후 학습 데이터 모음입니다. SFT(추론/도구 사용), DPO(대조적 선호), RLVR(검증 가능한 보상)을 위한 개별 혼합 데이터를 포함하고 있습니다. allenai/olmo-3-post-training |
| 기능/단계 | 타입 | 설명 |
|---|---|---|
| 사전 학습 | 사전 학습 | 초기 단계는 세 가지 하위 단계로 구성됩니다: 광범위한 능력 학습, 중간 훈련(기술 연마), 장기 문맥 확장. |
| SFT | Post-Training | 지도 학습 기반 미세 조정. 모델의 원시 출력을 특정 형식(예: 채팅, 단계별 사고)으로 맞추는 데 사용됩니다. |
| DPO | Post-Training | 직접 선호 최적화. 모델이 선호 데이터(“더 나은” 답변을 “덜 나은” 답변보다 선택)로부터 학습하는 조정 방법. |
| RLVR | Post-Training | 검증 가능한 보상이 있는 강화 학습. 검증 가능한 올바른 결과(예: 수학이나 코드)를 보상함으로써 고품질 추론 과정을 유도하는 데 사용되는 특수 강화 학습 단계입니다. |
OlmoTrace
OlmoTrace는 사용자가 텍스트를 강조 표시하고 훈련 데이터의 출처를 추적할 수 있게 해줍니다. 이는 환각(auditing hallucinations)을 감사하고, 오염을 감지하며(추론과 암기를 구분), 훈련 데이터와 계산량이 늘어남에 따라 추론이 어떻게 나타나는지 추적함으로써 스케일링 법칙을 연구하는 데 도움이 됩니다.
Olmo3 on Linux-Console.net
Linux-Console.net에는 이러한 모델을 실험해 볼 수 있는 GPU 드롭렛이 있습니다.
Olmo3 블로그 게시물에는 학습 단계와 관련 데이터셋을 확인할 수 있는 인터랙티브 그림이 포함되어 있습니다.
| 도구 | 설명 |
|---|---|
| 올모-코어 | 분산 모델 학습을 위한 최신 프레임워크. 효율성을 극대화하도록 설계된 사전 학습 코드베이스. 문서: OLMo-core v2.4.0 |
| 오픈 인스트럭트 | 훈련 후 파이프라인 |
| 데이터맵-rs | 대규모 정리를 위한 순수 러스트 툴킷 |
| 듀플로도쿠스 | 초고속 퍼지 중복 제거를 위해 |
| 올메스 | 재현 가능한 평가를 위한 도구 모음입니다. 여기에는 Olmo 3 기본 모델 개발에 사용된 OlmoBaseEval이 포함되어 있습니다. |
| 디콘 | 훈련 데이터에서 테스트 세트를 제거합니다 |
참고 문헌 및 추가 자료
Olmo 3 | Hugging Face와 함께하는 라이브 스트리밍: 우리가 선도적인 추론 모델을 구축한 방법 (Olmo 3)
Olmo 3: 오픈 소스 AI를 선도하기 위한 모델 흐름 경로 계획 | Ai2
Sebastian Raschka의 대규모 LLM 아키텍처 비교
LLMs-from-scratch/ch05/13_olmo3/standalone-olmo3.ipynb 메인 브랜치
Olmo 3와 오픈 LLM 르네상스 by Cameron R. Wolfe
자주 묻는 질문
연구자들이 하이브리드 샤디드 데이터 병렬(HSDP)을 사용한 이유는 무엇인가요?
Olmo 3 팀은 주로 학습 효율성과 확장성을 향상시키기 위해 하이브리드 샤디드 데이터 병렬(HSDP)을 사용했습니다. HSDP는 각 노드 내에서 완전 샤드 데이터 병렬(FSDP)의 장점과 노드 간의 표준 데이터 병렬의 장점을 결합합니다. 이 접근 방식은 특히 대규모 환경에서 중요한 노드 간 통신 오버헤드를 줄이며, 모델 업데이트 시 매개변수와 그래디언트의 효율적인 동기화를 가능하게 합니다. 통신 집약적인 작업을 노드 내로 제한함으로써, HSDP는 Olmo 3 Base와 같은 대형 모델의 더 나은 확장성과 빠른 학습을 가능하게 합니다.
Olmo 3의 데이터는 어떻게 선별되었나요?
| 무대 | 주요 데이터 소스 | 처리 하이라이트 | 목표 |
|---|---|---|---|
| 사전 학습 | Common Crawl [A.2.1], olmOCR PDF, Stack-Edu(코드), arXiv, FineMath, 위키피디아/위키북스. | 중복 제거(해시/MinHash) [A.2.2], 품질 필터링(fastText), 토큰 제한 혼합, 고품질 데이터 업샘플링. | 다양하고 고품질의 기반을 구축하세요 (6T 토큰). |
| 중간 훈련 | 합성 수학(TinyMATH, CraneMath), 코드(Stack-Edu, Nemotron), QA(Reddit-to-Flashcards), 추론 과정. | 데이터셋 테스트, 통합 테스트, 오염 제거, 의도적인 지침/사고 데이터 포함을 위한 마이크로 어닐링. | 수학, 코딩, 추리, QA 능력 향상(1,000억 토큰). |
| 장기 문맥 확장 | olmOCR PDF(긴 문서), 합성 집계 작업. | 문서 필터링(gzip), 패킹, 문서 내 마스킹, 위치 임베딩을 위한 YaRN. | 장문 문서(50B–100B 토큰)에서 65K 토큰 컨텍스트를 활성화합니다. |
| 훈련 후 (생각하기) | 추론 과정 기록(OpenThoughts3, SYNTHETIC-2), 수학/코드/채팅 프롬프트, DPO 쌍 [4.3.1] (Qwen3 모델). | SFT/DPO/RL 단계, 검증 가능한 보상, 대비 쌍을 위한 델타 학습. | 추론(수학, 코드, 대화)과 정확한 지시사항 수행을 최적화합니다. |
| 훈련 후 (지시) | 함수 호출 데이터, 와일드챗, 정밀 IF 프롬프트, 다회차 DPO, 길이 제어 응답. | 사용성, 도구 사용, 간결한 출력에 중점을 두세요; 일반 채팅과 함수 호출에는 RL을 사용하세요. | 채팅 사용 편의성, 도구 통합, 간결성을 최적화하세요. |
| 사후 학습(RL-Zero) | 필터링된 수학(DAPO, 오메가), 코드/IF/채팅 하위 집합, 오염 제거 평가. | 검증 가능한 보상이 있는 처음부터의 RL; 간단한 프롬프트 템플릿. | 투명하고 오염 없는 데이터로 RL 알고리즘을 벤치마킹하세요. |
연구자들은 어떻게 RL 학습을 4배 더 효율적으로 만들었나요?
연구자들은 비행 중 가중치 업데이트(즉, 파이프라인 RL), 연속 배치(동적 프롬프트 교체로 GPU 유휴 시간 방지), 그리고 다양한 스레딩 개선을 적용했습니다.
마지막 생각
Olmo 3는 인상적인 출시입니다. 이 모델의 3단계 훈련 파이프라인(Dolma 3 Mix에서 사전 훈련, Dolma 3 Dolmino에서 중간 훈련, Dolma 3 Longmino에서 장문 확장 훈련)은 다양한 기능에 최적화된 Instruct, Think, RL-Zero를 포함한 일련의 사후 훈련 모델을 만들어냈습니다. 사람들의 모델, 데이터셋, 코드, 훈련 로그 활용 소식을 듣게 되어 기대됩니다.
Linux-Console.net 커뮤니티와 함께 학습해 주셔서 감사합니다.




