最后更新: 2026-03-25
这是一个动态更新的路线图, 用于追踪整个项目的进展. 项目采用迭代式开发, 每个阶段完成后都会有可用的功能增量.
✅ 已完成的核心能力:
- 现代化 Decoder-only Transformer 架构 (GQA, SwiGLU, MoE)
- 完善的分布式训练框架 (DDP, AMP)
- 高质量工程实践 (385+ 测试用例全部通过)
- 基础推理能力 (KV Cache, Top-k/Top-p 采样)
- 完整的模型评估框架 (Perplexity, Accuracy, F1, ROUGE, BLEU, chrF, lm-eval)
🚀 当前重点: 性能优化 & RLHF
状态: 已完成 | 完成时间: 2024 年
- 核心依赖与环境: 使用
uv管理 Python 依赖 - 构建与打包: 使用
hatchling(pyproject.toml) - 代码质量:
ruff(格式化),ty(类型检查),.editorconfig - 测试体系:
pytest(单元/集成测试),pytest-cov(覆盖率) - 自动化 (CI/CD): GitHub Actions (
.github/workflows) 自动执行测试、构建和发布流程 - 环境管理:
Dockerfile和compose.yml已完成
状态: 基础完成 | 完成时间: 2024 年
- 数据加载:
src/llm/data/loader.py用于读取和初步处理数据 - 数据抽象:
DataModule(data_module.py) 封装数据集和数据加载器 - 流式数据处理 ⏭️ 下一阶段
- 实现流式数据加载器, 支持大规模预训练
- 集成常见预训练数据集 (C4, The Pile, RedPajama)
- 添加数据质量过滤和去重工具
- 数据版本控制 ⏭️ 下一阶段
- 引入
DVC或类似工具, 对数据集和预处理脚本进行版本管理
- 引入
状态: 已完成 | 完成时间: 2024-2025 年
- Transformer 基础:
Embedding,PositionalEncoding,LayerNorm,RMSNorm,MLP等核心模块 - 注意力机制:
DotProductAttn,MHA(多头),MLA(多查询) - 完整模型:
DecoderModel(decoder.py) 组装成一个完整的解码器架构-
MoE(专家混合) 模块已基础实现 - 实现并整合
GQA(分组查询注意力) - 实现
SwiGLU激活函数 - 优化
MHA为统一 QKV 投影以提升计算效率
-
状态: 已完成 | 完成时间: 2024 年
- 原型分词器:
SimpleCharacterTokenizer已实现, 用于快速验证 - 生产级分词器: 替换为基于
tokenizers的 BPETokenizer- 支持训练自定义 BPE 模型
- 集成到训练和推理流程中
状态: 已完成 | 完成时间: 2024-2025 年
- 训练框架:
training/core/engine.py提供了灵活的训练和验证循环 - 配置驱动:
config.py支持通过配置来定义和调整实验 - 任务抽象:
BaseTask允许轻松定义新的训练目标 - 大规模训练支持:
- 分布式训练: 实现并验证
DDP(数据并行) 基础流程 - 混合精度: 实现自动 BF16/FP16 检测及
torch.cuda.amp支持
- 分布式训练: 实现并验证
- 训练策略 ⏭️ 阶段十一
- 预训练 (Pre-training): 设计并执行在大型通用语料库上的预训练流程
- 指令微调 (Instruction Fine-tuning): 设计并执行在特定指令数据集上的微调流程
状态: 已完成 | 完成时间: 2026 Q1
- 评估指标:
- 语言模型指标: 实现
Perplexity(困惑度) 计算 - 下游任务指标: 实现
Accuracy,F1等分类指标 - 生成指标: 实现
ROUGE,BLEU,chrF等文本生成指标
- 语言模型指标: 实现
- 评估框架: 建立标准化的评估流程, 支持训练时周期性评估和推理批量评估
-
BaseMetric/BaseTask抽象基类 -
LMTask/InferTask任务实现 -
Evaluator/EvaluationRunner运行器 -
EvaluationCallback训练集成
-
- lm-eval 集成: 支持 MMLU, ARC, BoolQ, HumanEval 等标准基准
状态: 进行中 (当前重点) | 预计完成: 2025 Q2
- 推理 API:
- 基础实现:
inference.py已创建 - 核心功能: 实现
Greedy Search,KV Cache,Top-k/Top-p采样
- 基础实现:
- 模型服务化:
- 使用
FastAPI将推理功能封装成一个 REST API 服务 - 支持流式输出 (Server-Sent Events)
- Prometheus 监控集成
- API Key 认证
- 实现批处理推理支持 (
/batch_generate端点) - 添加请求队列和并发控制 (
asyncio.Semaphore+ timeout)
- 使用
- 性能优化 (基础) ⏭️ 阶段十
- 集成
torch.compile到推理流程 (可选配置) - 优化 KV Cache 内存管理
- 实现推理缓存机制
- 集成
状态: 持续进行 | 最后更新: 2026-01-07
- 单元测试: 核心模块覆盖, 目前 385 个测试用例全部通过
- 代码质量: 全面应用
ruff规范并修复所有 lint 问题 - 集成测试:
- 完善
MoE动态专家路由的深度集成测试
- 完善
- 端到端 (E2E) 测试: 创建一个脚本, 自动完成"训练-评估-推理"的全流程, 作为最终的冒烟测试
状态: 持续完善 | 最后更新: 2026-01-08
- 基础文档:
README,CONTRIBUTING等已存在 - 训练框架文档: 8 个详细的训练框架文档 (components, flow, guides 等)
- 开发者文档:
- 完善代码内文档 (docstrings)
- 使用
MkDocs生成文档网站 (Material 主题 + GitHub Pages)
- 用户文档: 编写详细的用户指南和教程
- 示例: 提供
Jupyter Notebook示例, 展示框架的核心功能 (notebooks/quick_start.ipynb)
优先级: P1 (高) | 预计时间: 2025 Q2-Q3 | 预计工作量: 2-3 个月
优化推理和训练性能, 降低延迟和显存占用, 提升吞吐量.
- 推理延迟降低 50%+
- 显存占用降低 30%+
- 训练吞吐提升 40%+
Note
暂缓: 当前使用自定义 SDPA 实现, Flash Attention 集成优先级降低.
- 集成 Flash Attention 2
- 在 MHA 和 GQA 中启用 Flash Attention
- 性能基准测试和优化
- 实现 Paged Attention (vLLM style)
- 优化 KV Cache 内存布局和管理
- 实现 Continuous Batching (
ContinuousBatchingEngine) - 添加请求级别的动态调度
- 深度集成
torch.compile(推理和训练) - 自定义 CUDA kernels (关键路径)
- 优化算子融合策略
- 实现 Gradient Checkpointing
- 优化激活值重计算策略
- 减少峰值显存占用
优先级: P2 (高) | 预计时间: 2025 Q3-Q4 | 预计工作量: 3-4 个月
实现完整的模型对齐流程, 支持 RLHF、DPO 等对齐技术.
- 完成 SFT → RLHF → DPO 完整流程
- 模型对齐质量达到可用标准
- 支持自定义偏好数据集
- 实现完整的 SFT 数据处理流程
- 支持多种指令格式 (Alpaca, ShareGPT, etc.)
- 实现高效的 padding 和 masking 策略
- 实现 Reward Model 训练
- 实现 PPO (Proximal Policy Optimization) 训练器
- 添加 KL 散度约束和 Value Head
- 实现经验回放和优势估计
- 实现 DPO 损失函数
- 支持偏好数据集处理
- 对比 DPO vs RLHF 性能
- 研究并实现 RLAIF (AI Feedback)
- 探索 Constitutional AI
- 实现 Rejection Sampling
优先级: P2 (中) | 预计时间: 2025 Q4-2026 Q1 | 预计工作量: 3-4 个月
扩展模型能力至多模态, 支持图像-文本、音频-文本等多模态任务.
- 支持至少 2 种模态 (视觉 + 文本)
- 多模态预训练/微调流程完整
- 性能达到 baseline 水平
- 集成视觉编码器 (CLIP, SigLIP)
- 实现图像-文本对齐模块
- 支持多模态预训练
- 实现 Visual Instruction Tuning
- 集成音频编码器 (Whisper-style)
- 实现语音识别和生成
- 支持语音指令微调
- 设计通用的多模态数据接口
- 实现模态特定的预处理器
- 构建多模态 tokenizer
优先级: P3 (中) | 预计时间: 2025 Q4-2026 Q2 | 预计工作量: 3-5 个月
实现模型量化和压缩, 降低模型大小和推理成本, 支持边缘设备部署.
- 模型大小减少 50%+
- 推理速度提升 40%+
- 精度损失 < 2%
- 实现 INT8 PTQ
- 实现 INT4 PTQ
- 支持混合精度量化
- 实现 QAT 训练流程
- 支持 fake quantization
- 优化量化参数搜索
- 集成 GPTQ (GPT Quantization)
- 集成 AWQ (Activation-aware Weight Quantization)
- 集成 SmoothQuant
- 研究 GGML/GGUF 格式支持
- 实现知识蒸馏
- 实现模型剪枝
- 探索低秩分解
优先级: P3 (高) | 预计时间: 2025 Q3-2026 Q2 | 预计工作量: 4-6 个月
与主流 LLM 生态系统集成, 提高项目可用性和互操作性.
- 兼容 HuggingFace API
- 支持主流模型格式导出
- 可被 LangChain/LlamaIndex 直接使用
- 实现
PreTrainedModel接口兼容 - 支持
transformers库直接加载 - 实现
safetensors格式支持 - 发布模型到 HuggingFace Hub
- 实现 ONNX 导出
- 实现 TorchScript 导出
- 支持 TensorRT 优化
- 探索 Core ML 支持 (iOS 部署)
- 集成 LangChain
- 集成 LlamaIndex
- 提供标准化 API 接口
- 实现 OpenAI API 兼容层
- 建立模型仓库
- 发布预训练模型权重
- 提供模型卡片和文档
- 实现模型版本管理
优先级: P4 (持续进行) | 预计时间: 持续 | 预计工作量: 不定
研究和实现前沿技术, 保持项目的技术领先性和创新性.
- 实现 RoPE Scaling (NTK-aware, YaRN)
- 集成 ALiBi (Attention with Linear Biases)
- 探索 StreamingLLM
- 研究 Infinite Attention
- 实现 Sliding Window Attention
- 实现 Block Sparse Attention
- 研究 Longformer-style Attention
- 探索 BigBird Attention
- 实现 LoRA (Low-Rank Adaptation)
- 实现 QLoRA (Quantized LoRA)
- 实现 AdaLoRA (Adaptive LoRA)
- 探索 Prefix Tuning / P-Tuning
- 研究 Expert Choice Routing
- 实现 Soft MoE
- 探索 Dynamic Expert Selection
- 优化 Expert Load Balancing
- 实现 FSDP (Fully Sharded Data Parallel)
- 实现 Pipeline Parallelism
- 集成 DeepSpeed ZeRO (Stage 2/3)
- 探索 3D Parallelism (DP + PP + TP)
- 使用 Sphinx/MkDocs 生成 API 文档网站
- 创建互动式 Jupyter 教程
- 发布技术博客和论文解读
- 建立社区论坛 (Discord/GitHub Discussions)
- 每个阶段完成后都有可用的功能增量
- 快速原型, 快速验证, 快速迭代
- 优先开发对用户价值最高的功能
- 根据社区反馈动态调整优先级
- 所有新功能必须有对应的单元测试
- 保持测试覆盖率 > 80%
- 每个 PR 必须通过 CI/CD 检查
- 定期进行代码重构和清理
- 及时更新依赖和安全补丁
- 保持代码库的可维护性
- v0.0.4 (2026-01-07): Gradient Checkpointing, E2E Pipeline, OpenAI Chat API, Batch Inference, 测试数 337
- v0.0.3 (2026-01-05): 同步路线图与实际状态, 修复 train.py 任务注册, 更新测试计数
- v0.0.2 (2025-12-21): 全面更新路线图, 添加 10-15 阶段的详细规划
- v0.0.1 (2024): 初始版本, 完成 1-9 阶段的基础建设
💡 提示: 路线图会根据项目进展和社区反馈持续更新. 如有建议或问题, 请在 GitHub Discussions 中讨论.