读见

GitHub - 0arch-io/kisoku: Kisoku 1.6B: a from-scratch language model trained solo on a TPU grant. Weights, code, evals and report.

约 3 分钟约 529 字原文英文已翻译

推荐理由Kisoku 1.6B 是由单个研究人员使用 TPU v4-32 从头开始预训练的语言模型,其性能与 Meta 的 Llama 3.2 1B 相当,而训练数据量却少了非常多。该项目包括聊天微调、长期扩展,以及涵盖训练过程、污染审核和成本分析的详细技术报告。

读前速览

3 个要点

Kisoku 1.6B 是由单个研究人员使用 TPU v4-32 从头开始预训练的语言模型,其性能与 Meta 的 Llama 3.2 1B 相当,而训练数据量却少了非常多。该项目包括聊天微调、长期扩展,以及涵盖训练过程、污染审核和成本分析的详细技术报告。

  1. 高效预训练

    Kisoku 1.6B 仅在 ~0.5 万亿个标记上进行了训练,这大约是 Llama 3.2 1B 使用数据量的 1/18。尽管如此,它在多个基准测试中取得了媲美的性能,表明训练过程的效率很高。

  2. 长上下文能力

    该模型被扩展到处理长上下文长度,原生支持最多 64K 个标记,并可以使用 YaRN 插值方法扩展到 128K 个标记。这使得它适用于需要大输入窗口的任务,例如文档分析或代码审查。

  3. 污染审核

    进行了彻底的污染审核,以确保训练数据不包含来自评估基准的信息。结果显示重叠情况非常少,确认了模型性能指标的可信度。

完整摘要

该仓库包含 Kisoku 1.6B 的资源,这是一个由 Joseph Rodriguez 开发的语言模型。该模型使用 Google TPU v4-32 在大约 0.5 万亿个标记上进行预训练,重点是效率和可扩展性。它由一个 16 亿参数的基模型、一个用于聊天的微调模型,以及支持最大 128K 个标记的长上下文功能组成。该项目包括一份综合性的技术报告、训练配置、评估脚本和污染审核,以确保数据完整性。

目录 · 6 节
查看原文

一个由个人在 Google 的 TPU Research Cloud 上使用 TPU v4-32 从头预训练的 16 亿参数语言模型,训练数据约为 0.5 万亿个 token。在一套包含 10 项基准测试的评测中,所有模型均通过同一套评测工具运行;该模型与 Meta 的 Llama 3.2 1B 表现相当(双方各胜出五项),而训练数据量约少 18 倍。其上下文长度扩展到了 64K 个 token,使用 YaRN 后约为 128K。聊天微调版本以预览版形式发布。A 1.6B-parameter language model pretrained from scratch by one person on a TPU v4-32 from Google's TPU Research Cloud, on about 0.5 trillion tokens. On a 10-benchmark suite run through the same harness for every model, it matches Meta's Llama 3.2 1B (five wins each) while using about 18 times less training data. It was extended to 64K tokens of context, about 128K with YaRN. A chat fine-tune ships as a preview.

此代码仓库包含训练配置、评估与污染审计代码、合成长上下文数据生成器、数据清单以及技术报告。所有内容均采用 Apache 2.0 许可证。This repository holds the training configuration, the evaluation and contamination-audit code, the synthetic long-context data generator, the data manifests and the technical report. Everything is Apache 2.0.

阅读报告:report/kisoku-report-draft.md。报告涵盖了配方、数据、污染审计、长上下文、聊天微调、出现的问题以及成本。Read the report: report/kisoku-report-draft.md. It covers the recipe, the data, a contamination audit, long context, the chat fine-tune, what went wrong, and what it cost.

Mean of nine benchmarks against pretraining tokens

权重Weights

What Where
Base model, final (Phase C) 0arch-io/kisoku-1.6b
Intermediate checkpoints branches of the same repo: stage1-step198999, stage3-step242999, long-phaseA-step2899, long-phaseB-step2859
Chat preview (pass 9) 0arch-io/kisoku-1.6b-chat, earlier passes as branches sft005, sft006, dpo38
GGUF (llama.cpp, Ollama) 0arch-io/kisoku-1.6b-gguf
Raw per-sample evaluation outputs 0arch-io/kisoku-1.6b-eval

