Hugging Face Transformers 为何故意不遵循 DRY 原则:单模型文件策略解析
Hugging Face Transformers 库有意不遵循 DRY 原则,转而采用“单模型文件策略”,即模型 forward 所需的全部代码只放在一个 modeling 文件中。该设计便于开源社区贡献者独立修复 bug 和提交新模型,也利于读者理解与修改代码。文章还指出机器学习领域演进极快,难以定义通用的标准组件,而模型发布后通常保持静态。
Hugging Face Transformers 库有意不遵循 DRY 原则,转而采用“单模型文件策略”,即模型 forward 所需的全部代码只放在一个 modeling 文件中。该设计便于开源社区贡献者独立修复 bug 和提交新模型,也利于读者理解与修改代码。文章还指出机器学习领域演进极快,难以定义通用的标准组件,而模型发布后通常保持静态。
Hugging Face 宣布将离线强化学习方法 Decision Transformer 集成进 🤗 transformers 库和 Hugging Face Hub,并提供 9 个 Gym 环境连续控制任务的预训练模型 checkpoint。
Hugging Face 宣布推出 🤗 AI Research Residency Program,一个为期 9 个月的全职机器学习研究驻留项目,申请截止日期为 4 月 3 日。
Hugging Face 教程演示如何用 🤗 datasets 结合 sentence_transformers 和 faiss 构建图像搜索应用,使用 British Library 数字化书籍中提取的 10000 张 "embellishments" 图像数据集。
Hugging Face 在 🤗 Transformers 中推出 constrained beam search(约束束搜索)功能,通过 `model.generate()` 的 `force_words_ids` 参数在生成阶段强制输出包含指定词或词组,无需事后过滤。
Hugging Face 宣布将深度强化学习库 Stable-Baselines3 集成到 Hugging Face Hub,用户可通过 `huggingface_hub` 和 `huggingface_sb3` 两个库上传保存的模型并从社区加载模型。
Hugging Face 介绍如何用 Hugging Face Inference Toolkit 和 Amazon SageMaker 部署 EleutherAI 的 GPT-J 6B(6 billion 参数开源模型)做实时推理,用普通 NVIDIA T4 GPU 实例(约 500$/m)几行代码即可完成。
Hugging Face 宣布收购机器学习初创公司 Gradio,Gradio 创始人表示双方将合作让机器学习对任何有网络和浏览器的人都可及。Gradio 于 2019 年由斯坦福博士生发起,用于让非技术用户测试和分享模型,至今已有超过 300,000 个 demo 用其构建;文中开头的收购通稿段落由基于 Gradio 构建的 Acquisition Post Generator 演示生成。
Hugging Face 官方宣布将 DeepMind 的 Perceiver IO 加入 Transformers 库,这是首个可处理文本、图像、音频、视频、点云等各类模态及其组合的 Transformer 架构模型。
Hugging Face 发布教程,讲解如何从零训练用于 Python 代码补全的 GPT-2 模型 CodeParrot。
Hugging Face 与 Graphcore 合作推出首个 IPU 优化模型 BERT,开发者可通过开源库 Optimum 在 Graphcore IPU 上加速 Transformer 模型的训练、微调与推理。
Hugging Face 发布开源 Python 库与无代码界面 Data Measurements Tool(DMT),基于 Dataset 和 Spaces Hubs 配合 Streamlit 构建,可在线构建、度量和比较数据集。
Hugging Face 质疑 Megatron-Turing NLG 530B 这类超大模型趋势,认为其训练需数百台 $199,000 的 DGX A100 服务器、成本接近 $100 million,且碳足迹巨大(训练 BERT 相当于一次跨美飞行),但 benchmark 提升相对有限。
Hugging Face 宣布课程第二部分将于 11 月 15 日发布,并同步举办为期两天的社区活动,涵盖 token 分类、语言建模、翻译、摘要和问答等 NLP 任务及 🤗 Datasets、🤗 Tokenizers 生态工具。
Hugging Face 回顾了 6 至 8 月的进展:Hub 公开模型仓库从 10,000 个增至超过 16,000 个,并推出 Spaces Beta,支持用 Gradio 和 Streamlit 免费部署 ML demo 应用。
Hugging Face 介绍新方法 DeDLOC,让志愿者通过互联网协作预训练语言模型,并用 40 名志愿者训练出孟加拉语模型 sahajBERT。
Hugging Face Hub 集成 Sentence Transformers 框架,随 Sentence Transformers v2 发布新增 feature-extraction 和 sentence similarity 两个 widget,并提供 Inference API 端点供程序化调用。
Hugging Face 发布开源库 Accelerate,让 PyTorch 用户在保留自定义训练循环的前提下,只需向标准脚本加入五行代码即可在多 GPU、多节点、TPU 等分布式环境以及混合精度下运行。
Hugging Face 博客深入讲解了 BigBird 的 block sparse attention 实现原理,说明其如何用滑动窗口、全局 token 和随机 token 三种注意力模式近似 BERT 的全注意力,将序列长度扩展到 4096 且计算成本远低于 BERT。
Hugging Face 宣布与 Amazon 达成战略合作,选择 AWS 作为其首选云提供商,并推出新的 Hugging Face Deep Learning Containers(DLCs),让用户在 Amazon SageMaker 中更轻松地训练 Transformers 模型。
Hugging Face 教程详解如何用 🤗 Transformers 微调 Wav2Vec2 预训练模型完成英文 ASR,演示在仅含 5h 训练数据的 Timit 数据集上微调 "base" 尺寸 checkpoint,不使用语言模型、以 CTC 训练并用 WER 评估。
Hugging Face 介绍如何用 BERT、GPT2 等预训练 checkpoint 热启动 encoder-decoder 模型,以跳过昂贵的预训练过程。
Stas Bekman 撰写客座博文,详细记录了如何把 Facebook FAIR 的 fairseq WMT19 翻译系统移植到 transformers,最终产出 FSMT 模型并合入 PR。
Hugging Face 博客详细讲解了 Transformer-based encoder-decoder 架构如何建模 sequence-to-sequence 问题,聚焦其数学模型与推理用法,并拆解 encoder 和 decoder 两部分,配合大量插图建立理论与 🤗Transformers 实际推理的联系。
Hugging Face 深入解析了 Reformer 模型,它能用不到 8GB 内存一次处理多达 50 万 token,而 bert-base-uncased 只能处理 512 token。
Hugging Face 官方博客演示如何用 transformers 和 tokenizers 库从零训练一个 84M 参数(6 层、768 hidden size。
OpenAI 宣布将其深度学习框架统一标准化为 PyTorch。原文仅给出这一决定,未披露迁移时间表、涉及的模型或具体技术细节。
OpenAI 在发布 124M 小模型、分阶段发布 355M 中模型及相关误用与社会效益研究后,正式发布 774M 参数的 GPT-2 语言模型。同时发布一份开源法律协议,方便组织之间发起模型共享合作,并公布技术报告介绍其与 AI 研究社区协调发布规范的经验。
推荐理由:原文交代了分阶段发布路径与配套法律协议,读者可了解其模型共享合作的落地方式。
OpenAI 推出 OpenAI Scholars 项目,向来自代表性不足群体的个人提供 6–10 份津贴和导师指导,支持其全职学习深度学习 3 个月并开源一个项目。
OpenAI 发布针对 block-sparse 权重神经网络的高性能 GPU kernels,根据所选稀疏度,速度可比 cuBLAS 或 cuSPARSE 快 orders of magnitude。OpenAI 已用其在文本情感分析以及文本和图像生成建模上取得 state-of-the-art 结果。
OpenAI 发现给强化学习算法的参数加入自适应噪声通常能提升性能。该探索方法实现简单,且极少导致性能下降,值得在各类问题上尝试。