Accelerate 如何借助 PyTorch 运行超大模型
Hugging Face 官方详解 Accelerate 如何在普通硬件上加载并运行超大模型,示例可在免费 Colab 上运行 OPT-6.7B。
推荐理由:官方详解 Accelerate 借助 PyTorch meta device、分片加载与 hooks 实现超大模型推理的完整原理,方法可直接复用。
开源模型、框架与仓库动态:权重开放、社区项目爆火、开源与闭源的力量消长。
Hugging Face 官方详解 Accelerate 如何在普通硬件上加载并运行超大模型,示例可在免费 Colab 上运行 OPT-6.7B。
推荐理由:官方详解 Accelerate 借助 PyTorch meta device、分片加载与 hooks 实现超大模型推理的完整原理,方法可直接复用。
Hugging Face 联合 Intel Labs 和 UKP Lab 发布 SetFit,一个无需提示词的少样本文本分类框架。每类仅需 8 个标注样本即可在 Customer Reviews 数据集上媲美用全量 3k 样本微调的 RoBERTa Large;在 RAFT 基准上 355M 参数的 SetFit 超过 PET 和 GPT-3。
推荐理由:官方详解 SetFit 的原理、训练成本和 RAFT 实测数据,并附可复现的训练代码,方便直接上手做少样本分类。
OpenAI 宣布训练并开源名为 Whisper 的神经网络,该模型在英文语音识别上的鲁棒性和准确率接近人类水平。
推荐理由:OpenAI 官方宣布开源 Whisper,读者可以据此了解其在英文语音识别上的准确性与鲁棒性水平。
Hugging Face 发布 diffusers 0.3,为 Stable Diffusion 新增图像到图像生成、Textual Inversion(3-5 张样本即可训练并分享概念,社区已贡献超 200 个概念)和实验性 inpainting 管线。
推荐理由:官方梳理 diffusers 0.3 的图生图、Textual Inversion、低显存优化等新能力,读者可以据此判断扩散模型工具链的可用性变化。
Hugging Face 与 BigScience 将 LLM.int8() 8-bit 量化集成进 transformers 和 accelerate,使 BLOOM-176B 等 176B 参数大模型的推理显存占用减半且性能不下降。
推荐理由:原文由集成团队讲解 LLM.int8() 的量化原理、零性能下降验证和 transformers 集成细节,读者可据此在有限显存上运行大模型。
Hugging Face 宣布 🤗 transformers 的 TensorFlow 文本生成支持 XLA 编译,部分场景提速超过 100 倍,多数情况下甚至快过 PyTorch 最高 9 倍。
推荐理由:官方详解 TensorFlow 文本生成用 XLA 加速的用法与坑,给出 padding 控制形状和一行代码启用的可复用方法。
BigScience 项目发布开源多语言大模型 BLOOM,1760 亿参数,可生成 46 种自然语言和 13 种编程语言的文本。训练历时 117 天,在法国 Jean Zay 超算上完成,涉及 70 多国 250 多个机构的 1000 多名研究者。
推荐理由:大语言模型开源和透明训练的代表性案例,说明了开放协作如何让百亿级参数模型走向可研究、可复用。
Hugging Face 宣布在 Hub 上线 pull requests 和 discussions 功能,所有模型、数据集和 Spaces 仓库的 Community 标签页均可用。任何社区成员都能参与讨论和贡献,PR 不使用 fork,而是把自定义 ref 分支直接存放在源仓库,整体比 GitHub 的 PR 和 Issues 更简化,面向 ML 仓库场景优化。
推荐理由:官方介绍 Hub 新增 pull requests 和 discussions 的用法与底层机制,读者可了解其与 GitHub PR 的差异及协作方式。
Hugging Face 发布 Gradio 3.0,这是 Gradio 库的全面重设计。新版本基于 Svelte 重建前端,页面加载更快、载荷更小,改进了 Dataframe 等组件并新增 Gallery、TabbedInterface;同时推出底层 Blocks API,支持自定义布局、多步数据流和根据用户输入改变组件属性或可见性。
推荐理由:官方介绍了 Gradio 3.0 的前端重设计和新 Blocks API 能力,想用 Python 构建自定义 ML 演示界面的读者可以了解能做什么。
Hugging Face 宣布完成 1 亿美元 C 轮融资,由 Lux Capital 领投,Sequoia、Coatue 等参投。平台已托管 10 万个预训练模型和 1 万个数据集,超过 1 万家公司在使用,团队过去 12 个月从 30 人扩至 120 多人,新资金将投入研究、开源产品和负责任的 AI 普及。
推荐理由:官方公告给出了融资规模、领投方与平台最新规模数据,可了解开源机器学习生态的资本动向。
Hugging Face 宣布收购机器学习初创公司 Gradio,由 Gradio 创始人宣布。Gradio 于 2019 年由斯坦福博士生团队创立,旨在让工程师无需让非技术用户懂 Python 即可演示机器学习模型,至今已有超过 300,000 个 demo 用 Gradio 构建。
推荐理由:Gradio 创始人亲述收购缘起与产品定位,读者可以了解开源演示工具如何融入 Hugging Face 生态。
Hugging Face 发布教程,展示如何从零训练名为 CodeParrot 的 GPT-2 代码生成模型。
推荐理由:原文从数据清洗到训练和评测完整走一遍预训练流程,方法步骤可迁移到读者自己的代码模型训练。
OpenAI 发布开源的类 Python 编程语言 Triton 1.0,供编写神经网络 GPU 代码。没有 CUDA 经验的研究者也能写出高效 GPU 代码,多数情况下效率与专家产出相当。
推荐理由:原文说明无 CUDA 经验的研究者也能用它写出接近专家水平的 GPU 代码,可据此评估对研究工作流的影响。
Hugging Face 联合 Yandex Research 等机构提出 DeDLOC 分布式协作训练方法,可自适应参与者的网络与硬件条件。该方法由 40 名志愿者协同预训练了孟加拉语模型 sahajBERT(约 18M 参数,基于 ALBERT),在 NER 上 F1 达 95.45、NCC 准确率 91.97,结果与数百块 V100 训练的 XLM-R-large 相当。
推荐理由:原文给出 DeDLOC 协作训练方法细节和 40 名志愿者预训练 sahajBERT 的实测结果,含下游任务对比数据,方法可复用。
Hugging Face 宣布 Sentence Transformers v2 集成到 Hub,提供超过 90 个预训练模型、覆盖 100 多种语言,几行代码即可加载使用。
推荐理由:官方介绍 Sentence Transformers v2 与 Hub 的集成方式,读者可了解加载、分享和调用嵌入模型的直接入口。
Hugging Face 发布开源库 Accelerate,用户只需在标准 PyTorch 训练脚本中添加约五行代码,即可在多 GPU、TPU、混合精度等任意分布式环境下运行,且保留对训练循环的完全控制。
推荐理由:原文给出在标准 PyTorch 脚本上加约五行代码即可迁移多 GPU、TPU 和混合精度的具体做法,可与手写 DistributedDataParallel 对比参考。
transformers v4.2.0 起在 Trainer 中实验性支持 DeepSpeed 和 FairScale 的 ZeRO 特性,分别通过 --deepspeed 和 --sharded_ddp 参数启用。
推荐理由:作者用 t5-large 和 t5-3b 的实测对比表展示 ZeRO 如何提升显存效率与训练速度,方法可直接在 transformers Trainer 中复用。
OpenAI 发布一类新的强化学习算法 Proximal Policy Optimization(PPO),性能与当时最先进方法相当或更好,同时实现和调参更简单。凭借易用性和良好表现,PPO 已成为 OpenAI 的默认强化学习算法。
推荐理由:原文点出了 PPO 性能与实现简洁度的平衡,读者可以了解它为何成为 OpenAI 的默认强化学习算法。
OpenAI 发布 OpenAI Gym 公开测试版,这是一个用于开发和比较强化学习(RL)算法的工具包。它包含不断扩充的环境套件(从仿真机器人到 Atari 游戏),并提供用于比较和复现结果的网站。
推荐理由:官方发布强化学习工具包 Gym 公测版,含环境套件与结果比较复现平台,适合关注 RL 工作流的读者了解其定位。