我想在 Dask 上加载一个模型(ANNOY 模型)。该模型的大小为 60GB,Dask RAM 仅为 2GB。有没有办法以分布式方式加载模型?
问问题
17 次
1 回答
0
如果“加载”是指:“存储在内存中”,那么显然没有办法做到这一点。如果您需要一次访问内存中的整个数据集,则需要一台可以处理此问题的机器。但是,您很可能意味着您想要对数据进行一些处理并获得适合内存的结果(预测、统计分数......)。
由于我不知道 ANNOY 是什么(数组?数据框?别的东西?),我只能给你一般规则。为了使 dask 工作,它需要能够将作业拆分为任务。对于数据 IO,这通常意味着输入在多个文件中,或者文件具有一些自然的内部结构,以便可以按块加载它们。例如,zarr(用于数组)将逻辑数据集的每个块存储为单独的文件,parquet(用于数据帧)将数据分块到文件内组内的列内的页面中,甚至可以通过查找换行符来分块加载 CSV。
我怀疑 annoy ( https://github.com/spotify/annoy ?) 具有复杂的内部存储结构,您可能需要在他们的 repo 上提出一个问题,询问 dask 支持。
于 2022-02-11T15:59:31.157 回答