BERTopic 建议和反馈:为Apple Silicon的GPU支持添加支持

wmtdaxz3  于 4个月前  发布在  其他
关注(0)|答案(5)|浏览(55)

首先,非常感谢这个令人惊叹的包!我目前正在使用2021年版的MacBook Pro,搭载M1 Pro芯片。正如许多苹果用户所知,PyTorch现在可以通过使用mps作为计算设备来支持GPU加速。然而,在BERTopic模型中,目前还没有支持这个参数。
经过一段时间的深入研究,我找到了一个简单的解决方法:SentenceTransformer确实支持设备参数,所以我们可以简单地执行以下操作:
embedding = SentenceTransformer('paraphrase-multilingual-MiniLM-L12-v2', device = 'mps')
model = BERTopic(language="chinese (simplified)", embedding_model=embedding, nr_topics='auto',verbose=True, vectorizer_model=vectorizer,)
这将完全按照用户选择的默认模型执行。在我Mac上,这将训练时间从4小时30分钟大幅缩短到58分钟。
我认为这也应该很容易地整合到包中,这将非常有帮助。谢谢!

yqhsw0fo

yqhsw0fo1#

感谢您的建议!确实,似乎默认情况下没有选择正确的设备,这很麻烦。不过我不确定如何在BERTopic中将其整合进去,因为给它一个调整参数的选项相对来说并不重要。例如,它只对SentenceTransformers有效,不一定对所有其他嵌入模型都有效。我想尽可能地限制参数空间,以防止用户体验变得过于复杂。也许在文档中提一下会更合适?

dohp0rv5

dohp0rv52#

我意识到sentence_transformers意外地利用了支持mps的pytorch。确实,一个文档条目就足够了。但也许这并不一定涉及到sentence_transformers和bertopic。

xxhby3vn

xxhby3vn3#

有一个与此讨论相关的PR开放:UKPLab/sentence-transformers#2342
当这个PR合并时,它应该自动选择正确的设备。

0yycz8jy

0yycz8jy4#

我已经合并了UKPLab/sentence-transformers#2342。我打算在接下来的几周内发布它,将其包含到SentenceTransformers 2.3.0中。希望这有所帮助。

另外,我对您和您的工作表示极大的尊重@MaartenGr。

  • Tom Aarsen
3htmauhk

3htmauhk5#

感谢您在这里的回复!这肯定会帮助那些想要更简单工作流程的用户。谢谢您的好意!很高兴您加入了sentence-transformers包。您是一位了不起的工程师,我非常期待看到您在sentence-transformers包中的工作。

相关问题