Hugging Face Hub 迎来 fastai 集成:一行 Python 即可上传模型
fastai 现已集成 Hugging Face Hub,开发者用一行 Python 即可将 fastai Learner 上传至 Hub 分享。需安装 fastai>=2.4、fastcore>=1.3.27 和 toml,通过 push_to_hub_fastai 上传、from_pretrained_fastai 加载,Hub 提供免费托管、基于 git 的版本控制和模型卡。
fastai 现已集成 Hugging Face Hub,开发者用一行 Python 即可将 fastai Learner 上传至 Hub 分享。需安装 fastai>=2.4、fastcore>=1.3.27 和 toml,通过 push_to_hub_fastai 上传、from_pretrained_fastai 加载,Hub 提供免费托管、基于 git 的版本控制和模型卡。
Hugging Face 展示了如何用 Accelerate 库无需改代码即可调用 PyTorch 的 FullyShardedDataParallel(FSDP)训练大模型。
Hugging Face 与 Habana Labs 合作,将 Gaudi 加速器的性价比优势带入 Transformers,其训练机器学习模型的性价比相比最新 GPU 版 Amazon EC2 实例最高提升 40%。
Hugging Face 机器学习工程师 Lewis Tunstall 在播客中介绍了他在 transformers 库上的工作:通过一行代码将 PyTorch 模型导出为 ONNX 格式,帮助 ML 工程师获得更低延迟和更高吞吐。他还与 Leandro von Werra、Thom Wolf 合著了《NLP with Transformers》一书,并谈到大规模模型评估等话题。
Hugging Face 的 Transformers 库有意不遵循 DRY 原则,转而采用"单一模型文件策略",即模型前向传播所需的全部代码只放在一个模型文件中,注意力机制代码因此在不同模型文件里被复制了 50 多次。官方给出的理由包括:该库由开源社区共建、建模代码本身就是产品、机器学习领域演进极快,以及模型发布后很少被改动。
Hugging Face 发布端到端教程,演示如何用 Hugging Face Transformers、Amazon SageMaker 和 AWS Inferentia 加速 BERT 文本分类推理。
Hugging Face 宣布将 PyTorch 深度强化学习库 Stable-Baselines3 集成到 Hugging Face Hub,用户可通过 huggingface_sb3 上传和加载已保存的智能体模型。
Hugging Face 公布 Infinity 在第三代 Intel Xeon 可扩展处理器(Ice Lake)上的推理基准:经 Infinity Multiverse 优化的 DistilBERT 容器相比同平台原生 Transformers 延迟与吞吐最高提升 800%,相比 Cascade Lake 实例提升 34%。
Hugging Face 发布教程,介绍如何用 Amazon SageMaker 和 Hugging Face Inference Toolkit 部署 EleutherAI 的 GPT-J 6B 模型做实时推理。
OpenAI 为 GPT-3 推出微调功能,开发者只需一条命令即可针对自己的应用定制模型。
Hugging Face 与 Graphcore 合作推出开源库 Optimum,用于降低 Transformer 模型在多种硬件上的预测延迟,首个 IPU 优化模型为 BERT。
Hugging Face 博客展示了如何在 Intel Xeon Scalable(Ice Lake)CPU 集群上加速 PyTorch 分布式微调:借助 Intel extension for PyTorch 和 oneCCL 通信库,在 MRPC 数据集上微调 BERT 模型,从单机扩展到 2 台、4 台服务器并测量加速比。
Hugging Face 发布博客第二部分,介绍如何借助 Intel oneAPI 软件栈在现代 Xeon CPU 上优化类 BERT 模型推理。Intel Ice Lake 代 Xeon 在多种 NLP 任务上推理速度最高比上代 Cascade Lake 快 75%,依托 AVX512、VNNI 指令及 oneMKL、oneDNN、OpenMP、oneTBB 等库。
微软和 NVIDIA 发布 Megatron-Turing NLG 530B,号称全球最大最强的生成式语言模型,但复现成本接近 1 亿美元,单台 DGX A100 服务器售价 19.9 万美元、功耗达 6.5 千瓦。
Hugging Face 发文指出,机器学习正像十年前的 DevOps 一样走向"机器学习即代码",软件工程的最佳实践应被数据科学与机器学习采纳。Kaggle 调查显示 75% 受访者使用云服务、超 45% 使用企业 ML 平台,前三为 Amazon SageMaker、Databricks 和 Azure ML Studio。
Gradio 与 Hugging Face Hub 集成,只需定义 Interface 并调用 .launch() 即可演示模型,底层调用 Inference API,支持 Transformers、spaCy、SpeechBrain、Asteroid 及 image-to-text、speech-to-text、text-to-speech 等模型类型。
Hugging Face 发布博客,介绍如何用 Streamlit 在 Hugging Face Spaces 上托管模型和数据集并部署 Streamlit 应用。
Hugging Face 在 2021 AI Hardware Summit 上宣布启动 Hardware Partner Program,Graphcore 作为创始成员参与,双方将让开发者通过 Optimum 开源库在 IPU 上部署经认证的硬件优化 Transformer 模型,首批 IPU 优化模型将于今年晚些时候上线。
Hugging Face 发布开源库 Optimum,目标是成为 Transformer 生产性能的优化工具集,让模型在特定硬件上训练和推理达到最高效率。Optimum 与硬件伙伴合作,把稀疏化、量化等加速技术与目标硬件适配的复杂度抽象出来,首个合作案例是 Intel Neural Compressor,用于在 Intel Xeon CPU 上量化模型。
推荐理由:Hugging Face 官方发布 Optimum 开源库,读者可了解其如何把硬件加速与量化流程抽象成统一工具。
OpenAI 发布 Triton 1.0,这是一门开源的类 Python 编程语言,让没有 CUDA 经验的研究者也能编写高效的 GPU 代码,多数情况下能达到专家水平。
推荐理由:OpenAI 开源 Triton 1.0,让没有 CUDA 经验的研究者也能写出接近专家水平的 GPU 代码。
Hugging Face Hub 现已支持 spaCy,用户可通过一条命令上传任意 spaCy pipeline 包,并自动生成模型卡和元数据。Hub 的 spaCy 组织已收录 60 多个来自 3.1 版本的官方模型,Inference API 开箱支持 NER,并配有 NER 可视化组件。
Hugging Face 发布面向 Amazon SageMaker 的 Inference DLC 与 Inference Toolkit,只需一行代码即可部署训练好的 Transformer 模型,或从 Model Hub 的 10,000+ 公开模型中选择部署。
Hugging Face Hub 与 Sentence Transformers 达成集成,随 Sentence Transformers v2 发布,Hub 上已有 90 多个预训练模型、覆盖 100 多种语言。
Gradio 2.0 发布,只需 1 行代码即可为几乎任意 Hugging Face 模型加载 GUI,默认调用 Hugging Face 托管的 Inference API,也可本地运行 transformers。该版本支持并行加载多个模型进行对比,或将模型串联组合,例如用 3 行代码搭建翻译并摘要芬兰语新闻的应用。
Hugging Face 发布博客第一部分,介绍在 CPU 上扩展 BERT 推理的硬件优化方法,测试基于 AWS c5.metal 的 Intel Xeon Platinum 8275(48 核/96 线程),使用 transformers 4.5.0、PyTorch 1.8.1 与 TensorFlow 2.4.0。
Hugging Face 发布开源库 Accelerate,让 PyTorch 用户在不改写训练循环的前提下使用分布式训练和混合精度。只需在标准训练脚本中加入约五行代码,Accelerate 就会自动完成设备放置、模型与优化器包装、数据加载器分片以及反向传播处理,并配套 accelerate config 与 accelerate launch 命令行工具。
推荐理由:原文给出五处代码改动即可让原生 PyTorch 脚本支持分布式与混合精度,可据此评估迁移成本。
Hugging Face 与 Amazon SageMaker 合作推出优化版 Deep Learning Containers,配合 SageMaker Python SDK 中的 HuggingFace estimator,一行代码即可启动训练。
Hugging Face 宣布与 Amazon 建立战略合作,并以 AWS 作为其首选云服务商,双方推出 Hugging Face Deep Learning Containers(DLCs),让用户在 Amazon SageMaker 中训练 Transformers 模型。
社区成员 Maxence Dominici 分享了在 Google Cloud 上部署 transformers 情感分析 pipeline 的过程,最终方案采用 Cloud Run 加 Docker 镜像,模型为 DistilBERT base uncased finetuned SST-2,用 PyTorch 加载。
Hugging Face 博客 2021 年 2 月阅读小组聚焦 Transformer 的长程注意力问题,围绕 Longformer、Compressive Transformer、Linformer、Performer 四篇论文展开,归纳出自定义注意力模式、循环、低秩近似与核近似四条降低序列长度二次开销的路线。
Hugging Face Transformers 的 RAG 模型集成 Ray 实现分布式文档检索,每次检索调用相比 torch.distributed 提速 2 倍,并改善了 RAG 分布式微调的可扩展性。
Hugging Face 与 PyTorch/XLA 团队合作,让 Trainer 模块可直接在 Cloud TPU 上训练模型,用户保持原有 Hugging Face trainers 接口不变。
Hugging Face 在 Transformers v4.2.0 中优化了 TensorFlow 版 BERT、RoBERTa、ELECTRA 和 MPNet 的计算性能,在 GPU V100、序列长度 128 下,BERT 推理速度比 Google 官方实现快约 10%,比 4.1.1 版本快一倍。
OpenAI 已将 Kubernetes 集群扩展至 7,500 节点,为 GPT-3、CLIP 和 DALL·E 等大模型提供可扩展基础设施,同时支持 Scaling Laws for Neural Language Models 这类快速小规模迭代研究。
Hugging Face 的 transformers v4.2.0 起为 Trainer 加入 DeepSpeed 和 FairScale 的 ZeRO 实验性支持,新增 --deepspeed 和 --sharded_ddp 命令行参数。
推荐理由:作者用 t5-large 与 t5-3b 的实测数据对比 FairScale 和 DeepSpeed 的显存与速度差异,可据此选择训练方案。
Hugging Face 通过模型管线优化、Rust 版 Tokenizers 与智能缓存,为托管 Accelerated Inference API 客户实现约 10 倍推理提速;再结合面向 CPU/GPU 的图优化、算子融合与量化等编译级手段,累计达到 100 倍。该优化针对 GPT 等架构与目标硬件定制,客户无需随 Transformers、Tokenizers 月度更新自行适配。
Hugging Face 发布博客,记录作者 Stas Bekman 在 Sam Shleifer 建议下,将 fairseq 的 WMT19 新闻翻译系统移植到 transformers 的全过程。
Hugging Face 发布 PyTorch 扩展 pytorch_block_sparse,其 BlockSparseLinear 可直接替换 torch.nn.Linear,让语言模型更小更快。
OpenAI 宣布将其深度学习框架标准化为 PyTorch。
OpenAI 发布面向块稀疏权重神经网络的高度优化 GPU 内核,按所选稀疏度可比 cuBLAS 或 cuSPARSE 快数个数量级。该内核已用于文本情感分析以及文本和图像生成建模,并取得 SOTA 结果。