模型推理与部署基础
模型训练完成后,需要通过推理服务对外提供能力。推理与部署关注的是模型如何被调用、如何满足延迟和吞吐要求,以及如何在生产环境中稳定运行。
# 1. 训练和推理的区别
| 阶段 | 输入 | 输出 | 关注点 |
|---|---|---|---|
| 训练 | 训练数据、标签、参数配置 | 模型参数 | 效果、收敛、数据质量、训练成本 |
| 推理 | 用户请求或业务输入 | 预测或生成结果 | 延迟、吞吐、稳定性、成本、安全 |
训练阶段:数据 -> 学习 -> 模型
推理阶段:输入 -> 模型 -> 输出
# 2. 推理服务基本链路
客户端请求
-> API 网关
-> 应用服务
-> 参数校验
-> 模型服务
-> 结果后处理
-> 业务系统
-> 返回结果
对于大模型应用,链路还会包含 Prompt 编排、上下文拼接、工具调用、流式输出和安全审查。
# 3. 部署形态
| 形态 | 特点 | 适合场景 |
|---|---|---|
| 云端 API | 接入快,能力强,维护成本低 | 快速开发、通用任务 |
| 私有化部署 | 数据可控,可定制,运维复杂 | 敏感数据、内网场景 |
| 端侧模型 | 延迟低,离线可用,能力受限 | 移动端、隐私场景 |
| 混合架构 | 按任务路由不同模型 | 企业级多场景应用 |
# 4. 推理性能指标
| 指标 | 说明 |
|---|---|
| 延迟 | 单次请求从发起到返回的耗时 |
| 吞吐 | 单位时间能处理多少请求 |
| 首 Token 时间 | 流式生成时第一个 Token 返回时间 |
| Token 生成速度 | 每秒生成多少 Token |
| 成本 | 每次请求消耗的计算或 API 费用 |
| 可用性 | 服务正常响应比例 |
# 5. 常见工程问题
| 问题 | 原因 | 处理思路 |
|---|---|---|
| 请求超时 | 模型慢、上下文长、工具调用慢 | 设置超时、流式输出、裁剪上下文 |
| 并发不足 | 模型服务资源有限 | 排队、限流、扩容、模型分级 |
| 成本过高 | 请求多、Token 长、模型过强 | 缓存、摘要、路由到小模型 |
| 输出不稳定 | 生成随机性和上下文波动 | 控制参数、固定模板、结果校验 |
| 难以排查 | 缺少日志和指标 | 记录链路、模型、Token、耗时、错误 |
# 6. 部署建议
- 先明确延迟、吞吐、成本和数据安全要求,再选部署形态。
- 所有模型调用都要有超时、重试、限流和降级。
- 对外部模型 API 做统一封装,避免业务代码散落供应商细节。
- 对大模型应用记录 Token、耗时、模型版本、检索结果和错误信息。
- 重要业务不要让模型输出直接驱动不可逆操作。
# 7. Tips 快问快答
Q:推理是不是只要调用模型接口?
A:不是。生产推理还要关注请求治理、性能、成本、日志、安全、降级和结果校验。
Q:为什么大模型应用常用流式输出?
A:大模型完整生成可能较慢,流式输出可以更早给用户反馈,改善交互体验。
Q:是否一定要私有化部署?
A:不一定。要看数据敏感度、成本、性能和团队运维能力。很多场景云端 API 更经济,敏感场景才需要私有化或混合架构。
上次更新: 2026/06/25, 17:53:09