Hugging Face 谈机器学习中的偏见:Ethics and Society Newsletter #2
Hugging Face 的 Ethics and Society Newsletter 第二期聚焦机器学习中的偏见问题,指出偏见普遍且复杂,单一技术手段难以有效解决。文章梳理了偏见如何从 ML 系统演变为个人与社会风险,并介绍了 Hugging Face 团队在数据集与模型等环节开发的偏见分析工具。
Hugging Face 的 Ethics and Society Newsletter 第二期聚焦机器学习中的偏见问题,指出偏见普遍且复杂,单一技术手段难以有效解决。文章梳理了偏见如何从 ML 系统演变为个人与社会风险,并介绍了 Hugging Face 团队在数据集与模型等环节开发的偏见分析工具。
Hugging Face 博客图解 RLHF 的完整训练流程,将其拆为预训练语言模型、收集人类偏好数据训练奖励模型、用 PPO 微调语言模型三个核心步骤。文中说明奖励模型输出标量奖励,训练时用 KL 散度惩罚策略偏离初始模型,并给出 OpenAI、Anthropic、DeepMind 在模型与奖励模型规模上的不同选择。
推荐理由:把 RLHF 拆成预训练、奖励模型、PPO 微调三步,并列出 TRL、TRLX、RL4LMs 等开源工具与数据成本。
Hugging Face 发布《Deep Learning with Proteins》教程,面向想入门机器学习的生物学家和想入门生物学的机器学习者,并附上蛋白质语言模型微调(PyTorch、TensorFlow)与 ESMFold 蛋白质折叠(仅 PyTorch)的示例 notebook。
借助 Apple 工程师提供的转换脚本和推理代码,Stable Diffusion 现在可以通过 Core ML 在 Apple Silicon 上运行,Hugging Face 已将 v1.4、v1.5、v2 base 和 v2.1 base 的官方权重转换并上传到 Hub。
推荐理由:Hugging Face 与 Apple 合作把 Stable Diffusion 转成 Core ML 权重,读者可据此在 Apple Silicon 上本地跑图并了解不同变体的取舍。
Hugging Face 博客介绍如何用 🤗 Transformers 库中的 Time Series Transformer 完成单变量概率时间序列预测。该模型基于 Encoder-Decoder 的 vanilla Transformer,通过 Ancestral Sampling 自回归生成预测,并借助掩码处理缺失值,无需插补即可训练。
Hugging Face 宣布启动 2023 年实习生项目,开放 8 个岗位,涵盖 Accelerate、Text to Speech、Embodied AI、大语言模型分布式训练框架、LLM 数据集、生成式 ML 社会影响评估和 AI 艺术工具等方向。实习生将与 Hugging Face 导师及对应开源库维护者合作,申请需通过官方招聘门户并注册 Hugging Face 账号。
Hugging Face 与 Jonathan Whitaker 合作的扩散模型课程将于 11 月 28 日发布,免费讲解扩散模型理论与应用。配合课程上线,11 月 30 日将举办社区直播活动,Stable Diffusion 创作者及 Stability AI、Meta 等机构的研究者将带来演讲,聚焦扩散模型概览及构建应用的工具。
Hugging Face 发文梳理 Document AI 的六大用例及对应开源模型,涵盖 OCR、文档图像分类、版面分析、文档解析等任务。
Hugging Face 梳理了其推理方案:模型页上的免费 Inference Widget 与免费 Inference API 可零代码或单次 HTTP 请求调用 Hub 模型,但受速率限制,不建议用于生产。
Hugging Face 与 arXiv 合作,通过 arXivLabs 将 Spaces 集成进论文页面,新增 Demo 标签页,可直接打开社区或作者创建的开源演示。
Hugging Face 在 transformers 4.24.0 中集成了 Contrastive Search 解码方法,PyTorch 和 TensorFlow 均可用。
推荐理由:Hugging Face 把对比搜索集成进 transformers,读者可据此替换现有解码方式并对比生成质量。
Hugging Face 发布用 Diffusers 的 Dreambooth 脚本微调 Stable Diffusion 的实验总结,给出推荐设置:低学习率配合逐步增加训练步数,人脸需要 800-1200 步、batch size 2、LR 1e-6,并建议使用 prior preservation 避免过拟合。
推荐理由:基于大量实验给出 Dreambooth 微调 Stable Diffusion 的超参数建议,可直接用于复现和调参。
Hugging Face 发布教程,介绍如何用 🤗 Transformers 在任意多语种 ASR 数据集上微调 Whisper。教程以 Common Voice 11.0 的印地语为例,用约 8 小时训练数据微调 Whisper small,在测试集上把 WER 从预训练模型的 63.5% 降到 32.0%。
推荐理由:以印地语为例给出 Whisper 多语种 ASR 微调全流程,8 小时数据即可把 WER 从 63.5% 降到 32.0%。
Hugging Face 将 Intel OpenVINO 集成进 Optimum Intel,用户可在多种 Intel 处理器上用 OpenVINO Runtime 对 Transformers 模型执行推理,并借助 NNCF 在数分钟内完成量化以压缩模型体积、降低预测延迟。
Hugging Face 为 🤗 Evaluate 库新增偏见指标与测量方法,用于评估 GPT-2、BLOOM 等因果语言模型的偏见。该工作流先用 🤗 Datasets 中的预设提示词引导模型生成文本,再用 🤗 Evaluate 的指标打分,示例覆盖 Toxicity、Polarity 和 Hurtfulness 三类任务,其中 toxicity 指标基于 R4 Target 仇恨检测模型。
Hugging Face 发布教程,演示如何通过三个递进抽象层级实现多 GPU 分布式训练:原生 PyTorch DDP(torch.distributed)、🤗 Accelerate 轻量封装,以及 🤗 Transformer 的 Trainer API。Accelerate 无需修改代码即可在单 GPU 和 TPU 上运行,Trainer 则抽象掉所有样板代码并支持多种设备和分布式场景。
Hugging Face 发布 MTEB(Massive Text Embedding Benchmark),用于在多种嵌入任务上衡量文本嵌入模型性能,包含 56 个数据集、8 类任务,覆盖最多 112 种语言,榜单已汇总超过 2000 条结果。
推荐理由:MTEB 把 56 个数据集、8 类任务和 112 种语言汇总成统一榜单,读者可据此理解文本嵌入模型的评测口径与选型依据。
Hugging Face 团队复盘了为 BLOOM(176B 参数,bf16 下 352GB)构建推理服务器的优化过程,最终实现延迟降低 5 倍、吞吐提升 50 倍。
推荐理由:Hugging Face 团队复盘 BLOOM 推理优化全过程,从 PP 到 TP、自定义 kernel 的取舍细节对部署大模型有参考价值。
Hugging Face 宣布用户可直接在 Hub 上为模型或数据集生成 DOI,其他人在模型或数据集页面点击“Cite this model/dataset”即可引用。该功能通过与 DataCite 合作实现,注册用户填写元数据后即可获得 DOI,新版本发布时 DOI 可更新、旧版本随之失效。带 DOI 的数据集和模型将永久保存,仅能通过向官方支持提交请求删除。
Hugging Face 在 Hub 上线由 AutoTrain 驱动的 Evaluation on the Hub,无需写代码即可对任意因果语言模型做零样本评估,目前支持最大 66B 参数模型,更大模型的支持即将推出。
Hugging Face 介绍 Accelerate 如何借助 PyTorch 的 meta device、自动 device map 和分片 checkpoint,在显存和内存有限的设备上加载并推理超大模型。
推荐理由:原文拆解了 Accelerate 借助 PyTorch meta device 与分片加载在有限显存下跑大模型的完整流程,方法可直接迁移。
Hugging Face 发布首期 Ethics and Society 通讯,计划按季节在春分、秋分、夏至、冬至发布,由公司内部跨部门开放小组“Ethics and Society regulars”撰写。该通讯聚焦如何将伦理价值落地到机器学习开发中,并介绍了模型与 Spaces 仓库“flag”举报功能、Private Hub、评估库、数据偏差分析代码及训练碳排放追踪工具等近期工作。
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 发布教程,讲解如何在 NVIDIA GPU 上用 Megatron-LM 训练 GPT2 语言模型,并转换到 Transformers 使用。
RAIL Initiative 推出 OpenRAIL 许可框架,并获 Hugging Face 支持,允许 AI 模型免版税开放获取、下游使用与再分发,同时嵌入针对特定关键场景的使用限制条款。该框架主张开源许可证不适配 ML 模型,需在开放与负责任使用之间划界,被视为迈向开放且负责任 ML 开发、使用与获取的许可工具。
Hugging Face Spaces 可通过 3Dmol.js 与 Gradio 的 HTML 组件在浏览器中可视化蛋白质结构,用户输入 4 位 PDB 代码或上传 PDB 文件即可查看。
Hugging Face 发布教程,介绍如何用 Diffusers 库运行 Stable Diffusion 文生图模型。文中给出安装 diffusers==0.10.2 与加载 StableDiffusionPipeline 的代码,并说明 guidance_scale、num_inference_steps 等参数对生成结果的影响。
推荐理由:Hugging Face 官方给出 Stable Diffusion 在 Diffusers 中的完整用法与原理拆解,可据此理解潜空间扩散的组件分工。
Hugging Face 阐述了其 transformers 库在 TensorFlow 上的设计哲学:所有 TensorFlow 模型都是 Keras Model 对象,所有层都是 Keras Layer 对象,用户可直接调用 fit()、compile() 和 predict()。库通过 TFAutoModel 等类一行代码加载预训练模型,并强调应保留 Keras 高层 API 而非绕开它。
Hugging Face 发布教程,讲解如何用 Docker 和 Kubernetes 将上一篇文章中的 Vision Transformer(ViT)本地部署扩展为可服务多用户的集群部署。方案以 TensorFlow Serving 基础镜像容器化 SavedModel,并通过 Google Kubernetes Engine(GKE)管理集群,代码已在配套仓库开源。
Hugging Face 发布教程,讲解如何从零构建或从 Hub 微调 Sentence Transformers 模型,架构为预训练 Transformer(如 distilroberta-base)加池化层。
Hugging Face 发布 Private Hub(PH),为机器学习全生命周期提供统一工具集,支持以安全合规的方式加速从研究到生产的各环节。PH 以 Hugging Face Hub 为核心,后者已托管超 60K 模型、6K 数据集和 6K ML 演示应用,模型覆盖 180 种语言、支持最多 25 个 ML 库。
Hugging Face 于 2022 年 6 月下旬就美国国家 AI 研究资源(NAIRR)中期报告提交了回应,建议任命技术与伦理专家担任顾问、制定模型与数据文档标准、为非技术专家提供低代码或无代码工具。其还建议 NAIRR 监测开源与开放科学的高风险滥用,并通过多语言工具与资源支持多元研究者视角。
Hugging Face 为 🤗 Datasets 补充了音频和图像数据集的文档,Quickstart 新增端到端加载与处理示例,并引入 to_tf_dataset 函数,可将数据集转换为 tf.data.Dataset 供 TensorFlow 或 Keras 训练。
Hugging Face 的 transformers 库在 TensorFlow 下现可通过 XLA 编译文本生成,速度最高提升 100 倍,甚至快于 PyTorch。该功能需 transformers >= 4.21.0,支持采样、贪心解码、Beam Search 及 temperature、max_new_tokens 等参数控制。
Hugging Face 博客介绍动态对抗数据收集(DADC):让用户用千奇百怪的手写数字骗过模型,再把骗成功的样本存下来继续训练,循环多轮以提升鲁棒性。教程以 MNIST 手写数字识别为例,用 🤗 Spaces 搭建交互 demo,模型训练 20 个 epoch 后在测试集上达到 89% 准确率,并通过 flag 机制收集对抗样本。
Hugging Face 披露了 176B 参数多语言模型 BLOOM 的训练技术细节,该模型基于 GPT3 架构,使用 Megatron-DeepSpeed 框架在 384 张 80GB A100 GPU 上训练,耗时约 3.5 个月。训练数据为 59 种语言、350B token,模型词表大小 250,680,采用 3D 并行(数据、张量、流水线并行)方案。
Hugging Face 发布 BLOOM,一个 176B 参数的多语言大语言模型,可生成 46 种自然语言和 13 种编程语言的文本,由 70 多个国家 1000 多名研究者协作完成,在法国 Jean Zay 超算上训练 117 天。
推荐理由:BLOOM 以 176B 参数覆盖 46 种自然语言,并公开训练中间检查点与优化器状态,为研究大模型内部行为提供了少见的开放样本。
Hugging Face 展示了用 Accelerate 库调用 DeepSpeed ZeRO 加速大模型训练的方法,无需改动代码即可启用 ZeRO Stage-2。