Hugging Face 讲解如何用 XLA 让 TensorFlow 文本生成提速最高 100 倍
Hugging Face 宣布 🤗 transformers 的 TensorFlow 文本生成支持 XLA 编译,部分场景提速超过 100 倍,多数情况下甚至快过 PyTorch 最高 9 倍。
推荐理由:官方详解 TensorFlow 文本生成用 XLA 加速的用法与坑,给出 padding 控制形状和一行代码启用的可复用方法。
Hugging Face 宣布 🤗 transformers 的 TensorFlow 文本生成支持 XLA 编译,部分场景提速超过 100 倍,多数情况下甚至快过 PyTorch 最高 9 倍。
推荐理由:官方详解 TensorFlow 文本生成用 XLA 加速的用法与坑,给出 padding 控制形状和一行代码启用的可复用方法。
Hugging Face 详细复盘 176B 参数模型 BLOOM 的训练技术,项目使用 384 张 80GB A100 GPU、350B token 的 59 语言数据集,耗时约 3.5 个月(约 100 万计算小时)。
BigScience 项目发布开源多语言大模型 BLOOM,1760 亿参数,可生成 46 种自然语言和 13 种编程语言的文本。训练历时 117 天,在法国 Jean Zay 超算上完成,涉及 70 多国 250 多个机构的 1000 多名研究者。
推荐理由:大语言模型开源和透明训练的代表性案例,说明了开放协作如何让百亿级参数模型走向可研究、可复用。
Hugging Face 发布教程,讲解如何通过 Accelerate 使用 DeepSpeed ZeRO 特性训练大模型,无需修改代码即可启用 ZeRO Stage-2。
Hugging Face 推出 Evaluation on the Hub,由 AutoTrain 驱动,无需写任何代码即可在 Hub 上用任意数据集和指标评估任意模型。团队已评估数百个模型,并通过 Pull Request 将验证结果写入模型卡元数据。提交界面和排行榜基于 Hugging Face Spaces 构建,支持为任务找最佳模型、在新数据集上跑基线等场景。
Intel 正式加入 Hugging Face 的 Hardware Partner Program,双方将基于开源库 Optimum Intel 为 Transformer 的训练、微调和推理构建硬件加速。
Graphcore 与 Hugging Face 扩展开源库 Hugging Face Optimum,为 Graphcore IPU 优化的 Transformer 模型现已覆盖 NLP、语音和计算机视觉,共 10 个模型,附 IPU 配置文件和即用的预训练与微调权重。
Hugging Face 宣布在 Hub 上线 pull requests 和 discussions 功能,所有模型、数据集和 Spaces 仓库的 Community 标签页均可用。任何社区成员都能参与讨论和贡献,PR 不使用 fork,而是把自定义 ref 分支直接存放在源仓库,整体比 GitHub 的 PR 和 Issues 更简化,面向 ML 仓库场景优化。
推荐理由:官方介绍 Hub 新增 pull requests 和 discussions 的用法与底层机制,读者可了解其与 GitHub PR 的差异及协作方式。
Hugging Face 推出开源机器学习贡献者网络,为 Fellows 提供算力资源、周边礼品和官方认可等支持。首批 Fellow 包括向 Hub 贡献 300 多个模型的 Manuel Romero、创建最大西班牙语 NLP 社区的 María Grandury 等。
Hugging Face 发布 Gradio 3.0,这是 Gradio 库的全面重设计。新版本基于 Svelte 重建前端,页面加载更快、载荷更小,改进了 Dataframe 等组件并新增 Gallery、TabbedInterface;同时推出底层 Blocks API,支持自定义布局、多步数据流和根据用户输入改变组件属性或可见性。
推荐理由:官方介绍了 Gradio 3.0 的前端重设计和新 Blocks API 能力,想用 Python 构建自定义 ML 演示界面的读者可以了解能做什么。
Hugging Face 首次推出 Student Ambassador Program,面向在校生招募大使,支持其在校内社区推广开源机器学习,目标是到 2023 年教会 500 万人 ML。
Hugging Face 宣布完成 1 亿美元 C 轮融资,由 Lux Capital 领投,Sequoia、Coatue 等参投。平台已托管 10 万个预训练模型和 1 万个数据集,超过 1 万家公司在使用,团队过去 12 个月从 30 人扩至 120 多人,新资金将投入研究、开源产品和负责任的 AI 普及。
推荐理由:官方公告给出了融资规模、领投方与平台最新规模数据,可了解开源机器学习生态的资本动向。
fastai 用户现可通过一行 Python 代码将模型上传到 Hugging Face Hub。fastai 是基于 PyTorch 的开源深度学习库,支持文本、视觉和表格数据的先进模型训练。
Hugging Face 推出面向所有人、初学者和教师的教育计划,目标是到 2023 年底教会 500 万人机器学习。计划提供免费的 NLP、深度强化学习和交互式 demo 搭建课程,以及翻译成 8 种语言的教师工具包,涵盖 Hub 使用、Gradio 和 Transformers 教程。
Hugging Face 播客采访了机器学习工程师 Lewis Tunstall,他从事 Transformers 应用与 MLOps 工作,并与 Leandro von Werra 合著了《NLP with Transformers》一书。他近期在 transformers 库中开发模型导出 ONNX 格式的功能,一行代码即可完成转换,帮助工程师获得更快延迟和更高吞吐量。
Hugging Face 官方博客解释 Transformers 库有意不采用软件开发的 DRY 原则,而是采用单模型文件策略,即模型前向传播的全部代码集中在一个文件中。
Hugging Face 推出为期 9 个月的 AI Research Residency 计划,帮助申请者成长为机器学习研究员。驻留者将与 Science Team 研究员合作选题、以开放方式开发新技术并力争发表成果。计划为全职远程,欢迎多元背景申请者,申请截止于 2022 年 4 月 3 日。
Hugging Face 发布教程,演示如何用自建人行道分割数据集 segments/sidewalk-semantic 微调 SegFormer(B0,仅约 14MB),面向披萨配送机器人的场景理解。
Hugging Face 在 Transformers 的 model.generate() 中新增 constrained beam search 功能,支持通过 force_words_ids 强制输出包含指定词或短语。该功能支持析取约束(从词表中至少选一),并用 banks 分组和轮询选择在满足约束与生成流畅输出间取得平衡;用户也可继承 Constraint 抽象类自定义约束。
这是一篇使用 Python 进行情感分析的入门指南,涵盖情感分析概念、如何用 transformers 的 pipeline 类调用 Hugging Face Hub 上超过 215 个预训练情感分析模型(仅需 5 行代码),以及如何用自有数据微调模型和分析推文。Hub 收录超过 27,000 个社区共享模型,覆盖约 28 种语言,均可免费使用并支持浏览器内测试。
Hugging Face 官方介绍 huggingface_hub 库新增的搜索功能,用户可通过 ModelSearchArguments 和 ModelFilter 类在 Python 或 Jupyter 中以编程方式筛选 Hub 上的模型和数据集,无需离开 IDE。
Hugging Face 宣布将深度强化学习库 Stable-Baselines3 集成到 Hugging Face Hub,用户可通过 `huggingface_hub` 和 `huggingface_sb3` 两个库,从 Hub 下载社区模型或用 `push_to_hub` 上传自己训练的模型,如 PPO 训练的 CartPole-v1 智能体。
🤗 Transformers 新增与 Kensho 的 pyctcdecode 库的集成,可将 n-gram 语言模型与微调后的 Wav2Vec2 语音识别检查点结合解码。
Hugging Face 宣布收购机器学习初创公司 Gradio,由 Gradio 创始人宣布。Gradio 于 2019 年由斯坦福博士生团队创立,旨在让工程师无需让非技术用户懂 Python 即可演示机器学习模型,至今已有超过 300,000 个 demo 用 Gradio 构建。
推荐理由:Gradio 创始人亲述收购缘起与产品定位,读者可以了解开源演示工具如何融入 Hugging Face 生态。
Hugging Face 发布教程,展示如何从零训练名为 CodeParrot 的 GPT-2 代码生成模型。
推荐理由:原文从数据清洗到训练和评测完整走一遍预训练流程,方法步骤可迁移到读者自己的代码模型训练。
Hugging Face 发布首个自定义深度强化学习环境 Snowball Fight(1vs1),基于 Unity ML-Agents 打造,玩家可在 Hugging Face Spaces 上与 RL 智能体互掷雪球。
Hugging Face 与 Graphcore 合作,通过开源库 Optimum 让 Transformer 模型在 Graphcore IPU 上更易加速推理,并推出首个 IPU 优化模型 BERT。
Hugging Face 推出开源的 Data Measurements Tool(DMT),提供交互界面和 Python 库,帮助数据集创建者和用户自动计算并比较 NLP 数据集的指标,支持在线使用。
Hugging Face 宣布 Hugging Face Course 第二部分将于 11 月 15 日发布,涵盖 token 分类、因果与掩码语言建模、翻译、摘要和问答等 NLP 任务,并深入介绍 🤗 Datasets 和 🤗 Tokenizers。活动包括两天演讲和微调模型的团队项目,完成后可获结业证书,AWS 通过 Amazon SageMaker 提供免费算力。
Hugging Face 博客认为,机器学习正在被应用到更多生产环境,软件行业的成熟实践——版本管理、自动化、测试与部署——同样适用于 ML,即所谓 MLOps。
Hugging Face 发布夏季回顾,Hub 公开模型仓库从 10,000 增至超过 16,000 个,并推出可直接部署 Gradio 和 Streamlit 应用的 Spaces Beta。
Hugging Face 在 2021 AI Hardware Summit 上宣布启动 Hardware Partner Program,Graphcore 为创始成员,开发者可在 Graphcore IPU 系统上以更低编码复杂度部署面向生产规模的 SOTA Transformer 模型。
Hugging Face 联合 Yandex Research 等机构提出 DeDLOC 分布式协作训练方法,可自适应参与者的网络与硬件条件。该方法由 40 名志愿者协同预训练了孟加拉语模型 sahajBERT(约 18M 参数,基于 ALBERT),在 NER 上 F1 达 95.45、NCC 准确率 91.97,结果与数百块 V100 训练的 XLM-R-large 相当。
推荐理由:原文给出 DeDLOC 协作训练方法细节和 40 名志愿者预训练 sahajBERT 的实测结果,含下游任务对比数据,方法可复用。
spaCy 现已集成到 Hugging Face Hub,一条命令即可上传 pipeline,自动生成模型卡和元数据。Hub 的 spaCy org 提供 60 多个来自 3.1 版本的官方模型,推理 API 开箱即支持 NER,社区模型已超 60 个之外还可通过 pip install 直接安装。
Hugging Face 宣布 Sentence Transformers v2 集成到 Hub,提供超过 90 个预训练模型、覆盖 100 多种语言,几行代码即可加载使用。
推荐理由:官方介绍 Sentence Transformers v2 与 Hub 的集成方式,读者可了解加载、分享和调用嵌入模型的直接入口。
Hugging Face 讲解如何用 EleutherAI 的 GPT-Neo 和 🤗 Accelerated Inference API 实现 Few-Shot Learning 预测。
Gradio 2.0 发布,仅需 1 行代码即可为 Hugging Face Model Hub 上超过 10000 个模型创建 GUI 演示,默认使用 Hugging Face 托管 Inference API,也可通过 pip install transformers 在本地运行模型。
Hugging Face 发布开源库 Accelerate,用户只需在标准 PyTorch 训练脚本中添加约五行代码,即可在多 GPU、TPU、混合精度等任意分布式环境下运行,且保留对训练循环的完全控制。
推荐理由:原文给出在标准 PyTorch 脚本上加约五行代码即可迁移多 GPU、TPU 和混合精度的具体做法,可与手写 DistributedDataParallel 对比参考。
Hugging Face 与 Facebook PyTorch、Google TPU 团队合作,为 PyTorch / XLA 在 Cloud TPU 上的训练提供一等支持,Trainer 接口保持不变。
transformers v4.2.0 起在 Trainer 中实验性支持 DeepSpeed 和 FairScale 的 ZeRO 特性,分别通过 --deepspeed 和 --sharded_ddp 参数启用。
推荐理由:作者用 t5-large 和 t5-3b 的实测对比表展示 ZeRO 如何提升显存效率与训练速度,方法可直接在 transformers Trainer 中复用。