用 Kili 和 HuggingFace AutoTrain 构建主动学习文本分类流水线
HuggingFace AutoTrain 与数据标注平台 Kili 可组合成主动学习流水线,用于文本分类任务。AutoTrain 全自动完成数据清洗、模型选择和超参数优化,支持二分类与多标签文本分类、token 分类、抽取式问答、摘要和文本打分,并覆盖英语、德语、法语、西班牙语等语言。
HuggingFace AutoTrain 与数据标注平台 Kili 可组合成主动学习流水线,用于文本分类任务。AutoTrain 全自动完成数据清洗、模型选择和超参数优化,支持二分类与多标签文本分类、token 分类、抽取式问答、摘要和文本打分,并覆盖英语、德语、法语、西班牙语等语言。
Hugging Face 发布教程,演示如何在 AWS EC2 DL1 实例(搭载 8 颗 Habana Gaudi 处理器)上微调 BERT 模型。使用 bert-large-uncased-whole-word-masking 在 GLUE 的 MRPC 任务上训练 3 个 epoch,耗时 2 分 12 秒,F1 达 0.8968。
Hugging Face 发布博客,演示如何用其生态工具搭建客户服务场景中的情感分类系统,将用户消息分为 very unsatisfied 到 very satisfied 五类,以优先回复最不满意的客户。
Hugging Face 的 Transformers 库有意不遵循 DRY 原则,转而采用"单模型文件策略",即模型前向传播所需的全部代码只放在一个 model 文件中,注意力机制代码因此被复制 50 多次。官方给出的理由包括:库由开源社区共建、建模代码本身就是产品、机器学习领域演进极快、模型发布后基本静态不变。
Hugging Face 发布教程,演示如何用自建人行道数据集 segments/sidewalk-semantic 微调 SegFormer 语义分割模型,借助 transformers 与 SegformerImageProcessor 完成训练。
Hugging Face 的 🤗 datasets 库新增图像特征类型,可结合 sentence_transformers 与 faiss 为图像数据集建立相似度索引,实现图像搜索。文中以英国图书馆数字化书籍插图数据集为例,通过 ImageFolder 加载器直接读取含 image 和 label 特征的 10000 行数据,label 对应书籍出版年份。
Hugging Face 发布端到端教程,演示如何用 Hugging Face Transformers、Amazon SageMaker 和 AWS Inferentia 加速 BERT 文本分类推理。
Hugging Face 在 🤗 Transformers 中推出约束束搜索(constrained beam search),通过 model.generate() 的 force_words_ids 参数让用户指定生成结果中必须包含的词。
BERT 是 Google AI Language 研究人员于 2018 年开发的 NLP 模型,全称 Bidirectional Encoder Representations from Transformers,可解决情感分析、命名实体识别等 11+ 种常见语言任务。
Hugging Face 发布教程,演示如何用 🤗 datasets 加载 beans 图像分类数据集,并借助 🤗 transformers 微调预训练 ViT 模型。教程使用 google/vit-base-patch16-224-in21k 及其配套 ViTImageProcessor,将图像切分为 patch 并嵌入为 token 序列后送入 Transformer 训练。
Hugging Face Hub 上已有超过 215 个公开的情感分析模型,用 Python 的 transformers pipeline 只需 5 行代码即可调用,默认模型对 "I love you" 和 "I hate you" 分别给出 0.9998 和 0.9991 的置信度。指南还介绍了 Twitter-roBERTa-base 等预训练模型,以及用自有数据微调情感分析模型的方法。
Hugging Face 博客介绍了利用 Wav2Vec2 的 CTC 架构特性,在 🤗 Transformers 中对任意长音频乃至实时语音做高质量自动语音识别。
🤗 Transformers 现已集成 Kensho Technologies 的 pyctcdecode 库,可将 n-gram 语言模型与微调后的 Wav2Vec2 checkpoint 结合用于音频解码。
Hugging Face 发布教程,介绍如何用 Amazon SageMaker 和 Hugging Face Inference Toolkit 部署 EleutherAI 的 GPT-J 6B 进行实时推理,可在 NVIDIA T4 GPU 实例(约 500 美元/月)上运行。
Hugging Face 的 AutoNLP 与 Explosion 的标注工具 Prodigy 可组合成主动学习流水线:在 BBC News 分类数据集上,AutoNLP 训练 15 个多分类模型,最佳模型准确率达 98.67%,定价低至每模型 $10。
Hugging Face 发布教程,介绍如何从零训练 GPT-2 large(1.5B 参数)代码生成模型 CodeParrot,用于自动补全 Python 代码。
Hugging Face 与 Graphcore 合作推出 Optimum Graphcore,让 Transformer 模型可在 Graphcore IPU 上加速,BERT 成为首个 IPU 优化模型。
在 Intel Xeon Scalable(Ice Lake)CPU 集群上分布式微调 BERT,可将训练时间与成本控制在合理范围。
Hugging Face 发布教程,演示如何用 🤗 Transformers 将预训练检查点 Wav2Vec2-XLS-R-300M 微调用于低资源语音识别。
Hugging Face 博客第二部分聚焦用 Intel 软件栈优化 CPU 上的类 BERT 模型推理,实测新一代 Ice Lake Xeon 在多种 NLP 任务上推理速度较上代 Cascade Lake 最高提升 75%。
Hugging Face 课程第二部分将于 11 月 15 日发布,聚焦 token 分类、语言建模、翻译、摘要和问答等常见 NLP 任务,并深入讲解 Datasets 与 Tokenizers。配套社区活动包含两天讲座和团队项目,AWS 通过 Amazon SageMaker 提供免费算力,完成项目者可获结业证书。
Hugging Face 在社区周期间用 10 亿句对训练出 SOTA 句嵌入模型,硬件为 7 块 TPU v3-8。方法采用批内负样本的对比学习(InfoNCE/NTXentLoss),并指出更大 batch size、难负样本与跨数据集批次能提升效果。模型与数据集已在模型卡中公开。
一个分布式团队用 RSICD、UCM 和 Sydney 三个遥感数据集对 OpenAI 的 CLIP 进行微调,使其能按文本描述检索卫星图像。训练采用对比学习,并配合图像增强与基于 Marian MT 回译的文本增强来抑制过拟合。微调后的模型已开放下载,并提供在线 demo 供试用。
Hugging Face 博客介绍如何用 Gradio 在 Spaces 中托管 ML 演示应用。Gradio 已集成 Hugging Face Hub,只需几行代码调用 gr.Interface.load() 即可通过 Inference API 演示 Hub 上的模型,支持 image-to-text、speech-to-text、text-to-speech 等类型。
Hugging Face 发布教程,介绍如何用 Streamlit 在 Hugging Face Spaces 上托管模型和数据集并搭建演示应用。
Hugging Face 发文介绍如何用 EleutherAI 的 GPT-Neo 配合 🤗 Accelerated Inference API 实现 Few-Shot Learning 预测。
Hugging Face 发布系列博客第一部分,讲解如何通过硬件优化在 CPU 上扩展 BERT 类模型推理。
Hugging Face 与 Amazon SageMaker 合作推出优化版 🤗 Transformers 深度学习容器,并在 SageMaker Python SDK 中新增 HuggingFace estimator,一行代码即可启动训练。
Hugging Face 博客解析 BigBird 的块稀疏注意力机制,该模型已随 🤗Transformers 提供 RoBERTa 风格版本,可处理最长 4096 的序列,计算成本远低于 BERT。BigBird 用滑动注意力、全局 token 和随机 token 三种方式近似 BERT 的全注意力,目标不是超越 BERT,而是在长序列上更高效。
社区成员 Maxence Dominici 分享了在 Google Cloud 上部署 transformers 情感分析 pipeline 的过程,最终方案基于 Cloud Run 与 Docker 镜像,使用 DistilBERT base uncased finetuned SST-2 模型和 PyTorch 推理。
Hugging Face 发布教程,演示如何用 🤗 Transformers 微调 Wav2Vec2 预训练模型做英语 ASR。Wav2Vec2 由 Alexei Baevski 等人于 2020 年 9 月发布,仅用 10 分钟标注数据即可在 LibriSpeech 干净测试集上取得低于 5% 的 WER。
Hugging Face 工程师分享构建和调试神经网络的思考流程,建议先放下机器学习、专注分析数据标签与噪声,再从逻辑回归、word2vec、fastText 等简单基线起步,并对照随机预测器评估指标。作者还建议不要迷信五行代码模板,实现后可用 16 条样本做小批量过拟合测试,若无法达到 0 loss 则很可能存在实现错误。
Hugging Face Transformers 新增的 RAG 模型通过集成 Ray 实现分布式文档检索,每次检索调用相比 torch.distributed 提速 2 倍,并改善了 RAG 分布式微调的可扩展性。
Hugging Face 与 Facebook PyTorch、Google TPU 团队合作,让 PyTorch 用户能在 Cloud TPU 上训练模型并保持原有 Trainer 接口不变。PyTorch / XLA 新增 xla 设备类型,通过 xm.optimizer_step 完成梯度聚合与优化器更新,并用 MpDeviceLoader 让输入流水线与图追踪重叠执行。
Hugging Face 在 Transformers v4.2.0 中优化了 TensorFlow 版 BERT、RoBERTa、ELECTRA 和 MPNet 的计算性能,在 GPU V100、序列长度 128 下,BERT 推理速度比 Google 官方实现快约 10%,比 4.1.1 版本快一倍。
OpenAI 将 Kubernetes 集群扩展至 7,500 节点,为 GPT-3、CLIP、DALL·E 等大模型提供可扩展基础设施,同时支持小规模快速迭代研究。
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 倍推理提速,再借助 ONNX Runtime 的图优化、算子融合与量化等硬件相关编译手段拿到另外 10 倍,合计 100 倍。
Hugging Face 发布教程,介绍如何用 BERT、GPT2 等预训练检查点热启动 encoder-decoder 模型,从而跳过昂贵的预训练阶段。该方法基于 Rothe 等人 2020 年的论文,在多个序列到序列任务上以极低训练成本达到与 T5、Pegasus 等大型预训练 encoder-decoder 模型相当的效果。
Hugging Face 发布客座博客,记录将 Facebook FAIR 的 fairseq wmt19 新闻翻译系统移植到 transformers 的完整过程。