一、部署概述:本文要解决什么问题
很多团队在规划深度学习基础设施时,会把“训练”和“推理”当成同一种负载,用同一批服务器去承接,结果要么训练阶段显存不够、多机扩展困难,要么推理阶段资源利用率低、成本居高不下。本文的部署目标是:帮助读者分别完成训练环境与推理服务的部署规划与上线。部署完成后应达到三个效果——训练任务能够稳定跑满GPU并支持多卡扩展;训练产出的模型能够以低成本、低延迟的方式对外提供服务;两套环境具备独立的验证、监控与回滚能力。
本文适合的读者包括:负责搭建GPU资源的运维与平台工程师、需要上线模型接口的算法与应用开发者、进行容量规划与技术选型的架构师及技术负责人。阅读前建议对模型训练的基本流程(前向计算、反向传播、参数更新)和常见模型服务形态(在线接口、批处理任务)有基本了解。
二、部署场景:两类负载的本质差异
训练和推理虽然面向同一个模型,但它们在计算特征、资源瓶颈和服务形态上完全不同,这正是“训练和推理需要不同服务器”的根本原因。
(一)训练阶段的负载特征
训练是“重计算、重显存、重互联”的离线任务:
- 显存占用极高。训练时不仅要存放模型参数,还要保存前向计算产生的激活值、反向传播的梯度和优化器状态,总显存需求往往是模型参数量的数倍甚至十倍以上。
- 追求吞吐量而非响应延迟。训练以“单位时间处理多少样本”为目标,可以接受单步耗时较长,但必须长时间稳定运行。
- 对卡间与机间互联带宽敏感。多卡分布式训练时,梯度需要在卡与卡、机与机之间高频同步,互联带宽不足会导致GPU大量时间在等待通信。
- CPU是配角。训练阶段CPU主要承担数据预处理、数据加载和系统调度,按GPU数量配置合理比例的CPU核数与内存即可。
(二)推理阶段的负载特征
推理是“重延迟、重并发、重稳定”的在线服务:
- 只做前向计算,不保存梯度和优化器状态,显存占用大幅下降;经过量化压缩后,同一模型对显存的要求可以再降一个量级。
- 核心指标是单次请求的延迟和整体并发能力,需要动态批处理、请求排队、超时控制等在线服务机制。
- 对CPU、内存与网络接入要求更高:请求解析、文本预处理、结果组装、加解密、网关转发等工作主要由CPU和网络承担。
- 服务需要7×24小时常驻运行,必须考虑健康检查、自动恢复、弹性伸缩、灰度发布与版本回滚,这些是在线服务的部署要求,而非训练任务的部署要求。
两类负载的差异可概括如下:
| 维度 |
训练 |
推理 |
| 计算内容 |
前向+反向传播 |
仅前向计算 |
| 显存压力 |
极高(参数+梯度+优化器状态) |
较低(参数+缓存,可量化压缩) |
| 核心指标 |
吞吐量、收敛速度 |
延迟、并发、成功率 |
| 互联要求 |
卡间/机间高带宽同步 |
对外网络接入与负载均衡 |
| 运行形态 |
离线任务,按需启停 |
常驻服务,7×24运行 |
| 部署重点 |
分布式配置、checkpoint管理 |
弹性伸缩、监控告警、灰度回滚 |
三、资源规划与前置准备
(一)训练资源分档规划
按模型规模和训练方式,主流训练GPU资源大致分三档,选型前应先明确自己属于哪一档:
- 入门档:面向70亿到130亿参数模型的微调场景。一张24GB显存的消费级旗舰GPU即可运行,配合LoRA(低秩适配)等参数高效微调技术,只需训练极少量新增参数,显存与算力压力可控。这一档对中小团队性价比很高,是微调类任务最常见的起步配置。
- 中等规模档:面向数十亿到百亿参数模型的全量微调或中等规模训练。通常选择80GB显存的数据中心级GPU,以4到8张卡组成一台训练服务器,通过数据并行或张量并行充分利用算力。数据中心级GPU在显存容量、计算精度支持和卡间互联带宽上明显优于消费级显卡。
- 大规模档:面向千亿参数以上的预训练任务。需要多台训练服务器组成集群,并配置高带宽、低延迟的机间互联网络,否则通信开销会严重拖慢整体训练效率。
(二)推理资源规划
推理侧选型应从延迟目标和并发规模倒推:
- 根据延迟目标选择算力:延迟敏感的在线接口选性能较强的GPU;离线批处理或延迟不敏感的场景可降档选型。
- 利用量化压缩降低资源门槛:模型量化到INT8或更低精度后,可部署在显存更小的GPU上,小模型甚至可由CPU承担推理。
- 以多实例+负载均衡承接并发:单实例容量有限,应水平扩展多个无状态推理实例,前置负载均衡统一接入。
(三)前置准备清单
- 账号与权限:开通GPU实例相关权限并配置最小化授权,例如在百度智能云等云环境中,为不同岗位分配子账号并限制关键操作权限。
- 环境一致性:确定驱动版本、GPU运行时库、深度学习框架版本,并以容器镜像方式固化,保证开发、测试、生产三套环境一致。
- 数据与模型准备:训练数据集提前上传至对象存储并组织好目录结构;模型文件应有统一的版本化管理位置。
- 网络策略:训练集群内部互通、推理服务对外端口与访问控制、安全组规则、域名与证书(推理服务必须提前准备)。
- 监控与日志:GPU利用率、显存、温度等指标采集,应用日志接入统一日志服务,告警通知渠道提前打通。
四、部署流程:从训练环境到推理上线
整体流程分两段:
阶段一(训练环境部署):申请GPU资源 → 安装驱动与运行时 → 拉取固化训练镜像 → 挂载数据集→ 配置分布式参数 → 单卡/单机试跑 → 正式训练与监控 → 模型产物版本化入库阶段二(推理服务部署):模型导出与量化转换 → 构建推理镜像 → 部署推理实例并调参→ 压测验证 → 接入网关/负载均衡与监控 → 灰度发布 → 全量上线
(一)训练环境部署步骤
- 资源创建:按资源分档申请GPU实例,同一次训练任务的多卡放在同一可用区,并确认实例间网络互联规格满足要求。
- 环境初始化:安装与GPU匹配的驱动与计算运行时库,验证设备可被正确识别;建议直接使用预先构建好的容器镜像,减少环境差异。
- 数据挂载:将对象存储中的训练数据挂载或同步到本地高速存储,避免数据读取过慢导致GPU空转。
- 分布式配置:根据模型规模选择并行策略——中小模型用数据并行,超大模型引入张量并行、流水线并行,并配置集合通信后端与通信端口。
- 试跑验证:先用小数据量、小步数跑通全流程,确认显存占用、梯度同步、checkpoint保存均正常,再启动正式训练。
- 监控与产物管理:持续观察loss曲线、GPU利用率与吞吐量;定期保存checkpoint并做异地备份;训练完成后将模型文件连同评估指标一起登记版本。
(二)推理服务部署步骤
- 模型转换:将训练产出的模型导出为推理友好格式,按需量化或结构压缩,并记录转换前后的精度对比,确保效果可接受。
- 镜像构建:将推理运行时、模型文件与API服务层打包成独立镜像,遵循“一次构建、多环境部署”原则。
- 实例部署与参数配置:配置最大并发数、动态批处理参数、请求超时、显存上限等关键参数。
- 内部压测:用与生产相似的请求分布压测,观察延迟分位数、吞吐量与显存水位,据此调整批处理与实例规格。
- 接入层配置:配置负载均衡、健康检查、域名解析与TLS证书,设置访问鉴权与限流策略。
- 灰度与全量:先导入小比例流量观察指标,稳定后逐步放量至全量;旧版本模型与镜像保留,确保可快速回滚。
五、关键配置说明与风险点
- batch size与梯度累积:训练显存不足时,优先减小batch size并用梯度累积补足等效批量,而不是直接换更大显存的卡;推理侧则适当提高并发批处理以提升吞吐,但会增加单请求延迟,需按业务目标权衡。
- 混合精度训练:数据中心级GPU对半精度计算支持较好,开启混合精度可提升吞吐、降低显存占用;消费级显卡上需先验证数值稳定性。
- checkpoint策略:训练最大的风险是中断后从头再来,务必配置合理的保存频率与保留策略,并定期演练从checkpoint恢复。
- 环境配置隔离:训练与推理的环境变量、模型路径、密钥分套管理,避免共用配置文件误连生产依赖;密钥通过密钥管理服务注入,不写入镜像。
- 推理超时与限流:网关层必须配置请求超时、最大并发与队列长度,防止流量尖峰压垮推理实例引发连锁故障。
六、上线验证方法
训练环境验证:短时间试跑中loss正常下降且无NaN;GPU利用率维持较高水平、无长期空转;多卡训练时各卡负载均衡、通信无超时报错;checkpoint可正常保存与恢复。
推理服务验证:健康检查接口返回正常,负载均衡判定实例可用;用真实样例请求抽测,返回结果与离线评估一致;压测达到目标并发时,延迟分位数(如P99)与错误率满足预设阈值;日志无异常堆栈,显存水位稳定无持续增长(防泄漏);人为触发一个实例故障,验证流量可自动摘除与恢复。
七、常见问题与排查思路
- 训练显存溢出(OOM):减小batch size、启用梯度累积、缩短序列长度、及时释放中间变量;仍不足则升级显存档位或改用参数高效微调。
- 多卡通信失败或过慢:检查各卡驱动与运行时版本一致性、机间互联规格是否达标、防火墙是否放通通信端口。
- GPU利用率忽高忽低:多为数据加载瓶颈,增加预处理并行度、将数据转为顺序读取友好的格式或缓存到本地高速存储。
- 推理延迟抖动:检查动态批处理是否过大、是否与其他负载混部抢占资源、是否存在内存回收或显存碎片问题。
- 推理实例越跑越慢或崩溃:典型显存或内存泄漏,配置自动重启策略,优先回滚到上一稳定镜像版本再定位根因。
- 驱动与框架不匹配:部署前用统一镜像锁定版本组合,避免各节点自行安装。
八、运维与优化建议
- 监控告警:训练侧重点告警GPU利用率异常下降、任务中断、checkpoint失败;推理侧重点告警延迟、错误率、实例存活与资源水位。
- 成本控制:训练是可中断的离线负载,可利用抢占式实例或业务低峰时段资源;推理是常驻负载,按流量曲线配置弹性伸缩、闲时缩容。两套负载分开部署,本身就避免了“按峰值统一采购”的浪费。
- 安全控制:模型文件与数据集按最小权限管理;推理接口启用鉴权、限流与访问白名单,全链路加密传输;关键操作留存审计日志。
- 版本与回滚:训练镜像、推理镜像、模型文件三者都做版本化,任何一次上线都保留回滚路径;模型更新走“评估→灰度→全量”的固定通道。
- 环境一致性沉淀:用基础设施即代码的方式管理GPU实例、网络策略与监控配置,减少人工操作导致的环境漂移。
九、总结
深度学习训练和推理对应不同的服务器,本质是两类负载对显存、算力、互联、延迟与运行形态的要求完全不同:训练追求吞吐,依赖大显存与高带宽互联的GPU集群;推理追求低延迟高并发,可在量化压缩后使用更轻的资源并以在线服务方式部署。落地时应遵循“分档选型、环境固化、两段流程、双重验证、持续运维”的路径——训练侧做好资源分档、分布式配置与checkpoint管理,推理侧做好镜像化部署、压测调参、灰度发布与弹性伸缩,并通过统一的监控告警与版本化回滚机制保障长期稳定。按照本文的清单与流程执行,即可完成一套职责清晰、成本可控的深度学习训练与推理基础设施部署。