Tiny LLM Studio 是一个端到端的小模型训练工作室:在一个 Web UI 里完成 数据采集 → 清洗去重 → Tokenizer → 数据集 → 预训练 → SFT → DPO → 推理对话 全流程,专为 Apple M 系列芯片 + MPS 后端优化,一台 MacBook 就能跑完。
从语料抓取到模型对话,每一步都被设计成「点几下就能跑起来」,但保留了训练大模型该有的所有控制力。
FastAPI + React,6 个 Tab 覆盖数据源、采集、Tokenizer、数据集、训练、仪表盘。零前端构建,启动后端即可访问。
Server-Sent Events 推送 step/eval/ckpt 事件,loss 曲线 SVG 折线图秒级刷新;任何步骤都能看到日志、进度、错误信息。
RoPE + RMSNorm + SwiGLU + GQA(3:1)。100M 参数量,与主流中文 LLM 同构,可借鉴权重与训练经验。
预训练 (pretrain) → 监督微调 (SFT) → 偏好对齐 (DPO) → 推理对话 (chat CLI),4 个阶段一气呵成。
HuggingFace 数据集、远程 jsonl URL、本地文件,三种数据源 + 一键预设(SkyPile / 维基 / Belle / COIG)。MinHash 去重 + 质量过滤。
PyTorch ≥ 2.5 + MPS bf16 autocast,48GB 统一内存全部可用作"显存"。无需 NVIDIA 显卡。
从空白项目到能流畅对话的中文小模型,每一步都内置在工作室里。
所有架构选型都为「在 MacBook 上能稳定跑完」而设计。无任何过度工程化。
| 参数量 | ≈ 100M |
| vocab_size | 32000 |
| hidden_size | 768 |
| num_hidden_layers | 12 |
| num_attention_heads | 12 |
| num_key_value_heads | 4 (GQA) |
| intermediate_size | 2048 |
| max_position_embeddings | 2048 |
| tie_word_embeddings | true |
| 吞吐 | 8k–15k tok/s |
| 0.5B tokens 验证 | ~12 小时 |
| 2B tokens · Chinchilla | ~2 天 |
| 5B tokens · 极限 | ~5–8 天 |
| 精度 | bf16 autocast |
| 注意力 | SDPA + RoPE |
| 归一化 | RMSNorm |
| FFN | SwiGLU |
| 支持 --resume 续训 | ✓ |
启动 scripts/07_corpus_platform.sh 后浏览器打开 localhost:8000 即可看到。
数据源 / 采集任务 / Tokenizer / 数据集 / 训练任务的总数与运行中数量;按数据源分布表。
支持 HuggingFace / URL / 本地三种类型;提供 SkyPile、维基、Belle、COIG 4 个一键预设。
选数据源 + 设置目标 GB → 开跑;SSE 实时进度条,可取消、可预览前 8 条样本。
浏览器内训练 32k byte-level BPE;扫描阶段每 5000 文档上报进度;可保留多版本。
多选采集任务 + Tokenizer → 打包 train.bin / val.bin;状态、token 数、构建日志全程可见。
一键启动 pretrain / SFT / DPO;实时 loss 曲线(SVG 折线)+ 事件流 + 完整日志 + 进度条 + 取消运行。