Skip to content

Split View: 공개된 학습 사례에서 배우기 — 무엇을 시도했고 무엇이 실패했나

✨ Learn with Quiz
|

공개된 학습 사례에서 배우기 — 무엇을 시도했고 무엇이 실패했나

들어가며 — 보고서에서 읽어야 할 것은 점수표가 아닙니다

기술 보고서를 벤치마크 표만 보고 닫으면 얻을 것이 거의 없습니다. 점수는 우리 상황에 옮겨지지 않지만, 무엇이 망가졌고 어떻게 고쳤는가는 규모가 달라도 그대로 옮겨집니다.

이 글은 공개 보고서와 로그북에서 그 부분만 뽑았습니다. 손실 스파이크와 그 대응, 하드웨어 고장률과 체크포인트 주기의 관계, 데이터 혼합을 중간에 바꾼 효과, 그리고 스케일링 결정의 근거입니다. 각 사례 끝에는 보고서가 말하지 않은 것을 따로 적었습니다. 재현 가능성을 판단하려면 그쪽이 더 중요합니다.

고른 사례와 확인 기준

전부 2026년 8월 2일에 링크를 확인했습니다. 인용한 수치는 원문이나 원문을 직접 인용한 보도에서 가져왔고, 확인하지 못한 것은 본문에 그렇게 적었습니다.

사례문서공개 시점이 사례에서 볼 것
Llama 3 405BarXiv 2407.217832024-07대규모 장애 통계와 4D 병렬화
DeepSeek-V3arXiv 2412.194372024-12FP8 학습과 롤백 없는 안정성
DeepSeek-V3 하드웨어 회고arXiv 2505.093432025-05하드웨어와 모델의 공동 설계
Kimi K2arXiv 2507.205342025-07옵티마이저 층위의 스파이크 억제
Olmo 3arXiv 2512.139612025-12(v1)완전 공개와 안정성 수정의 계보
OPT-175B 로그북metaseq chronicles2022-05실패 기록의 원형
BLOOMarXiv 2211.051002022-11예비 노드와 공용 슈퍼컴 운영
SmolLM3HF 블로그2025-07데이터 혼합 결정 과정
Marinmarin.community2025-05~공개 실험 노트와 사전 등록

Llama 3 405B — 장애가 상수인 규모에서 설계하기

가장 인용할 가치가 있는 것은 이 보고서의 중단 통계입니다. 16,384장의 H100 80GB로 54일을 돌리는 동안 예기치 않은 중단이 419건 있었고, 보고서는 그중 78퍼센트를 확인되었거나 의심되는 하드웨어 문제로 분류합니다. 세부 분류는 보고서 표를 인용한 데이터센터 업계 보도에 따르면 다음과 같습니다.

원인건수비율
GPU 결함14830.1%
GPU HBM3 메모리7217.2%
네트워크 스위치와 케이블358.4%
GPU SRAM 메모리194.5%
GPU 시스템 프로세서174.1%
CPU20.5%

54일에 419건이면 평균 3.1시간에 한 번입니다. 이 규모에서 장애는 예외가 아니라 상수입니다. 그래서 설계가 달라집니다. 사람이 개입해 재시작하는 운영은 성립하지 않고, 장애 감지와 노드 교체, 재개가 자동으로 돌아야 합니다.

여기서 곧바로 나오는 실무 계산이 체크포인트 주기입니다. 평균 장애 간격 3.1시간에 저장이 5분 걸린다면 최적 주기는 43분 안팎이고, 그래도 전체 시간의 20퍼센트 이상이 저장과 재계산으로 사라집니다. 계산 과정은 LLM Ops 글에 넣어 두었습니다.

병렬화는 텐서, 컨텍스트, 파이프라인, 데이터의 4차원 조합을 썼고, BF16 기준 모델 FLOPs 활용률은 38~43퍼센트 구간으로 보고되었습니다. 이 숫자를 기억해 두시면 좋습니다. 잘 튜닝된 대규모 학습도 이론 성능의 절반을 못 씁니다. 자체 클러스터에서 30퍼센트대가 나온다고 해서 반드시 뭔가 잘못된 것은 아닙니다.

