SetFit 文档

推理批次大小

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

推理批次大小

在本操作指南中,我们将探讨增加 SetFitModel.predict() 中的批次大小的效果。

它们是什么?

当在 GPU 上进行处理时,通常并非所有数据都能一次性装入 GPU 的 VRAM 中。因此,数据会被分割成批次,批次大小通常是预先确定的。训练和推理期间都会这样做。在这两种情况下,增加批次大小通常会对处理效率和 VRAM 内存使用产生显著影响,因为将数据传输到 GPU 和从 GPU 传输数据可能相对较慢。

对于推理,通常建议将批次大小设置得较高,以显著提高处理速度。

在 SetFit 中

SetFit 中推理的批次大小设置为 32,但可以通过将 batch_size 参数传递给 SetFitModel.predict() 来影响它。例如,在基于 paraphrase-mpnet-base-v2 Sentence Transformer 的 SetFit 模型的 RTX 3090 上,可以达到以下吞吐量

setfit_speed_per_batch_size

在此实验中,每个句子包含 11 个单词。

默认批次大小 32 并不能在此硬件上实现最高的吞吐量。考虑尝试不同的批次大小以达到最高的吞吐量。

< > 在 GitHub 上更新