关键数据Headline numbers

lm-evaluation-harness 0.4.13, bf16, same machine, percent correct.

Benchmark Kisoku 1.6B Llama 3.2 1B
GSM8K (5-shot) 15.0 5.8
MMLU (5-shot) 34.2 31.3
ARC-Easy 64.4 61.8
ARC-Challenge 40.1 36.9
BBH (3-shot) 28.6 28.3
PIQA 73.0 74.9
WinoGrande 56.8 60.5
HellaSwag 57.8 64.2
HumanEval 14.6 18.9
TriviaQA (5-shot) 23.1 40.7

在大多数测试中,Qwen2.5 1.5B 和 SmolLM2 1.7B 都领先于这两者。这是在某个测试套件上的 token 效率结果,并不代表小模型普遍如此。报告中提供了包含置信区间的完整表格、污染数据划分以及长上下文测试结果。Qwen2.5 1.5B and SmolLM2 1.7B are ahead of both on most tests. This is a token-efficiency result on one suite, not a claim about small models in general. The full table with confidence intervals, the contamination split and the long-context results are in the report.

布局Layout

Folder What is in it
report/ The technical report, its figures and the benchmark scorecard page
training/ MaxText configuration, the stage run script (stages 1 to 3, long-context phases A, B, C), hand-off watchers, restart guard, export and fine-tuning scripts, systemd units
eval/ lm-evaluation-harness batch scripts, the custom BBH task, the YaRN rehearsal, chat test scripts
contamination/ Verbatim-overlap audit: probe builder, shard scanner, summary, overlapping-versus-clean accuracy split
longctx-synth/ Generator for the synthetic long-context tasks used in Phase C, and its manifest
sft/ Chat data generators and builders, the held-out conversation test, summaries of each data set
release/ Model cards, release manifest, upload script, release notes

预训练文本本身不在此代码库或 Hub 上:Nemotron 数据集禁止再分发,因此清单中仅列出来源、数量和混合权重。教师撰写的聊天对话也未发布。The pretraining text itself is not in this repository or on the Hub: the Nemotron sets forbid redistribution, so the manifests list sources, counts and mix weights only. The teacher-written chat conversations are not released either.

运行脚本Running the scripts

这些脚本是为一台 TPU VM、一个存储桶和一台评估机器编写的,发布出来是作为记录,而不是软件包。脚本通过 KISOKU_BUCKET 读取存储桶名称(不带 gs:// 前缀),通过 KISOKU_PC_HOST 读取评估主机。MaxText YAML 文件中写有字面值 KISOKU_BUCKET 和 /home/USER;运行脚本会在命令行中覆盖这些路径。密钥文件(gcs-key.json、hf_token、API 密钥)从主目录读取,绝不会提交。They were written for one TPU VM, one bucket and one evaluation machine, and are published as a record rather than a package. The scripts read the storage bucket from KISOKU_BUCKET (no gs:// prefix) and the evaluation host from KISOKU_PC_HOST. The MaxText YAML files carry the literal KISOKU_BUCKET and /home/USER; the run scripts override those paths on the command line. Key files (gcs-key.json, hf_token, API keys) are read from the home directory and never committed.

引用Citation

@misc{rodriguez2026kisoku,
  title        = {Kisoku 1.6B: A Solo, From-Scratch Pretrain on a Free TPU Grant},
  author       = {Rodriguez, Joseph},
  year         = {2026},
  howpublished = {\url{https://huggingface.co/0arch-io/kisoku-1.6b}},
  note         = {Technical report: \url{https://github.com/0arch-io/kisoku/blob/main/report/kisoku-report-draft.md}}
}

许可证Licence

Apache 2.0(请参阅 LICENSE)。分词器的词汇表采用 Llama 3 的;模型卡中对此有说明。Apache 2.0 (see LICENSE). The tokenizer vocabulary is Llama 3's; the model card has the note on that.