보고서가 말하지 않는 것: 학습 데이터의 정확한 구성 비율과 필터링 분류기의 임계값, 실패해서 버린 사전 실험들, 그리고 장애 감지와 자동 복구를 담당한 내부 운영 소프트웨어의 구현입니다. 통계는 공개되었지만 그 통계를 만든 도구는 공개되지 않았습니다.

DeepSeek-V3와 Kimi K2 — 스파이크를 없애는 두 층위

두 보고서를 같이 읽으면 손실 스파이크를 대하는 서로 다른 전략이 보입니다.

DeepSeek-V3는 671B 파라미터 중 토큰당 37B를 활성화하는 MoE를 14.8T 토큰으로 학습했고, 전체 학습에 2.788M H800 GPU 시간이 들었다고 보고합니다. 여기에는 컨텍스트 확장 119K 시간과 사후 학습 5K 시간이 포함됩니다. 그리고 보고서에는 이런 문장이 있습니다. 전체 학습 과정에서 복구 불가능한 손실 스파이크를 겪지 않았고 롤백을 수행하지 않았다는 것입니다.

이 안정성이 어디서 왔는지는 보고서가 직접 단언하지 않습니다. 다만 함께 기술된 것들이 힌트입니다. FP8 혼합정밀 학습을 도입하면서 정밀도가 민감한 연산은 고정밀로 남겼고, 파이프라인 버블을 줄이는 DualPipe로 계산과 통신을 겹쳤으며, MoE 로드 밸런싱을 보조 손실 없이 처리하는 방식을 썼습니다. 마지막 항목이 특히 중요합니다. 보조 손실로 전문가 사용을 균등화하면 그 손실이 주 목적 함수와 싸우면서 불안정을 만드는데, 그 항을 없앤 것입니다.

후속 회고 논문인 Insights into DeepSeek-V3는 하드웨어 쪽 설계를 다룹니다. 멀티헤드 잠재 어텐션으로 토큰당 KV 캐시를 70.272KB까지 줄였다는 수치가 나오는데, 같은 표에서 Llama-3.1 405B는 516.096KB입니다. 그리고 클러스터 네트워크로 다중 평면 팻트리 토폴로지를 썼다고 적습니다. 모델 구조 결정이 곧 인프라 결정이라는 사례입니다.

Kimi K2는 다른 층위에서 같은 문제를 풉니다. 총 1.04T 파라미터 중 32B를 활성화하는 MoE를 15.5T 토큰으로 학습하면서 손실 스파이크가 관측되지 않았다고 보고하는데, 그 수단이 옵티마이저입니다. Muon 옵티마이저에 QK-Clip을 결합한 MuonClip을 써서, 업데이트 직후 어텐션의 질의와 키를 재조정해 로짓 폭주를 억제했습니다. 학습률 일정은 WSD 계열로, 500스텝 워밍업 뒤 10T 토큰을 상수 학습률로 돌리고 남은 5.5T를 코사인으로 감쇠했다고 기술합니다. 사전학습 컨텍스트는 4,096입니다.

두 접근의 차이를 정리하면 이렇습니다.

층위사례방법실무 적용성
운영OPT-175B 등스파이크 감지 후 롤백, 데이터 구간 건너뛰기즉시 적용 가능. 비용은 계속 발생
아키텍처OLMo 계열정규화 위치와 QK 정규화로 구조적 억제사전학습 시작 전에만 결정 가능
옵티마이저Kimi K2업데이트 후 가중치 재조정옵티마이저 교체 위험을 감수해야 함
목적 함수DeepSeek-V3불안정을 만드는 보조 손실 자체를 제거설계 단계에서만 가능

