从 PyTorch DDP 到 Accelerate 再到 Trainer:轻松掌握分布式训练
Hugging Face 发布教程,梳理如何用三级递增抽象在多个 GPU 上做分布式数据并行(DDP)训练:原生 PyTorch DDP、Accelerate 轻量封装,以及 Transformer 的高层 Trainer API。Accelerate 的封装无需改代码即可在单 GPU 和 TPU 上运行,只需对原代码做最小改动;Trainer 则抽象掉全部样板代码并支持多种设备和分布式场景。
Hugging Face 发布教程,梳理如何用三级递增抽象在多个 GPU 上做分布式数据并行(DDP)训练:原生 PyTorch DDP、Accelerate 轻量封装,以及 Transformer 的高层 Trainer API。Accelerate 的封装无需改代码即可在单 GPU 和 TPU 上运行,只需对原代码做最小改动;Trainer 则抽象掉全部样板代码并支持多种设备和分布式场景。
Hugging Face 推出 MTEB(Massive Text Embedding Benchmark),覆盖 8 类任务、56 个数据集、最多 112 种语言,目前排行榜已汇总超 2000 条结果。
Hugging Face 宣布用户可直接在 Hub 的仓库设置中为模型或数据集生成 DOI,其他人在模型/数据集页面点击"Cite this model/dataset"即可引用。该功能通过与 DataCite 合作实现,DOI 绑定了对象的 URL、版本、创建日期等元数据,并可通过更新 DOI 来区分模型或数据集的不同版本。
Hugging Face 与 Intel Labs、UKP Lab 合作推出 SetFit,一个用于 Sentence Transformers 小样本微调的框架,无需提示词或 verbaliser。
推荐理由:SetFit 用 Sentence Transformers 的对比训练替代提示词,在 RAFT 上以小模型接近大模型表现,读者可据此了解小样本分类的低成本路径。
Hugging Face 发布教程,讲解如何在 NVIDIA GPU 上用 Megatron-LM 训练 GPT2 语言模型,并转换到 Transformers 使用。Megatron-LM 的优势在于高效 DataLoader 与 Fused CUDA Kernels,还采用了 Apex 的 Fused AdamW,比 PyTorch 实现更快。教程涵盖环境配置、数据预处理、训练和模型转换四步。
本教程介绍如何在 AWS 的 Habana Gaudi DL1 实例上,借助 HF Mirror Transformers、Optimum Habana 和 Datasets 库,用掩码语言建模任务从零预训练 BERT-base。教程涵盖数据集准备、训练词表和预处理数据集的完整流程,并可将产物推送至 HF Mirror Hub。
Hugging Face 阐述其 transformers 库对 TensorFlow 的设计哲学:所有 TensorFlow 模型都应是 Keras Model 对象、所有层都应是 Keras Layer 对象,因此可直接调用 fit()、compile()、predict()。
Hugging Face 发布 Sentence Transformers 训练与微调教程,讲解如何从零构建模型或用 HF Mirror Hub 上的模型微调。
Hugging Face 博客介绍动态对抗数据采集(DADC):让人类在 🤗 Spaces 画布上写数字来骗过 MNIST 模型,再把骗成功的样本标记并回传训练,如此多轮循环。示例模型训练 20 个 epoch,在测试集上达到 89% 准确率。文中称 DADC 长期准确率明显高于标准非对抗数据采集。
Hugging Face 发文详解 176B 参数多语言模型 BLOOM 的训练工程,该模型使用 Megatron-DeepSpeed 在 384 张 80GB A100 上训练约 3.5 个月,消耗约 1M 计算小时。
Hugging Face 发文介绍如何以 Sentence Transformers(ST)入手第一个机器学习项目,该库可将句子、段落和图像计算为稠密向量表示。
Hugging Face 发布指南,演示如何用 Accelerate 库调用 DeepSpeed 的 ZeRO 特性来训练大模型。
Hugging Face 发布《Director of Machine Learning Insights》第 3 期金融版,汇集来自 U.S. Bank、加拿大皇家银行(RBC)、Moody's Analytics 及前 Bloomberg AI 研究科学家的金融 ML 负责人观点。
Hugging Face 深度强化学习课程第三单元讲解 Deep Q-Learning:不再维护 Q-table,改用神经网络根据状态近似每个动作的 Q-value,并在 Space Invaders 等 Atari 环境上训练,训练框架为基于 Stable-Baselines 的 RL-Zoo。
微软提出 TAPEX(Table Pre-training via Execution),通过系统采样可执行 SQL 查询及其执行结果合成预训练语料,让模型学习充当神经 SQL 执行器(以 BART 为例),从而绕开对真实表格数据的依赖。
Hugging Face 推出"Machine Learning Experts"访谈系列,首期嘉宾为研究科学家 Sasha Luccioni,她负责研究机器学习模型与数据集的伦理和社会影响。
Hugging Face 博客发布 Director of Machine Learning Insights 系列第二期 SaaS 特辑,邀请 Salesforce 的 Omar Rahman、Amplitude 的曹晓丹(Danica Xiao)等多位机器学习总监分享观点。
Hugging Face 介绍了如何用 Accelerate 库无需改动代码即可调用 PyTorch FullyShardedDataParallel(FSDP)训练大模型。
HuggingFace AutoTrain 与数据标注平台 Kili 结合,可搭建文本分类的主动学习流水线:先标注数据再迭代重训模型。示例用 Google Play 上约 4 万条 Medium 用户评论,按订阅、内容、界面、用户体验 4 类在多分类项目中标注,再用 AutoTrain 训练模型并做情感分析。
Habana Labs 与 Hugging Face 合作,用 Habana Gaudi 加速 Transformer 训练,训练性价比相比最新 GPU 版 Amazon EC2 实例最高提升 40%。
Hugging Face 发布教程,演示如何用其生态工具搭建机器学习客服系统,自动筛选最不满意的客户消息并优先回复。
Hugging Face Hub 为 huggingface_hub 库新增 emissions_threshold 参数,可按训练排放量筛选模型,例如筛出排放不超过 100 克的 191 个模型、排放超过 500 克的 10 个模型。Transformers 则通过 codecarbon 集成,在 Trainer 训练时自动记录排放数据,生成 emissions.csv 供写入模型卡。
Habana Labs 与 Hugging Face 宣布合作,将 Habana 的 SynapseAI 软件套件与 Hugging Face Optimum 开源库集成,开发者只需几行代码即可在 Habana 处理器上加速 Transformer 训练。
Hugging Face 的 Transformers 库有意不遵循 DRY 原则,转而采用"单模型文件"策略:模型前向传播所需的全部代码只放在一个 model file 中,注意力机制代码因此被复制 50 多次。官方给出的理由包括该库由开源社区共建、建模代码本身就是产品(库已被 fork 超过 10,000 次),以及机器学习领域演进极快、模型发布后基本保持静态,集中抽象反而容易过时。
Hugging Face Hub 上已有超过 215 个公开的情感分析模型,配合 Python 的 transformers pipeline 只需 5 行代码即可完成正负面情绪预测。文章介绍了用预训练模型处理推文、产品评论等数据,并给出用自有数据微调模型的两种方法,涵盖 Twitter-roberta-base-sentiment 等推荐模型。
Hugging Face 的 AutoNLP 与 Explosion 的标注工具 Prodigy 可以组合成主动学习流水线:用 Prodigy 人工标注数据,再用 AutoNLP 训练模型。在 Kaggle 的 BBC News Classification 数据集上,AutoNLP 训练 15 个多分类模型后最佳模型准确率达 98.67%,价格低至每个模型 $10。
Hugging Face 发布教程,介绍如何从零训练 1.5B 参数的 GPT-2 large 模型 CodeParrot,用于自动补全 Python 代码。团队从 GitHub 数据中过滤出 180 GB、2000 万个 Python 文件,去重清洗后得到 50GB 数据集 codeparrot-clean,并基于 GPT-2 分词器在代码上重新训练。
Hugging Face 发布开源 Python 库与无代码界面 Data Measurements Tool,基于 Dataset 和 Spaces Hub 搭配 Streamlit 构建,可在线构建、测量和对比数据集。
在 Intel Xeon Scalable 处理器(Ice Lake 架构)集群上运行 PyTorch 分布式微调,可将 BERT 模型在 MRPC 数据集上的训练任务从单机扩展到 2 台、4 台服务器并测量加速比。
微软与 NVIDIA 发布 Megatron-Turing NLG 530B,被称为全球最大最强的生成式语言模型,训练需数百台 DGX A100 服务器、成本近 1 亿美元。作者质疑这类超大模型的价值,认为基准提升有限却带来高昂成本、复杂度与碳足迹,并建议改用预训练模型、更小模型(如 DistilBERT 保留 97% 语言理解、体积小 40%、速度快 60%)和微调来落地机器学习。
HuggingFace 课程第二部分将于 11 月 15 日发布,聚焦 token 分类、语言建模、翻译、摘要和问答等 NLP 任务,并深入讲解 Datasets 与 Tokenizers。配套社区活动含两天讲座与团队微调项目,AWS 通过 Amazon SageMaker 提供免费算力,完成 demo 可获结业证书。
Hugging Face 在社区周活动中用 10 亿句对训练出 SOTA 句嵌入模型,训练跑在 7 块 TPU v3-8 上。方法采用批内负样本的对比学习目标,配合大批次、难负样本和跨数据集批次提升质量。模型与数据集已在模型卡中开源。
一个跨 12 个时区的团队用 RSICD 遥感数据集微调了 OpenAI 的 CLIP 模型,并辅以 UCM、Sydney 数据集,共约 1 万张来自 Google Earth、百度地图等来源的卫星图像,每张最多配 5 条描述。
Hugging Face 博客介绍分布式协同训练方法 DeDLOC,可自适应参与者的网络与硬件条件,并已用 40 名志愿者预训练出孟加拉语模型 sahajBERT。
Hugging Face 与 Amazon SageMaker 合作推出经 🤗 Transformers 优化的深度学习容器,并可通过 SageMaker Python SDK 中的 HuggingFace estimator 一行代码启动训练。
Hugging Face 工程师分享了构建与调试神经网络的三个心得:先放下机器学习、专注观察数据本身(标签平衡、噪声来源、预处理方式);再回到入门心态跑通逻辑回归、fastText 等简单 baseline 以评估任务难度;最后别怕拆开那些五行代码模板,通过在小批量(如 16 条)上过拟合验证实现是否正确。
HF Mirror 与 PyTorch/XLA 团队合作,将 Cloud TPU 训练支持集成进 HF Mirror 库,用户可在保持原有 Trainer 接口不变的情况下把模型跑在 Cloud TPU 上。
Hugging Face 发布教程,详解如何用 BERT、GPT2 等预训练 encoder 或 decoder checkpoint 热启动 encoder-decoder 模型,跳过昂贵的预训练。
Hugging Face 演示了用改进后的 transformers 和 tokenizers 库从零训练语言模型:构建 84M 参数(6 层、768 隐藏维度、12 个注意力头,与 DistilBERT 层数头数相同)的 EsperBERTo,在 3 GB 世界语语料上预训练,并微调词性标注任务。