【问题标题】:Running huggingface Bert tokenizer on GPU在 GPU 上运行 huggingface Bert 分词器
【发布时间】:2021-05-11 18:26:33
【问题描述】:

我正在处理用于内容分类的巨大文本数据集。我已经实现了 distilbert 模型和 distilberttokenizer.from_pretrained() 标记器.. 这个分词器花费了非常长的时间来分词我的文本数据,仅 14k 条记录大约需要 7 分钟,这是因为它在我的 CPU 上运行。

有什么办法可以强制分词器在我的 GPU 上运行。

【问题讨论】:

标签: deep-learning nlp huggingface-transformers huggingface-tokenizers


【解决方案1】:

标记化是字符串操作。它基本上是一个带有一堆 if-else 条件和字典查找的字符串的 for 循环。使用 GPU 无法加快速度。基本上,GPU 唯一能做的就是张量乘法和加法。只有可以使用张量运算制定的问题才能使用 GPU 进行加速。

Huggingface Transformers 中的默认标记器是在 Python 中实现的。在 Rust 中实现了一个更快的版本。您可以从独立包 Huggingface Tokenziers 或更新版本的 Transformers 中获取它,它们应该在 DistilBertTokenizerFast 下可用。

【讨论】:

  • 谢谢。我已经实现了快速分词器,性能得到了显着提升。
  • 我有点困惑,huggingface.co/docs/tokenizers/python/latest 说它有一个快速的 rust 实现,这是否意味着 python 包将默认使用这个 rust 实现?或者@tehem 您可以详细说明您实施更快的标记器的意思?我可能遗漏了什么
猜你喜欢
  • 1970-01-01
  • 2021-04-03
  • 2021-04-29
  • 2022-06-14
  • 2020-09-24
  • 1970-01-01
  • 2021-01-17
  • 2020-10-07
  • 2022-08-24
相关资源
最近更新 更多