用 Diffusers 和 Dreambooth 训练 Stable Diffusion 的实验与调参建议
Hugging Face 用 Diffusers 的 Dreambooth 训练脚本做了大量实验,分析不同超参数对微调 Stable Diffusion 的影响并给出推荐设置。
推荐理由:基于大量实验给出 Dreambooth 微调 Stable Diffusion 的超参数建议,可直接迁移到自己的训练流程。
拿来就能用的实操内容:提示词技巧、工作流搭建、工具用法与踩坑经验。
Hugging Face 用 Diffusers 的 Dreambooth 训练脚本做了大量实验,分析不同超参数对微调 Stable Diffusion 的影响并给出推荐设置。
推荐理由:基于大量实验给出 Dreambooth 微调 Stable Diffusion 的超参数建议,可直接迁移到自己的训练流程。
Hugging Face 发布教程,介绍如何用 🤗 Transformers 在任意多语言 ASR 数据集上微调 Whisper。教程以 Common Voice 11.0 的印地语为例,用约 8 小时训练数据微调 244M 参数的 Whisper small,最佳 WER 为 32.0%,相比预训练模型的 63.5% 提升 31.5 个百分点。
推荐理由:以 8 小时印地语数据微调 Whisper small 的完整流程,WER 从 63.5% 降至 32.0%,可复用的多语言 ASR 微调方法。
Hugging Face Diffusers 自 0.5.1 版本起支持 Flax,可在 Colab、Kaggle 或 Google Cloud 的 TPU 上运行 Stable Diffusion 推理。
推荐理由:Hugging Face 官方给出在 TPU 上用 JAX/Flax 并行跑 Stable Diffusion 的完整步骤与实测耗时,可迁移到多设备推理。
Hugging Face 团队复盘了为 BLOOM 构建推理服务器的优化过程,在数周内实现延迟降低 5 倍、吞吐提升 50 倍。
推荐理由:Hugging Face 团队复盘 BLOOM 推理优化全过程,从 PP 到 TP、自定义 kernel 的取舍细节可供工程实践参考。
Hugging Face 介绍 Accelerate 如何借助 PyTorch 的 meta device、自动 device map 和分片 checkpoint,在显存与内存不足的消费级硬件上加载并运行超大语言模型。
推荐理由:原文拆解了 Accelerate 借助 PyTorch meta device 与分片加载运行超大模型的完整流程,可迁移到本地部署实践。
Hugging Face 发布教程,展示如何用 DeepSpeed-Inference、Accelerate 和 DeepSpeed ZeRO 为 176B 参数的 BLOOM 模型做推理,并给出在 8x80GB A100 上的实测数据。
推荐理由:文章给出 BLOOM 176B 在多种并行与量化方案下的实测吞吐和显存占用,可作为大模型推理部署的选型参考。
Hugging Face 发布教程,介绍如何用 Diffusers 库运行 Stable Diffusion 文生图模型,并解释其 Latent Diffusion 的工作原理。
推荐理由:原文给出 Stable Diffusion 在 Diffusers 中的完整调用方式与自定义推理管线写法,可迁移到其他扩散模型。
Hugging Face 将 LLM.int8() 8-bit 量化集成进 transformers 与 accelerate,可在不损失性能的前提下把大模型显存占用降到约四分之一。
推荐理由:Hugging Face 官方详解 LLM.int8() 量化原理与 transformers 集成细节,并给出实测数据与代码示例。
Hugging Face 官方博客介绍,在 transformers 中用 TensorFlow 做文本生成现在可以通过 jit_compile=True 启用 XLA 编译,速度最高提升 100 倍,部分场景比 PyTorch 快 9 倍。
推荐理由:Hugging Face 官方给出 TensorFlow 文本生成接入 XLA 的一行改法与 padding 技巧,可迁移到实际推理加速。
Hugging Face 博客发布《The Annotated Diffusion Model》,基于 Ho 等人 2020 年的 DDPM 论文,用 PyTorch 逐步实现去噪扩散概率模型。
推荐理由:以 PyTorch 逐步实现 DDPM 并附完整代码,适合想从原理到代码理解扩散模型的读者。
Hugging Face 博客介绍如何利用 Wav2Vec2 的 CTC 结构,在 🤗 Transformers 中对任意长音频做语音识别。
推荐理由:原文给出带 stride 的分块推理方法,读者可据此在长音频和实时场景中复用 Wav2Vec2。
Hugging Face 的 transformers v4.2.0 起为 Trainer 加入 DeepSpeed 和 FairScale 的 ZeRO 实验性支持,新增 --deepspeed 和 --sharded_ddp 命令行参数。
推荐理由:作者用 t5-large 与 t5-3b 的实测数据对比 FairScale 和 DeepSpeed 的显存与速度差异,可据此选择训练方案。
Hugging Face 发布博客,介绍用 transformers 库进行自回归语言生成的多种解码方法,包括贪心搜索、beam search 和采样。
推荐理由:系统梳理贪心、beam search 与采样等解码策略的差异,并给出 transformers 中可直接运行的参数配置。
Hugging Face 发布教程,演示如何用 transformers 和 tokenizers 库从零训练一个语言模型,并以世界语为例训练了 84M 参数(6 层、768 隐藏维度、12 注意力头)的 EsperBERTo。
推荐理由:以世界语为例完整演示从语料、分词器到预训练与下游微调的全流程,可迁移到其他低资源语言。