项目任务清单¶
本文是
01-project-plan.md的任务勾选区。高频改动集中在此,主文档保持稳定。任务编号
T<里程碑>.<序号>,与计划书章节一一对应。勾选规范:未做
- [ ],已做- [x],进行中可在末尾追加(in progress)。
M0 · 仓库基建¶
- T0.1 初始化
pyproject.toml,配置 optional-dependencies(模块分组 + 平台分组train-cuda/train-mps) - T0.2
.python-version锁到 minor 3.12(patch 由本地 pyenv/uv 选) - T0.3 配置
.gitignore(checkpoints/ data/ .venv/ pycache/ 等) - T0.4 配置
.gitattributes:强制 LF、标注二进制类型 - T0.5 编写根
README.md:项目简介、快速开始(Win/Mac 两套命令)、目录导览 - T0.6 配置 ruff(
pyproject.toml内) - T0.7 创建
Doc/Courseware/outline.md骨架(章节列表先空着) - T0.8 创建
Echo/echo-miniEcho/echoEcho/shared目录与各自 README 占位 - T0.9
Echo/shared/device.py::get_device():统一设备选择(cuda→mps→cpu),含 op fallback 工具 - T0.10
scripts/doctor.py:双平台自检脚本(见策划案 §7.5) - T0.11 编写大文件同步 SOP 文档(
Doc/DesignDoc/03-sync-strategy.md):策略已在策划案 §7.4 确定,本文档只补操作层(HF Hub 仓库命名规则、huggingface-cli上传/下载常用命令、断点续传、数据下载脚本骨架) - T0.12 在 Win/Mac 各自
uv sync+python scripts/doctor.py通过 - T0.13 ch00 导论课件(AI 全景与概念速查)
M1 · 前置知识¶
- T1.1 ch01 课件 + Playground/ch01 环境与工具
- T1.2 ch02 课件 + Playground/ch02 必要数学
- T1.3 ch03 课件 + Playground/ch03 PyTorch 入门
- T1.4 ch04 课件 + Playground/ch04 神经网络与训练要素
M2 · Transformer 精通¶
- T2.1 ch05 课件 + Playground/ch05 注意力机制
- T2.2 ch06 课件 + Playground/ch06 Decoder-only Transformer
- T2.3 ch07 课件 + Playground/ch07 生成策略与 KV cache
M3 · LLM 全链路入门(理论)¶
- T3.1 ch08 分词器
- T3.2 ch09 预训练
- T3.3 ch10 SFT
- T3.4 ch11 对齐
- T3.5 ch12 评测
- T3.6 ch13 部署
M4 · echo-mini 落地¶
- T4.1 数据:中英双语(或先英文)小规模语料采集与清洗脚本
- T4.2 训练 BPE 分词器,词表 ~16k
- T4.3 写 echo-mini 模型(参数 ~60M,Llama 风格 Decoder-only + RoPE + GQA + SwiGLU)
- T4.4 Pretrain 训练脚本(支持混合精度、checkpointing、断点续训)
- T4.5 产出 Pretrain
config-full.yaml+config-tiny.yaml,Mac 跑 tiny 验证代码不崩 - T4.6 在 3060 12GB 上跑 Pretrain full 配置,记录 loss 曲线
- T4.7 构造小规模 SFT 对话数据(可借助公开数据集或 GPT 生成)
- T4.8 SFT 训练脚本 + full/tiny 两份配置
- T4.9 推理 CLI(带 KV cache,跨平台可用)
- T4.10 评测:PPL + 若干人工对话样例
- T4.11 Checkpoint 上传 HuggingFace Hub(可选,跳过)
- T4.12 写
Echo/echo-mini/README.md,记录训练配方
M5 · echo 落地¶
- T5.1 底座选型确认(Qwen2.5-0.5B / 1.5B / 其他)
- T5.2 下载底座、在 3060 12GB 和 Mac 上各跑通推理基线
- T5.3 整理 SFT 数据(中英对话,重点关注 Echo 人设一致性)
- T5.4 LoRA/QLoRA 微调脚本(QLoRA 走 CUDA-only 分支,Mac 用纯 LoRA)
- T5.5 产出 SFT
config-full.yaml+config-tiny.yaml - T5.6 SFT 训练并保存 adapter,(可选)上传 HF Hub
- T5.7 合并/加载 adapter,推理 CLI(Win/Mac 双端可用)
- T5.8 初步人工评测对话质量,迭代数据
- T5.9 写
Echo/echo/README.md与训练配方
M6 · 对齐与优化¶
如想更早验证量化部署路径,获得最终对话的成就感,可先执行 T6.4, T6.5
注:DPO 所需的显存比较夸张
- T6.1 DPO 偏好数据构造(可从 SFT 样本手工挑选 chosen/rejected)
- T6.2 DPO 训练脚本
- T6.3 Echo v2(DPO 版)产出
- T6.4 int4 量化脚本(GGUF 或 bitsandbytes)
- T6.5 把量化后 GGUF 接入 Ollama,编写一条
ollama run echo跑通的演示脚本 - T6.6 Echo final 版本发布
- T6.7 评估是否接入
llama-cpp-python程序化调用 GGUF(uv sync --extra deploy-llamacpp);Ollama 路径足够时可不做
M6.5 · 跨平台复现验收¶
- T6.5.1 在 Win 端用全新 venv(或 WSL/Docker 容器)从零 bootstrap,跑完 M1–M3 所有练习
- T6.5.2 在 Mac 端用全新 venv 同样跑通 M1–M3
- T6.5.3 Mac 端用 tiny 配置跑通 echo-mini Pretrain / SFT 脚本(不要求收敛)
- T6.5.4 Mac 端成功加载并推理 echo final(量化版)
- T6.5.5 记录"跨平台已知差异与陷阱"到
Doc/DesignDoc/cross-platform-notes.md
M7 · 开源就绪¶
- T7.1 LICENSE(推荐 MIT / Apache-2.0)
- [-] T7.2 CONTRIBUTING.md(学习项目暂不期待外部 PR,跳过)
- T7.3 根 README 完善:学习路径图、演示 GIF、FAQ
- T7.4 课程大纲定稿、章节间跳转
- T7.5 常见坑 & 故障排查文档
- T7.6(可选)发布到 GitHub,申请加入 awesome-llm 类 list