Gradio-Lite 发布:完全在浏览器中运行的无服务器 Gradio
Hugging Face 发布 @gradio/lite,一个借助 Pyodide 让 Gradio 应用完全在浏览器中运行的 JavaScript 库,无需服务器端基础设施。
推荐理由:官方给出在浏览器内运行 Gradio 的完整用法与限制,可据此判断无服务器部署的可行边界。
把模型跑起来的工程实践:推理优化、显存与成本、Serving 架构与基础设施选型。
Hugging Face 发布 @gradio/lite,一个借助 Pyodide 让 Gradio 应用完全在浏览器中运行的 JavaScript 库,无需服务器端基础设施。
推荐理由:官方给出在浏览器内运行 Gradio 的完整用法与限制,可据此判断无服务器部署的可行边界。
Mistral AI 发布 7.3B 参数语言模型 Mistral 7B,采用 Apache 2.0 许可,可无限制使用,并提供了参考实现、vLLM 推理服务器、Skypilot 及 HuggingFace 等使用方式。
推荐理由:Mistral 7B 以 7.3B 参数在多项基准上超过 Llama 2 13B,并给出 Apache 2.0 许可与本地、云端部署路径。
Hugging Face 博客介绍了如何用 PyTorch FSDP 在多节点多 GPU 上微调 Llama 2 70B,并给出配套的 Transformers、Accelerate 与 TRL 配置。
推荐理由:完整给出了 70B 模型多节点微调的三个显存与检查点难题及对应配置解法,可直接迁移到自有训练流程。
Hugging Face 将 AutoGPTQ 库集成进 Transformers,用户可用 GPTQ 算法把模型量化到 8、4、3 甚至 2-bit 精度运行,4-bit 量化精度损失可忽略,小批量下推理速度与 fp16 基线相当。
推荐理由:Hugging Face 官方说明 GPTQ 量化接入 Transformers 的用法与显存收益,可据此判断本地部署大模型的可行路径。
Hugging Face 与 Apple 将 Stable Diffusion XL 基础模型移植到 Core ML,可在运行 macOS 14 公测版的 Apple Silicon Mac 上通过 Swift 应用或 Hugging Face 演示应用运行,目前使用 ORIGINAL attention 实现,refiner 阶段尚未移植。
推荐理由:Hugging Face 与 Apple 把 SD XL 移植到 Core ML 并给出混合位宽量化配方,读者可据此判断 Mac 本地跑大模型的可行路径。
Hugging Face 博客介绍了如何用 Transformers.js 制作实时 ML 网页游戏 Doodle Dash,模型完全在浏览器本地运行。作者基于 Google Quick, Draw!
推荐理由:作者完整走通从微调 MobileViT 到浏览器内实时推理的流程,可迁移到自己的网页 ML 项目。
Hugging Face 介绍了借助 Core ML 新优化在 iPhone、iPad 和 Mac 上加速 Stable Diffusion 的方法,核心是 6-bit palettization 量化,将权重从 16-bit 浮点压到每参数 6 bit,并在推理时逐层解压以节省内存。
推荐理由:Hugging Face 与 Apple 官方给出 6-bit palettization 的量化原理与转换命令,读者可据此把 Stable Diffusion 压到端侧运行。
Hugging Face 发布辅助生成(assisted generation)方法,用一个至少小一个数量级的助手模型生成候选 token,再由主模型一次前向验证,从而减少前向次数、降低文本生成延迟。
推荐理由:Hugging Face 官方给出辅助生成方法的原理与可复现代码,读者可据此判断低延迟推理的落地条件。
Hugging Face 博客介绍如何用 diffusers 在免费版 Google Colab(13GB CPU 内存、15GB T4 显存)上运行 DeepFloyd 的 IF 文生图模型。
推荐理由:以免费 Colab 为约束,展示 8bit 量化与分阶段加载如何把 40GB 权重的 IF 跑起来,方法可迁移到其他大模型部署。
Hugging Face Diffusers 自 0.5.1 版本起支持 Flax,可在 Colab、Kaggle 或 Google Cloud 的 TPU 上运行 Stable Diffusion 推理。
推荐理由:官方教程给出在 TPU 上并行跑 Stable Diffusion 的完整代码路径,可迁移到自己的推理部署。
Hugging Face 介绍 Accelerate 如何借助 PyTorch 特性在内存不足的消费级硬件上加载并推理超大模型,示例可在免费 Colab 实例上运行 OPT-6.7B。
推荐理由:以 OPT-6.7B 到 BLOOM 为例,讲清 Accelerate 如何用 meta device、device map 和分片加载把超大模型跑在普通硬件上。
Hugging Face 发布教程,介绍如何用 DeepSpeed-Inference、Accelerate 和 DeepSpeed ZeRO 为 176B 参数的 BLOOM 模型做快速推理。
推荐理由:文章给出 BLOOM 176B 在多种并行与量化方案下的实测吞吐与显存占用,可据此选择部署路径。
Hugging Face 与 BigScience 将 LLM.int8() 8-bit 量化集成进 transformers 和 accelerate,使 BLOOM-176B 等大模型可在更少 GPU 上运行且性能不降。
推荐理由:Hugging Face 与 BigScience 作者复盘 LLM.int8() 接入 transformers 的工程细节,可看到大模型量化落地的真实难点。
Hugging Face 发布开源库 Optimum,目标是简化 Transformer 模型在特定硬件上的训练与推理优化,首个合作方为 Intel。Optimum 与 Intel Neural Compressor 配合,可对 BERT 等模型做训练后量化、量化感知训练和动态量化,用于 Intel Xeon CPU 部署。
推荐理由:Hugging Face 官方发布 Optimum 开源库,读者可了解其与 Intel Neural Compressor 配合量化 Transformer 的路径。
OpenAI 发布 Triton 1.0,这是一门开源的类 Python 编程语言,让没有 CUDA 经验的研究者也能编写高效的 GPU 代码,多数情况下能达到专家水准。Triton 1.0 以开源形式发布。
推荐理由:OpenAI 官方发布 Triton 1.0,说明无 CUDA 经验的研究者也能写出接近专家水平的 GPU 代码。
Gradio 2.0 发布,可用一行代码为几乎任意 Hugging Face 模型生成 GUI,默认调用 Hugging Face 托管的 Inference API,也可本地运行 transformers 计算。该版本支持并行加载多个模型做对比、串联多个模型构建复杂应用,例如用 3 行代码搭建翻译并摘要芬兰语新闻的应用。安装方式为 pip install gradio。
推荐理由:Gradio 2.0 把 Hugging Face 模型加载与界面搭建压缩到一行代码,读者可据此判断模型演示与组合应用的门槛变化。
Hugging Face 发布开源库 Accelerate,让原始 PyTorch 训练脚本无需重写即可在任意设备上运行。只需在标准训练脚本中加入约五行代码,即可支持单机或多机多 GPU、TPU 以及混合精度训练,并自动处理设备放置。
推荐理由:官方给出五处代码改动即可跑分布式与混合精度的对比,便于判断迁移成本。
Hugging Face 的 transformers v4.2.0 为 Trainer 加入 DeepSpeed 和 FairScale 的 ZeRO 实验性支持,新增 --deepspeed 和 --sharded_ddp 命令行参数。
推荐理由:作者用 t5-large 与 t5-3b 的实测数据对比 FairScale 与 DeepSpeed 的显存与速度收益,可据此判断自己该先试哪种方案。