Hugging Face 集成 bitsandbytes 4bit 量化与 QLoRA,降低 LLM 使用门槛
Hugging Face 与 bitsandbytes 合作,在 transformers 中支持 4bit 量化加载,并集成 Dettmers 等人新提出的 QLoRA 微调方法。
推荐理由:官方详细讲解 transformers 中 4bit 量化和 QLoRA 的用法与配置,附带在消费级 GPU 上微调 Llama 7B/13B 的实测结果。
把模型跑起来的工程实践:推理优化、显存与成本、Serving 架构与基础设施选型。
Hugging Face 与 bitsandbytes 合作,在 transformers 中支持 4bit 量化加载,并集成 Dettmers 等人新提出的 QLoRA 微调方法。
推荐理由:官方详细讲解 transformers 中 4bit 量化和 QLoRA 的用法与配置,附带在消费级 GPU 上微调 Llama 7B/13B 的实测结果。
Hugging Face 在 Transformers 中推出 Assisted Generation 解码方法,用小模型生成候选 token、大模型前向传播验证,降低自回归文本生成延迟。
推荐理由:原文解释了文本生成延迟来自内存带宽而非计算,并给出 Assisted Generation 的原理、代码和延迟数据,方法可直接复现。
Hugging Face 发布端到端教程,演示用 TensorFlow 和 TPU 在 WikiText (v1) 数据集上从零训练 RoBERTa base 模型,涵盖训练 Unigram tokenizer、生成 TFRecord 分片上传 GCS、以及用 TPUStrategy 进行数据并行训练。
推荐理由:原文给出从 tokenizer 训练到 TPU 训练的完整流程与代码,读者可据此把 TensorFlow 训练管线迁移到 TPU。
Hugging Face 宣布 diffusers 正式支持用 LoRA 对 Stable Diffusion 做全量微调和 Dreambooth 训练。
推荐理由:Hugging Face 官方介绍 diffusers 支持 LoRA 微调 Stable Diffusion,给出训练脚本、显存需求和推理加载流程,方法可直接复现。
Hugging Face 发布教程,介绍如何用 Intel 第四代 Xeon(Sapphire Rapids)CPU 集群在 AWS 上加速 PyTorch 训练。
推荐理由:原文给出在 Intel Sapphire Rapids CPU 集群上做分布式训练的完整步骤和实测数据,读者可以照搬这套方法。
Hugging Face 联合 Apple 将 Stable Diffusion 权重转换为 Core ML 格式并上传 Hub,支持 v1.4、v1.5、v2 base 和 v2.1 base,可在 Apple Silicon 的 CPU、GPU 和 Neural Engine 上运行。
推荐理由:原文给出在 Apple Silicon 上用 Core ML 跑 Stable Diffusion 的转换与推理方法,包括 Python 和 Swift 两条路径及性能变体选择,可迁移到自己的工作流。
Hugging Face 基于大量实验讲解如何用 🧨 Diffusers 的 train_dreambooth.py 微调 Stable Diffusion,并给出推荐设置:低学习率配合逐步增加步数,人脸训练约需 800-1200 步(batch size 2、LR 1e-6),训练人脸时应使用 prior preservation 防止过拟合。
推荐理由:Hugging Face 用多组实验给出 Dreambooth 微调 Stable Diffusion 的学习率、步数、先验保留等关键超参建议,可直接照做。
Hugging Face 团队发布长文,复盘为 BLOOM(176B 参数、352GB)搭建高效推理服务器的完整过程,最终实现约 5 倍延迟降低(350ms/token 降至 71ms/token)和 50 倍吞吐提升。
推荐理由:原文复盘了把 BLOOM 推理延迟从 350ms 降到 71ms 的完整优化路径,从 profiling 到自定义 kernel 都有可迁移的方法细节。
Hugging Face 官方详解 Accelerate 如何在普通硬件上加载并运行超大模型,示例可在免费 Colab 上运行 OPT-6.7B。
推荐理由:官方详解 Accelerate 借助 PyTorch meta device、分片加载与 hooks 实现超大模型推理的完整原理,方法可直接复用。
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 控制形状和一行代码启用的可复用方法。
Hugging Face 发布 Gradio 3.0,这是 Gradio 库的全面重设计。新版本基于 Svelte 重建前端,页面加载更快、载荷更小,改进了 Dataframe 等组件并新增 Gallery、TabbedInterface;同时推出底层 Blocks API,支持自定义布局、多步数据流和根据用户输入改变组件属性或可见性。
推荐理由:官方介绍了 Gradio 3.0 的前端重设计和新 Blocks API 能力,想用 Python 构建自定义 ML 演示界面的读者可以了解能做什么。
Hugging Face 博客讲解如何利用 Wav2Vec2 的 CTC 架构特性,对任意长的音频文件乃至实时流做高质量语音识别。
推荐理由:原文解释如何利用 CTC 架构加重叠分块让 Wav2Vec2 处理任意长音频和实时推理,方法可直接用 pipeline 复现。
Hugging Face 发布教程,讲解如何用 Gradio 集成和 Spaces 托管 Hub 模型的演示应用。定义 Interface 并调用 .launch() 即可运行演示,底层通过 Inference API 支持 Transformers、spaCy、SpeechBrain 等框架以及 image-to-text、speech-to-text 等模型类型。
推荐理由:官方教程给出几行代码即可在 Spaces 托管 Hub 模型演示的方法,含自定义模型部署和串联多模型的示例。
OpenAI 发布开源的类 Python 编程语言 Triton 1.0,供编写神经网络 GPU 代码。没有 CUDA 经验的研究者也能写出高效 GPU 代码,多数情况下效率与专家产出相当。
推荐理由:原文说明无 CUDA 经验的研究者也能用它写出接近专家水平的 GPU 代码,可据此评估对研究工作流的影响。
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 中复用。
Microsoft 向 OpenAI 投资 10 亿美元,支持其构建惠益广泛分布的 AGI。双方将在 Microsoft Azure 内共同开发可扩展至 AGI 的软硬件平台和新的 Azure AI 超算技术,Microsoft 将成为 OpenAI 的独家云提供商。
推荐理由:OpenAI 官方宣布与 Microsoft 的投资与合作细节,涵盖资金规模和 Azure 独家云协议,可用于理解双方后续算力布局的起点。