什么是 Hugging Face Transformers?

本文介绍 Azure Databricks 上的 Hugging Face Transformers。 其中包括有关如何使用以及如何在群集上安装 Hugging Face Transformers 的指导。

Hugging Face Transformers 背景知识

Hugging Face Transformers 是由 Hugging Face 创建的深度学习开源框架。 它提供 API 和工具来下载最先进的预训练模型,并进一步调整它们以最大限度地提高性能。 这些模型支持不同模式下的常见任务,例如自然语言处理、计算机视觉、音频和多模式应用程序。

用于机器学习的 Databricks Runtime 包括 Databricks Runtime 10.4 LTS ML 及更高版本中的 Hugging Face transformers,以及 Databricks Runtime 13.0 ML 及更高版本中的 Hugging Face datasetsaccelerateevaluate

若要检查配置的 Databricks Runtime ML 版本中包含哪个版本的 Hugging Face,请参阅相关发行说明中的“Python 库”部分。

为何使用 Hugging Face 转换器?

对于许多应用(例如情绪分析和文本汇总),预先训练的模型无需经过任何额外的训练即可顺利地运行。

Hugging Face Transformers 管道对最佳做法进行编码,并为不同的任务选择默认模型,因此很容易上手。 可通过管道轻松使用可用的 GPU,并可将项分批发送到 GPU 以提高吞吐性能。

Hugging Face 提供:

  • 一个包含许多预先训练模型的模型中心
  • 支持下载这些模型并将其用于 NLP 应用程序和微调的转换器库。 自然语言处理任务经常需要使用分词器 (tokenizer) 和模型。
  • 具有用于大多数自然语言处理任务的简单接口的转换器管道

安装 transformers

如果群集上的 Databricks Runtime 版本不包含 Hugging Face transformers,你可以安装最新的 Hugging Face transformers 库作为 Databricks PyPI 库

  %pip install transformers

安装模型依赖项

不同的模型可能有不同的依赖项。 Databricks 建议你根据需要使用 %pip magic 命令来安装这些依赖项。

下面是常见的依赖项:

  • librosa:支持解码音频文件。
  • soundfile:在生成某些音频数据集时需要此项。
  • bitsandbytes:在使用 load_in_8bit=True 时需要此项。
  • SentencePiece:用作 NLP 模型的 tokenizer。
  • timmDetrForSegmentation 所需。

单节点训练

若要测试和迁移单计算机工作流,请使用单节点群集

其他资源

以下文章包括示例笔记本,以及有关如何在 Azure Databricks 上使用 Hugging Face transformers 进行大型语言模型 (LLM) 微调和模型推理的指导。