我在 Google Cloud 上部署 serverless transformers pipeline 的历程
社区成员 Maxence Dominici 分享了在 Google Cloud 上部署 transformers 情感分析 pipeline 的过程,最终方案采用 Cloud Run 加 Docker 镜像,模型为 DistilBERT base uncased finetuned SST-2,用 PyTorch 加载。
社区成员 Maxence Dominici 分享了在 Google Cloud 上部署 transformers 情感分析 pipeline 的过程,最终方案采用 Cloud Run 加 Docker 镜像,模型为 DistilBERT base uncased finetuned SST-2,用 PyTorch 加载。
Hugging Face 发布教程,讲解如何用 🤗 Transformers 将 Wav2Vec2 预训练检查点微调到任意英语 ASR 数据集。Wav2Vec2 于 2020 年 9 月发布,基于 50,000 小时以上无标注语音预训练,仅用 10 分钟标注数据即可在 LibriSpeech 干净测试集上取得低于 5% 的 WER。
Hugging Face 博客 2021 年 2 月阅读小组聚焦 Transformer 的长程注意力问题,围绕 Longformer、Compressive Transformer、Linformer、Performer 四篇论文展开,归纳出自定义注意力模式、循环、低秩近似与核近似四条降低序列长度二次开销的路线。
Hugging Face 工程师分享构建和调试神经网络的思考流程:先放下机器学习、专注分析数据,再从逻辑回归、word2vec、fastText 等简单基线起步,并敢于拆开那些"5 行代码"模板看内部实现。作者建议实现完成后先尝试过拟合 16 个样本的小批量数据,若无法达到 0 loss,很可能实现有误,而非模型表达能力不足。
Hugging Face Transformers 的 RAG 模型集成 Ray 实现分布式文档检索,每次检索调用相比 torch.distributed 提速 2 倍,并改善了 RAG 分布式微调的可扩展性。
Hugging Face 与 PyTorch/XLA 团队合作,让 Trainer 模块可直接在 Cloud TPU 上训练模型,用户保持原有 Hugging Face trainers 接口不变。
Hugging Face 在 Transformers v4.2.0 中优化了 TensorFlow 版 BERT、RoBERTa、ELECTRA 和 MPNet 的计算性能,在 GPU V100、序列长度 128 下,BERT 推理速度比 Google 官方实现快约 10%,比 4.1.1 版本快一倍。
Hugging Face 的 transformers v4.2.0 起为 Trainer 加入 DeepSpeed 和 FairScale 的 ZeRO 实验性支持,新增 --deepspeed 和 --sharded_ddp 命令行参数。
推荐理由:作者用 t5-large 与 t5-3b 的实测数据对比 FairScale 和 DeepSpeed 的显存与速度差异,可据此选择训练方案。
Hugging Face 通过模型管线优化、Rust 版 Tokenizers 与智能缓存,为托管 Accelerated Inference API 客户实现约 10 倍推理提速;再结合面向 CPU/GPU 的图优化、算子融合与量化等编译级手段,累计达到 100 倍。该优化针对 GPT 等架构与目标硬件定制,客户无需随 Transformers、Tokenizers 月度更新自行适配。
Hugging Face 发布教程,介绍如何用 BERT、GPT2 等预训练检查点热启动编码器-解码器模型,跳过昂贵的预训练阶段。基于 Rothe 等人 2020 年的论文,该方法在多个序列到序列任务上以极低训练成本达到与 T5、Pegasus 等大型预训练模型相当的效果,并附有 🤗Transformers 的完整代码示例。
Hugging Face 发布博客,记录作者 Stas Bekman 在 Sam Shleifer 建议下,将 fairseq 的 WMT19 新闻翻译系统移植到 transformers 的全过程。
Hugging Face Transformers 在 3.1 版本中与 Ray Tune 集成,用户只需添加几行代码即可调用 HyperBand、Bayesian Optimization、Population-Based Training 等调参算法。
Hugging Face 发布博客,详解基于 Transformer 的编码器-解码器架构如何建模序列到序列问题,重点拆解编码器与解码器两部分及其推理用法。文章指出该架构由 Vaswani 等人提出,如今已是 NLP 领域事实上的标准,T5、Bart、Pegasus、ProphetNet、Marge 等预训练目标各异但架构基本未变。
Hugging Face 发布 PyTorch 扩展 pytorch_block_sparse,其 BlockSparseLinear 可直接替换 torch.nn.Linear,让语言模型更小更快。
Hugging Face 博客详解 Reformer 如何用不到 8GB 内存训练长度达 50 万 token 的序列,而 bert-base-uncased 的输入长度上限只有 512 token。
Hugging Face 发布博客,介绍用 transformers 库进行自回归语言生成的多种解码方法,包括贪心搜索、beam search 和采样。
推荐理由:系统梳理贪心、beam search 与采样等解码策略的差异,并给出 transformers 中可直接运行的参数配置。
Hugging Face 发布教程,演示如何用 transformers 和 tokenizers 库从零训练一个语言模型,并以世界语为例训练了 84M 参数(6 层、768 隐藏维度、12 注意力头)的 EsperBERTo。
推荐理由:以世界语为例完整演示从语料、分词器到预训练与下游微调的全流程,可迁移到其他低资源语言。