보고서가 말하지 않는 것: 두 보고서 모두 성공한 최종 구성만 기술합니다. FP8 도입 과정에서 어떤 레이어가 먼저 터졌는지, MuonClip의 클리핑 임계값을 어떻게 찾았는지, 그 전에 몇 번의 실패한 런이 있었는지는 나오지 않습니다. 그리고 두 곳 모두 데이터 구성은 공개하지 않습니다.

Olmo 계열 — 안정성 수정이 아키텍처에 남긴 흔적

Allen AI의 Olmo 3은 7B와 32B 모델을 내면서 체크포인트와 데이터셋, 의존성까지 전체 개발 파이프라인을 공개했습니다. 이 완전 공개가 중요한 이유는 벤치마크 점수 때문이 아니라, 제3자가 오염 여부와 데이터 출처를 직접 감사할 수 있는 유일한 형태이기 때문입니다.

기술적으로 눈여겨볼 것은 안정성 수정이 하이퍼파라미터가 아니라 아키텍처에 남았다는 점입니다. Olmo 3은 OLMo 2에서 안정성 개선으로 확인된 구성을 유지합니다. RMSNorm을 쓰되 정규화 위치를 후행으로 두고, 어텐션 계산 전에 질의와 키에 정규화를 한 번 더 걸며, 임베딩에는 가중치 감쇠를 적용하지 않습니다.

세 가지 모두 사전학습을 시작한 뒤에는 바꿀 수 없는 결정입니다. 그래서 이 사례가 주는 교훈은 실무적으로 냉정합니다. 불안정 대응의 가장 좋은 시점은 첫 번째 스파이크가 나기 전입니다. 이미 3T 토큰을 돌린 상태에서 정규화 위치를 바꾸는 선택지는 존재하지 않습니다.

보고서가 말하지 않는 것: 데이터와 체크포인트는 공개되었지만, 이 규모를 다시 돌릴 계산 자원이 대부분의 조직에는 없습니다. "완전 공개"는 감사 가능성을 주지만 재현 가능성을 주지는 않습니다. 이 구분은 분명히 해 두는 편이 좋습니다.

OPT-175B와 BLOOM — 실패를 기록하는 문화의 원형

지금의 기술 보고서들이 매끄러운 최종본이라면, 2022년의 두 사례는 날것의 기록입니다.

OPT-175Bchronicles 디렉터리에는 전체 로그북 PDF와 함께 진행률 10퍼센트, 27퍼센트, 56퍼센트, 그리고 최종 시점의 업데이트 노트가 들어 있습니다. 저장소 설명은 이것을 "OPT-175B 학습에 사용한 전체 로그북과, 과정에서 마주친 어려움을 정리한 노트들"이라고 소개합니다. 로그북에는 반복된 재시작, 손실 발산, 학습 도중의 하이퍼파라미터 변경, 하드웨어 교체가 날짜와 함께 남아 있습니다.

여기서 배울 것은 특정 기술이 아니라 기록 자체가 산출물이라는 태도입니다. 학습 중 어떤 결정을 왜 내렸는지가 그 시점에 기록되지 않으면, 두 달 뒤에는 아무도 재구성하지 못합니다.

BLOOM은 프랑스 Jean Zay 슈퍼컴퓨터에서 48개 노드, 노드당 A100 80GB 8장, 총 384장으로 약 3.5개월간 학습했고 1,082,990 계산 시간을 썼습니다. 자원 계획에서 눈에 띄는 것은 하드웨어 장애 가능성 때문에 예비 노드 4개를 따로 확보해 두었다는 점입니다. 노드 간 연결은 노드당 100Gbps Omni-Path 링크 4개였고, 공용 슈퍼컴이라 파일 시스템을 다른 사용자와 공유했습니다.

384장 규모에서 예비 노드를 8퍼센트 남짓 확보한 이 결정은 그대로 옮겨 쓸 수 있는 실무 규칙입니다. 자원 신청서에 예비 노드를 쓰지 않으면, 노드 하나가 죽는 순간 전체 학습이 대기열 맨 뒤로 갑니다.

