在这篇博客中,我们将深入探索 🤗 Transformers —— 一个为 PyTorch、TensorFlow 和 JAX 设计的先进机器学习库。🤗 Transformers 提供了易于使用的 API 和工具,使得下载和训练前沿的预训练模型变得轻而易举。利用预训练模型不仅能减少计算成本和碳足迹,还能节省从头训练模型所需的时间和资源。这些模型支持多种不同模态的常见任务,如:
🤗 Transformers 支持 PyTorch、TensorFlow 和 JAX 之间的框架互操作性。这提供了在模型生命周期的不同阶段使用不同框架的灵活性;你可以在一个框架中用三行代码训练模型,并在另一个框架中加载它进行推理。模型还可以导出到 ONNX 和 TorchScript 等格式,以便在生产环境中部署。
🤗 Transformers 文档一览
文档分为五个部分:
支持的模型和框架
下表展示了库对每种模型的当前支持情况,包括它们是否有 Python 分词器(称为“慢”分词器)、由 🤗 Tokenizers 库支持的“快”分词器、以及它们在 Jax(通过 Flax)、PyTorch 和/或 TensorFlow 中的支持情况。
| Model | PyTorch Support | TensorFlow Support | Flax Support |
|---|---|---|---|
| ALBERT | ✅ | ✅ | ✅ |
| ALIGN | ✅ | ❌ | ❌ |
| AltCLIP | ✅ | ❌ | ❌ |
| Audio Spectrogram Transformer | ✅ | ❌ | ❌ |
| Autoformer | ✅ | ❌ | ❌ |
| Bark | ✅ | ❌ | ❌ |
| BART | ✅ | ✅ | ✅ |
| BARThez | ✅ | ✅ | ✅ |
| BARTpho | ✅ | ✅ | ✅ |
| BEiT | ✅ | ❌ | ✅ |
| BERT | ✅ | ✅ | ✅ |
| Bert Generation | ✅ | ❌ | ❌ |
| BertJapanese | ✅ | ✅ | ✅ |
| BERTweet | ✅ | ✅ | ✅ |
| BigBird | ✅ | ❌ | ✅ |
| BigBird-Pegasus | ✅ | ❌ | ❌ |
| BioGpt | ✅ | ❌ | ❌ |
| BiT | ✅ | ❌ | ❌ |
| Blenderbot | ✅ | ✅ | ✅ |
| BlenderbotSmall | ✅ | ✅ | ✅ |
| BLIP | ✅ | ✅ | ❌ |
| BLIP-2 | ✅ | ❌ | ❌ |
| BLOOM | ✅ | ❌ | ✅ |
| BORT | ✅ | ✅ | ✅ |
| BridgeTower | ✅ | ❌ | ❌ |
| BROS | ✅ | ❌ | ❌ |
| ByT5 | ✅ | ✅ | ✅ |
| CamemBERT | ✅ | ✅ | ❌ |
| CANINE | ✅ | ❌ | ❌ |
| Chinese-CLIP | ✅ | ❌ | ❌ |