Hugging Face 实验:GPT-4 能否像人类标注员那样为模型输出打分
Hugging Face 扩展 Open LLM Leaderboard,用 Scale AI 人类标注与 GPT-4 对 Koala-13B、Vicuna-13B、OpenAssistant-12b、Dolly-12b 在 327 条提示的盲测集上做偏好对比,并构建带误差估计的 Elo 排名。
Hugging Face 扩展 Open LLM Leaderboard,用 Scale AI 人类标注与 GPT-4 对 Koala-13B、Vicuna-13B、OpenAssistant-12b、Dolly-12b 在 327 条提示的盲测集上做偏好对比,并构建带误差估计的 Elo 排名。
Hugging Face 宣布用户可以在 Hub 上的任何数据集上用 DuckDB 运行 SQL 查询。Dataset Viewer 会自动把所有公开数据集转换为 Parquet 文件,可通过 /parquet 端点获取文件 URL;借助 httpfs 扩展,DuckDB 能直接对远程 Parquet 文件执行 SQL,并支持查询被切分为 500MB 分块的大数据集。
推荐理由:官方介绍了用 DuckDB 直接对 Hub 上 5 万多数据集跑 SQL 的方法,读者可以照着把 Parquet 端点和查询代码迁移到自己的数据探索流程。
Hugging Face 博客详解 BigCode 数据集的大规模近似去重方法,核心流程为 MinHash 指纹计算加 LSH 分桶再图聚类去重。
OpenAI 使用 GPT-4 自动为大语言模型中神经元的行为撰写解释并进行评分,并发布了涵盖 GPT-2 每个神经元的解释与评分数据集。OpenAI 说明这些解释并不完美。
推荐理由:OpenAI 用 GPT-4 自动解释并评分 GPT-2 神经元行为并开源数据,为可解释性研究提供了可复用的方法思路。
Hugging Face 发布端到端教程,演示用 TensorFlow 和 TPU 在 WikiText (v1) 数据集上从零训练 RoBERTa base 模型,涵盖训练 Unigram tokenizer、生成 TFRecord 分片上传 GCS、以及用 TPUStrategy 进行数据并行训练。
推荐理由:原文给出从 tokenizer 训练到 TPU 训练的完整流程与代码,读者可据此把 TensorFlow 训练管线迁移到 TPU。
Databricks 向 Hugging Face 代码库提交首个官方贡献:Datasets 新增 from_spark 函数,可将 Apache Spark dataframe 直接转为 Hugging Face Dataset,免去先写 Parquet 再重新加载的繁琐流程。16GB 数据集的处理时间从 22 分钟降至 12 分钟,缩短超过 40%。
Hugging Face 与开源联邦学习框架 Substra 合作创建了一个 Space,演示如何在数据不出本地的前提下训练模型。联邦学习只传输模型权重,多来源数据训练的模型在验证数据上几乎总优于单一来源模型。Substra 已在乳腺癌研究等真实场景落地,并曾支撑 MELLODDY 项目中 10 家药企共享全球最大的小分子活性数据集。
Hugging Face 发布 StackLLaMA 模型及完整 RLHF 训练教程,演示如何将 LLaMA 7B 微调用于回答 Stack Exchange 问答。
推荐理由:Hugging Face 官方复盘 StackLLaMA 全流程训练细节,包括显存估算、LoRA 配置和 RLHF 训练中的稳定性坑,方法可直接迁移复用。
Hugging Face 官方发布 trl 与 peft 的集成,让用户能以更低成本用强化学习微调大语言模型。通过 8-bit 加载(LLM.int8)、低秩适配器以及用 disable_adapters 复用同一模型获取参考与主动 logits,作者在 24GB NVIDIA 4090 上验证了微调 20B gpt-neox 生成正面影评的完整流程,并指出训练速度和多卡扩展是下一步方向。
推荐理由:原文给出 trl 与 peft 集成的完整微调流程和显存拆解,读者可以照此在单张 24GB GPU 上复现大模型 RLHF 训练。
Hugging Face 博客复盘志愿者团队在 2023 年 2 月土耳其地震后开发 afetharita 应用的过程:用 easyocr 加微调 NER 模型从求助推文截图提取姓名、电话和地址,用 bert-base-turkish 系列微调文本分类模型识别庇护、食物、物流等需求,并将地址经地理编码 API 显示在地图上。
Hugging Face 发布 🤗 PEFT 库,集成于 Transformers 与 Accelerate,支持 LoRA、Prefix Tuning、P-Tuning、Prompt Tuning 等参数高效微调方法。
推荐理由:官方介绍 PEFT 库的原理与用法,读者可以据此了解只用少量可训练参数微调大模型的可行路径。
Hugging Face 与 Microsoft ONNX Runtime 团队合作,通过 Optimum 库的 ORTTrainer API 为 Transformer 模型训练加速,配合 DeepSpeed ZeRO Stage 1 在单台 8 卡 Nvidia A100 节点上测得 39% 到 130% 的加速。
Hugging Face 发布博客,系统梳理让对话智能体有用的关键技术 RLHF、IFT、SFT、CoT 与红队测试,并对比 LaMDA、BlenderBot 3、Sparrow、InstructGPT 与 Anthropic Assistant 的训练数据、模型规模与评估标准。文章指出指令微调所需数据远小于预训练,CoT 微调能提升逐步推理任务表现并减少对敏感话题的回避。
推荐理由:文章系统梳理了 RLHF、IFT、SFT、CoT 等技术如何让对话智能体有用,并对比主流模型差异。
Hugging Face 伦理与社会团队发文探讨机器学习中的偏见问题,指出 ML 模型作为社会技术系统会放大会加剧不公的社会趋势,且随部署环境不断演变,任何单一技术手段都难以解决。文章分享了在任务定义、数据集构建和模型训练各阶段应对偏见的经验,并介绍了团队开发的相关分析工具。
Hugging Face 发布长文图解 RLHF,将其拆为预训练语言模型、训练奖励模型、用 PPO 微调三个核心步骤。文中说明人类偏好采用排序而非直接打分以降低噪声,奖励函数含 KL 惩罚以防止策略偏离初始模型,并介绍 TRL、TRLX、RL4LMs 等开源工具及代表性论文,同时指出人类标注成本高、标注者分歧等局限。
推荐理由:这篇官方长文把 RLHF 拆解为预训练、奖励模型和 PPO 微调三步,并梳理开源工具与关键论文,适合建立完整认知。
Hugging Face 宣布对比搜索解码方法进入 transformers 4.24.0,支持 PyTorch 和 TensorFlow,并附 Colab 与在线对比演示。
推荐理由:原文用 GPT-2 和 OPT 的实例对比贪心、nucleus 采样与对比搜索的输出质量,并给出可复用的代码参数。
这是一篇 Hugging Face 教程,讲解如何以三种递进的抽象层级在多 GPU 上进行分布式数据并行(DDP)训练:原生 PyTorch 的 pytorch.distributed 模块、🤗 Accelerate 的轻量封装(代码几乎无需改动即可在单 GPU 和 TPU 上运行),以及 🤗 Transformers 的高层 Trainer API。
Hugging Face 联合 Intel Labs 和 UKP Lab 发布 SetFit,一个无需提示词的少样本文本分类框架。每类仅需 8 个标注样本即可在 Customer Reviews 数据集上媲美用全量 3k 样本微调的 RoBERTa Large;在 RAFT 基准上 355M 参数的 SetFit 超过 PET 和 GPT-3。
推荐理由:官方详解 SetFit 的原理、训练成本和 RAFT 实测数据,并附可复现的训练代码,方便直接上手做少样本分类。
NVIDIA 的 Megatron-LM 是专为 GPU 高度优化的预训练框架,相比 🤗 Accelerate 和 Trainer 更快但上手门槛更高。它通过高效的 DataLoader 和融合 CUDA kernel(包括 Apex 的 Fused AdamW)减少内存搬移、加速训练。
这是一篇教程,讲解如何用 Hugging Face Transformers、Optimum Habana 和 Datasets 库,在 AWS DL1 实例(Habana Gaudi)上以掩码语言建模(MLM)任务从零预训练 BERT-base。
Hugging Face 阐述其 transformers 库对 TensorFlow 的设计理念:所有 TF 模型都应是 Keras Model 对象,所有层都是 Keras Layer 对象,从而可直接使用 fit()、compile()、predict() 等方法。
Nyströmformer 借助 Nyström 矩阵近似方法,将标准自注意力的 O(n²) 时间与内存复杂度降至 O(n)。由于无法直接对 softmax 矩阵采样,该方法从 queries 和 keys 中以 segment means 构建地标点来近似 softmax 矩阵,并配合 1D depthwise convolution 的 skip connection。
Hugging Face 为 🤗 Datasets 库新增音频与图像数据集的文档,包括更新后的 Quickstart 和按模态划分的专属指南。Quickstart 提供 PyTorch 或 TensorFlow 的端到端加载与处理示例,并引入 to_tf_dataset 函数将数据集转换为 tf.data.Dataset。
Hugging Face 深度强化学习课程第 7 单元讲解 Advantage Actor Critic (A2C)。文章指出 Reinforce 因使用 Monte-Carlo 采样估计回报导致策略梯度方差高、训练慢,而 Actor-Critic 架构结合 Actor(策略)与 Critic(价值函数)可降低方差。
Hugging Face 博客讲解动态对抗性数据收集(DADC):让人类构造样本来欺骗 SOTA 模型,再用这些数据多轮迭代训练以提升模型鲁棒性。文章以 MNIST 手写数字识别为例,展示了在 🤗 Spaces 上搭建模型交互 demo、标记(flag)对抗样本并重复训练的完整流程,作者训练的模型 20 epochs 后在测试集达到 89% 准确率。
Hugging Face 详细复盘 176B 参数模型 BLOOM 的训练技术,项目使用 384 张 80GB A100 GPU、350B token 的 59 语言数据集,耗时约 3.5 个月(约 100 万计算小时)。
Hugging Face 深度强化学习课程第 5 单元讲解首个策略梯度方法 Reinforce(Monte Carlo Policy Gradient),并用 PyTorch 从零实现。
OpenAI 发布 VPT(Video PreTraining)方法,利用大规模无标注人类 Minecraft 游玩视频加少量标注承包商数据训练神经网络。经微调后模型可制作钻石工具,该任务熟练人类通常需超过 20 分钟(约 24,000 个操作),模型使用键鼠原生人类接口,被视为迈向通用计算机使用智能体的一步。
推荐理由:原文介绍了用少量标注数据加大规模无标注视频预训练的思路,对理解视频数据训练智能体方法有参考价值。
OpenAI 介绍训练大型神经网络所需的并行技术与工程实践。大型神经网络是近期许多 AI 进展的核心,但训练它们需要编排 GPU 集群来完成单一同步计算,是难度很高的工程与研究挑战。
Hugging Face 深度强化学习课程第 3 单元讲解 Deep Q-Learning:用神经网络替代 Q-table 来近似 Q 值,解决 Q-Learning 无法应对 Space Invaders 这类 256^100800 巨大状态空间的问题。
微软团队提出 TAPEX,通过在合成 SQL 查询及其执行结果上学习神经 SQL 执行器来完成表格预训练,无需真实数据。
Hugging Face 研究科学家 Sasha Luccioni 在 Machine Learning Experts 节目中分享她的职业经历与研究方向。
Hugging Face 发文介绍如何在 Accelerate 库中使用 PyTorch FullyShardedDataParallel(FSDP),无需改动代码即可分片训练大模型。
这是一篇教程,讲解如何用 HuggingFace AutoTrain 和 Kili 搭建文本分类的主动学习流程。文章以 Google Play Store 上约 40130 条 Medium 应用评论为数据集,定义了订阅、内容、界面、用户体验 4 个分类,并对评论做情感分析。
Hugging Face 实战演示如何在 AWS EC2 DL1 实例(配备 8 个 Habana Gaudi 处理器)上微调 BERT:使用 Habana Deep Learning AMI 和 PyTorch 容器。
Hugging Face 官方博客以客户服务为场景,演示如何用其生态工具微调 microsoft/deberta-v3-base,将客户消息按 5 类情感分类以自动过滤最不满意的反馈。
OpenAI 训练出比 GPT-3 更能遵循用户意图、同时更真实且毒性更低的 InstructGPT 模型,采用其对齐研究开发、有人类参与闭环的训练技术。这些模型现已部署为 OpenAI API 的默认语言模型。
推荐理由:OpenAI 官方说明 InstructGPT 的对齐训练思路及其成为 API 默认模型的变化,可帮读者理解当时模型行为取向的调整。
Hugging Face 介绍如何结合其 AutoNLP 框架与 Explosion 的标注工具 Prodigy 搭建主动学习流水线。
OpenAI 宣布可为应用定制 GPT-3,通过一条命令即可完成微调。
Hugging Face 发布教程,展示如何从零训练名为 CodeParrot 的 GPT-2 代码生成模型。
推荐理由:原文从数据清洗到训练和评测完整走一遍预训练流程,方法步骤可迁移到读者自己的代码模型训练。