보고서가 말하지 않는 것: 두 사례 모두 당시의 소프트웨어 스택(구버전 Megatron-DeepSpeed, 구버전 PyTorch) 위에 있어 코드를 그대로 돌릴 수 없습니다. 그리고 로그북의 판단들은 당시 하드웨어와 프레임워크 제약에 묶여 있으므로, 결론이 아니라 사고 과정만 가져와야 합니다.

SmolLM3와 Marin — 작은 규모에서 공개된 실험 노트

앞의 사례들은 대부분의 조직이 흉내 낼 수 없는 규모입니다. 그래서 더 실용적인 두 사례를 덧붙입니다.

SmolLM3는 3B 모델을 11.2T 토큰으로 학습하면서 데이터 혼합을 어떻게 결정했는지를 공개했습니다. 3단계 사전학습으로 웹, 코드, 수학의 비율을 단계마다 바꾸고, 그 비율은 3B 모델을 50B에서 100B 토큰 규모로 돌리는 소규모 실험으로 정했다고 기술합니다. 1단계 구성은 웹 85퍼센트(그중 다국어 12퍼센트), 코드 12퍼센트 같은 식으로 숫자까지 나와 있습니다.

이 방법론이 핵심입니다. 11.2T 토큰짜리 결정을 100B 토큰짜리 실험으로 내린 것입니다. 혼합 비율 후보를 몇 개 잡고 작은 규모에서 돌려 비교한 다음 본 학습에 적용하는 절차는 3B에서도 30B에서도 똑같이 씁니다. 함께 공개된 Smol Training Playbook은 384장 규모 작업에서 손실 스파이크를 디버깅한 과정처럼 논문에 안 들어가는 부분을 다룹니다. 384장은 많은 조직이 실제로 만질 수 있는 규모입니다.

Marin은 스탠퍼드 쪽에서 시작한 공개 실험실로, 모든 연구 시도를 GitHub 이슈로 먼저 등록하고 그 이슈가 일종의 사전 등록 역할을 하게 합니다. 8B 모델을 12T 토큰 이상으로 학습하는 과정에서 데이터 혼합을 계속 다듬었고, 후반 냉각 단계에서 학습률을 낮추면서 데이터를 고품질 쪽으로 바꾸는 방식을 회고 문서로 남겼습니다.

사전 등록이라는 관행이 특히 가져갈 만합니다. 실험 결과를 보고 나서 가설을 쓰면 거의 모든 결과가 성공으로 보입니다. 돌리기 전에 무엇을 기대하는지 적어 두는 것만으로 이 편향이 크게 줄어듭니다.

보고서가 말하지 않는 것: SmolLM3의 소규모 대리 실험이 본 규모에서 얼마나 잘 예측했는지는 정량적으로 검증되지 않았습니다. 작은 규모 실험이 큰 규모로 옮겨가지 않는 경우가 실제로 존재하므로, 이 방법론은 "완벽한 예측"이 아니라 "근거 없는 추측보다 나은 절차"로 받아들이는 것이 맞습니다.

가로질러 읽기 — 반복되는 것과 끝내 안 나오는 것

일곱 사례를 겹쳐 놓으면 반복되는 패턴이 다섯 개 보입니다.

  1. 손실 스파이크 대응에는 네 층위가 있고, 아래로 갈수록 싸고 위로 갈수록 늦습니다. 목적 함수 설계, 아키텍처, 옵티마이저, 운영 순으로 개입 비용이 커집니다. 그런데 대부분의 팀은 가장 비싼 운영 층위에서만 대응합니다.
  2. 장애율은 GPU 수에 비례하고, 체크포인트 주기와 자동화 수준을 결정합니다. 384장에서는 예비 노드로 충분하고, 16,384장에서는 자동 감지와 교체가 필수입니다. 규모가 열 배가 되면 운영 방식이 달라져야 합니다.
  3. 데이터 혼합은 처음부터 끝까지 고정되지 않습니다. 여러 사례가 단계별 혼합과 후반 냉각 구간의 고품질 데이터 전환을 기술합니다. "데이터셋을 정하고 학습을 시작한다"는 모델은 현실과 다릅니다.
  4. 스케일링 결정은 소규모 대리 실험에서 나옵니다. 큰 결정일수록 작은 실험이 근거가 됩니다. 실험 설계 능력이 GPU 수보다 중요해지는 지점입니다.
  5. 모델 구조 결정은 인프라 결정입니다. KV 캐시 크기를 줄이는 어텐션 설계가 서빙 비용을 바꾸고, MoE 선택이 네트워크 토폴로지 요구를 바꿉니다.

