Chesi AI · Stage-1(澈思 · 第一级基石模型)
⚠️ 这不是一个可用的对话模型。 它是澈思(Chesi)AI 从零预训练路线的第一级验证模型:用来证明「自研 tokenizer + 自研架构 + 自建训练器」这条链路在数值上正确、在收敛上可复现。 它不做中文对话、不做指令跟随、不具备人格。 请把它当作一份可复现的实验记录,而不是产品。
1. 这是什么
| 项 | 值 |
|---|---|
| 参数 | 13,639,680(6 层 / d_model 384 / 8 头 / seq 512,tied head 去重) |
| 类型 | 字符级语言模型(character-level LM) |
| 词表 | 7,276(自训 tokenizer v1.1 的 Stage-1 档;全量档 11,387) |
| 训练步数 | 20,000 步(batch 4 · seq 512 · lr 6e-4) |
| 训练耗时 | 26.1 分钟(单张 RTX 4080 Laptop,13 步/秒) |
| 框架 | PyTorch 2.5.1(设备探测链 cuda → npu → xpu → musa → cpu) |
| 许可 | Apache-2.0 |
2. 训练数据
| 数据集 | 规模 | 许可 |
|---|---|---|
| open-thoughts/OpenThoughts3-1.2M | 取 1,200,000 行 | Apache-2.0 |
| SmallDoge/SmallThoughts | 102,000 行 | Apache-2.0 |
两套都是英文推理语料。在澈思的路线里它们只作「推理能力增强组件」, 中文基座语料走 Stage-2(SkyPile-150B head 层,已落地 61GB / 39 分片)。 → 所以本模型不具备中文能力,这是设计使然,不是缺陷。
3. 验收结果(2026-10-23 实测)
| 判据 | 结果 |
|---|---|
| ① eval loss < 1.8 | ✅ 1.5618(32-block 独立复评) |
| ② 严格式:窗口均值每窗不增 | ❌ FAIL(1.3695 → 1.3717,+0.16%,落在收敛噪声地板内) |
| ②' 趋势式:首尾窗口 | ✅ PASS(2.6436 → 1.3732,降幅 48.1%) |
| ③ 与独立朴素参考实现的相对差 < 15% | ✅ 1.85e-07 |
| ④ 同种子两次运行 bitwise 相等 | ✅ PASS |
训练期 eval 曲线(末点 1.3694 @ step 20,000):
图注:曲线是训练期内记录的 eval(末点 1.3694);上表验收 eval 1.5618 是
verify_stage1.py的独立 32-block 复评。两者口径不同,但都满足 ≤1.8。 绘图脚本scripts/plot_stage1_curve.py(纯标准库,可复现)。
4. 文件说明
.
├── model.safetensors # 权重(safetensors 格式,无 pickle 风险)
├── ckpt_final.pt # 原始 PyTorch checkpoint(含 cfg)
├── tokenizer.json # 自训 tokenizer v1.1(vocab + special_tokens)
├── chesi_tokenizer.py # 纯 Python 零依赖编解码器
├── train_tokenizer.py # tokenizer 训练脚本(字符级 + 频率阈值)
├── history.json # 训练历史(1000 条 train loss + 500 条 eval 点)
├── stage1_loss_curve.svg # 训练曲线
└── LICENSE # Apache-2.0
特殊 token:<pad>=0 <unk>=1 <bos>=2 <eos>=3,字符 id 从 4 开始(按频率升序)。
5. 怎么用
import json, torch, torch.nn as nn
from chesi_tokenizer import ChesiTokenizer # 本仓库文件
# 1) tokenizer(Stage-1 档 = 前 7276 个高频字符)
t = json.load(open("tokenizer.json", encoding="utf-8"))
vocab = {c: i for c, i in t["vocab"].items() if i <= 4 + 7276 - 1}
tk = ChesiTokenizer(vocab, t["special_tokens"])
# 2) 模型结构(与训练时逐字一致)
ckpt = torch.load("ckpt_final.pt", map_location="cpu", weights_only=False)
print(ckpt["cfg"]) # 6 层 / d_model 384 / n_head 8 / seq_len 512 / vocab 7280
完整训练/验收代码见 GitHub 仓库:https://github.com/Chesi-AI-Models/Chesi-AI
复现指南(含语料获取、jsonl 转换、四判据验收、"哪些能复现/哪些不能"的边界): https://github.com/Chesi-AI-Models/Chesi-AI/blob/main/docs/REPRODUCE.md
6. 局限(请务必读)
- 没有中文能力 —— 训练语料是英文推理数据
- 没有指令跟随能力 —— 这是纯语言模型,不是 chat 模型
- 没有对齐、没有人格 —— 澈思的人格核在 Stage-3(纯人工 + STaR 自产数据)
- 13.6M 参数 —— 只够证明"收敛与数值正确",不具备实用生成质量
- 字符级 —— 生成效率低,Token 数远高于 BPE 模型
7. 路线图(澈思 AI)
| 阶段 | 目标 | 状态 |
|---|---|---|
| Stage-1 | 10M 级从零预训练,验证收敛与数值正确性 | ✅ 本模型 |
| Stage-2 | 澈思-1B 从零预训练(中文基座语料) | 🔄 语料已下载 61GB,准入审计中 |
| Stage-3 | 自训基座 + 自有人格 SFT(目标 50 万条) | ⏳ |
| Stage-4 | DPO / RL:情境感知诚实策略 | ⏳ |
| Stage-5 | 多模态:图像生成 + 反脸模 + 无 AI 味 | ⏳ |
8. 数据准入原则
- 基座语料只用可商用的开源人类语料,按来源逐条登记许可与等级
- 蒸馏禁令:不使用任何外部模型生成的数据训练本模型;外部模型仅作评测参照
- SFT / 人格 / 七步链:永远纯人工 + 自有模型 STaR 自产
- 所有数字带口径;未实测项明确标注「未实测」
完整语料台账:https://github.com/Chesi-AI-Models/Chesi-AI/blob/main/docs/CORPUS_LEDGER.md
9. 引用
Chesi AI (澈思), "Stage-1: from-scratch character-level pretraining, verified",
2026. https://huggingface.co/Chesi-AI-Models/Chesi-AI-stage1
10. 致谢与联系
一个人 + 一张显卡的项目。赞助与进展:https://ko-fi.com/chesiai Issues / PRs 欢迎:https://github.com/Chesi-AI-Models/Chesi-AI
如果一个只做 13.6M 参数的项目都愿意把 tokenizer、权重、训练日志和失败判据全部公开,那它至少值得被认真看一眼。
- Downloads last month
- 495