用 🤗 Transformers、TensorFlow 和 TPU 从零训练语言模型
Hugging Face 发布教程,演示如何用 🤗 Transformers 结合 TensorFlow 和 TPU 从零训练一个 RoBERTa base 模型,涵盖训练 tokenizer、处理 WikiText v1 数据集、生成 TFRecord 分片并上传至 Google Cloud Storage,再到最终模型训练的完整流程。
Hugging Face 发布教程,演示如何用 🤗 Transformers 结合 TensorFlow 和 TPU 从零训练一个 RoBERTa base 模型,涵盖训练 tokenizer、处理 WikiText v1 数据集、生成 TFRecord 分片并上传至 Google Cloud Storage,再到最终模型训练的完整流程。
Databricks 宣布向 Hugging Face 代码库提交首个官方贡献,新增 Datasets 的 from_spark 函数,可直接将 Apache Spark dataframe 转为 Hugging Face Dataset。
Hugging Face 发布教程,演示如何用 Transformers(>= 4.27.2)库完成图分类任务,目前该库中唯一的图 Transformer 模型是微软的 Graphormer。
Hugging Face 与开源联邦学习框架 Substra 合作创建了一个演示空间,让用户体验联邦学习如何在数据不出本地的前提下训练模型。该空间通过控制样本分布,展示联邦学习训练的模型在验证数据上几乎总是优于单一数据源训练的模型。Substra 已在乳腺癌研究等复杂安全环境中落地,并支持过 MELLODDY 项目中 10 家生物制药公司的数据协作。
Hugging Face 发布 StackLLaMA 模型并公开完整 RLHF 训练流程,涵盖监督微调、奖励模型和 PPO 强化学习三个阶段,全部代码集成在 TRL 库中。
推荐理由:Hugging Face 公开了用 RLHF 训练 LLaMA 的完整流程与代码,读者可据此复现并迁移到自己的任务。
Hugging Face 发布教程,演示如何用 Flower 框架在多个客户端上联邦微调 distilBERT 模型,完成 IMDB 影评情感分类任务。教程使用 datasets、evaluate、flwr、torch、transformers 等库,并提供了在 Google Colab 中通过 Flower 模拟功能复现联邦训练的 notebook。
Hugging Face 正式发布 trl 与 peft 的集成,让大语言模型的 RLHF 微调更易上手。文章以 gpt-neox-20b 为例,通过 8-bit 加载、低秩适配器和 disable_adapters 复用同一模型,在 24GB NVIDIA 4090 上完成微调,完整训练则在单张 A100 上运行。作者指出该方案的主要代价是训练速度约慢一倍,后续将探索多 GPU 扩展与提速。
推荐理由:trl 与 peft 集成后,读者可了解在 24GB 消费级 GPU 上完成 20B 模型 RLHF 微调的具体步骤与内存取舍。
2023 年土耳其地震后,志愿者在 Hugging Face 上协作开发了救援地图应用 afetharita,用 easyocr 做 OCR、微调 bert-base-turkish-cased 做地址抽取,并通过 Inference API 部署。团队还用 NLI 模型与微调分类模型识别幸存者的住所、食物、物流等需求,并搭建 Space 对 F1 与召回率进行基准评测。
红队测试通过构造自然语言提示词诱导 LLM 生成有害内容,从而暴露模型漏洞,与对抗攻击不同,其提示词对人类可读。GPT3 早期版本曾表现出性别歧视与针对穆斯林的偏见,微软 Tay 和 Bing 的 Sydney 聊天机器人则是缺乏充分红队评估的反面案例。红队可由人工或另一个 LM 执行,针对经 RLHF 或 SFT 对齐的模型需采用角色扮演等创造性攻击方式,未来需建立多方协作的数据集与最佳实践。
Hugging Face 发布 PEFT 库,提供 LoRA、Prefix Tuning、Prompt Tuning、P-Tuning 等参数高效微调方法,并与 Transformers 和 Accelerate 集成。
推荐理由:官方介绍 PEFT 库支持的微调方法与显存占用,读者可据此判断消费级硬件微调大模型的可行路径。
Hugging Face 发布博客梳理让对话智能体变得有用的关键技术,包括指令微调(IFT)、监督微调(SFT)、思维链(CoT)和基于人类反馈的强化学习(RLHF)。
Hugging Face 发布图机器学习入门博客,梳理图的基本概念、表示方法与学习范式,涵盖从预神经网络方法到图神经网络(GNN),并延伸至用于图的 Transformer。文章还介绍了图级别的生成、演化与预测任务,节点级别的属性预测(如 AlphaFold 预测原子 3D 坐标),以及边级别的缺失边预测在推荐系统中的应用。
Hugging Face 展示了如何在 AWS 的 Intel Sapphire Rapids(第四代 Xeon)裸金属实例集群上分布式训练 PyTorch Transformers,借助 Intel oneAPI CCL 和 IPEX 库,无需改动一行代码即可启用 AMX 指令加速矩阵乘法。
Hugging Face 推出 Model Card Creator Tool 和 Model Card Guide Book,前者提供图形界面,无需编程或 Markdown 即可创建模型卡。同时发布更新版模型卡模板(集成于 huggingface_hub 库)、带注释模板、用户研究及文档现状综述。
Hugging Face 用 Optimum Habana 在 Habana Gaudi2 上跑 BERT 预训练、Stable Diffusion 推理和 T5-3B 微调,结果显示 Gaudi2 训练与推理速度约为 Nvidia A100 80GB 的两倍。
Hugging Face 博客图解 RLHF 的完整流程,将其拆为预训练语言模型、收集人类偏好数据训练奖励模型、用 PPO 微调语言模型三个核心步骤。文中说明奖励模型输出标量奖励,并用 KL 散度惩罚约束策略偏离初始模型,同时介绍了 TRL、TRLX、RL4LMs 等开源实现及 Anthropic 在 Hub 上发布的数据集。
推荐理由:文章把 RLHF 拆成预训练、奖励模型、PPO 微调三步,并梳理了 TRL、TRLX、RL4LMs 等开源工具与主要论文,适合作为理解该流程的入门参考。
Hugging Face 发布《Deep Learning with Proteins》入门指南,面向想入门机器学习的生物学家和想入门生物学的机器学习者,并附上蛋白质语言模型微调(PyTorch、TensorFlow)与 ESMFold 蛋白质折叠(仅 PyTorch)的示例 notebook。
Hugging Face 博客介绍如何用 🤗 Transformers 库中的 Time Series Transformer 在自定义数据集上训练概率时间序列预测模型。该模型基于 Encoder-Decoder Transformer 架构,支持自回归采样和缺失值掩码处理,并以澳大利亚 366 个地区的 tourism_monthly 月度旅游数据集为例演示训练流程。
Hugging Face 宣布用户可直接在 Hub 上为模型或数据集生成 DOI,其他人在模型或数据集页面点击“Cite this model/dataset”即可引用。该功能与 DataCite 合作,注册用户填写元数据后即可获得 DOI,新版本发布时 DOI 可更新、旧版本随之失效。带 DOI 的数据集和模型将永久保留,仅能通过向官方提交请求删除。
Hugging Face 与 Intel Labs、UKP Lab 合作发布 SetFit,一个无需提示词的 Sentence Transformers 少样本微调框架。
推荐理由:原文给出 SetFit 的两阶段训练流程与 RAFT 基准对比,读者可据此判断少样本分类的可用性与成本。
Hugging Face 发布教程,讲解如何在 NVIDIA GPU 上用 Megatron-LM 训练 GPT2 语言模型并接入 Transformers。Megatron-LM 通过高效 DataLoader、Fused CUDA Kernels 和 Apex 的 Fused AdamW 优化器提升训练速度,但上手难度高于 Accelerate 和 Trainer。
Hugging Face 发布教程,演示如何在 AWS DL1 实例上借助 Habana Gaudi 从零预训练 BERT-base,并使用 Transformers、Optimum Habana 和 Datasets 库完成 masked-language modeling 任务。
Hugging Face 发布教程,介绍如何从零构建或微调 Sentence Transformers 模型,涵盖数据准备、损失函数选择、训练与上传 Hugging Face Hub 的完整流程。
Hugging Face 博客介绍动态对抗数据收集(DADC):让用户在与模型交互中刻意"骗过"模型,再把对抗样本用于训练,多轮重复以提升鲁棒性。教程以 MNIST 手写数字识别为例,模型训练 20 个 epoch 后在测试集上达到 89% 准确率,并用 🤗 Spaces 搭建交互与标记(flagging)演示。
Hugging Face 详解 176B 参数多语言模型 BLOOM 的训练技术,该项目由 Thomas Wolf 发起,使用 384 张 80GB A100 GPU、Megatron-DeepSpeed 框架和 350B token 的 59 语言数据集,耗时约 3.5 个月完成。
Hugging Face 发布 BLOOM,一个 176B 参数的多语言大语言模型,可生成 46 种自然语言和 13 种编程语言的文本,是首个完全透明训练的多语言 LLM。
推荐理由:BLOOM 以 176B 参数覆盖 46 种自然语言并公开训练中间检查点,读者可据此了解开放大模型在透明度上的具体做法。
Hugging Face 发布入门指南,以 Sentence Transformers(ST)为例讲解如何从零启动第一个机器学习项目。ST 可将句子、段落和图像转为嵌入向量,并用 util.cos_sim 计算余弦相似度,支持语义搜索、聚类和模型蒸馏等应用。该库在 GitHub 已获近 8,000 stars,超过 3,000 个项目依赖它。
OpenAI 通过 Video PreTraining(VPT)在大量无标注的人类 Minecraft 游戏视频数据集上训练神经网络,仅使用少量承包商标注数据。经微调后,模型能学会制作钻石工具,这一任务通常需要熟练人类花费 20 多分钟、约 24000 次操作。模型使用键盘按键和鼠标移动这类原生人类交互接口,具有较强通用性,是迈向通用计算机使用智能体的一步。
推荐理由:OpenAI 用大量无标注人类游戏视频预训练网络,仅需少量标注数据即可学会制作钻石工具。
大型神经网络是近期许多 AI 进展的核心,但其训练是一项困难的工程与研究挑战,需要协调一整个 GPU 集群来完成单次同步计算。
微软提出 TAPEX,通过让 BART 学习充当神经 SQL 执行器,在合成 SQL 查询语料上完成表格预训练,无需真实数据。该方法在 WikiSQL、TabFact、SQA 和 WikiTableQuestions 四个基准上均取得 SOTA,其中 WikiSQL 准确率达 89.6%,WikiTableQuestions 达 57.5%。
Hugging Face 研究科学家 Sasha Luccioni 在访谈中介绍了她在 Big Science 项目中主持碳足迹工作组的工作,研究范围涵盖 GPU 训练时长、制造成本乃至一封邮件产生的 CO2 排放。她还参与数据工作组,关注数据策展、多语言性与模型训练数据的伦理问题。
Hugging Face 展示了如何用 Accelerate 库无需改代码即可调用 PyTorch 的 FullyShardedDataParallel(FSDP)训练大模型。
HuggingFace AutoTrain 与数据标注平台 Kili 可组合成一套主动学习流水线,用于文本分类。
Hugging Face 与 Habana Labs 合作,将 Gaudi 加速器的性价比优势带入 Transformers,其训练机器学习模型的性价比相比最新 GPU 版 Amazon EC2 实例最高提升 40%。
Hugging Face 发布教育计划,目标在 2023 年底前教会 500 万人机器学习。该计划面向所有人、初学者和教师,提供 NLP、深度强化学习、Gradio 演示构建等免费课程,以及已翻译成 8 种语言的教师工具包。此前 3 月的 ML demo.cratization 巡讲已为 16 个国家超 1000 名学生授课。
Hugging Face 发布博客,演示如何用其生态工具搭建客户服务场景的文本分类系统,将客户消息按满意度分为 very unsatisfied 到 very satisfied 五类,以优先回复最不满意的客户。文章以 Amazon reviews multi 数据集为例,说明如何按任务类型筛选数据集并评估质量与规模,并建议用内部数据训练模型。
Hugging Face Hub 新增 emissions_threshold 参数,可按训练碳排放量筛选模型,例如上限 100 克可筛出 191 个模型,下限 500 克则筛出 10 个。transformers 集成 codecarbon,训练时自动记录排放数据并生成 emissions.csv,方便写入模型卡。
Habana Labs 与 Hugging Face 宣布合作,将 Habana 的 SynapseAI 软件套件与 Hugging Face Optimum 开源库集成,开发者只需几行代码即可在 Habana Gaudi 处理器上加速 Transformer 训练。
Hugging Face Hub 上已有超过 215 个情感分析模型,配合 transformers 的 pipeline 类,5 行 Python 代码即可完成情感分析。Hub 共收录超 27000 个模型,覆盖约 28 种语言,并提供 Colab notebook 供用户用自己的数据测试。
Hugging Face 的 AutoNLP 与 Explosion 的标注工具 Prodigy 可组合成主动学习流水线:用 Prodigy 对 BBC News 数据集做 NER 标注,仅约 20 条样本即可用 AutoNLP 训练模型。