반대로, 거의 모든 보고서에서 끝내 나오지 않는 것도 정리해 둡니다. 이 목록을 알고 있어야 보고서를 과신하지 않습니다.

  • 실패한 런의 수와 비용. 최종 런의 GPU 시간은 나오지만, 거기 도달하기까지 태운 자원은 거의 공개되지 않습니다. 공개된 GPU 시간을 그대로 예산 근거로 쓰면 크게 모자랍니다.
  • 데이터의 정확한 구성과 필터 임계값. 비율은 나와도 원본 출처와 중복 제거 파라미터, 품질 분류기의 컷오프는 대개 빠집니다.
  • 하이퍼파라미터 탐색 과정. 최종 값만 나오고, 그 값을 어떻게 찾았는지는 나오지 않습니다.
  • 운영 인력과 도구. 몇 명이 몇 교대로 붙었는지, 어떤 내부 도구가 장애를 감지했는지가 빠집니다. 이것이 실제로는 가장 큰 진입 장벽입니다.
  • 평가 세트 오염 검사의 상세. 검사했다는 서술은 있어도 방법과 임계값, 발견된 겹침의 규모까지 적는 경우는 드뭅니다.

마치며 — 재현할 수 없는 부분을 아는 것이 읽는 기술입니다

공개 보고서는 성공의 설계도가 아니라 한 팀이 특정 제약 아래 내린 결정의 기록입니다. 16,384장에서 유효했던 자동 복구 설계가 8장짜리 노드에서는 과잉이고, 384장에서 통했던 수동 대응이 16,384장에서는 성립하지 않습니다.

그래서 읽는 방법은 이렇게 정리됩니다. 숫자는 그 팀의 규모에 묶여 있으니 가져오지 말고, 결정의 근거를 가져오십시오. 왜 이 시점에 체크포인트 주기를 정했는가, 왜 이 층위에서 불안정을 막기로 했는가, 왜 이 실험으로 저 결정을 내렸는가. 그리고 보고서에 없는 항목의 목록을 항상 함께 들고 다니십시오. 없는 것이 무엇인지 아는 사람만이 그 보고서를 근거로 계획을 세울 수 있습니다.

병렬화의 기본기는 멀티 GPU 학습의 네 가지 병렬화에, 이 결정들을 실행할 도구는 LLM 학습 스택 지도Slurm 실무 가이드에 정리해 두었습니다.

Lessons from Published Training Runs — What Was Tried, and What Failed

Introduction — What to Read From a Report Is Not the Scoreboard

If you close a technical report after just looking at the benchmark table, you get almost nothing out of it. The scores don't transfer to your situation, but what broke and how it got fixed transfers regardless of scale.

This post pulls out only that part from public reports and logbooks: loss spikes and the response to them, the relationship between hardware failure rates and checkpoint intervals, the effect of changing the data mix midway through, and the reasoning behind scaling decisions. At the end of each case is a separate note on what the report doesn't say. That side matters more for judging reproducibility.

The Cases Chosen and the Verification Standard

All links were checked on August 2, 2026. Quoted figures are taken from the original documents or reporting that directly quotes the originals; anything unverified is noted as such in the text.

