大模型训练方法、框架与技术栈

摘要:大模型训练并不是选择一个框架就结束了。训练目标、参数更新方式、上层工作流、分布式执行和在线生成分别由不同技术负责。本文从学习视角梳理主流训练方法与框架分层,解释它们如何组合,并给出按任务、开发方式和硬件规模进行选型的思路。

关键词:大模型训练、SFT、DPO、PPO、GRPO、LoRA、QLoRA、TRL、LLaMA-Factory、Axolotl、Unsloth、Open-R1、verl、DeepSpeed、FSDP、Megatron-Core

本文基于 2026 年 8 月可查的官方资料整理。开源框架更新很快,具体参数和支持矩阵请以项目对应版本的官方文档为准。


一、先建立大模型训练的全景图

一个模型从“基础模型”走向“可用助手”,可能经历如下过程:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
海量原始文本、代码、多模态数据

预训练 Pre-training

Base Model:会续写、有通用知识,但不一定会听指令

继续预训练 Continued Pre-training(可选)

吸收金融、法律、医疗、代码等领域分布

监督微调 SFT

学会对话格式、任务步骤、工具调用和标准回答

偏好优化 DPO 等(可选)

更偏好安全、清晰、有帮助的回答

强化学习 PPO / GRPO 等(可选)

针对可评分目标在线探索和优化

评测、量化、部署、监控和数据回流

这不是每个项目都必须完整执行的流水线。实际情况可能是:

  • 企业客服模型:基座模型 → SFT → DPO;
  • 数学推理模型:基座模型 → 推理轨迹 SFT → GRPO;
  • 行业知识模型:基座模型 → 继续预训练 → SFT;
  • 小型本地模型:基座模型 → QLoRA SFT → 量化部署;
  • 从零训练基础模型:数据工程 → 大规模预训练 → 多阶段后训练。

因此,第一原则是:先确定训练阶段,再选择框架。


大模型训练基础(3)-常用后训练方法

大模型后训练路线

1
2
3
4
5
6
7
8
9
10
11
大模型后训练(Post-training)

├── 监督学习
│ └── SFT:学习“标准答案应该怎么写”

├── 偏好学习
│ └── DPO:学习“回答 A 比回答 B 更好”

└── 强化学习
├── PPO:根据奖励训练,通常需要 Value Model
└── GRPO:根据同题多答案的相对奖励训练,通常不需要 Value Model

LLM_Train_Method_2_illustration

7. DPO:直接偏好优化

方法类型:直接偏好优化。通常使用提前准备好的离线偏好对,不需要在训练过程中运行完整的强化学习 rollout。

7.1 原理

DPO(Direct Preference Optimization)的核心思想是:直接拿“好回答”和“差回答”训练,让模型更倾向好回答,不再先训练一个阅卷老师,再做一轮 PPO。

训练时还会保留一个冻结的 reference model 作为参照,避免模型只顾拉开好坏答案的差距而偏离原模型太远。可以理解为:

1
2
3
4
对同一个问题:
提高 chosen 的相对倾向
降低 rejected 的相对倾向
同时参考原模型,防止整体改变过猛

大模型训练基础概念(2)

  1. 预训练与继续预训练

4.1 预训练(Pre-training)

定义:在海量通用或混合语料上使用自监督目标训练模型,主要获取语言、知识和基础能力。

通俗解释:给模型阅读海量网页、书籍、代码等内容,让它反复做“猜下一个 token”的练习。原始数据不需要人工逐条写答案,文本的下一个 token 本身就是答案。

样例数据:预训练数据通常只是连续文本,而不是问答对。

1
2
{"text": "水在标准大气压下的沸点约为100摄氏度。温度继续升高时,液态水会逐渐转化为水蒸气。"}
{"text": "def fibonacci(n):\n if n < 2:\n return n\n return fibonacci(n-1) + fibonacci(n-2)"}

模型会自动从每段文本中产生大量“根据前文预测下一个 token”的训练题。

适用场景

  • 从零构建基础模型;
  • 有足够数据、算力和工程团队;
  • 现有模型在语言、授权、架构或核心能力上不满足需求。

优势:能力上限和数据分布可控,可形成自主基座。

劣势:数据、算力、稳定性、分布式系统和评测成本极高;失败代价大。

4.2 继续预训练(Continued Pre-training / Domain-Adaptive Pre-training)

定义:从已有基座继续使用语言建模目标训练,而不是使用问答标签。

通俗解释:基座模型已经读完“通识课程”,现在让它集中阅读某个专业的原始材料。例如继续阅读证券研报、法律条文或公司代码库,使它熟悉该领域的术语、表达和知识分布。

金融领域样例数据

1
2
{"text": "资产负债率是企业负债总额与资产总额的比率,常用于衡量企业的长期偿债能力……"}
{"text": "本报告期内,公司经营活动产生的现金流量净额同比增长18.6%,主要原因是应收账款周转改善……"}

大模型训练基础概念理解(1)

一个典型大语言模型(LLM)的生命周期可以概括为:

1
2
3
4
5
6
7
8
9
10
11
12
13
原始数据
↓ 清洗、去重、过滤、配比、分词
预训练(Next-Token Prediction)
↓ 获得 Base Model:会续写、有知识,但未必会听指令
继续预训练(可选,领域知识/新语言/长上下文)

