适合计划基于开源模型做定制、需要同时考虑训练和上线资源的技术团队。只做推理的团队,可以直接看私有化部署的显存估算。

三类工作负载对比

对比项 推理 参数高效微调(如 LoRA) 全参数训练或微调
显存主要用于 权重 + KV 缓存 冻结的权重 + 少量可训练参数 + 激活值 权重 + 梯度 + 优化器状态 + 激活值
显存规模 约为权重的 1 到 2 倍 略高于推理 可达权重的数倍
使用周期 长期、持续 几小时到几天 几天到几个月
中断影响 直接影响用户 可从检查点恢复 可从检查点恢复,但损失进度
存储重点 模型文件、日志 数据集、适配器文件 数据集、大量检查点
网络重点 对外访问、延迟 一般 多机时需要高速互联

训练和微调的显存怎么估

Hugging Face 官方文档给出了混合精度训练时每个参数的显存构成:

部分 每参数字节数 说明
模型权重 6 一份 16 位副本用于计算,一份 32 位副本用于更新
优化器状态(Adam) 8 两组 32 位状态
梯度 4 32 位
合计 约 18 另加激活值,随批大小和序列长度增长

按这个口径,一个 70 亿参数的模型做全参数训练,仅权重、梯度和优化器状态就需要约 126 GB,再加上激活值,通常需要多张卡。

参数高效微调的思路是冻结原模型,只训练少量新增参数。由于大部分参数不需要梯度和优化器状态,显存需求接近推理时的权重占用加上激活值。再配合把冻结的权重量化(常称 QLoRA),还能进一步降低。具体效果和适用性以 PEFT 文档和实际测试为准。

存储与网络的差别

  • 检查点:全参数训练会定期保存检查点,每个检查点可能包含权重和优化器状态,体积是模型文件的数倍。要提前估算保留几个检查点、总共需要多少空间。
  • 数据集:训练数据的存放位置、读取速度和访问权限要写清楚,敏感数据要先确认能否放在合作机房。
  • 多机互联:单机放不下时需要多机协同,机器之间的通信带宽会显著影响训练速度。
  • 推理的对外访问:推理服务要说明访问方、并发和延迟要求,以及是否需要固定地址或隔离。

需求里分别写什么

训练或微调需求:

  1. 基础模型及参数量,全参数还是参数高效微调。
  2. 数据集大小、格式、存放位置和敏感程度。
  3. 预计训练时长,是否可以中断后从检查点恢复。
  4. 检查点保留数量和存储需求。
  5. 结束后模型文件交付到哪里,训练环境如何清理。

推理需求:

  1. 模型、精度和是否量化。
  2. 并发数、上下文长度和输出长度的分布。
  3. 运行周期、可中断的时段和维护窗口。
  4. 访问方式、网络隔离和固定地址要求。
  5. 监控、日志和异常联系方式。

两份需求可以一起提交,但分开描述,方便分别核对资源。

规划时常见的四个错误

  • 用推理的显存估算训练:全参数训练的显存是推理的数倍。
  • 忽略检查点存储:训练跑到一半磁盘写满,是常见的中断原因。
  • 训练和推理放在同一批资源上:训练的集中占用会影响推理服务的稳定性。
  • 没有约定训练结束后的交接:模型文件、数据和日志的去向要提前写清楚。

常见问题

上线前一定要训练吗?

不一定。很多场景用现成模型加上提示设计和检索资料就能满足需求。用推理验证效果后,确有必要再考虑微调。

LoRA 微调后的模型怎么部署?

可以把适配器与原模型合并后部署,也可以在推理框架里动态加载适配器。具体取决于所用框架的支持情况。

训练能用按小时计费的资源吗?

取决于资源方的合作方式。训练周期可预估时,按周期约定资源更便于安排;具体需单独确认。

易AI能承接训练任务吗?

需要按模型规模、周期和数据要求单独确认。可以按上面的方法整理需求,通过联系页说明。

参考资料

  1. Hugging Face:训练时的显存构成(新窗口)
  2. Hugging Face PEFT:参数高效微调(新窗口)
  3. Hugging Face:大模型推理的显存与优化(新窗口)

官方资料用于核对产品或通用概念,不构成对易AI的授权、认证或背书。具体合作以双方确认的方案为准。

对应业务

基础设施能力

易AI 拥有自建机房,将按工作负载与周期确认资源匹配情况及双方分工。

咨询合作了解这项服务