Skip to content

Latest commit

 

History

History
67 lines (55 loc) · 3.14 KB

File metadata and controls

67 lines (55 loc) · 3.14 KB

Task Plan:从零训练一个迷你LLM并部署(Web可用)

Goal

从第一性原理出发,做出一个可跑通端到端的学习项目:数据准备 → 训练一个迷你GPT(从零)→ 简单评估 → 推理服务(FastAPI,支持流式输出)→ Web 前端聊天界面(React+TS)→ Docker 化部署示例。

Current Phase

Complete

Phases

Phase 1:需求澄清 & 现状勘察

  • 明确“训练”是从零训练还是微调(默认:从零训练迷你GPT + 提供可扩展路径)
  • 明确运行环境约束(默认:Mac/CPU 可运行;后续可扩展 GPU)
  • 记录现状与约束到 findings.md
  • Status: complete

Phase 2:方案选择 & 工程结构

  • 给出 2-3 套可行方案并评估
  • 固化默认方案与目录结构
  • 把关键决策写入 findings.md
  • Status: complete

Phase 3:实现(数据→训练→推理→前端)

  • 数据格式与样例数据生成脚本
  • Tokenizer(字节级)与数据管道
  • 迷你 GPT 模型 + 训练脚本 + checkpoint
  • 推理服务(FastAPI,SSE 流式)
  • Web 前端(React+TS)聊天 UI
  • Status: complete

Phase 4:测试 & 验证

  • 训练脚本可跑通(小数据集)
  • 服务可启动并能生成文本(含流式)
  • Web UI 可构建(TypeScript 严格检查通过)
  • 记录命令与结果到 progress.md
  • Status: complete

Phase 5:交付 & 下一步路线图

  • README:从第一性原理解释全流程(但保持可操作)
  • Docker/部署说明(docker compose)
  • 升级到“开源大模型 LoRA 微调”的脚手架与示例(Qwen2.5-0.5B-Instruct)
  • Status: complete

Key Questions

  1. 你希望优先体验哪条路径?A 从零训练迷你GPT(最第一性原理)/ B LoRA 微调开源基座(更实用)/ C 两者都要(默认:A 为主 + B 作为可选扩展)
  2. 你的机器是否有可用 GPU(含 Apple M 系列 / NVIDIA)?这会影响默认 batch/模型大小。

Decisions Made

Decision Rationale
采用“字节级 tokenizer” 不依赖外部词表训练,原理直观;任意文本都可编码;适合教学与可跑通
先做“从零训练迷你GPT” 更符合第一性原理;计算可控;便于理解完整训练闭环
推理服务用 FastAPI + SSE Python 侧更贴近模型;SSE 方便前端流式展示;异步 IO 友好
前端用 Vite + React + TS 前端同学上手快;开发体验好;TS 可加类型约束(禁用 any)

Errors Encountered

Error Attempt Resolution
Docker daemon not running (cannot connect to docker.sock) 1 未能在本环境验证镜像构建;交付 Dockerfile/compose,需用户本机启动 Docker 后验证

Notes

  • 默认以“本地可跑通”为第一目标;训练质量只需能看到可学习的趋势(loss 下降、能生成更像样的文本)。