在优锐课的java学习分享中,这篇文章探讨了构建ML基础结构的特定部分:在Kafka应用程序中部署分析模型以进行实时预测。
Apache Kafka与机器学习(ML)之间的关系是一个有趣的话题,我在如何使用Apache Kafka在生产中构建和部署可伸缩机器学习以及使用Apache Kafka推动尖端机器学习方面写了很多。
这篇文章介绍了构建机器学习基础架构的特定部分:在Kafka应用程序中部署分析模型以进行实时预测。
模型训练和模型部署可以是两个单独的过程。但是,你还可以使用许多相同的步骤进行集成和数据预处理,因为你经常需要对模型训练和模型推理执行相同的数据集成,过滤,扩充和聚合。
我们将讨论和比较两种不同的模型部署选项:具有远程过程调用(RPC)的模型服务器以及将模型本地嵌入到Kafka客户端应用程序中。我们的示例专门使用TensorFlow,但基本原理也适用于其他机器学习/深度学习框架或产品,例如H2O.ai,Deeplearning4j,Google的云机器学习引擎和SAS。
TensorFlow —一个用于机器学习/深度学习的开源库
TensorFlow是一个用于高性能数值计算的开源软件库。 其灵活的体系结构允许在从台式机到服务器集群到移动和边缘设备的各种平台(CPU,GPU,TPU等)上轻松部署计算。 它最初由Google的AI组织中的Google Brain团队的研究人员和工程师开发,为机器学习和深度学习提供了强大的支持,并在许多领域中得到使用。 TensorFlow是一个完整的生态系统,而不仅仅是一个组件。
鉴于此博文专注于模型服务,我们主要对SavedModel对象感兴趣,该对象存储了经过训练的模型,并且TensorFlow Serving作为模型服务器:
SavedModel本质上是一个二进制文件,已使用协议缓冲区(Protobuf)进行了序列化。 用C,Python,Java等生成的类可以加载,保存和访问数据。 文件格式是人类可读的TextFormat(.pbtxt)或压缩的二进制协议缓冲区(.pb)。 图对象是TensorFlow中计算的基础。 权重保存在单独的检查点文件中。
由于我们专注于Tensor

本文探讨在Kafka应用程序中部署分析模型进行实时预测,特别是使用TensorFlow。文章讨论了模型服务器(如TensorFlow Serving)与RPC通信在流处理中的应用,以及Kafka在数据集成和预处理中的作用。提供了Kafka Streams与模型服务器交互的代码示例。
最低0.47元/天 解锁文章
336

被折叠的 条评论
为什么被折叠?



