通过 Apache Kafka 发送和加载 ML 模型

Send and load an ML model over Apache Kafka

我一直在这里和互联网上四处寻找,但似乎我是第一个有这个问题的人。

我想训练一个 ML 模型(让我们用 PyTorch 说点什么)并将其写入 Apache Kafka 集群。另一方面,应该有可能从接收到的字节数组中再次加载模型。似乎几乎所有的框架都只提供从路径加载的方法,所以一个文件。

我要满足的唯一约束是不将模型保存为文件,因此我不需要存储空间。

我错过了什么吗?你知道如何解决吗?

避免这种情况的一个原因是 Kafka 消息的默认最大为 1MB。因此,在主题中发送模型并不是最好的主意,因此为什么您可以使用存储在共享文件系统中的模型文件,并将 URI 发送到文件(字符串)到在消费者客户端下载。

对于小型模型文件,没有什么可以阻止您将 Kafka 记录字节转储到本地文件,但是如果您碰巧更改了模型输入参数,那么您无论如何都需要编辑消费者代码。

或者您可以将模型嵌入其他流处理引擎(仍在本地文件系统上),如评论中所链接。