我正在使用 hdbscan 对来自 BERT 的嵌入输出进行聚类,该输出接收了超过 15 万条聊天消息的数据文件。嵌入过程花费了 4 分钟多一点,但截至撰写本文时,hdbscan 聚类过程花费了超过 1 小时,而且看不到尽头。
对我来说也很奇怪的是,当我查看系统资源消耗(我在 Windows 10 上)时,我正在运行的脚本只占用 7% 的 CPU(i9-10850K)和 1.2GB 的内存(out 128GB)。所以我有几个问题,
- 为什么这不消耗更多的系统资源?
- 有什么方法可以让我并行化吗?
最后这里是代码仅供参考。
data = parseMessages('raw-data-150k-new-delim.txt', 'ð')
model = SentenceTransformer('paraphrase-MiniLM-L6-v2')
embeddings = model.encode(data, show_progress_bar=True, convert_to_tensor=True)
clusters = hdbscan.HDBSCAN(
min_cluster_size=15,
min_samples=15,
metric='euclidean',
cluster_selection_method='eom').fit(embeddings)
谢谢!!