大模型开发从0到1实操流程记录

下面我按模型从 0 到上线的真实流程顺序,用“模型的生命周期”而不是”难度分级”来思考,把每个阶段、在干什么、用什么 Python 工具,给你理清楚。


一、整体流程总览(先给你一张“地图”)

1
2
3
4
5
6
7
8
9
10
11
12
13
数据准备
↓
预训练(学习)
↓
微调(Fine-tuning)
↓
对齐(监督学习 / RLHF / DPO)
↓
评测(Evaluation)
↓
推理优化(Inference Opt)
↓
部署(Serving)

全流程简化速记

你说的 标准阶段 Python 核心工具
模型的学习 预训练 transformers + deepspeed + accelerate
调优(FT) 微调 peft + bitsandbytes + trl
监督学习 SFT trl(SFTTrainer) + datasets
其他流程 对齐 / 评测 / 部署 trl + lm-eval + vllm + fastapi

二、按阶段拆解(重点:Python 工具)


阶段 1:数据准备(Data Preparation)

做什么

  • 数据清洗
  • Tokenization
  • 格式化(指令数据 / 对话数据)
  • 数据集划分

Python 工具

工具 作用
datasets(Hugging Face) 加载、处理、缓存数据集
tokenizers BPE / SentencePiece 分词
pandas 结构化数据清洗
json / jsonl 指令数据格式
pyarrow 高效列式存储
tiktoken OpenAI tokenizer(可选)

✅ 输出:
train.jsonl / tokenized_dataset / DataLoader


阶段 2:模型的学习(预训练,Pre-training)

做什么

  • 从零或继续训练
  • 学习语言/世界知识
  • 自监督学习(MLM / CLM)

Python 工具

工具 作用
transformers 模型定义、Trainer
torch 核心训练框架
accelerate 单卡/多卡统一接口
deepspeed ZeRO、显存优化
fsdp(PyTorch) 原生分布式
wandb / tensorboard 训练监控

✅ 关键代码对象:

1
2
3
AutoModelForCausalLM
Trainer / TrainingArguments
DeepSpeedConfig


阶段 3:调优(Fine-tuning)

做什么

  • 用领域数据继续训练
  • 全参数 / 参数高效微调

Python 工具

工具 作用
transformers 加载预训练模型
peft LoRA / QLoRA / Adapter
bitsandbytes 4/8-bit 量化训练
trl SFTTrainer
datasets 指令微调数据

✅ 常见组合:

1
transformers + peft + bitsandbytes + trl

✅ 输出: - adapter 权重 - 合并后的完整模型


阶段 4:监督学习(Supervised Fine-Tuning,SFT)

⚠️ 注意:SFT 是 FT 的一种,但强调“有标注的监督信号”

做什么

  • 指令-回答对
  • 对话历史
  • 人工标注数据

Python 工具

工具 作用
trl(SFTTrainer) 标准 SFT 训练
transformers 模型/数据
datasets 监督数据
deepspeed 大规模训练

✅ 数据格式:

1
2
3
4
5
{
"instruction": "...",
"input": "...",
"output": "..."
}


阶段 5:对齐(Alignment)

做什么

  • 让模型更安全、更符合人类偏好
  • RLHF / DPO / PPO

Python 工具

工具 作用
trl RLHF / DPO / Reward Model
transformers 策略模型 / 奖励模型
peft 对齐阶段也常用 LoRA
wandb 奖励曲线监控

✅ 常见流程:

1
SFT → Reward Model → PPO / DPO

✅ 代表方法: - RLHF(PPO) - DPO(更工程友好) - ORPO / KTO


阶段 6:评测(Evaluation)

做什么

  • 自动评测
  • 人工评测
  • 回归测试

Python 工具

工具 作用
lm-evaluation-harness 标准 benchmark
evaluate(HF) 通用指标
rouge / bleu / meteor 文本生成指标
deepeval / ragas LLM 专项评测
human-eval 代码能力

✅ 输出: - MMLU / GSM8K / HumanEval 分数


阶段 7:推理优化(Inference Optimization)

做什么

  • 加速
  • 量化
  • 显存优化

Python 工具

工具 作用
vllm 高吞吐推理
tgi Hugging Face 推理服务
tensorrt-llm NVIDIA 极致优化
llama.cpp CPU / 边缘设备
auto-gptq / awq 量化
onnxruntime ONNX 推理

✅ 输出: - 量化模型 - 推理服务


阶段 8:部署(Serving)

做什么

  • API 服务
  • 流式输出
  • 并发处理

Python 工具

工具 作用
fastapi REST API
uvicorn ASGI 服务器
docker 容器化
ray serve 分布式服务
triton inference server 多模型管理
gradio / streamlit Demo

✅ 接口标准:

1
/v1/chat/completions



大模型开发从0到1实操流程记录
https://jycpp.github.io/2025/25-10-11-大模型开发从0到1实操流程记录.html
作者
Jet Yan
发布于
2025年10月11日
许可协议