如何使用 Bulkinferrer 从 Tensorflow Extended (TFX) 中先前推送的模型进行预测

How to predict with Bulkinferrer from a previously pushed model in Tensorflow Extended (TFX)

在TFX管道中,我们如何利用BulkInferrer

BulkInferrer与训练有素的modelpushed_model连接起来是很标准的。但是,如果我不想再次训练模型,而是喜欢使用之前训练过的 modelpushed_model 并使用 BulkInferrer 进行批量推理(有点像服务BulkInferrer)。可以吗?

如果不是,BulkInferrer组件的目的是什么,只是在整个训练后做一次预测或验证?

如有任何建议或意见,我们将不胜感激。

BulkInferrer是TFX库中新增的支持无标签数据批量推理的最新组件。

Robert Crowe nicely positioned BulkInferrer in the inference pipeline, during the recent BEAM summit

这是一个用例列表,说明为什么有人会使用 BulkInferrer,试图在 ml 管道而不是数据管道的情况下接近它:

  1. 定期在 批处理作业中 ,例如每晚 运行 推断最后一天收到的数据的分数。例如,当推理延迟很高并且需要 运行 离线以用分数填充缓存时,或者当需要推理大量实例时。
  2. 当推理结果预计不会直接返回推理请求(即实时)但可以异步执行时。例如,在发布之前对新模型进行影子测试。
  3. 事件驱动的方式。例如,在推断数据批次并检测到模型漂移时触发模型重新训练。
  4. 用于成本优化。例如,在低吞吐量 models/services 上,cpu/gpu 个实例的空闲时间可能很长。

要在您的 ML 管道中执行此操作而不重新训练您的模型,您可以在管道的末尾确实包含 BulkInferrer 并且 reuse the results from previous runs if the inputs and configuration has not changed. This is achieved by both Argo and Tekton workflow managers on Kubeflow pipelines, as they implement TFX, see step caching