Hugging Face 从零训练 GPT-2 代码生成模型 CodeParrot
Hugging Face 发布教程,介绍如何从零训练 GPT-2 large(1.5B 参数)代码生成模型 CodeParrot,可自动补全 Python 代码。
Hugging Face 发布教程,介绍如何从零训练 GPT-2 large(1.5B 参数)代码生成模型 CodeParrot,可自动补全 Python 代码。
Hugging Face 发布开源 Python 库与无代码界面 Data Measurements Tool,基于 Dataset 和 Spaces Hub 及 Streamlit 构建,可在线构建、测量和比较数据集。该工具能自动计算缺失值、词汇量、标签分布、实例长度、重复项及 Zipf 定律拟合度等指标,帮助数据集创建者和用户进行负责任的数据开发。
Hugging Face 博客展示了如何在 Intel Xeon Scalable(Ice Lake)CPU 集群上加速 PyTorch 分布式微调:借助 Intel extension for PyTorch 和 oneCCL 通信库,在 MRPC 数据集上微调 BERT 模型,从单机扩展到 2 台、4 台服务器并测量加速比。
微软和 NVIDIA 发布 Megatron-Turing NLG 530B,号称全球最大最强的生成式语言模型,但复现成本接近 1 亿美元,单台 DGX A100 服务器售价 19.9 万美元、功耗达 6.5 千瓦。
Hugging Face 课程第二部分将于 11 月 15 日发布,聚焦 token 分类、语言建模、翻译、摘要和问答等 NLP 任务,并深入讲解 Datasets 与 Tokenizers。配套社区活动包含两天讲座和团队项目,AWS 通过 Amazon SageMaker 提供免费算力,完成项目者可获结业证书。
Hugging Face 在社区周期间用 10 亿句对训练出 SOTA 句嵌入模型,硬件为 7 块 TPU v3-8,并获得 Google Flax、JAX 与 Cloud 团队指导。训练采用批内负样本的对比学习目标(InfoNCE/NTXentLoss),通过增大 batch size、引入 hard negatives 和跨数据集组批提升效果。模型与数据集已在模型卡中公开。
一个跨 12 个时区的团队用 RSICD、UCM 和 Sydney 三个遥感数据集微调了 OpenAI 的 CLIP,使其能按文本描述检索卫星图像。训练采用对比学习,并用 Torchvision 图像增强与 Marian MT 回译文本增强抑制过拟合。模型、项目页与 demo 均已公开,可用于以文本查询大规模卫星图像库。
OpenAI 利用人类反馈来扩展 AI 系统在难以评估任务上的监督能力,并将其应用于书籍摘要。
Hugging Face 团队提出 DeDLOC 协作式分布式训练方法,可自适应参与者的网络与硬件条件,并用 40 名志愿者在互联网上预训练出孟加拉语模型 sahajBERT。
推荐理由:Hugging Face 团队用 40 名志愿者在互联网上预训练出孟加拉语模型,给出了分布式协作训练在真实场景中的完整方法与评测结果。
OpenAI 研究发现,通过在小型精选数据集上微调,可以改善语言模型在特定行为价值观方面的表现。
Hugging Face 与 Amazon SageMaker 合作推出优化版 Deep Learning Containers,配合 SageMaker Python SDK 中的 HuggingFace estimator,一行代码即可启动训练。
Hugging Face 工程师分享构建和调试神经网络的思考流程:先放下机器学习、专注分析数据,再从逻辑回归、word2vec、fastText 等简单基线起步,并敢于拆开那些"5 行代码"模板看内部实现。作者建议实现完成后先尝试过拟合 16 个样本的小批量数据,若无法达到 0 loss,很可能实现有误,而非模型表达能力不足。
Hugging Face 与 PyTorch/XLA 团队合作,让 Trainer 模块可直接在 Cloud TPU 上训练模型,用户保持原有 Hugging Face trainers 接口不变。
Hugging Face 发布教程,介绍如何用 BERT、GPT2 等预训练检查点热启动编码器-解码器模型,跳过昂贵的预训练阶段。基于 Rothe 等人 2020 年的论文,该方法在多个序列到序列任务上以极低训练成本达到与 T5、Pegasus 等大型预训练模型相当的效果,并附有 🤗Transformers 的完整代码示例。
Hugging Face Transformers 在 3.1 版本中与 Ray Tune 集成,用户只需添加几行代码即可调用 HyperBand、Bayesian Optimization、Population-Based Training 等调参算法。
Hugging Face 发布 PyTorch 扩展 pytorch_block_sparse,其 BlockSparseLinear 可直接替换 torch.nn.Linear,让语言模型更小更快。
OpenAI 将人类反馈强化学习(RLHF)应用于语言模型训练,使其在摘要任务上表现更好。
OpenAI 发现,正如在语言上训练的大型 Transformer 模型能生成连贯文本,同一模型在像素序列上训练后也能生成连贯的图像补全和样本。通过建立样本质量与图像分类准确率之间的相关性,研究显示其最佳生成模型在无监督设置下所含特征可与顶级卷积网络竞争。
推荐理由:OpenAI 用同一 Transformer 架构处理像素序列,并给出生成质量与分类精度的关联证据。
OpenAI 发布论文《Language models are few-shot learners》,探讨语言模型的少样本学习能力。该页面正文抓取失败,仅标题可用。
OpenAI 发布分析称,自 2012 年以来,在 ImageNet 分类上训练神经网络达到同等性能所需的算力每 16 个月减少一半。相比 2012 年,训练到 AlexNet 水平所需算力减少 44 倍,而同期摩尔定律只带来 11 倍的成本改善。OpenAI 认为,在近期投入较高的 AI 任务上,算法进步带来的收益超过传统硬件效率提升。
推荐理由:OpenAI 用 ImageNet 训练算力数据量化算法进步速度,可与摩尔定律对比理解 AI 效率来源。
Hugging Face 发布教程,演示如何用 transformers 和 tokenizers 库从零训练一个语言模型,并以世界语为例训练了 84M 参数(6 层、768 隐藏维度、12 注意力头)的 EsperBERTo。
推荐理由:以世界语为例完整演示从语料、分词器到预训练与下游微调的全流程,可迁移到其他低资源语言。
OpenAI 发现双下降现象同样出现在 CNN、ResNet 和 Transformer 中:随着模型规模、数据规模或训练时间增加,性能先提升、再变差、然后再次提升。这种效应通常可通过精细的正则化避免,但其成因尚不完全清楚,OpenAI 将其视为重要研究方向。
OpenAI 发布 Procgen Benchmark,包含 16 个易于使用的程序生成环境,用于直接衡量强化学习智能体学习可泛化技能的速度。
OpenAI 用人类反馈对 774M 参数的 GPT-2 语言模型进行微调,在多项任务上成功匹配外部人类标注者的偏好,但这些偏好并不总与 OpenAI 自身一致。在摘要任务中,标注者偏好直接从输入中整句复制的内容,模型因此学会了复制;摘要任务需要 6 万条人类标注,而按不同风格续写文本等更简单的任务只需 5 千条。OpenAI 表示其动机是让安全技术更接近“机器与人对话”这一通用任务。
推荐理由:OpenAI 用人类偏好微调 GPT-2 的早期实验,展示了不同任务所需标注量的差异,以及标注者偏好与研究者预期不一致的现象。
OpenAI 开发了 Sparse Transformer,一种深度神经网络,在预测文本、图像或声音序列中下一个内容的任务上创下新纪录。它通过对注意力机制做算法改进,从比此前长 30 倍的序列中提取模式。
推荐理由:OpenAI 用稀疏注意力把序列建模长度提升 30 倍,可了解长序列建模的早期技术路线。
OpenAI 在能量模型(EBM)的稳定可扩展训练上取得进展,样本质量和泛化能力优于现有模型。EBM 生成通过投入更多算力持续精修答案,在低温下可生成与 GAN 媲美的样本,同时具备似然类模型的模式覆盖保证。
OpenAI 训练了一个大规模无监督语言模型,能生成连贯的段落文本,在多项语言建模基准上达到当时最优表现。该模型无需针对性训练即可完成基础阅读理解、机器翻译、问答和摘要等任务。
推荐理由:OpenAI 公布一个无监督语言模型,在多项语言任务上无需针对性训练即可完成,可据此了解早期大模型的能力边界。
OpenAI 发现梯度噪声尺度这一统计指标能预测神经网络训练在多种任务上的可并行性。由于复杂任务梯度噪声更大,未来更大的 batch size 可能变得有用,从而消除 AI 系统继续扩展的一个潜在限制。研究还表明神经网络训练并非神秘技艺,而是可以被严谨化和系统化。
OpenAI 开发了一种基于能量的模型,仅需五次演示即可学会识别并生成以 2D 点集表达的概念,如 near、above、between、closest 和 furthest。该模型还能实现跨域迁移:将 2D 粒子环境中习得的概念用于解决 3D 物理机器人任务。
OpenAI 用 Transformer 与无监督预训练结合的可扩展、与任务无关的系统,在一系列多样化语言任务上取得当时最优结果,并对外发布了该系统。OpenAI 表示,这一结果说明监督学习方法与无监督预训练搭配效果很好,希望推动在更大、更多样的数据集上继续探索这一思路。
推荐理由:OpenAI 用 Transformer 加无监督预训练在多项语言任务上取得当时最优结果,并公开了这套与任务无关的系统。
OpenAI 发布一项分析,指出自 2012 年以来最大规模 AI 训练所用算力呈指数增长,翻倍周期为 3.4 个月,而摩尔定律的翻倍周期为 2 年。该指标自 2012 年以来增长超过 300,000 倍,若按 2 年翻倍则仅增长 7 倍。OpenAI 表示算力提升是 AI 进展的关键组成部分,若这一趋势延续,值得为远超当前能力的系统做准备。
推荐理由:OpenAI 用 3.4 个月翻倍这一量化指标,给出 AI 训练算力增速与摩尔定律的对比参照。
OpenAI 发布实验性元学习方法 Evolved Policy Gradients(EPG),通过进化学习智能体的损失函数,使其能在新任务上快速训练。经 EPG 训练的智能体在测试时可完成训练范围之外的基础任务,例如学会导航到房间中与训练时位置相反一侧的物体。
OpenAI 推出 Retro Contest 迁移学习竞赛,用于衡量强化学习算法从既往经验中泛化的能力。
OpenAI 开发出可扩展的元学习算法 Reptile,通过反复采样任务、执行随机梯度下降并将初始参数朝该任务学到的最终参数更新。Reptile 是 Shortest Descent 算法在元学习场景的应用,数学上与一阶 MAML 相似,只需黑盒访问 SGD 或 Adam 等优化器,计算效率与性能相近。
OpenAI 构建了一套实体消歧系统,通过神经网络判断一个词是否属于约 100 个自动发现的“类型”(非互斥类别),从而自动确定该词指代的是哪个对象。
OpenAI 发布面向块稀疏权重神经网络的高度优化 GPU 内核,按所选稀疏度可比 cuBLAS 或 cuSPARSE 快数个数量级。该内核已用于文本情感分析以及文本和图像生成建模,并取得 SOTA 结果。
OpenAI 发现自博弈能让模拟 AI 在未专门设计环境的情况下,自行学会擒抱、闪避、假动作、踢球、接球和扑球等身体技能。自博弈还能让环境难度始终与 AI 水平匹配,便于持续提升。结合 Dota 2 的自博弈结果,OpenAI 表示对自博弈将成为未来强大 AI 系统的核心部分更有信心。
推荐理由:OpenAI 用自博弈让模拟智能体自发学会擒抱、假动作等身体技能,可与 Dota 2 结果对照理解自博弈的训练价值。
OpenAI 在 Baselines 中发布 ACKTR 和 A2C 两个强化学习算法实现。A2C 是 A3C 的同步确定性变体,性能与之相当;ACKTR 比 TRPO 和 A2C 更节省样本,每次更新仅比 A2C 略多计算量。
OpenAI 发现,向强化学习算法的参数中加入自适应噪声(parameter noise)往往能提升性能。这种探索方法实现简单,且极少导致性能下降,因此值得在任何问题上尝试。
OpenAI 开发了一个无监督系统,仅通过预测 Amazon 评论中的下一个字符进行训练,就学到了出色的情感表征。该系统被称为情感神经元,无需情感标注数据即可捕捉文本情感。