用遥感(卫星)图像和描述微调 CLIP
一个跨 12 个时区的团队用 RSICD、UCM 和 Sydney 三个遥感数据集微调了 OpenAI 的 CLIP,让模型能按文本描述检索卫星图像。训练采用对比学习,并用 Torchvision 图像增强和 Marian MT 回译文本增强抑制过拟合,评估显示增强后过拟合明显下降。模型已开放下载,并提供在线 demo。
一个跨 12 个时区的团队用 RSICD、UCM 和 Sydney 三个遥感数据集微调了 OpenAI 的 CLIP,让模型能按文本描述检索卫星图像。训练采用对比学习,并用 Torchvision 图像增强和 Marian MT 回译文本增强抑制过拟合,评估显示增强后过拟合明显下降。模型已开放下载,并提供在线 demo。
Hugging Face 发布博客,介绍如何用 Streamlit 在 Hugging Face Spaces 上托管模型与数据集并搭建演示应用。
Hugging Face 博客介绍如何用 Gradio 在 Spaces 中托管 ML 演示应用:通过 gr.Interface.load 调用 Hub 模型并借助 Inference API 推理,只需定义模型仓库 ID、描述和示例输入,调用 .launch() 即可运行。
Hugging Face 发布夏季回顾,Hub 上的公开模型仓库从 1 万个增至超过 1.6 万个,并推出可直接托管 ML 演示应用的 Spaces Beta,支持 Gradio 和 Streamlit。
Hugging Face 发布开源库 Optimum,目标是成为 Transformer 生产性能的优化工具包,让模型在特定硬件上训练和推理达到更高效率。Optimum 与硬件伙伴合作构建,首个案例是与 Intel 的 Neural Compressor 配合,演示如何为 Intel Xeon CPU 量化模型。
推荐理由:Hugging Face 官方开源 Optimum,读者可了解它如何把模型加速与硬件适配的复杂度封装起来。
Hugging Face 在 2021 AI Hardware Summit 上宣布启动硬件合作伙伴计划,Graphcore 作为创始成员参与,双方将合作为 Intelligence Processing Unit(IPU)优化 Transformer 模型。
Hugging Face 博客介绍 DeDLOC 协作分布式训练方法,通过自适应梯度聚合适应参与者的网络与硬件差异,并用 40 名志愿者预训练出孟加拉语模型 sahajBERT。
推荐理由:DeDLOC 用 40 名志愿者在互联网上预训练出孟加拉语模型,为算力受限的社区提供了一条可复现的协作训练路径。
Hugging Face Hub 现已支持托管和分享 spaCy 的 NLP 流水线,用户可通过单条命令上传任意 pipeline 包,并自动生成模型卡和元数据。
Hugging Face 发布面向 Amazon SageMaker 的 Inference DLC 与 Inference Toolkit,只需一行代码即可部署训练好的 Transformer 模型,或从 Model Hub 的 10,000+ 公开模型中任选一个部署。
Hugging Face Hub 与 Sentence Transformers 完成集成,随 Sentence Transformers v2 发布,Hub 上已有超过 90 个预训练模型、覆盖 100 多种语言。
Hugging Face 发文介绍如何用 EleutherAI 的 GPT-Neo 配合 🤗 Accelerated Inference API 实现 Few-Shot Learning 预测。
Gradio 2.0 发布,只需 1 行代码即可为几乎任意 Hugging Face 模型加载 GUI,默认调用 Hugging Face 托管的 Inference API,也可本地运行 transformers。该版本支持并行加载多个模型进行对比,或将模型串联组合,例如用 3 行代码搭建翻译并摘要芬兰语新闻的应用。
Hugging Face 发布博客,介绍在 CPU 上扩展 BERT 推理的硬件优化方法,基于 AWS c5.metal 实例(Intel Xeon Platinum 8275,48 核/96 线程)测试 PyTorch 1.8.1 与 TensorFlow 2.4.0 的推理表现,开箱即用下 PyTorch 在所有测试配置中均优于 TensorFlow。
Hugging Face 发布 Accelerate 库,面向希望保留训练循环控制权的 PyTorch 用户,用统一 API 封装分布式训练(单机或多机多 GPU、TPU)与混合精度所需的样板代码。
推荐理由:原文给出五处代码改动即可跑分布式与混合精度的具体做法,便于对照现有 PyTorch 训练脚本评估迁移成本。
Hugging Face 与 Amazon SageMaker 合作推出经优化的 🤗 Transformers 深度学习容器,并在 SageMaker Python SDK 中新增 HuggingFace estimator,一行代码即可启动训练。
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 模型。
社区成员 Maxence Dominici 在 Google Cloud 上部署了基于 DistilBERT base uncased finetuned SST-2 的情感分析 pipeline,用于自动判断 Discord 中客户评论的正负向。
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 工程师分享构建和调试神经网络的思考流程,强调第一步应放下机器学习、专注理解数据,包括标签是否平衡、噪声来源和预处理方式。第二步从最简基线做起,如文本分类用 word2vec 或 fastText 嵌入上的逻辑回归,以判断任务难度并建立合理对比。实现后应尝试过拟合 16 个样本的小批量,若无法达到 0 损失则很可能存在实现错误。
Hugging Face Transformers 的 RAG 模型集成 Ray 实现分布式文档检索,每次检索调用相比 torch.distributed 提速 2 倍,并改善了 RAG 分布式微调的可扩展性。
Hugging Face 与 PyTorch / XLA 团队合作,让用户通过相同的 Trainer 接口在 Cloud TPU 上训练和扩展 Transformer 模型。
Hugging Face 在 Transformers v4.2.0 中优化了 TensorFlow 版 BERT、RoBERTa、ELECTRA 和 MPNet,在 GPU V100、序列长度 128 下推理速度比 Google 官方实现快约 10%,比 v4.1.1 快一倍。
Hugging Face 的 transformers v4.2.0 为 Trainer 加入 DeepSpeed 和 FairScale 的 ZeRO 实验性支持,新增 --sharded_ddp 和 --deepspeed 命令行参数。
推荐理由:作者用 t5-large 与 t5-3b 实测对比 FairScale 和 DeepSpeed 的显存与耗时,可据此判断两种方案的取舍。
Hugging Face 通过优化模型管线、Rust 版 Tokenizers 缓存以及针对硬件的编译优化,为 Accelerated Inference API 客户实现了 100 倍推理提速。前 10 倍来自 Hugging Face 库内置的高效方法,后 10 倍则依赖静态图优化、层融合与量化等 CPU/GPU 特定技术。
Hugging Face 发布教程,介绍如何用 BERT、GPT2 等预训练检查点热启动编码器-解码器模型,跳过昂贵的预训练阶段。基于 Rothe et al. (2020) 的方法,这类热启动模型在多个序列到序列任务上可达到 T5、Pegasus 等大型预训练编码器-解码器模型的竞争性效果,训练成本仅为后者一小部分。
Hugging Face 博客记录了将 fairseq 的 WMT19 新闻翻译系统移植到 transformers 的过程,作者 Stas Bekman 在 Sam Shleifer 建议下完成移植。
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 发布 PyTorch 扩展 pytorch_block_sparse,其 BlockSparseLinear 可直接替换 torch.nn.Linear,让语言模型更小更快。该库基于 NVIDIA CUTLASS 的块稀疏矩阵乘法,75% 稀疏度下矩阵运算约比稠密快 2 倍、内存占用减少 4 倍,但当前整体性能仍比 cuBLAS 稠密实现慢约 2 倍。
Hugging Face 博客详解 Reformer 模型,它能在不到 8GB 内存下处理长达 50 万 token 的序列,而 bert-base-uncased 仅支持 512 token。Reformer 通过局部自注意力、LSH 自注意力、分块前馈层、可逆残差层和轴向位置编码四项改造降低内存占用,并已集成进 Transformers 库。
Hugging Face 发布教程,介绍用 transformers 库进行自回归语言生成的多种解码方法,包括贪心搜索、beam search 和采样。
推荐理由:Hugging Face 官方梳理贪心、beam search 与采样等解码策略,并给出 transformers 可直接运行的代码示例。
Hugging Face 发布教程,演示如何用 transformers 和 tokenizers 库从零训练一个 84M 参数的小型语言模型 EsperBERTo,并在世界语上完成词性标注微调。