用机器学习打造强化的客户服务:Hugging Face 实战指南
Hugging Face 发布博客,演示如何用其生态工具处理客户服务场景:将筛选不满客户消息建模为文本分类任务,按 5 档情感(very unsatisfied 到 very satisfied)分类。
Hugging Face 发布博客,演示如何用其生态工具处理客户服务场景:将筛选不满客户消息建模为文本分类任务,按 5 档情感(very unsatisfied 到 very satisfied)分类。
Hugging Face 的 Transformers 库有意不遵循 DRY 原则,转而采用"单一模型文件策略":模型前向传播所需的全部代码只放在一个模型文件中,注意力机制代码在不同模型文件里被复制超过 50 次。官方给出的理由包括该库由开源社区共建、建模代码本身就是产品、机器学习领域演进极快,以及模型发布后基本静态不变。
Hugging Face 发布教程,演示如何用自建人行道数据集 segments/sidewalk-semantic 微调 SegFormer 语义分割模型,并借助 transformers 与 Hugging Face Hub 完成训练。
Hugging Face 发布端到端教程,演示如何用 Hugging Face Transformers、Amazon SageMaker 和 AWS Inferentia 加速 BERT 文本分类推理。
Hugging Face 展示了如何用 🤗 datasets 的 Image 特征类型结合 sentence_transformers 和 faiss,为图像数据集构建相似度搜索应用。
Hugging Face 在 Transformers 中推出约束束搜索(constrained beam search),通过 model.generate() 的 force_words_ids 参数让用户指定输出中必须包含的词或短语。
Google AI Language 于 2018 年推出的 BERT 基于 Transformer 双向编码器,可同时处理 11 种以上常见 NLP 任务,并在多项任务上超越此前专用模型。
Hugging Face 发布教程,演示如何用 🤗 datasets 加载 beans 图像分类数据集,并借助 🤗 transformers 微调预训练 ViT 模型。教程使用 google/vit-base-patch16-224-in21k 及其配套 ViTImageProcessor,将图像处理为 (1, 3, 224, 224) 的 pixel_values 张量后送入模型训练。
Hugging Face Hub 上已有超过 215 个公开的情感分析模型,用 Python 的 transformers pipeline 只需 5 行代码即可调用,默认模型对 "I love you" 和 "I hate you" 分别给出 0.9998 和 0.9991 的置信度。
Hugging Face 博客介绍如何利用 Wav2Vec2 所用 CTC 架构的特性,在 Transformers 中对任意长音频乃至实时流做语音识别。
推荐理由:原文给出 CTC 模型分块加 stride 的具体参数与代码,读者可据此在长音频和实时场景中复用。
🤗 Transformers 现已集成 Kensho Technologies 的 pyctcdecode 库,可将 n-gram 语言模型与微调后的 Wav2Vec2 checkpoint 结合解码音频。
Hugging Face 发布教程,介绍如何用 Transformers 和 Amazon SageMaker 将 EleutherAI 的 GPT-J 6B 部署为实时推理端点。
Hugging Face 的 AutoNLP 与 Explosion 的标注工具 Prodigy 可组合成主动学习流水线:用 Prodigy 对 BBC News 数据集做 NER 标注,每积累约 20 条样本就用 AutoNLP 重新训练模型。
Hugging Face 发布教程,介绍如何从零训练名为 CodeParrot 的 GPT-2 代码生成模型,用于自动补全 Python 代码。
推荐理由:完整给出从数据清洗、分词器训练到多卡训练循环的代码,可迁移到自建代码生成模型的预训练流程。
Hugging Face 与 Graphcore 合作推出 Optimum Graphcore,首个 IPU 优化模型为 BERT,开发者可借助 Hugging Face Transformers 在 IPU 上训练、微调和加速模型。
在 Intel Xeon Scalable CPU(Ice Lake 架构)集群上分布式微调 BERT 模型,可将 PyTorch 训练任务加速。演示在 MRPC 数据集(GLUE 基准任务之一,含 5,800 对句子)上微调 BERT,从单节点扩展到 2 节点、4 节点并测量加速比。
Hugging Face 发布博客,讲解如何用 🤗 Transformers 将预训练模型 Wav2Vec2-XLS-R-300M 微调用于低资源语音识别(ASR)。
Hugging Face 博客第二部分聚焦软件优化,介绍如何借助 Intel oneAPI 生态提升 BERT 类模型在现代 CPU 上的推理性能。
Hugging Face Course 第二部分将于 11 月 15 日发布,聚焦 token 分类、语言建模、翻译、摘要和问答等 NLP 任务,并深入讲解 Datasets 与 Tokenizers。配套社区活动包含两天讲座和团队微调项目,AWS 通过 Amazon SageMaker 提供免费算力,完成 demo 的参与者可获结业证书。
Hugging Face 在社区周期间用 10 亿句对训练出 SOTA 句嵌入模型,硬件为 7 块 TPU v3-8。方法采用 Transformer 加池化,并以 in-batch negatives 对比学习目标训练,通过增大 batch、引入 hard negatives 和跨数据集组批提升质量。模型与数据集已在模型卡中公开。
一个跨 12 个时区的团队用 RSICD、UCM 和 Sydney 三个遥感数据集微调了 OpenAI 的 CLIP,让模型支持用文本查询检索卫星图像。RSICD 约含 10,000 张来自 Google Earth、百度地图等的图像,每张最多 5 条描述;训练采用对比学习,并用图像增强与 Marian MT 回译文本增强抑制过拟合。模型已开放下载,并提供在线 demo。
Hugging Face 博客介绍如何用 Gradio 在 Spaces 中托管 ML 演示:通过 gr.Interface.load 调用 Hub 模型并借助 Inference API 推理,只需定义模型仓库 ID、标题、描述和示例输入,调用 .launch() 即可运行。
Hugging Face 发布博客,介绍如何用 Streamlit 在 Hugging Face Spaces 上托管模型与数据集并搭建演示应用。
Hugging Face 发布博客,介绍如何用 EleutherAI 的 GPT-Neo 配合 🤗 Accelerated Inference API 实现 Few-Shot Learning 预测。
Hugging Face 发布博客,介绍在 CPU 上扩展 BERT 推理的硬件优化方法,基于 AWS c5.metal 实例(Intel Xeon Platinum 8275,48 核/96 线程)测试,使用 transformers 4.5.0、PyTorch 1.8.1 与 TensorFlow 2.4.0。
Hugging Face 与 Amazon SageMaker 合作推出经优化的 🤗 Transformers 深度学习容器,并在 SageMaker Python SDK 中新增 HuggingFace estimator,一行代码即可启动训练。
Hugging Face 发文详解 BigBird 的块稀疏注意力机制,该模型以块稀疏注意力替代 BERT 的完整注意力,可处理最长 4096 的序列,计算成本远低于 BERT,并已在长文档摘要、长上下文问答等任务上取得 SOTA。BigBird 的 RoBERTa 类模型现已上线 🤗Transformers,其注意力是对 BERT 完整注意力的近似,目标是在更长序列上更高效而非超越 BERT。
社区成员 Maxence Dominici 在 Google Cloud 上部署了 transformers 情感分析 pipeline,用于自动判断 Discord 中客户评论的正负向。
Hugging Face 发布教程,演示如何用 🤗 Transformers 在任意英文 ASR 数据集上微调 Wav2Vec2 预训练检查点。教程以仅含 5 小时训练数据的 Timit 数据集为例,采用 CTC 微调 base 版检查点,并借助 jiwer 以 WER 指标评估模型。
Hugging Face 工程师分享构建和调试神经网络的思考流程,核心观点是先放下机器学习、专注理解数据,再像初学者一样从简单基线做起,并敢于拆解那些"5 行代码"模板。文中建议通过在小批量样本(如 16 条)上过拟合、观察是否达到 0 loss 来验证实现是否正确,并强调要建立合理的对比基线。
Hugging Face Transformers 的 RAG 模型集成 Ray 实现分布式文档检索,每次检索调用相比 torch.distributed 提速 2 倍,并改善了 RAG 分布式微调的可扩展性。
Hugging Face 与 Facebook PyTorch、Google TPU 团队合作,让用户通过 PyTorch / XLA 在 Cloud TPU 上训练 Transformer,并保持与 Hugging Face Trainer 完全相同的接口。
Hugging Face 在 Transformers v4.2.0 中优化了 TensorFlow 版 BERT、RoBERTa、ELECTRA 和 MPNet,在 GPU V100、序列长度 128 下,BERT 推理速度比 Google 官方实现快约 10%,比 v4.1.1 快一倍。
OpenAI 将 Kubernetes 集群扩展至 7,500 节点,为 GPT-3、CLIP、DALL·E 等大模型提供可扩展基础设施,同时支持小规模快速迭代研究。
Hugging Face 的 transformers v4.2.0 起通过 --sharded_ddp 和 --deepspeed 两个 Trainer 参数实验性支持 FairScale 与 DeepSpeed 的 ZeRO 功能。
推荐理由:作者用 t5-large 与 t5-3b 实测对比 FairScale 与 DeepSpeed 的显存与速度差异,并给出可直接复用的 Trainer 参数。
Hugging Face 发布教程,介绍如何用 BERT、GPT2 等预训练检查点热启动编码器-解码器模型,从而跳过昂贵的预训练。基于 Rothe et al. (2020) 的方法,这类热启动模型在多个序列到序列任务上可达到 T5、Pegasus 等大型预训练模型的竞争力,训练成本仅为后者一小部分。教程包含理论、分析及基于 🤗Transformers 的完整代码示例。
Hugging Face 博客发布 Stas Bekman 的客座文章,记录将 fairseq wmt19 翻译系统移植到 transformers 的完整过程。作者选用 en-ru / ru-en 预训练模型进行移植,并创建了 configuration_fsmt.py、modeling_fsmt.py、tokenization_fsmt.py 及转换脚本等文件。
Hugging Face Transformers 在 3.1 版本中与 Ray Tune 集成,用户只需几行代码即可调用 HyperBand、Bayesian Optimization、Population-Based Training 等调参算法。
Hugging Face 发布博客,详解基于 Transformer 的编码器-解码器架构如何建模序列到序列问题,并说明其在推理中的使用方式。文章将架构拆解为编码器与解码器两部分,结合大量图示建立理论与 🤗Transformers 实际推理用法的联系,并回顾神经编码器-解码器模型的历史。
Hugging Face 发布 PyTorch 扩展 pytorch_block_sparse,其 BlockSparseLinear 可直接替换 torch.nn.Linear,实现块稀疏矩阵运算。