概述
分类器可以返回类别分数;语言模型可以生成标记。尽管周围系统可以单独保存信息或从反馈中学习,但推理通常使模型参数保持不变。
主要要点
- 测量整个请求路径。
- 将每个请求的延迟与吞吐量分开。
- 服务优化后重新测试质量。
深入探讨
请求通常经过输入验证、预处理、模型和输出处理。文本服务可以对提示进行标记,重复运行模型以生成标记,并组装响应。检索和外部工具可以在模型周围添加更多阶段。他们的时间和错误都会影响用户体验。分别测量延迟和吞吐量。延迟是指一个请求需要多长时间;吞吐量是系统在一段时间内完成的请求数量。批处理请求可以提高吞吐量,同时增加单个请求的等待时间。流媒体可以让回答更快地开始,而不会减少完成它所需的时间。硬件内存必须容纳比模型权重更多的内容。工作缓冲区、并发请求和缓存表示也会消耗内存。较长的输入和输出可能会改变服务成本,因此请测试实际的工作负载分布,而不是一个简短的演示提示。当模型无法回答时,推理部署需要限制、超时和可用的响应。保留版本化的评估集,并在更改精度、批处理、模型版本或预处理后比较输出。仅当优化保持任务所需的质量时才有用。
04工作示例
考虑端到端响应时间
在构建的请求中,验证需要 20 毫秒,文档检索需要 180 毫秒,模型生成需要 900 毫秒,格式化需要 30 毫秒。
如果这些阶段按顺序运行,则总计时间为 1,130 毫秒。将格式化时间减半仅节省 15 毫秒。
将检索时间减少到 100 毫秒可节省 80 毫秒。在并发负载下再次测量,因为排队会改变结果。
它显示了什么
这些发明的时间安排说明了为什么优化一个小阶段可能几乎不会改变体验。
现实世界的实施
对传入消息进行分类,无需重新训练分类器。
流式传输草稿答案,同时保留明确的取消控制。
付诸实践
为什么这很重要
- 更清晰的判决. 它可以帮助您将清晰的技术声明与营销语言分开。
- 成本与预算. 在花费金钱或时间之前,您可以提出更好的实施问题。
- 团队与工作流程. 具有共同理解的团队可以做出更好的产品、政策和学习决策。
留意
- 不同的团队可能会以不同的方式使用同一术语,因此请尽早定义范围。
- 基准测试可能看起来很强大,但实际性能却参差不齐。
- 忽视数据质量和评估计划通常会产生脆弱的结果。
后续步骤
- 从您需要的结果的简单语言定义开始。
- 在测试之前选择一种成功指标和一种失败条件。
- 使用代表性数据运行小型试点,而不是完善的演示集。
- 记录人工智能推理在哪些方面有帮助以及在哪些方面更简单的方法更好。
资料来源与延伸阅读
- PyTorch保存、加载和使用模型
不断探索
常见问题
推理和推理一样吗?
推理描述了运行模型。任务可能涉及推理、分类或生成;执行标签不建立推理质量。