Hugging Face 详解 Transformers 为何不遵循 DRY 原则:单一模型文件策略
Hugging Face 的 Transformers 库有意不遵循 DRY 原则,转而采用"单一模型文件策略",即模型前向传播所需的全部代码只放在一个 model 文件中,如 BERT 的 modeling_bert.py。原因是该库由开源社区共建、建模代码本身就是产品、机器学习领域演进极快且模型发布后基本静态不变,集中抽象反而会带来维护与命名难题。
Hugging Face 的 Transformers 库有意不遵循 DRY 原则,转而采用"单一模型文件策略",即模型前向传播所需的全部代码只放在一个 model 文件中,如 BERT 的 modeling_bert.py。原因是该库由开源社区共建、建模代码本身就是产品、机器学习领域演进极快且模型发布后基本静态不变,集中抽象反而会带来维护与命名难题。
Hugging Face 开放申请为期 9 个月的 AI Research Residency Program,入选者将与 Science Team 研究员合作选定研究课题、开发新的机器学习技术并争取发表成果。项目为全职,申请截止 2022 年 4 月 3 日,无需搬迁,欢迎各类背景申请者。
Hugging Face 发布教程,演示如何用自建人行道数据集 segments/sidewalk-semantic 微调 SegFormer 语义分割模型,用于披萨配送机器人识别可行驶区域与障碍物。
Google AI Language 于 2018 年推出 BERT,这一基于 Transformer 的双向编码器模型可同时处理 11+ 种常见 NLP 任务,并在多项任务上超越此前模型。
Hugging Face 发布教程,介绍如何用 Amazon SageMaker 和 Hugging Face Inference Toolkit 部署 EleutherAI 的 GPT-J 6B 模型,在 NVIDIA T4 GPU 实例(约 500 美元/月)上实现可扩展的实时推理。
Hugging Face 与 Graphcore 合作推出开源库 Optimum,让 Transformer 模型更易在多种硬件上降低预测延迟,首个 IPU 优化模型为 BERT。
Hugging Face 发布教程,演示如何用 🤗 Transformers 将预训练模型 Wav2Vec2-XLS-R-300M 微调用于低资源语音识别。教程以 Common Voice 土耳其语数据集为例,仅用约 4 小时验证训练数据,采用 CTC 算法微调,并用 WER 指标评估。
Hugging Face 发文指出,2021 年 State of AI Report 与 Kaggle 调查显示 Transformer 已从 NLP 扩展为通用 ML 架构,在语音、视觉、点云等任务上表现优异,其使用率逐年上升,而 RNN、CNN 和梯度提升算法持续下滑。
Hugging Face 发布夏季回顾,Hub 上的公开模型仓库从 1 万个增至超过 1.6 万个,并推出可直接托管 ML 演示应用的 Spaces Beta,支持 Gradio 和 Streamlit。
Hugging Face 在 2021 AI Hardware Summit 上宣布启动硬件合作伙伴计划,Graphcore 作为创始成员参与,双方将合作为 Intelligence Processing Unit(IPU)优化 Transformer 模型。
Hugging Face 发文详解 BigBird 的块稀疏注意力机制,该模型通过滑动注意力、全局 token 和随机 token 三种方式近似 BERT 的完整注意力,可处理长达 4096 的序列,计算成本远低于 BERT,并已在长文档摘要、长上下文问答等任务上取得 SOTA。BigBird 的 RoBERTa 类模型现已集成到 Transformers 中。
Hugging Face 与 Amazon 宣布战略合作,Hugging Face 将 AWS 作为首选云服务商,并推出 Hugging Face Deep Learning Containers(DLCs),让用户可在 Amazon SageMaker 中训练 Transformer 模型。
Hugging Face 发布教程,演示如何用 🤗 Transformers 微调 Wav2Vec2 预训练模型完成英语 ASR。Wav2Vec2 于 2020 年 9 月发布,基于超 5 万小时无标注语音预训练,仅用 10 分钟标注数据即可在 LibriSpeech 干净测试集上取得低于 5% 的 WER。
Hugging Face 月度阅读小组 2021 年 2 月聚焦长程注意力,围绕 Longformer、Compressive Transformer、Linformer、Performer 四篇论文梳理降低 Transformer 序列长度二次开销的四条路线:自定义注意力模式、循环、低秩近似与核近似。
Hugging Face Transformers 的 RAG 模型集成 Ray 实现分布式文档检索,每次检索调用相比 torch.distributed 提速 2 倍,并改善了 RAG 分布式微调的可扩展性。
Hugging Face 与 PyTorch / XLA 团队合作,让用户通过相同的 Trainer 接口在 Cloud TPU 上训练和扩展 Transformer 模型。
Hugging Face 的 transformers v4.2.0 为 Trainer 加入 DeepSpeed 和 FairScale 的 ZeRO 实验性支持,新增 --sharded_ddp 和 --deepspeed 命令行参数。
推荐理由:作者用 t5-large 与 t5-3b 实测对比 FairScale 和 DeepSpeed 的显存与耗时,可据此判断两种方案的取舍。
Hugging Face Transformers 在 3.1 版本中与 Ray Tune 集成,提供开箱即用的超参数调优能力。在 RTE 数据集上微调 BERT 的实验中,Population-based Training 取得 70.5% 最佳测试准确率,优于网格搜索的 65.4% 和贝叶斯优化的 66.9%。
Hugging Face 发布博客,详解基于 Transformer 的编码器-解码器架构如何建模序列到序列问题,聚焦其数学定义与推理用法。文章将架构拆解为编码器和解码器两部分,并关联 🤗Transformers 中的 T5、Bart、MarianMT、Pegasus 等模型的实际推理。该文不涉及模型训练,仅提供背景与图示说明。
Hugging Face 博客详解 Reformer 模型,它能在不到 8GB 内存下处理长达 50 万 token 的序列,而 bert-base-uncased 仅支持 512 token。Reformer 通过局部自注意力、LSH 自注意力、分块前馈层、可逆残差层和轴向位置编码四项改造降低内存占用,并已集成进 Transformers 库。
OpenAI 宣布与 AIcrowd、卡内基梅隆大学和 DeepMind 联合举办两场 NeurIPS 2020 竞赛,分别基于 Procgen Benchmark 和 MineRL。
Hugging Face 发布教程,介绍用 transformers 库进行自回归语言生成的多种解码方法,包括贪心搜索、beam search 和采样。
推荐理由:Hugging Face 官方梳理贪心、beam search 与采样等解码策略,并给出 transformers 可直接运行的代码示例。
Hugging Face 发布教程,演示如何用 transformers 和 tokenizers 库从零训练一个 84M 参数的小型语言模型 EsperBERTo,并在世界语上完成词性标注微调。