Cloud 运行 / Docker 正在加载大型文件以进行 ML 预测

Cloud Run / Docker loading large files for ML prediction

我正在尝试从 Google 云 运行.

上的 Flask 供电的 docker 容器提供相当大的模型 (1GB)

我正在尝试找出加载 pickle / joblib 模型文件的最佳方式 - 以减少容器启动时间。

由于包含在 github 源中不是一个选项或不需要的,我现在唯一的想法是尝试使用 [=16= 将其从 Dockerfile 读入容器].

这将如何影响冷容器启动时间?有没有更简单的方法来实现这一目标?

另外,在代码中调用 joblib.load(model_file_path) 似乎不是一个好主意 - 因为加载可能需要 30 秒或更长时间。

我的建议是使用其中的模型构建容器。你赢了 2 件这样的事情:

  • 启动时,您不必下载文件(节省启动时间)
  • 您不必存储模型(有关信息,文件存储在 /tmp 目录中,该目录是内存文件系统,因此您在实例中使用内存 space),因此增加所需内存(您省钱,保护地球!)

wrote an article on this

但是,加载 1Gb 模型需要时间。即将推出一项功能(最小实例,保持最少数量的实例热,以防止冷启动,但它不是免费的!)

Cloud 运行 有一个内存文件系统,要下载或使用 1GB 的文件,您需要确保为您的实例选择了足够的内存。尝试使用 4GiB,请参阅 docs to set memory limits