CaseDocumentPublicationWhat to look at in this case
Llama 3 405BarXiv 2407.217832024-07Large-scale failure statistics and 4D parallelism
DeepSeek-V3arXiv 2412.194372024-12FP8 training and stability with zero rollbacks
DeepSeek-V3 hardware retrospectivearXiv 2505.093432025-05Co-design of hardware and model
Kimi K2arXiv 2507.205342025-07Spike suppression at the optimizer layer
Olmo 3arXiv 2512.139612025-12(v1)Full openness and a lineage of stability fixes
OPT-175B logbookmetaseq chronicles2022-05The archetype of failure logging
BLOOMarXiv 2211.051002022-11Spare nodes and running on a shared supercomputer
SmolLM3HF blog2025-07The process behind data-mixture decisions
Marinmarin.community2025-05~Public experiment notes and pre-registration

Llama 3 405B — Designing at a Scale Where Failure Is a Constant

The most citation-worthy thing in this report is its interruption statistics. Over 54 days running on 16,384 H100 80GB GPUs, there were 419 unexpected interruptions, and the report classifies 78 percent of them as confirmed or suspected hardware issues. The detailed breakdown, according to datacenter-industry reporting that quotes the report's table, is as follows.

CauseCountShare
GPU faults14830.1%
GPU HBM3 memory7217.2%
Network switches and cabling358.4%
GPU SRAM memory194.5%
GPU system processor174.1%
CPU20.5%

419 incidents over 54 days is about once every 3.1 hours on average. At this scale, failure is not an exception, it's a constant. So the design changes accordingly. Operations where a human intervenes to restart no longer hold up; failure detection, node replacement, and resumption all have to run automatically.

The practical calculation that follows directly is the checkpoint interval. With a mean time between failures of 3.1 hours and a save time of 5 minutes, the optimal interval comes out around 43 minutes — and even then, more than 20 percent of total time still disappears into saving and recomputation. The full derivation is worked out in the LLM Ops post.

For parallelism they used a 4D combination — tensor, context, pipeline, and data — and reported model FLOPs utilization in BF16 landing in the 38-43 percent range. Worth keeping in mind: even a well-tuned large-scale training run doesn't use even half of theoretical peak. Landing in the 30s on your own cluster isn't necessarily proof something is wrong.

What the report doesn't say: the exact composition ratios of the training data and the filtering classifier's thresholds, the failed preliminary experiments that got discarded, and the implementation of the internal operations software responsible for failure detection and automated recovery. The statistics were published; the tooling that produced them wasn't.

DeepSeek-V3 and Kimi K2 — Two Layers for Killing a Spike

Read the two reports side by side and two different strategies for handling loss spikes come into view.

DeepSeek-V3 trained a MoE with 37B of its 671B parameters active per token, over 14.8T tokens, and reports 2.788M H800 GPU hours for the full run — including 119K hours for context extension and 5K hours for post-training. And the report contains this sentence: over the entire training run, they never experienced an unrecoverable loss spike and never performed a rollback.

The report doesn't directly assert where this stability came from. But what's described alongside it is a hint. They introduced FP8 mixed-precision training while keeping precision-sensitive operations at higher precision, used DualPipe to overlap computation and communication and cut pipeline bubbles, and handled MoE load balancing without an auxiliary loss. That last item matters especially: balancing expert usage with an auxiliary loss creates instability because that loss term fights the main objective, and they removed the term entirely.

The follow-up retrospective paper, Insights into DeepSeek-V3, covers the hardware side. It gives a figure of the per-token KV cache being cut to 70.272KB with multi-head latent attention, versus 516.096KB for Llama-3.1 405B in the same table. It also states they used a multi-plane fat-tree topology for the cluster network. This is a case where a model-architecture decision is directly an infrastructure decision.

Kimi K2 solves the same problem at a different layer. Training a MoE with 32B of 1.04T total parameters active, over 15.5T tokens, they report observing no loss spikes — and the mechanism is the optimizer. They combined QK-Clip with the Muon optimizer to form MuonClip, rescaling attention's query and key weights right after each update to suppress logit blowup. The learning-rate schedule is WSD-family: a 500-step warmup, then 10T tokens at a constant rate, with the remaining 5.5T decayed on a cosine schedule. The pretraining context length is 4,096.

