作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在考虑在网络爬虫转储中使用超过 10 TB+ 的大规模数据训练 word2vec。
我在 iMac 上亲自训练了 c 实现 GoogleNews-2012 dump (1.5gb) 花了大约 3 个小时来训练和生成 vector (对速度印象深刻)。虽然我没有尝试 python 实现 :( 我在某处读到在 wiki dump (11gb) 上生成 300 个 vector 长度的 vector 大约需要 9 天。
如何加速word2vec?我需要使用分布式模型或需要在 2-3 天内完成的硬件类型吗?我有 8gb 内存的 iMac。
哪个更快? Gensim python 还是 C 实现?
我看到 word2vec 实现不支持 GPU 训练。
最佳答案
有很多机会可以大规模创建 Word2Vec 模型。正如您所指出的,候选解决方案是分布式(和/或多线程)或 GPU。这不是一份详尽的 list ,但希望您对如何继续有所了解。
分布式/多线程选项:
存在许多 Word2Vec GPU 实现。鉴于数据集的大小和有限的 GPU 内存,您可能必须考虑集群策略。
Word2Vec 还有许多其他 CUDA 实现,它们的成熟度和支持程度各不相同:
我相信 SparkML 团队最近开始着手基于 cuBLAS 的原型(prototype) Word2Vec 实现。您可能需要对此进行调查。
关于python - 如何在非常大的数据集上训练 Word2vec?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30573873/
我是一名优秀的程序员,十分优秀!