在 Vertex AI 上部署 🤗 ViT
Hugging Face 展示了如何将 ViT B/16 模型部署到 Google Cloud 的 Vertex AI 平台,用远少于 Kubernetes 方案的代码量获得同等扩展能力。
Hugging Face 展示了如何将 ViT B/16 模型部署到 Google Cloud 的 Vertex AI 平台,用远少于 Kubernetes 方案的代码量获得同等扩展能力。
Hugging Face 与 Graphcore 联合发布 Optimum Graphcore 库,提供预训练 ViT 模型检查点和配置文件,可在 IPU 上直接微调。博文以 ImageNet-21k 预训练的 ViT 为例,演示在 ChestX-ray14 数据集上的完整微调流程,并附有 notebook。IPU 的 MIMD 架构与流水线并行可提升训练效率。
Hugging Face 与 BigScience 将 LLM.int8() 8-bit 量化集成进 transformers 和 accelerate,使 BLOOM-176B 等大模型可在更少 GPU 上运行且性能不降。
推荐理由:Hugging Face 与 BigScience 作者复盘 LLM.int8() 接入 transformers 的工程细节,可看到大模型量化落地的真实难点。
Hugging Face 阐述了其 transformers 库在 TensorFlow 上的设计理念:所有 TensorFlow 模型都是 Keras Model 对象,所有层都是 Keras Layer 对象,用户可直接调用 fit()、compile() 和 predict()。库通过 TFAutoModel 等类一行代码加载预训练模型,并配合 AutoTokenizer 完成匹配的预处理。
Hugging Face 发布教程,讲解如何用 Docker 和 Kubernetes 将上一篇文章中本地部署的 Vision Transformer(ViT)模型扩展为可服务多用户的线上部署。
Hugging Face 发布 Sentence Transformers 训练与微调教程,讲解如何从零构建模型或从 Hub 加载已有模型微调,并以 distilroberta-base 加池化层为例说明其两层架构。
Hugging Face 深度强化学习课程第 8 单元讲解 Proximal Policy Optimization (PPO),通过在当前策略与旧策略的概率比上做裁剪(范围 [1−ϵ,1+ϵ])来限制每轮策略更新幅度,避免更新过大导致训练不稳定。课程随后用 PyTorch 从零实现 PPO,并在 CartPole-v1 和 LunarLander-v2 上验证。
Hugging Face 博客介绍了 Nyströmformer,一种用 Nyström 方法将标准自注意力 O(n²) 复杂度近似为 O(n) 的高效 Transformer 模型。
Hugging Face 的 transformers 库在 TensorFlow 下现可用 XLA 编译文本生成,速度最高提升 100 倍,甚至快于 PyTorch。该功能需 transformers >= 4.21.0,示例基于 GPT-2 展示采样、贪心解码与 Beam Search 等生成方式。
Hugging Face 与外部贡献者为 Transformers 加入了 Vision Transformer、Masked Autoencoders、RegNet、ConvNeXt 等 TensorFlow 视觉模型,并演示如何用 TensorFlow Serving 在本地部署 ViT 图像分类模型,将其暴露为 REST 或 gRPC 端点。
Hugging Face 深度强化学习课程第 7 单元讲解 Advantage Actor Critic (A2C),一种结合基于策略与基于价值方法的混合架构,通过 Critic 评估动作价值来降低 Reinforce 中蒙特卡洛采样带来的高方差,从而稳定并加速训练。课程使用 Stable-Baselines3 在 PyBullet 机器人环境中训练双足步行者和蜘蛛两个智能体行走。
Hugging Face 博客介绍动态对抗数据收集(DADC):让用户用各种手写方式欺骗模型,再把被标记的对抗样本加入数据集反复训练。文章以 MNIST 手写数字识别为例,模型训练 20 个 epoch 后在测试集上达到 89% 准确率,并借助 🤗 Spaces 搭建交互与标记流程。
Hugging Face 披露了 176B 参数多语言模型 BLOOM 的训练技术细节,该模型基于 Megatron-DeepSpeed 框架、采用 3D 并行技术,在 384 块 80GB A100 GPU 上训练了约 3.5 个月。训练数据为 59 种语言、350B token,模型架构类似 GPT3 并做了改进,词表规模 250,680。
作者用 Sentence Transformers 的语义搜索功能搭建了一个歌单生成器:将歌词按段落切分并嵌入,再对输入提示词做语义搜索匹配歌曲,并封装成基于 Gradio Blocks 的多步应用托管在 Hugging Face Spaces。
Hugging Face 发布 Twitter 情感分析入门指南,面向开发者和非开发者分别给出方案。开发者可用 Tweepy 抓取推文并通过 Inference API 几行代码完成情感分类,非开发者则可借助无代码工具 Zapier 将推文分析结果写入 Google Sheets。
Hugging Face 深度强化学习课程第 5 单元讲解策略梯度方法,并从头用 PyTorch 实现首个基于策略的算法 Reinforce,随后在 CartPole-v1、PixelCopter 和 Pong 上测试其鲁棒性。策略梯度直接优化策略、无需估计价值函数,可学习随机策略并省去手工的探索/利用权衡,更适合高维和连续动作空间,但易收敛到局部最优、训练更慢且方差较高。
Hugging Face 发文介绍如何以 Sentence Transformers(ST)为例从零上手一个新 ML 库并完成首个自驱项目。ST 可将句子、段落和图像转为嵌入向量,并用 util.cos_sim 计算余弦相似度,支持语义搜索、聚类和模型蒸馏等应用。该库在 GitHub 已获近 8,000 stars,超过 3,000 个项目和包依赖它。
Hugging Face 展示了用 Accelerate 库调用 DeepSpeed ZeRO 加速大模型训练的方法,无需改动代码即可启用 ZeRO Stage-2。
Hugging Face 发布 Embeddings 入门教程,演示如何用开源库 Sentence Transformers 和 Inference API 构建一个 FAQ 语义搜索示例。
Hugging Face 博客介绍了三种将 Transformers 模型转为 ONNX 的方式:底层 torch.onnx、中层 transformers.onnx 和高级 Optimum。
大型神经网络是近期许多 AI 进展的核心,但训练它们是一项艰巨的工程与研究挑战,需要协调一整个 GPU 集群来完成单次同步计算。
Hugging Face 深度强化学习课程第三单元讲解 Deep Q-Learning,用神经网络替代 Q-table 来近似各动作的 Q-value,并训练智能体玩 Space Invaders 等 Atari 环境。
Hugging Face 博客发布《The Annotated Diffusion Model》,基于 Ho 等人 2020 年的 DDPM 论文,用 PyTorch 逐步实现扩散模型。
推荐理由:从 DDPM 论文出发逐步用 PyTorch 复现扩散模型,读者可据此理解前向加噪与反向去噪的完整训练流程。
Cohere、OpenAI 和 AI21 Labs 共同制定了一套初步的大语言模型最佳实践,适用于任何开发或部署大语言模型的组织。
Hugging Face 深度强化学习课程第二单元第二部分讲解 Q-Learning,并从头实现首个 RL 智能体。Q-Learning 是一种 off-policy、基于价值的方法,通过 TD 方式训练动作价值函数,其内部维护一张 Q-table 记录每个状态-动作对的价值。
Hugging Face 深度强化学习课程更新第二单元第一部分,讲解基于价值的方法,并区分蒙特卡洛与时序差分学习。该部分涵盖状态价值函数、动作价值函数与贝尔曼方程,为后续学习 Q-Learning 及深度 Q-Learning 打基础。
Hugging Face 开源库 Optimum 发布 1.2 版本,新增对 Transformers pipelines 的推理支持,首批接入 ONNX Runtime,用户可将 AutoModelForXxx 直接替换为对应的 ORTModelForXxx 类。
Hugging Face 推出免费深度强化学习课程,从入门到专家,使用 Stable Baselines3、RL Baselines3 Zoo 和 RLlib 等库。
Hugging Face 介绍如何通过 Accelerate 库无需改代码即可使用 PyTorch FullyShardedDataParallel(FSDP)训练大模型。
HuggingFace AutoTrain 与数据标注平台 Kili 可组合成主动学习流水线,用于文本分类任务。AutoTrain 全自动完成数据清洗、模型选择和超参数优化,支持二分类与多标签文本分类、token 分类、抽取式问答、摘要和文本打分,并覆盖英语、德语、法语、西班牙语等语言。
Hugging Face 发布教程,演示如何在 AWS EC2 DL1 实例(搭载 8 颗 Habana Gaudi 处理器)上微调 BERT 模型。使用 bert-large-uncased-whole-word-masking 在 GLUE 的 MRPC 任务上训练 3 个 epoch,耗时 2 分 12 秒,F1 达 0.8968。
Hugging Face 发布博客,演示如何用其生态工具搭建客户服务场景中的情感分类系统,将用户消息分为 very unsatisfied 到 very satisfied 五类,以优先回复最不满意的客户。
Hugging Face 的 Transformers 库有意不遵循 DRY 原则,转而采用"单模型文件策略",即模型前向传播所需的全部代码只放在一个 model 文件中,注意力机制代码因此被复制 50 多次。官方给出的理由包括:库由开源社区共建、建模代码本身就是产品、机器学习领域演进极快、模型发布后基本静态不变。
Hugging Face 发布教程,演示如何用自建人行道数据集 segments/sidewalk-semantic 微调 SegFormer 语义分割模型,借助 transformers 与 SegformerImageProcessor 完成训练。
Hugging Face 的 🤗 datasets 库新增图像特征类型,可结合 sentence_transformers 与 faiss 为图像数据集建立相似度索引,实现图像搜索。文中以英国图书馆数字化书籍插图数据集为例,通过 ImageFolder 加载器直接读取含 image 和 label 特征的 10000 行数据,label 对应书籍出版年份。
Hugging Face 发布端到端教程,演示如何用 Hugging Face Transformers、Amazon SageMaker 和 AWS Inferentia 加速 BERT 文本分类推理。
Hugging Face 在 🤗 Transformers 中推出约束束搜索(constrained beam search),通过 model.generate() 的 force_words_ids 参数让用户指定生成结果中必须包含的词。
BERT 是 Google AI Language 研究人员于 2018 年开发的 NLP 模型,全称 Bidirectional Encoder Representations from Transformers,可解决情感分析、命名实体识别等 11+ 种常见语言任务。
Hugging Face 发布教程,演示如何用 🤗 datasets 加载 beans 图像分类数据集,并借助 🤗 transformers 微调预训练 ViT 模型。教程使用 google/vit-base-patch16-224-in21k 及其配套 ViTImageProcessor,将图像切分为 patch 并嵌入为 token 序列后送入 Transformer 训练。
Hugging Face Hub 上已有超过 215 个公开的情感分析模型,用 Python 的 transformers pipeline 只需 5 行代码即可调用,默认模型对 "I love you" 和 "I hate you" 分别给出 0.9998 和 0.9991 的置信度。指南还介绍了 Twitter-roBERTa-base 等预训练模型,以及用自有数据微调情感分析模型的方法。