监督微调 SFT
↓ 获得 Instruction Model:学会指令格式和示范行为
偏好或强化优化(DPO / PPO-RLHF / GRPO 等)
↓ 提升有用性、安全性、风格、推理或可验证任务能力
评测、压缩、量化、部署

在线推理、监控、数据回流、迭代训练

预训练主要解决“能力和知识从哪里来”,SFT 解决“如何按指令表现”,偏好优化解决“多个看似合理的答案中更偏好哪个”,推理系统解决“如何以可接受的成本和延迟把能力交付出来”。

查看更多


OpenAI Whisper 各档模型测试

因为有单机私有化部署业务需要,所以要选一款单机能hold、性能不差的模型,先看:

OpenAI Whisper:全球知名的多语言通用模型,基于海量音频数据训练,准确率高且支持多国语言与翻译

openAI Whisper 有不同大小的语音识别模型,真实场景到底用哪一个呢?我们来测试下:

模型 效果 速度 显存消耗 模型大小
turbo 🌟🌟🌟🌟🌟 🌟🌟🌟🌟🌟 ~6G 1.6G
Medium 🌟🌟🌟🌟🌟 🌟🌟 ~5G 1.5G
Small 🌟🌟🌟🌟🌟 🌟🌟🌟 ~2G 462M
tiny 🌟🌟 🌟🌟🌟🌟🌟 ~1G 73M
Base 🌟🌟🌟🌟 🌟🌟🌟🌟🌟 ~1G 139M

openAi Whisper 实际模型加载过程耗时占大部分,所以最好做成服务

测试细节


macos 支持2K显示屏

Mac 支持2K显示屏

家里的显示器是2K显示器,默认分辨率是标准的 2560x1440 分辨率,但是在mac 下,字体小,锯齿严重

然后mac 默认开启的HiDPI 能过很好解决锯齿问题,但是HiDPI最大分辨率选项只有1280*720 HiDPI

方案1: 《目前在用》

https://github.com/xzhih/one-key-hidpi

1
bash -c "$(curl -fsSL https://raw.githubusercontent.com/xzhih/one-key-hidpi/master/hidpi.sh)"

2025 年终总结

每次到年底就多愁善感~

工作篇

2025年,工作整体平淡但稳定。我与另一位同事共同负责多个存量项目的维护与迭代,项目规模大、历史包袱多,大部分精力只能用于满足客户日常需求、修复问题和保障系统稳定。新功能开发空间有限,几乎无法推进较大创新。

2026年:“守住底线、稳中求进”

投资篇

2025年:个人投资收益率约为78%,较2024年的130%大幅回落,但仍属于较高水平。主要原因在于本金基数较小,且积极参与今年Alpha空投活动。

全年主要投资动作:

  1. 5月清仓全部A股持仓,转为持有现金和Web3资产,主要考虑本金有限、精力不足,无法兼顾多条赛道。回头看,错过了从3000到4000这波牛市,但是不遗憾,4月还是俄乌战争、中美关税战、举国各个行业都很惨淡,谁能预知未来
  2. 9万元附近清仓比特币,1000美元以上区间陆续清仓BNB,虽然每个都没拿到最大利润,但是好在回撤相对较小。
  3. 积极参与多个Alpha项目空投活动,该部分贡献了全年收益的近一半,但已明显感受到竞争加剧、收益可持续性下降的趋势。

2026年:任何赛道一旦参与者增多,超额收益都会迅速均值回归。alpha赛道的收益已经不做期望了。2026年的投资目标是继续积累本金,保持耐心,等待合适机会低位回补,同时探索是否有新的低风险高收益路径。同時也清醒认识到,本金越大,维持高收益率的难度越高,需更加注重资产配置的稳健性(还没大到这个步骤,时机到了还是要敢于下注)。


VictoriaMetrics 存储机制逻辑分析

VictoriaMetrics 是后出的一款面向可观测指标的时序数据存储和查询引擎, 传闻比prometheus 查询性能强,存储成本还低,我们也有做指标数据平台,特来学习下

以下分析基于 v1.45.x 版本

1. 核心结论

VictoriaMetrics 的存储设计可以概括为以下几点:

  • 使用 vminsertvmstoragevmselect 分离写入、存储与查询职责;
  • 采用 Prometheus 风格的单值时序模型,每个数据点由时间戳和浮点数值组成;
  • 根据指标名和标签生成时间序列标识 TSID
  • 将标签索引与原始时序数据分开存储;
  • 原始数据按 TSID 聚合,并将时间戳和值分别进行列式压缩;
  • 数据先写入内存,刷盘后形成不可变的 Part,再通过后台 Merge 合并;
  • 按月建立数据分区,通过 smallbig 两级目录平衡近期数据的读取速度与历史数据的压缩率;
  • 索引和数据均采用分层文件结构,通过元索引缩小读取范围;
  • 不依赖传统 WAL,在异常退出时可能丢失尚未刷盘的数据。

2. 集群架构

VictoriaMetrics 集群由三个核心组件组成。

组件 主要职责
vminsert 接收写入请求,通过一致性哈希将数据分发到不同的 vmstorage 节点
vmstorage 保存标签索引和时序数据,并执行本地检索
vmselect 接收查询请求,从一个或多个 vmstorage 节点读取数据并汇总结果

三个组件可以分别扩容。vmstorage 采用 Shared-Nothing 架构:节点之间不共享数据,也不需要互相通信。这种结构降低了节点间协调成本,使扩容和故障隔离更简单。


Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×