我目前正在构建一个使用神经网络的后端。 我需要保存权重(可以是2维,3维或4维),然后还原它们。 我目前正在使用heroku,因此需要将它们保存到PostgreSQL或S3存储桶中,并在每次系统启动时进行检索。
在生产中用于ML应用的权重存储和还原的最佳解决方案是什么,其中权重可能是数十万个条目,并且矩阵可以超过100mb?
答案 0 :(得分:1)
我们确实在S3上存储了神经网络权重,效果很好。
此外,我们在训练新数据时会更新这些权重,并将其更新为s3。实时系统会检查修改后的s3对象,并根据存储的数据更新权重/神经网络。
https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectHEAD.html
aws s3api头对象--bucket my-bucket --key object.h5
您还可以启用加速端点以提高速度。如果要通过Internet下载对象,则需要这样做。
https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html
希望有帮助。
答案 1 :(得分:0)
仅出于完整性考虑:使用Postgres和Postgres数据类型ARRAY,还可以存储大型矩阵以进行生产。