推理是 通过将经过训练的模型应用到 无标签样本。 一般来说,模型可以通过以下两种方式之一推断出预测结果:
- 静态推理(也称为离线推理或 批量推理)是指该模型对一组预测的 常见无标签样本 然后将这些预测结果缓存在某个位置。
- 动态推理(也称为在线推理或实时推理) 即模型仅根据需要进行预测, 例如,当客户端请求预测时。
我们来看一个极端示例,假设有一个非常复杂的模型, 需要一个小时才能推断出一个预测值。 这可能是进行静态推理的绝佳场景:
![图 4. 在静态推理中,模型生成预测,
这些数据随后会缓存在服务器上](https://developers.google.cn/static/machine-learning/crash-course/images/StaticInference.png?authuser=7&hl=nl)
假设同一个复杂模型错误地使用了动态推理, 静态推理。如果有很多客户端几乎同时请求预测, 因此大部分用户可能要在数小时或数天内收到相关预测
现在,假设一个模型可以快速推理,也许可以在 2 毫秒内使用 计算资源的相对最小值。在这种情况下,客户端可以 通过动态推理快速、高效地接收预测, 如图 5 所示。
![图 5. 在动态推理中,模型会根据
需求](https://developers.google.cn/static/machine-learning/crash-course/images/DynamicInference.png?authuser=7&hl=nl)
静态推理
静态推理有一些优缺点。
优势
- 无需过多担心推理的成本。
- 可以在推送之前对预测结果进行后期验证。
缺点
- 只能提供缓存的预测,因此系统可能无法 能够为不常见的输入样本提供预测。
- 更新延迟时间可能以数小时或数天为单位。
动态推理
动态推理有一些优缺点。
优势
- 可以在出现任何新项目时对其做出预测, 非常适合长尾(不太常见)预测。
缺点
- 计算密集型且对延迟敏感。这种组合可能会限制 复杂性;也就是说,您可能需要构建一个更简单的模型, 可以比复杂模型更快地推断出预测。
- 监控需求更多。
练习:检查您的掌握程度
以下四条陈述中,哪三项是正确的
静态推理的正确示例是什么?
模型必须针对所有可能的输入创建预测。
是的,模型必须针对所有可能的输入和
并将它们存储在缓存或对照表中
如果模型预测的事物集是有限的,
静态推理是一个不错的选择。
不过,对于自由格式的输入,例如用户查询的
异常或稀有物品的尾巴,静态推理无法提供
专题报道。
系统可以在投放前验证推断的预测结果
。
是的,这是静态推理的一个有用方面。
对于给定的输入,模型可以更快地提供预测
而不是动态推理。
是的,静态推理几乎总是能更快地提供预测
比动态推理更复杂。
您可以快速应对全球变化。
不可以,这是静态推理的缺点。
以下哪个说法是
动态推理是正确的吗?
您可以为所有可能的条目提供预测结果。
可以,这是动态推理的一个优点。任何
都会打分。动态推理处理长尾
分布(包含许多稀有物品),例如
可能的句子。
你可以先对预测结果进行后期验证
。
一般来说,不可能对所有
预先进行预测,
可以按需进行不过,您可以监控
汇总预测质量,以提供一定程度的
但只有在进行过质量检查后才会触发火灾警报
火势已经蔓延了
执行动态推理时,您无需担心
预测延迟时间(返回预测的延迟时间)
和执行静态推理时一样。
在动态推理中,预测延迟通常是值得关注的问题。
很抱歉,您不一定能解决预测延迟时间问题
从而达到更精细的效果。