在生产中保存和恢复神经网络权重

Saving and restoring neural network weights in production

我目前正在构建一个使用神经网络的后端。 我需要保存权重(可能是 2 维、3 维或 4 维)并恢复它们。 我目前正在使用 heroku,因此需要将它们保存到 PostgreSQL 或 S3 存储桶中,并在每次系统启动时检索它。

在生产中存储和恢复 ML 应用程序权重的首选解决方案是什么,其中权重可能是数十万个条目,矩阵可能超过 100mb?

我们确实在 S3 上存储了神经网络权重,而且效果很好。

我们还会在使用新数据训练并更新到 s3 时更新这些权重。实时系统检查修改后的 s3 对象并根据存储的数据更新权重/神经网络。

https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectHEAD.html

aws s3api head-object --bucket my-bucket --key object.h5

您还可以为速度启用加速端点。如果您通过 Internet 下载对象,则需要这样做。

https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html

希望对您有所帮助。

只是为了完整性:使用 Postgres 和 Postgres 数据类型 ARRAY,也可以存储大型矩阵用于生产。