【发布时间】:2021-07-21 03:15:19
【问题描述】:
我需要在 400GB 的语料库上训练一个 fastText 模型。由于我没有 400GB RAM 的机器,我想知道 fastText 实现(例如,按照本教程 https://fasttext.cc/docs/en/unsupervised-tutorial.html 进行操作)是否支持大于 RAM 的语料库,以及我需要哪些 RAM。
【问题讨论】:
标签: fasttext
我需要在 400GB 的语料库上训练一个 fastText 模型。由于我没有 400GB RAM 的机器,我想知道 fastText 实现(例如,按照本教程 https://fasttext.cc/docs/en/unsupervised-tutorial.html 进行操作)是否支持大于 RAM 的语料库,以及我需要哪些 RAM。
【问题讨论】:
标签: fasttext
通常对于此类模型,峰值 RAM 需求是唯一单词词汇量大小的函数,而不是原始训练材料。
那么,您的 400GB 中是否只有 100k 个唯一词?没问题,它一次只会读取一个范围,并更新少量稳定的 RAM。有 50M 的独特词吗?您将需要大量 RAM。
你试过看看会发生什么吗?
【讨论】:
fasttext 代码试试看它是否有效或如何失败。或者,简单地调查文本以估计唯一单词的数量。当您说其他算法因 OOM 失败时,如果它们属于 word2vec 系列,那么再次,这是词汇大小而不是语料库大小的问题 - 特定 OOM 的原因可能是特定的参数/数据处理选择这可以解决。