Summarizing the difference between the two approaches:

LayerCaseMethodPractical applicability
OperationsOPT-175B, etc.Detect the spike, roll back, skip the data windowApplicable immediately. Cost keeps recurring
ArchitectureOLMo familyStructural suppression via normalization placement and QK normalizationDecidable only before pretraining starts
OptimizerKimi K2Rescale weights right after the updateHave to accept the risk of swapping optimizers
Objective functionDeepSeek-V3Remove the auxiliary loss term that itself causes instabilityOnly possible at the design stage

What the reports don't say: both reports describe only the successful final configuration. Which layer broke first during the FP8 rollout, how the clipping threshold for MuonClip was found, how many failed runs preceded it — none of that appears. And neither discloses the data composition.

The Olmo Family — Stability Fixes Left as a Trace in the Architecture

Allen AI's Olmo 3 released 7B and 32B models with the entire development pipeline made public — checkpoints, datasets, dependencies, all of it. This full openness matters not for the benchmark scores but because it's the only form in which a third party can directly audit contamination and data provenance.

Technically, what's worth noting is that the stability fixes ended up as architecture, not hyperparameters. Olmo 3 keeps the configuration that OLMo 2 confirmed as a stability improvement: RMSNorm placed post-normalization, an extra normalization applied to queries and keys before the attention computation, and no weight decay on embeddings.

All three are decisions you cannot change once pretraining has started. So the lesson from this case is practically cold: the best time to respond to instability is before the first spike happens. There is no option to change the normalization placement once you've already run 3T tokens.

What the report doesn't say: the data and checkpoints are public, but most organizations don't have the compute to rerun this scale. "Fully open" grants auditability, not reproducibility. Worth keeping that distinction clear.

OPT-175B and BLOOM — The Archetype of a Culture That Logs Failure

If today's technical reports are polished final drafts, these two 2022 cases are the raw record.

OPT-175B's chronicles directory holds the full logbook PDF alongside update notes at 10 percent, 27 percent, 56 percent progress, and the final point. The repository describes it as "the complete logbook we used to train OPT-175B, and the notes documenting the difficulties encountered along the way." The logbook has repeated restarts, loss divergences, mid-training hyperparameter changes, and hardware swaps, each dated.

What's worth learning here isn't a specific technique, it's the attitude that the record itself is a deliverable. If a decision made mid-training and its reasoning aren't recorded at the time, no one can reconstruct it two months later.

BLOOM trained for about 3.5 months on France's Jean Zay supercomputer, on 48 nodes with 8 A100 80GB per node, 384 total, consuming 1,082,990 compute hours. What stands out in the resourcing plan is that they set aside 4 spare nodes separately, precisely because of the possibility of hardware failure. Inter-node links were 4 x 100Gbps Omni-Path per node, and since it was a shared supercomputer, they shared the filesystem with other users.

Reserving roughly 8 percent as spare nodes at a scale of 384 is a rule you can carry over directly into your own practice. Skip the spare-node line in your resource request, and the moment one node dies, the entire training run goes to the back of the queue.

What the reports don't say: both sit on top of the software stack of their era (older Megatron-DeepSpeed, older PyTorch), so the code can't just be run as-is today. And the judgment calls in the logbook are bound to hardware and framework constraints of that time — take the thought process from it, not the conclusions.

SmolLM3 and Marin — Published Experiment Notes at Smaller Scale

The cases above are at a scale most organizations can't mimic. So here are two more practical ones.

SmolLM3 published how it decided its data mixture while training a 3B model on 11.2T tokens. It describes a three-stage pretraining schedule that shifts the proportions of web, code, and math data at each stage, with those proportions decided by small-scale experiments running the 3B model at 50B-to-100B token scale. Stage 1's composition is spelled out down to specific numbers: 85 percent web (12 percent of that multilingual), 12 percent code, and so on.

