诸神缄默不语-个人CSDN博文目录
VX号“PolarisRisingWar”可直接搜索添加作者好友讨论。
最近更新日期:2022.2.17
最早更新日期:2022.2.17
每次更新的详细更新日志见本文末。
本文系huggingface(Hugging Face – The AI community building the future.)旗下Python包transformers 文档(珞 Transformers)的个人学习笔记。
transformers是用于在Python人工智能开发过程中便捷调用预训练模型的Python库。可以应用在文本、视觉、多模态下,但由于作者主要致力于NLP方向,因此仅会关注文本方面的工作。而且transformers可以用多种神经网络框架包作为后端,但是由于作者主要使用PyTorch,因此本文会关注PyTorch方向;此外作者也用过TensorFlow;但是JAX等其他框架完全没用过,所以应该也不会写到相关内容。
此外,由于transformers包更新非常快,因此本文所撰写的内容都随时可能过时。作者只能保证在相应部分的内容被撰写时可用。
本文各部分排列顺序为transformers官方文档各部分排列顺序,在此基础上增加其他参考资料和更新日志部分。
另:1、本文中所介绍transformers文档中的视频都是YouTube源,因此有一些读者可能没法看。2、transformers文档各部分的内容都可以通过 transformers官方的notebooks (即本文3.5部分)进行实战代码训练,其中colab的代码一些读者可能没法上,但是SageMaker Studio(将在本文3.6部分介绍)的代码是在大陆可以直接加载的。
1、Get started
1.1 Transformers介绍1.2 Transformers速成1.3 Transformers安装1.4 Transformers原理1.5 Transformers术语表 2、教程
2.1 推理pipeline2.2 用AutoClass加载预训练实例2.3 预处理2.4 任务简介2.5 模型简介2.6 微调预训练模型2.7 用 珞 Accelerate 进行分布式训练2.8 分享模型2.9 Tokenizers简介2.10 多语言模型 3、进阶指导
3.1 创建自己的模型3.2 示例3.3 Troubleshooting3.4 用自己的数据集进行微调3.5 珞 Transformers Notebooks3.6 在 Amazon SageMaker 上训练3.7 社区资源3.8 转换Tensorflow Checkpoints3.9 从旧版transformers迁移到新版3.10 如何向transformers做贡献?3.11 如何添加模型到 珞 Transformers 上?3.12 如何添加pipeline到 珞 Transformers 上?3.13 从 珞 Tokenizers 使用 tokenizers3.14 如何快速训练大模型:解决OOM问题3.15 Model Parallelism3.16 测试3.17 Debugging3.18 序列化 珞 Transformers 模型(储存和加载模型文件)3.19 分享自定义模型3.20 Checks on a Pull Request 4、Research
4.1 BERTology4.2 定长模型的perplexity(PPL)4.3 Benchmarks 5、API
5.1 主要类
5.1.1 Callbacks5.1.2 Configuration5.1.3 Data Collator5.1.4 Keras callbacks5.1.5 Logging5.1.6 Models5.1.7 导出 珞 Transformers 模型为ONNX格式5.1.8 Optimization5.1.9 模型输出5.1.10 Pipelines5.1.11 Processors5.1.12 Tokenizer5.1.13 Trainer5.1.14 DeepSpeed5.1.15 Feature Extractor 5.2 Models
5.2.1 ALBERT5.2.2 AutoClass5.2.3 BART5.2.4 BARThez5.2.5 BARTpho5.2.6 BEiT5.2.7 BERT5.2.8 Bertweet5.2.9 BertGeneration5.2.10 BertJapanese5.2.11 BigBird5.2.12 BigBirdPegasus5.2.13 Blenderbot5.2.14 Blenderbot Small5.2.15 BORT5.2.16 ByT55.2.17 CamemBERT5.2.18 CANINE5.2.19 ConvNeXT5.2.20 CLIP5.2.21 ConvBERT5.2.22 CPM5.2.23 CTRL5.2.24 DeBERTa5.2.25 DeBERTa-v25.2.26 DeiT5.2.27 DETR5.2.28 DialoGPT5.2.29 DistilBERT5.2.30 DPR5.2.31 ELECTRA5.2.32 Encoder Decoder Models5.2.33 FlauBERT5.2.34 FNet5.2.35 FSMT5.2.36 Funnel Transformer5.2.37 HerBERT5.2.38 I-BERT5.2.39 ImageGPT5.2.40 LayoutLM5.2.41 LayoutLMV25.2.42 LayoutXLM5.2.43 LED5.2.44 Longformer5.2.45 LUKE5.2.46 LXMERT5.2.47 MarianMT5.2.48 M2M1005.2.49 MBart and MBart-505.2.50 MegatronBERT5.2.51 MegatronGPT25.2.52 MLUKE5.2.53 MobileBERT5.2.54 mLUKE5.2.55 MPNet5.2.56 MT55.2.57 Nyströmformer5.2.58 OpenAI GPT5.2.59 OpenAI GPT25.2.60 GPT-J5.2.61 GPT Neo5.2.62 Hubert5.2.63 Perceiver5.2.64 Pegasus5.2.65 PhoBERT5.2.66 ProphetNet5.2.67 QDQBert5.2.68 RAG5.2.69 REALM5.2.70 Reformer5.2.71 RemBERT5.2.72 RetriBERT5.2.73 RoBERTa5.2.74 RoFormer5.2.75 SegFormer5.2.76 SEW5.2.77 SEW-D5.2.78 Speech Encoder Decoder Models5.2.79 Speech2Text5.2.80 Speech2Text25.2.81 Splinter5.2.82 SqueezeBERT5.2.83 Swin Transformer5.2.84 T55.2.85 T5v1.15.2.86 TAPAS5.2.87 Transformer XL5.2.88 TrOCR5.2.89 UniSpeech5.2.90 UniSpeech-SAT5.2.91 ViLT5.2.92 Vision Encoder Decoder Models5.2.93 Vision Text Dual Encoder5.2.94 Vision Transformer (ViT)5.2.95 ViTMAE5.2.96 VisualBERT5.2.97 Wav2Vec25.2.98 Wav2Vec2Phoneme5.2.99 WavLM5.2.100 XGLM5.2.101 XLM5.2.102 XLM-ProphetNet5.2.103 XLM-RoBERTa5.2.104 XLM-RoBERTa-XL5.2.105 XLNet5.2.106 XLSR-Wav2Vec25.2.107 XLS-R5.2.108 YOSO 6、Internal Helpers
6.1 Custom Layers and Utilities6.2 Utilities for pipelines6.3 Utilities for Tokenizers6.4 Utilities for Trainer6.5 Utilities for Generation6.6 General Utilities 7、其他正文及脚注中未提及的参考资料8、更新日志 1、Get started 1.1 Transformers介绍 1.2 Transformers速成 1.3 Transformers安装 1.4 Transformers原理 1.5 Transformers术语表 2、教程 2.1 推理pipeline 2.2 用AutoClass加载预训练实例 2.3 预处理 2.4 任务简介 2.5 模型简介 2.6 微调预训练模型 2.7 用 珞 Accelerate 进行分布式训练 2.8 分享模型 2.9 Tokenizers简介 2.10 多语言模型 3、进阶指导 3.1 创建自己的模型 3.2 示例 3.3 Troubleshooting 3.4 用自己的数据集进行微调 3.5 珞 Transformers Notebooks 3.6 在 Amazon SageMaker 上训练 3.7 社区资源 3.8 转换Tensorflow Checkpoints 3.9 从旧版transformers迁移到新版 3.10 如何向transformers做贡献? 3.11 如何添加模型到 珞 Transformers 上? 3.12 如何添加pipeline到 珞 Transformers 上? 3.13 从 珞 Tokenizers 使用 tokenizers 3.14 如何快速训练大模型:解决OOM问题 3.15 Model Parallelism 3.16 测试 3.17 Debugging 3.18 序列化 珞 Transformers 模型(储存和加载模型文件) 3.19 分享自定义模型 3.20 Checks on a Pull Request 4、Research 4.1 BERTology 4.2 定长模型的perplexity(PPL) 4.3 Benchmarks 5、API 5.1 主要类 5.1.1 Callbacks 5.1.2 Configuration 5.1.3 Data Collator 5.1.4 Keras callbacks 5.1.5 Logging 5.1.6 Models 5.1.7 导出 珞 Transformers 模型为ONNX格式 5.1.8 Optimization 5.1.9 模型输出 5.1.10 Pipelines 5.1.11 Processors 5.1.12 Tokenizer 5.1.13 Trainer 5.1.14 DeepSpeed 5.1.15 Feature Extractor 5.2 Models 5.2.1 ALBERT 5.2.2 AutoClass 5.2.3 BART 5.2.4 BARThez 5.2.5 BARTpho 5.2.6 BEiT 5.2.7 BERT 5.2.8 Bertweet 5.2.9 BertGeneration 5.2.10 BertJapanese 5.2.11 BigBird 5.2.12 BigBirdPegasus 5.2.13 Blenderbot 5.2.14 Blenderbot Small 5.2.15 BORT 5.2.16 ByT5 5.2.17 CamemBERT 5.2.18 CANINE 5.2.19 ConvNeXT 5.2.20 CLIP 5.2.21 ConvBERT 5.2.22 CPM 5.2.23 CTRL 5.2.24 DeBERTa 5.2.25 DeBERTa-v2 5.2.26 DeiT 5.2.27 DETR 5.2.28 DialoGPT 5.2.29 DistilBERT 5.2.30 DPR 5.2.31 ELECTRA 5.2.32 Encoder Decoder Models 5.2.33 FlauBERT 5.2.34 FNet 5.2.35 FSMT 5.2.36 Funnel Transformer 5.2.37 HerBERT 5.2.38 I-BERT 5.2.39 ImageGPT 5.2.40 LayoutLM 5.2.41 LayoutLMV2 5.2.42 LayoutXLM 5.2.43 LED 5.2.44 Longformer 5.2.45 LUKE 5.2.46 LXMERT 5.2.47 MarianMT 5.2.48 M2M100 5.2.49 MBart and MBart-50 5.2.50 MegatronBERT 5.2.51 MegatronGPT2 5.2.52 MLUKE 5.2.53 MobileBERT 5.2.54 mLUKE 5.2.55 MPNet 5.2.56 MT5 5.2.57 Nyströmformer 5.2.58 OpenAI GPT 5.2.59 OpenAI GPT2 5.2.60 GPT-J 5.2.61 GPT Neo 5.2.62 Hubert 5.2.63 Perceiver 5.2.64 Pegasus 5.2.65 PhoBERT 5.2.66 ProphetNet 5.2.67 QDQBert 5.2.68 RAG 5.2.69 REALM 5.2.70 Reformer 5.2.71 RemBERT 5.2.72 RetriBERT 5.2.73 RoBERTa 5.2.74 RoFormer 5.2.75 SegFormer 5.2.76 SEW 5.2.77 SEW-D 5.2.78 Speech Encoder Decoder Models 5.2.79 Speech2Text 5.2.80 Speech2Text2 5.2.81 Splinter 5.2.82 SqueezeBERT 5.2.83 Swin Transformer 5.2.84 T5 5.2.85 T5v1.1 5.2.86 TAPAS 5.2.87 Transformer XL 5.2.88 TrOCR 5.2.89 UniSpeech 5.2.90 UniSpeech-SAT 5.2.91 ViLT 5.2.92 Vision Encoder Decoder Models 5.2.93 Vision Text Dual Encoder 5.2.94 Vision Transformer (ViT) 5.2.95 ViTMAE 5.2.96 VisualBERT 5.2.97 Wav2Vec2 5.2.98 Wav2Vec2Phoneme 5.2.99 WavLM 5.2.100 XGLM 5.2.101 XLM 5.2.102 XLM-ProphetNet 5.2.103 XLM-RoBERTa 5.2.104 XLM-RoBERTa-XL 5.2.105 XLNet 5.2.106 XLSR-Wav2Vec2 5.2.107 XLS-R 5.2.108 YOSO 6、Internal Helpers 6.1 Custom Layers and Utilities 6.2 Utilities for pipelines 6.3 Utilities for Tokenizers 6.4 Utilities for Trainer 6.5 Utilities for Generation 6.6 General Utilities 7、其他正文及脚注中未提及的参考资料 8、更新日志
以下更新日志以日为总体单位,如某日多次更新将合并;按照时间顺序正序列举。
2022.2.17 构建目录结构,撰写前言部分