Hugging Face 复盘 BLOOM 推理优化:延迟降低 5 倍、吞吐提升 50 倍
Hugging Face 团队复盘了为 BLOOM(176B 参数,bf16 下 352GB)构建推理服务器的优化过程,最终实现延迟降低 5 倍、吞吐提升 50 倍。
推荐理由:Hugging Face 团队复盘 BLOOM 推理优化全过程,从 PP 到 TP、自定义 kernel 的取舍细节对部署大模型有参考价值。
开源模型、框架与仓库动态:权重开放、社区项目爆火、开源与闭源的力量消长。
Hugging Face 团队复盘了为 BLOOM(176B 参数,bf16 下 352GB)构建推理服务器的优化过程,最终实现延迟降低 5 倍、吞吐提升 50 倍。
推荐理由:Hugging Face 团队复盘 BLOOM 推理优化全过程,从 PP 到 TP、自定义 kernel 的取舍细节对部署大模型有参考价值。
Hugging Face 介绍 Accelerate 如何借助 PyTorch 的 meta device、自动 device map 和分片 checkpoint,在显存和内存有限的设备上加载并推理超大模型。
推荐理由:原文拆解了 Accelerate 借助 PyTorch meta device 与分片加载在有限显存下跑大模型的完整流程,方法可直接迁移。
Hugging Face 联合 Intel Labs 和 UKP Lab 发布 SetFit,一个用于 Sentence Transformers 少样本微调的框架,无需提示词或 verbaliser。
推荐理由:原文给出 SetFit 的两阶段训练流程与 RAFT 基准对比,读者可据此判断少样本分类的成本与精度取舍。
OpenAI 宣布训练并开源神经网络 Whisper,其在英文语音识别上接近人类水平的稳健性和准确度。
推荐理由:OpenAI 开源语音识别模型 Whisper,读者可了解其在英文语音识别上的稳健性与准确度定位。
Hugging Face 发布教程,展示如何用 DeepSpeed 和 Accelerate 加速 176B 参数的 BLOOM 模型推理。
推荐理由:文章给出 BLOOM 176B 在多种并行与量化方案下的实测吞吐和显存占用,可作为大模型推理部署的选型参考。
Hugging Face 发布 diffusers 0.3,新增图生图 pipeline、Textual Inversion、实验性 inpainting 与 ONNX 导出等能力。
推荐理由:diffusers 0.3 集中放出图生图、Textual Inversion 与显存优化,可据此判断扩散模型工具链的成熟度。
Hugging Face 发布教程,介绍如何用 Diffusers 库运行 Stable Diffusion 文生图模型。文中给出安装 diffusers==0.10.2 与加载 StableDiffusionPipeline 的代码,并说明 guidance_scale、num_inference_steps 等参数对生成结果的影响。
推荐理由:Hugging Face 官方给出 Stable Diffusion 在 Diffusers 中的完整用法与原理拆解,可据此理解潜空间扩散的组件分工。
Hugging Face 发布 BLOOM,一个 176B 参数的多语言大语言模型,可生成 46 种自然语言和 13 种编程语言的文本,由 70 多个国家 1000 多名研究者协作完成,在法国 Jean Zay 超算上训练 117 天。
推荐理由:BLOOM 以 176B 参数覆盖 46 种自然语言,并公开训练中间检查点与优化器状态,为研究大模型内部行为提供了少见的开放样本。
Hugging Face 推出 Evaluation on the Hub,由 AutoTrain 驱动,用户无需写代码即可在 Hub 上用任意数据集评测任意模型。评测结果会以 PR 形式写入模型卡元数据,并可在数据集排行榜上比较不同模型的表现。官方已用该工具在多个关键数据集上评测了数百个模型,并给出文本分类、命名实体识别和文本摘要等可直接试用的数据集示例。
推荐理由:Hugging Face 把模型评测做成 Hub 上的零代码流程,读者可据此了解评测结果如何进入模型卡与排行榜。
Hugging Face 博客发布《The Annotated Diffusion Model》,基于 Ho 等人 2020 年的 DDPM 论文,用 PyTorch 逐步实现去噪扩散概率模型,代码参考 Phil Wang 的实现。
推荐理由:从 DDPM 论文出发逐步用 PyTorch 复现扩散模型,并梳理后续关键改进方向,适合想理解扩散模型原理的读者。
Hugging Face 发布 Gradio 3.0,对 Gradio 库进行彻底重设计,前端改用 Svelte 等现代技术,页面体积更小、加载更快,并新增 Gallery 组件和 TabbedInterface 类。
推荐理由:Gradio 3.0 重写前端并推出 Blocks 低层 API,读者可了解它如何让 Python 直接搭建复杂自定义 ML 演示。
Hugging Face 宣布完成 1 亿美元 C 轮融资,由 Lux Capital 领投,Sequoia、Coatue 等参投。官方称平台已托管 10 万个预训练模型和 1 万个数据集,超过 1 万家公司使用其产品与服务,团队在过去 12 个月从 30 人扩展到 120 多人。新资金将投入研究、开源、产品以及 AI 的负责任普及。
推荐理由:Hugging Face 官方披露 C 轮融资规模与投资方,并给出平台模型、数据集和客户体量,可据此判断开源机器学习平台的商业化进展。
Hugging Face 博客介绍如何利用 Wav2Vec2 所用 CTC 架构的特性,在 Transformers 中对任意长音频乃至实时流做语音识别。
推荐理由:原文给出 CTC 模型分块加 stride 的具体参数与代码,读者可据此在长音频和实时场景中复用。
Hugging Face 收购机器学习初创公司 Gradio,Gradio 联合创始人发文确认这一消息。Gradio 自 2019 年发布以来已有超过 30 万个 demo 用它构建,用于让非技术用户也能使用和反馈机器学习模型。作者表示加入 Hugging Face 后会继续发展 Gradio,让任何有浏览器和网络连接的人都能用上机器学习。
推荐理由:Gradio 创始人以当事方身份讲述被 Hugging Face 收购的经过,读者可了解这次收购的来龙去脉与双方在开源机器学习可及性上的共同目标。
Hugging Face 在 Transformers 库中加入 Perceiver IO,这是首个可处理文本、图像、音频、视频、点云等多种模态及其组合的 Transformer 类模型。
推荐理由:Hugging Face 把 Perceiver IO 集成进 Transformers,读者可了解其跨模态架构与各模态实现细节。
Hugging Face 发布教程,介绍如何从零训练名为 CodeParrot 的 GPT-2 代码生成模型,用于自动补全 Python 代码。
推荐理由:完整给出从数据清洗、分词器训练到多卡训练循环的代码,可迁移到自建代码生成模型的预训练流程。
Hugging Face 发布开源库 Optimum,目标是简化 Transformers 在特定硬件上的训练与推理性能优化,首个合作方为 Intel。
推荐理由:Hugging Face 官方发布 Optimum 开源库,读者可了解其与 Intel 合作在特定硬件上做模型量化的思路。
OpenAI 发布 Triton 1.0,这是一门开源的类 Python 编程语言,让没有 CUDA 经验的研究者也能编写高效的 GPU 代码,多数情况下能达到专家水平。
推荐理由:OpenAI 开源 Triton 1.0,让没有 CUDA 经验的研究者也能写出接近专家水平的 GPU 代码。
Hugging Face 联合 Yandex Research 等机构提出 DeDLOC 协作式分布式训练方法,可自适应参与者的网络与硬件条件,并通过 40 名志愿者在互联网上预训练出孟加拉语模型 sahajBERT。
推荐理由:Hugging Face 团队用 40 名志愿者在互联网上预训练出孟加拉语模型,给出了分布式协作训练在真实场景中的可行路径。
Gradio 2.0 发布,可用一行代码为 Hugging Face 模型加载 GUI,默认调用 Hugging Face 托管的 Inference API,也可本地运行 transformers。该版本支持把多个模型并联对比或串联组合,例如用 3 行代码搭建翻译并摘要芬兰语新闻的应用,安装方式为 pip install gradio。
推荐理由:原文给出 Gradio 2.0 一行代码加载 Hugging Face 模型并串联、并联组合的方式,读者可据此判断搭建模型演示的成本变化。