BLOOM 176B 参数模型训练背后的技术揭秘
Hugging Face 披露了 176B 参数多语言模型 BLOOM 的训练技术细节,该模型基于 Megatron-DeepSpeed 框架、采用 3D 并行技术,在 384 块 80GB A100 GPU 上训练了约 3.5 个月。训练数据为 59 种语言、350B token,模型架构类似 GPT3 并做了改进,词表规模 250,680。
Hugging Face 披露了 176B 参数多语言模型 BLOOM 的训练技术细节,该模型基于 Megatron-DeepSpeed 框架、采用 3D 并行技术,在 384 块 80GB A100 GPU 上训练了约 3.5 个月。训练数据为 59 种语言、350B token,模型架构类似 GPT3 并做了改进,词表规模 250,680。
Hugging Face 发布 BLOOM,一个 176B 参数的多语言大语言模型,可生成 46 种自然语言和 13 种编程语言的文本,由 70 多个国家 1000 多名研究者协作完成,在法国 Jean Zay 超算上训练 117 天。
推荐理由:BLOOM 以 176B 参数覆盖 46 种自然语言,并公开训练中间检查点,可据此了解开放大模型在透明度上的做法。
Hugging Face 展示了用 Accelerate 库调用 DeepSpeed ZeRO 加速大模型训练的方法,无需改动代码即可启用 ZeRO Stage-2。
OpenAI 提出 Video PreTraining(VPT),在大量无标注的人类 Minecraft 游戏视频上训练神经网络,仅使用少量标注的承包商数据。经微调后,模型能学会制作钻石工具,这一任务通常需要熟练人类花费 20 分钟以上、约 24000 次操作。模型使用键盘按键和鼠标移动的原生人类接口,具有较强通用性,是迈向通用计算机操作智能体的一步。
推荐理由:OpenAI 用大量无标注人类游戏视频预训练网络,展示从少量标注数据到通用计算机操作智能体的路径。
OpenAI 训练了批评写作模型,用于描述摘要中的缺陷。人类评估者在看到模型批评后,发现摘要缺陷的频率明显提高。研究还显示,模型越大自我批评能力越强,规模对批评写作的提升大于对摘要写作的提升,这为用 AI 系统辅助人类监督 AI 系统提供了可能。
推荐理由:OpenAI 用自训练模型写批评来辅助人类发现摘要缺陷,并给出模型规模与批评能力的关系。
大型神经网络是近期许多 AI 进展的核心,但训练它们是一项艰巨的工程与研究挑战,需要协调一整个 GPU 集群来完成单次同步计算。
Hugging Face 博客发布《The Annotated Diffusion Model》,基于 Ho 等人 2020 年的 DDPM 论文,用 PyTorch 逐步实现扩散模型。
推荐理由:从 DDPM 论文出发逐步用 PyTorch 复现扩散模型,读者可据此理解前向加噪与反向去噪的完整训练流程。
微软提出 TAPEX,通过让 BART 学习充当神经 SQL 执行器,在合成 SQL 查询语料上完成表格预训练,无需真实数据。该方法在 WikiSQL、TabFact、SQA 和 WikiTableQuestions 四个基准上均取得 SOTA,其中 WikiSQL 准确率达 89.6%,较此前最佳提升 2.3%。
Sempre Health 借助 Hugging Face 的 Expert Acceleration Program 搭建了自动分类并回复患者短信的 NLP 流水线,上线数周后近 20% 的入站消息由该系统自动处理,此前这些消息都会生成工单。该团队原本的规则系统只能覆盖约 80% 的短信,Hugging Face 团队在标签质量和模型选型上提供了指导。
Hugging Face 研究科学家 Sasha Luccioni 在访谈中介绍了她在 Big Science 项目中主持碳足迹工作组的工作,研究范围不止于统计 CO2 排放,还涵盖制造成本乃至一封邮件产生多少 CO2 等维度。
Hugging Face 介绍如何通过 Accelerate 库无需改代码即可使用 PyTorch FullyShardedDataParallel(FSDP)训练大模型。
HuggingFace AutoTrain 与数据标注平台 Kili 可组合成主动学习流水线,用于文本分类任务。AutoTrain 全自动完成数据清洗、模型选择和超参数优化,支持二分类与多标签文本分类、token 分类、抽取式问答、摘要和文本打分,并覆盖英语、德语、法语、西班牙语等语言。
Hugging Face 发布教程,演示如何在 AWS EC2 DL1 实例(搭载 8 颗 Habana Gaudi 处理器)上微调 BERT 模型。使用 bert-large-uncased-whole-word-masking 在 GLUE 的 MRPC 任务上训练 3 个 epoch,耗时 2 分 12 秒,F1 达 0.8968。
Hugging Face 发布博客,演示如何用其生态工具搭建客户服务场景中的情感分类系统,将用户消息分为 very unsatisfied 到 very satisfied 五类,以优先回复最不满意的客户。
Hugging Face Hub 推出 emissions_threshold 参数,可按训练碳排放量筛选模型,例如筛选排放不超过 100 克的模型返回 191 个结果。transformers 集成 codecarbon,训练时自动记录排放数据并生成 emissions.csv,方便写入模型卡。
Habana Labs 与 Hugging Face 宣布合作,将 Habana 的 SynapseAI 软件套件与 Hugging Face Optimum 开源库集成,开发者只需几行代码即可在 Habana Gaudi 处理器上加速 Transformer 训练。
Hugging Face 发布机器学习专家访谈,嘉宾 Margaret Mitchell 曾任 Google 伦理 AI 团队创始人兼联合负责人,现于 Hugging Face 制定伦理 AI 研究协议与包容性招聘体系。她因在微软 Seeing AI 项目中目睹图像数据偏差而转向伦理 AI,指出 ML 团队普遍缺乏相关概念与词汇,且行业"Alpha"文化使女性主导的伦理研究被轻视。
BERT 是 Google AI Language 研究人员于 2018 年开发的 NLP 模型,全称 Bidirectional Encoder Representations from Transformers,可解决情感分析、命名实体识别等 11+ 种常见语言任务。
Hugging Face Hub 上已有超过 215 个公开的情感分析模型,用 Python 的 transformers pipeline 只需 5 行代码即可调用,默认模型对 "I love you" 和 "I hate you" 分别给出 0.9998 和 0.9991 的置信度。指南还介绍了 Twitter-roBERTa-base 等预训练模型,以及用自有数据微调情感分析模型的方法。
Hugging Face 的 AutoNLP 与 Explosion 的标注工具 Prodigy 可组合成主动学习流水线:在 BBC News 分类数据集上,AutoNLP 训练 15 个多分类模型,最佳模型准确率达 98.67%,定价低至每模型 $10。
Hugging Face 发布教程,介绍如何从零训练 GPT-2 large(1.5B 参数)代码生成模型 CodeParrot,用于自动补全 Python 代码。
Hugging Face 发布开源 Python 库与无代码界面 Data Measurements Tool,基于 Dataset 和 Spaces Hub 及 Streamlit 构建,可在线构建、测量和比较数据集。该工具能自动计算词汇量、标签分布、实例长度、重复项及 Zipf 定律拟合度等指标,帮助数据集创建者和用户进行负责任的数据开发。
在 Intel Xeon Scalable(Ice Lake)CPU 集群上分布式微调 BERT,可将训练时间与成本控制在合理范围。
Hugging Face 博客第二部分聚焦用 Intel 软件栈优化 CPU 上的类 BERT 模型推理,实测新一代 Ice Lake Xeon 在多种 NLP 任务上推理速度较上代 Cascade Lake 最高提升 75%。
微软和 NVIDIA 发布 Megatron-Turing NLG 530B,号称全球最大最强的生成式语言模型,但复现该实验的基础设施成本接近 1 亿美元。作者质疑这类超大模型趋势:单台 DGX A100 服务器售价 19.9 万美元、功耗最高 6.5 千瓦,而 2019 年马萨诸塞大学研究显示在 GPU 上训练 BERT 的碳排放约等于一次横跨美国的飞行。
Hugging Face 课程第二部分将于 11 月 15 日发布,聚焦 token 分类、语言建模、翻译、摘要和问答等常见 NLP 任务,并深入讲解 Datasets 与 Tokenizers。配套社区活动包含两天讲座和团队项目,AWS 通过 Amazon SageMaker 提供免费算力,完成项目者可获结业证书。
Hugging Face 在社区周期间用 10 亿句对训练出 SOTA 句嵌入模型,硬件为 7 块 TPU v3-8。方法采用批内负样本的对比学习(InfoNCE/NTXentLoss),并指出更大 batch size、难负样本与跨数据集批次能提升效果。模型与数据集已在模型卡中公开。
一个分布式团队用 RSICD、UCM 和 Sydney 三个遥感数据集对 OpenAI 的 CLIP 进行微调,使其能按文本描述检索卫星图像。训练采用对比学习,并配合图像增强与基于 Marian MT 回译的文本增强来抑制过拟合。微调后的模型已开放下载,并提供在线 demo 供试用。
OpenAI 发布文章介绍用人类反馈总结书籍,目标是扩展人类对 AI 系统在难以评估任务上的监督。材料仅提供摘要,未给出具体方法、数据或结果细节。
Hugging Face 等机构提出 DeDLOC 协作分布式训练方法,可自适应参与者的网络与硬件条件,并用 40 名志愿者预训练出孟加拉语模型 sahajBERT。
推荐理由:DeDLOC 用 40 名志愿者和家用 GPU 预训练出孟加拉语模型,读者可了解分布式协作训练如何绕开算力门槛。
OpenAI 研究发现,通过在小型精选数据集上微调,可以改善语言模型在特定行为价值观方面的表现。
Hugging Face 与 Amazon SageMaker 合作推出优化版 🤗 Transformers 深度学习容器,并在 SageMaker Python SDK 中新增 HuggingFace estimator,一行代码即可启动训练。
Hugging Face 工程师分享构建和调试神经网络的思考流程,建议先放下机器学习、专注分析数据标签与噪声,再从逻辑回归、word2vec、fastText 等简单基线起步,并对照随机预测器评估指标。作者还建议不要迷信五行代码模板,实现后可用 16 条样本做小批量过拟合测试,若无法达到 0 loss 则很可能存在实现错误。
Hugging Face 的 transformers v4.2.0 为 Trainer 加入 DeepSpeed 和 FairScale 的 ZeRO 实验性支持,新增 --deepspeed 和 --sharded_ddp 命令行参数。
推荐理由:作者用 t5-large 与 t5-3b 的实测数据对比 FairScale 与 DeepSpeed 的显存与速度收益,可据此判断自己该先试哪种方案。
Hugging Face 发布教程,介绍如何用 BERT、GPT2 等预训练检查点热启动 encoder-decoder 模型,从而跳过昂贵的预训练阶段。该方法基于 Rothe 等人 2020 年的论文,在多个序列到序列任务上以极低训练成本达到与 T5、Pegasus 等大型预训练 encoder-decoder 模型相当的效果。
Hugging Face Transformers 在 3.1 版本中与 Ray Tune 集成,用户只需在 Trainer 的 hyperparameter_search 中指定 backend="ray" 即可调用 HyperBand、Bayesian Optimization、Population-Based Training 等调参算法。
Hugging Face 发布 PyTorch 扩展 pytorch_block_sparse,其 BlockSparseLinear 可直接替换 torch.nn.Linear,让模型更小更快。
OpenAI 将人类反馈强化学习(RLHF)应用于语言模型训练,使其摘要能力得到提升。
Hugging Face 博客详解 Reformer 模型,它能在不到 8GB 内存下训练长度达 50 万 token 的序列,而 bert-base-uncased 仅支持 512 token。Reformer 通过局部与 LSH 自注意力、分块前馈层、可逆残差层和轴向位置编码四项改造降低内存占用,并已集成进 Transformers 库。
OpenAI 发现,正如在语言上训练的大型 Transformer 模型能生成连贯文本,同一套模型在像素序列上训练后也能生成连贯的图像补全与样本。研究通过建立样本质量与图像分类准确率之间的相关性,表明其最佳生成模型在无监督设定下所包含的特征可与顶级卷积网络竞争。
推荐理由:OpenAI 用同一套 Transformer 架构处理像素序列,并给出生成质量与分类精度的关联证据。