用 Intel Sapphire Rapids 加速 PyTorch Transformers:推理篇
Hugging Face 联合 Intel 测试了 PyTorch Transformers 在第四代 Xeon(Sapphire Rapids)上的推理性能,对比上一代 Ice Lake,在 distilbert-base-uncased、bert-base-uncased、roberta-base 三个模型上测量了 16 与 128 token 句子的单条及批量推理延迟。
Hugging Face 联合 Intel 测试了 PyTorch Transformers 在第四代 Xeon(Sapphire Rapids)上的推理性能,对比上一代 Ice Lake,在 distilbert-base-uncased、bert-base-uncased、roberta-base 三个模型上测量了 16 与 128 token 句子的单条及批量推理延迟。
Hugging Face 发布博客深入解析视觉-语言模型的训练策略,涵盖对比学习、PrefixLM、交叉注意力多模态融合、MLM/ITM 以及免训练方法等五类预训练目标。文章以 OpenAI 的 CLIP 为例说明对比学习如何将图像与文本映射到同一特征空间,并介绍如何用 🤗 Transformers 上手这些模型。
Hugging Face 公布其计算机视觉生态进展:Hub 上已支持 8 项核心视觉任务、超过 3000 个模型和 100 多个数据集,涵盖图像分类、分割、目标检测、深度估计等,并兼容 ViT、Swin、DETR 及 ConvNeXt、ResNet 等架构。
Hugging Face 博客"AI for Game Development"系列第 4 篇讲解如何用 Stable Diffusion 的 Image2Image 生成 2D 游戏资产,并以农场游戏的玉米和镰刀图标为例演示完整流程。
Hugging Face 在 diffusers 中正式支持 LoRA 微调 Stable Diffusion,训练脚本最低只需 11 GB 显存,产出的新增权重文件约 3 MB,比原 UNet 小约一千倍。
推荐理由:Hugging Face 官方给出 LoRA 微调 Stable Diffusion 的完整流程与显存、权重体积数据,可直接照做。
Hugging Face 博客梳理了让对话智能体变得有用的关键技术,包括指令微调(IFT)、监督微调(SFT)、思维链(CoT)和基于人类反馈的强化学习(RLHF)。
推荐理由:梳理 IFT、SFT、CoT 与 RLHF 在对话智能体中的作用,并对比多家早期聊天机器人的训练与评测差异。
Hugging Face 博客"AI for Game Development"系列第 3 篇指出,text-to-3D 目前还无法实际用于游戏开发,生成的 mesh 无法直接用于游戏,仍需大量人工后处理。
Mask2Former 和 OneFormer 两款统一图像分割模型现已集成到 Hugging Face 开源库 transformers 中。Mask2Former 用同一架构解决实例、语义和全景分割,但需分任务训练;OneFormer 仅在全景数据上训练一次即可在三个任务上达到 SOTA,代价是额外的文本编码器带来更高延迟。作者已发布 30 个基于不同数据集训练的 checkpoint。
Hugging Face 发布教程,介绍如何用 Transformers 和 Datasets 库构建图像相似度系统,实现反向图像搜索等信息检索场景。方案采用 ViT 模型(nateraw/vit-base-beans)提取图像嵌入向量,再用余弦相似度匹配候选图像,示例使用 Beans 数据集,也可替换为 Swin Transformer、ConvNeXT、RegNet 等视觉模型。
Hugging Face 博客系列教程第二部分展示如何用 ChatGPT 辅助游戏设计,作者以 5 天开发农场游戏为例,让 ChatGPT 以专业游戏设计师身份给出作物多样性、进阶系统、社交玩法等建议,并据此灰盒实现了前两项。文章同时说明 ChatGPT 基于 Transformer 与 RLHF,常言之凿凿却出错,宜作头脑风暴与加速工具而非开发流程的替代品。
Hugging Face 发布图机器学习入门博客,梳理图的基本概念、表示方式与任务类型,涵盖图生成、节点/边属性预测、缺失边预测和社区检测等。文章从非神经方法讲到图神经网络(GNN),并进一步介绍用于图的 Transformer。
Hugging Face 展示了如何在 AWS 的 Intel Sapphire Rapids(第四代 Xeon)CPU 集群上加速 PyTorch Transformer 训练,借助 Intel CCL 做分布式、IPEX 自动启用 AMX 指令,无需改动一行代码。
Hugging Face 博客推出"AI for Game Development"系列教程,演示如何在 5 天内用 AI 工具做出一个完整农场游戏。
Hugging Face 发布指南,介绍如何通过 transformers 使用零样本图像分割模型 CLIPSeg。该模型在冻结的 CLIP 之上训练 Transformer 解码器,可生成粗略分割掩码,用于机器人感知、图像修复等任务,并支持文本或图像作为提示进行视觉提示。CLIPSeg 使用 352 x 352 像素图像,输出分辨率较低,如需更精细结果可在 Segments.ai 上微调优化。
Hugging Face 伦理与社会团队发布第二期通讯,讨论机器学习中的偏见问题,指出偏见普遍且复杂,单一技术手段难以有效解决。文章强调 ML 模型作为社会技术系统会放大社会趋势,需结合部署场景持续监测,并介绍了团队开发的偏见分析工具,覆盖任务定义、数据集整理和模型训练各阶段。
Hugging Face 发布音频数据集使用指南,介绍如何通过 🤗 Datasets 的 load_dataset 函数一行代码下载并准备音频数据。目前 Hub 上已有 77 个语音识别数据集和 28 个音频分类数据集,并支持 Dataset Preview 在线试听样本。以 GigaSpeech 为例,其提供从 xs(10 小时)到 xl(10,000 小时)五种规模配置。
Habana Gaudi2 在 BERT 预训练和 Stable Diffusion 推理上约为 Nvidia A100 80GB 的两倍速度。BERT 预训练中 Gaudi2 吞吐达 1580.2 samples/s(BS=32),A100 为 981.6;Stable Diffusion 推理延迟 0.925s/img,A100 为 2.63s。
Hugging Face 发布图解 RLHF 的教程文章,把训练流程拆成预训练语言模型、收集偏好数据训练奖励模型、用 PPO 微调语言模型三个核心步骤。文章指出奖励模型输出标量奖励,训练时用 KL 散度惩罚约束策略偏离初始模型,并介绍了 TRL、TRLX、RL4LMs 等开源 RLHF 工具。文中还提到人类标注成本高、标注者意见不一致等局限,以及离线 RL、ILQL 等尚未充分探索的方向。
推荐理由:把 RLHF 拆成预训练、奖励模型、PPO 微调三步,并梳理了开源实现与已知局限,适合作为入门框架参考。
Hugging Face 发布面向生物学家与机器学习者的蛋白质深度学习入门文章,并附上微调蛋白质语言模型(PyTorch、TensorFlow)和用 ESMFold 做蛋白质折叠(仅 PyTorch)的示例 notebook。文章从 2018 年 ULMFiT 与 BERT 讲起,说明迁移学习如何把预训练知识复用到新任务,并指出其效果常相当于 100 倍以上的训练数据。
Hugging Face 博客介绍如何用 🤗 Transformers 库中的 Time Series Transformer 完成单变量概率时间序列预测。该模型基于 Encoder-Decoder Transformer 架构,通过 Ancestral Sampling 自回归生成预测,并支持将缺失值作为额外 mask 参与训练而无需插补。
中国科学技术大学与微软提出 VQ-Diffusion,一种在量化隐空间上执行加噪与去噪的条件扩散模型,隐空间由离散向量集合构成。该模型使用冻结的 VQ-VAE 编码图像,并以编码器-解码器 Transformer 近似反向过程,一次前向即可预测全部未加噪隐变量的分布。
Hugging Face 发文梳理 Document AI 的六大用例及对应开源模型,涵盖 OCR、文档图像分类、版面分析、文档解析等任务。文档图像分类中,LayoutLMv3 和 Donut 等多模态模型在 RVL-CDIP 上可达 95% 准确率,优于 BERT-base 的 89% 和纯视觉 DiT 的 92%。
Hugging Face 发布教程,演示如何用 Concrete-ML 库在完全同态加密(FHE)环境下构建情感分析模型,无需任何密码学背景。流程包括用 BERT 提取文本隐藏表示、训练 XGBoost 分类器,再将预测转为加密数据上的预测,并通过客户端/服务器协议部署到云端,最后在 Hugging Face Spaces 提供完整演示。
Hugging Face 在 transformers 4.24.0 中加入对比搜索(Contrastive Search)解码方法,PyTorch 和 TensorFlow 均可用。
Hugging Face 用 🧨 Diffusers 的 Dreambooth 训练脚本做了大量实验,分析不同超参数对微调 Stable Diffusion 的影响并给出推荐设置。
推荐理由:基于大量实验给出 Dreambooth 微调 Stable Diffusion 的超参数建议,可迁移到自己的训练流程。
Hugging Face 发布教程,介绍如何用 Transformers 在任意多语言 ASR 数据集上微调 Whisper,涵盖 Common Voice 数据准备、特征提取器与 tokenizer 配置、训练评估及 Gradio 演示的完整代码。
推荐理由:原文给出用 Transformers 微调 Whisper 的完整代码流程,并附 8 小时数据把 WER 从 63.5% 降到 32.0% 的实测结果。
Hugging Face 为 🤗 Evaluate 库新增偏见评估指标,可对 GPT-2、BLOOM 等因果语言模型进行基于提示词的偏见检测。工作流分两步:用 🤗 Datasets 上的预设提示词生成文本,再用 🤗 Evaluate 的指标打分,覆盖 Toxicity、Polarity、Hurtfulness 三类任务。
Hugging Face 发布教程,演示如何通过三个递进抽象层级实现多 GPU 分布式训练:原生 PyTorch DDP(torch.distributed)、🤗 Accelerate 轻量封装(无需改代码即可支持单 GPU 和 TPU)、以及 🤗 Transformer 的 Trainer API。
Hugging Face 推出 Inference Endpoints,支持从 Hub 直接部署模型到托管基础设施,几步点击即可完成。该服务提供 Public、Protected、Private 三种访问级别,Private 模式通过 AWS PrivateLink 的 VPC Endpoint 接入,仅限指定 AWS 账户访问。
Hugging Face Diffusers 自 0.5.1 版起支持 Flax,可在 Colab、Kaggle 或 Google Cloud 的 TPU 上快速推理 Stable Diffusion。
推荐理由:Hugging Face 官方给出在 TPU 上用 JAX/Flax 跑 Stable Diffusion 的完整步骤与并行原理,可迁移到多设备推理。
Hugging Face 分享了 BLOOM(176B 参数、bf16 下 352GB)推理服务的优化过程,数周内将延迟降低 5 倍、吞吐提升 50 倍。团队先用 Megatron-Deepspeed 训练,再由 Younes 耗时近一个月、200 次 commit 移植到 transformers,并借助 accelerate 的 device_map="auto" 做流水线并行分片。
Hugging Face 撰文解释 Accelerate 如何借助 PyTorch 在内存和显存不足的消费级硬件上加载并运行超大模型。它先用 meta device 创建空模型并计算 device map,再按分片逐步加载权重,把层分配到多张 GPU、CPU 内存乃至磁盘,最后通过 hooks 在每次前向传播前后搬运权重。
推荐理由:原文拆解了 Accelerate 借助 PyTorch meta device 与分片加载在有限显存下跑大模型的完整流程,可迁移到自己的推理部署。
Hugging Face 发布教程,展示如何用 DeepSpeed-Inference、Accelerate 和 DeepSpeed ZeRO 为 176B 参数的 BLOOM 做推理,并给出 8x80GB A100 上的吞吐基准。
Hugging Face 发布教程,演示如何用 transformers 库的 Trainer 和自定义 Data Collator,从零训练一个离线 Decision Transformer,让 HalfCheetah 机器人学会奔跑。
Hugging Face 发布教程,讲解如何在 NVIDIA GPU 上用 Megatron-LM 训练 GPT2 语言模型并转换到 Transformers。
Hugging Face 发布教程,介绍如何用 3Dmol.js 和 Gradio 的 HTML block 在 Hugging Face Spaces 中可视化蛋白质结构,应用可接受 4 位 PDB 代码或上传 PDB 文件,从 RCSB 蛋白数据库获取并展示结构。
Hugging Face 发布教程,演示如何在 AWS DL1 实例上借助 Habana Gaudi 从零预训练 BERT-base,使用 Transformers、Optimum Habana 和 Datasets 库,以 masked-language modeling 为预训练任务。
Hugging Face 发布教程,介绍如何用 diffusers 库运行 Stable Diffusion,并解释其潜空间扩散模型的工作原理。
推荐理由:Hugging Face 官方给出 Stable Diffusion 在 diffusers 中的完整用法与原理拆解,可据此理解潜空间扩散的组件分工。
Hugging Face 展示了如何将 🤗 Transformers 中的 ViT B/16 模型部署到 Google Cloud 的 Vertex AI 平台,用比 Kubernetes 方案更少的代码实现同等扩展能力。
Hugging Face 发布教程,演示如何用 Optimum Graphcore 库在 Graphcore IPU 上微调预训练 Vision Transformer(ViT)模型。