This methodology is the crux. An 11.2T-token decision was made from a 100B-token experiment. The procedure — set a few candidate mixture ratios, run them at small scale, compare, then apply to the full run — works the same at 3B as at 30B. The accompanying Smol Training Playbook covers things that never make it into a paper, like the process of debugging a loss spike on a 384-GPU job. 384 GPUs is a scale many organizations can actually get their hands on.

Marin is a public research lab started out of Stanford where every research attempt is first registered as a GitHub issue, which then serves as a kind of pre-registration. While training an 8B model past 12T tokens, they kept refining the data mix, and documented the late-stage cooldown phase — lowering the learning rate while shifting the data toward higher quality — in a retrospective document.

The practice of pre-registration is especially worth taking away. Write the hypothesis after seeing the results, and almost every result looks like a success. Simply writing down what you expect before you run it cuts this bias substantially.

What the report doesn't say: how well SmolLM3's small-scale proxy experiments actually predicted the full-scale outcome was never quantitatively verified. Small-scale experiments genuinely do fail to transfer to large scale in some cases, so this methodology is better received as "a better procedure than an unfounded guess," not as "a perfect predictor."

Reading Across — What Repeats, and What Never Shows Up

Overlaying all seven cases, five recurring patterns show up.

  1. There are four layers for handling a loss spike, and the lower you go the cheaper it is, the higher you go the later it is. Cost of intervention rises in this order: objective-function design, architecture, optimizer, operations. And yet most teams only respond at the most expensive layer — operations.
  2. Failure rate scales with GPU count, and it determines checkpoint interval and how much automation you need. At 384 GPUs, spare nodes are enough; at 16,384, automatic detection and replacement are mandatory. A tenfold increase in scale requires a different mode of operations.
  3. Data mixture is not fixed from start to finish. Multiple cases describe staged mixtures and a late-cooldown shift to higher-quality data. The model of "pick a dataset and start training" doesn't match reality.
  4. Scaling decisions come from small-scale proxy experiments. The bigger the decision, the smaller the experiment that grounds it. This is the point where experiment-design skill matters more than GPU count.
  5. Model-architecture decisions are infrastructure decisions. An attention design that shrinks the KV cache changes serving cost; an MoE choice changes network topology requirements.

On the other side, here's a list of what never shows up in almost any report. Knowing this list is what keeps you from over-trusting a report.

  • The number and cost of failed runs. The final run's GPU-hours get published, but the resources burned getting there almost never are. Using the published GPU-hours as your budget baseline will leave you badly short.
  • The exact data composition and filter thresholds. Ratios show up, but the original sources, deduplication parameters, and quality-classifier cutoffs are usually left out.
  • The hyperparameter search process. Only the final values show up, not how they were found.
  • Operations staffing and tooling. How many people, on how many shifts, and which internal tools detected failures — all missing. This is, in practice, the biggest barrier to entry.
  • Details of eval-set contamination checks. There's often a sentence saying it was checked, but rarely the method, the threshold, or the size of overlap found.

Closing — Knowing What You Can't Reproduce Is the Skill of Reading

A public report is not a blueprint for success, it's a record of decisions one team made under a specific set of constraints. The automated-recovery design that worked at 16,384 GPUs is overkill on an 8-GPU node; the manual response that worked at 384 doesn't hold up at 16,384.

So the way to read them settles into this: the numbers are bound to that team's scale, don't take them; take the reasoning behind the decision. Why was the checkpoint interval set at this point, why was instability blocked at this layer, why did this experiment lead to that decision. And always carry the list of what's missing from the report alongside it. Only someone who knows what's absent can plan on the basis of that report.

The fundamentals of parallelism are covered in The Four Kinds of Multi-GPU Parallelism, and the tools for executing these decisions are covered in the LLM training stack map and the practical Slurm guide.