Hugging Face 详解 transformers 中的 8-bit 矩阵乘法量化
Hugging Face 将 LLM.int8() 8-bit 量化集成进 transformers 和 accelerate,使 BLOOM-176B 等大模型显存占用减半且推理性能几乎无损。
推荐理由:Hugging Face 官方详解 LLM.int8() 量化原理与 transformers 集成细节,可了解大模型显存减半的落地方式。
Hugging Face 将 LLM.int8() 8-bit 量化集成进 transformers 和 accelerate,使 BLOOM-176B 等大模型显存占用减半且推理性能几乎无损。
推荐理由:Hugging Face 官方详解 LLM.int8() 量化原理与 transformers 集成细节,可了解大模型显存减半的落地方式。
Hugging Face 阐述了其 transformers 库对 TensorFlow 的设计理念:所有 TensorFlow 模型都是 Keras Model 对象,所有层都是 Keras Layer 对象,用户可直接调用 fit()、compile() 和 predict()。
Hugging Face 发布教程,讲解如何用 Docker 和 Kubernetes 将本地部署的 Vision Transformer(ViT)模型扩展为可服务多用户的线上服务。流程包括用 TensorFlow Serving 基础镜像容器化 SavedModel,再部署到 Google Kubernetes Engine(GKE)集群,代码已开源。
Hugging Face 发布 Sentence Transformers 训练与微调教程,讲解如何从零构建或从 Hub 加载模型,并以 distilroberta-base 加池化层为例说明其两层结构。
Hugging Face 深度强化学习课程第 8 单元讲解 Proximal Policy Optimization(PPO),通过裁剪当前与旧策略的概率比至 [1−ϵ,1+ϵ] 区间来限制策略更新幅度,避免训练不稳定。
Nyströmformer 通过 Nyström 方法近似标准自注意力,将时间和内存复杂度从 O(n²) 降至 O(n)。它从 query 和 key 中用分段均值构造 landmark,仅需 32 或 64 个 landmark 即可在 n=4096 或 8192 的长序列上取得与标准自注意力及其他高效注意力机制相当的性能。该模型的原始实现与 HuggingFace 实现均已公开。
Hugging Face 的 transformers 库现在可用 XLA 编译 TensorFlow 文本生成,速度最高提升 100 倍,甚至快于 PyTorch。该功能需 transformers >= 4.21.0,支持 GPT-2 等模型的采样、贪心解码与 Beam Search,并可通过 temperature、max_new_tokens、num_beams 等参数控制输出。
Hugging Face 与外部贡献者为 Transformers 加入了 Vision Transformer、Masked Autoencoders、RegNet、ConvNeXt 等 TensorFlow 视觉模型,本文演示如何用 TensorFlow Serving 在本地部署 ViT 图像分类模型,以 REST 或 gRPC 端点暴露服务。
Hugging Face 深度强化学习课程第 7 单元讲解 Advantage Actor Critic (A2C),一种结合基于策略与基于价值方法的混合架构,通过 Actor 控制智能体行为、Critic 评估动作好坏来降低 Reinforce 中蒙特卡洛采样带来的高方差。课程使用 Stable-Baselines3 在 PyBullet 机器人环境中训练双足步行者和蜘蛛两个智能体行走。
Hugging Face 博客介绍动态对抗数据收集(DADC):让用户用千奇百怪的手写数字骗过 SOTA 模型,再把骗成功的样本存下来继续训练,多轮重复。文中以 MNIST 手写数字识别为例,用 🤗 Spaces 搭建交互 demo,模型训练 20 个 epoch 后在测试集上达到 89% 准确率,并通过 flag 机制收集对抗样本。
Hugging Face 详解 176B 参数多语言模型 BLOOM 的训练技术:基于 Megatron-DeepSpeed 的 3D 并行方案,使用 384 张 80GB A100 GPU、350B token 的 46 种语言数据,训练耗时约 3.5 个月。模型架构接近 GPT3 并做了若干改进,词表规模 250,680,训练在法国 Jean Zay 超算上完成。
作者用 Sentence Transformers 的语义搜索功能搭建了一个歌单生成器:将提示词编码为嵌入向量,在预生成的歌词嵌入中检索,再通过 Gradio Blocks 构建多步交互应用并托管在 Hugging Face Spaces。
Hugging Face 发布 Twitter 情感分析入门指南,面向开发者和非开发者分别给出实现路径。开发者可用 Tweepy 抓取推文、通过 Inference API 几行代码完成情感分类,并用 Matplotlib 和 WordCloud 可视化结果;非开发者则可借助 Zapier 无代码工具收集推文、调用 Inference API 分析并输出到 Google Sheets。
Hugging Face 深度强化学习课程第 5 单元讲解策略梯度方法,并用 PyTorch 从零实现首个基于策略的算法 Reinforce,随后在 CartPole-v1、PixelCopter 和 Pong 上测试其鲁棒性。
Hugging Face 发布入门指南,以 Sentence Transformers(ST)为例讲解如何从零启动第一个机器学习项目。ST 可将句子、段落和图像转为嵌入向量,并用 util.cos_sim 计算余弦相似度,支持语义搜索、聚类和模型蒸馏等应用。该库在 GitHub 已获近 8,000 stars,超过 3,000 个项目依赖它。
Hugging Face 展示了如何用 Accelerate 库无需改代码即可启用 DeepSpeed ZeRO,在 2×24GB NVIDIA Titan RTX 上微调 900M 参数的 microsoft/deberta-v2-xlarge-mnli。
Hugging Face 发布 Embeddings 入门教程,演示如何用开源库 Sentence Transformers 和 Inference API 构建 FAQ 语义搜索。教程选用 sentence-transformers/all-MiniLM-L6-v2 模型,将美国 Medicare FAQ 数据集嵌入后上传至 Hub 免费托管,再通过比对用户查询与嵌入向量的相似度匹配最相关问答。
Hugging Face 博客介绍了三种将 Transformers 模型转为 ONNX 的方式,从底层 torch.onnx、中层 transformers.onnx 到高层 Optimum,均以 distilbert-base-uncased-finetuned-sst-2-english 文本分类模型为例。
大型神经网络是近期许多 AI 进展的核心,但其训练是一项困难的工程与研究挑战,需要编排一组 GPU 集群完成单次同步计算。
Hugging Face 深度强化学习课程第三单元讲解 Deep Q-Learning,用神经网络替代 Q-table 来近似每个动作的 Q 值,并在 Space Invaders 等 Atari 环境上训练智能体。该方法将输入降采样为 84x84 灰度图并堆叠 4 帧以捕捉时序信息,再经三层卷积层和全连接层输出 Q 值,训练使用 RL-Zoo 框架。
Hugging Face 博客发布《The Annotated Diffusion Model》,基于 Ho 等人 2020 年的 DDPM 论文和 Phil Wang 的实现,用 PyTorch 逐步实现去噪扩散概率模型。
推荐理由:以 PyTorch 逐步实现 DDPM 的完整教程,适合想从代码层面理解扩散模型原理的读者。
Cohere、OpenAI 和 AI21 Labs 共同制定了一套初步的大语言模型最佳实践,适用于任何开发或部署大语言模型的组织。
Hugging Face 深度强化学习课程第二单元第二部分讲解 Q-Learning 算法,并从头实现首个 RL 智能体。该算法属于 off-policy 的基于价值方法,采用 TD 方式训练动作价值函数,内部维护一张 Q-table 存储每个状态-动作对的价值。智能体将在 Frozen Lake v1 和自动驾驶出租车两个环境中训练,为第三单元的 Deep Q-Learning 打基础。
Hugging Face 深度强化学习课程更新第二单元第一部分,讲解基于价值的方法,并区分蒙特卡洛与时序差分学习。内容涵盖状态价值函数、动作价值函数与贝尔曼方程,为下一部分实现首个 Q-Learning 智能体、在 Frozen-Lake-v1 和自动驾驶出租车环境中训练做准备。
Hugging Face 推出免费深度强化学习课程,第一单元讲解深度强化学习基础,涵盖 RL 框架、马尔可夫决策过程、策略与价值方法等核心概念。课程使用 Stable Baselines3、RL Baselines3 Zoo 和 RLlib 等库,并让学员训练首个登月着陆器智能体并上传至 Hugging Face Hub。
Hugging Face 介绍如何用 Accelerate 库无需改代码即可调用 PyTorch FullyShardedDataParallel(FSDP)训练大模型。
HuggingFace AutoTrain 与数据标注平台 Kili 可组合成一套主动学习流水线,用于文本分类:AutoTrain 自动完成数据清洗、模型选择和超参数优化,支持二分类与多标签文本分类等任务;Kili 提供协作式标注工具和 GraphQL、Python API。
Hugging Face 发布博客,演示如何用其生态工具搭建客户服务情感分类系统,自动筛选最不满意的客户消息。
Hugging Face Hub 新增 emissions_threshold 参数,可按训练碳排放量筛选模型,例如筛选出 191 个排放不超过 100 克的模型。transformers 集成 codecarbon,训练时自动记录排放数据并生成 emissions.csv,方便写入模型卡。
Hugging Face 的 Transformers 库有意不遵循 DRY 原则,转而采用"单一模型文件策略",即模型前向传播所需的全部代码只放在一个 model 文件中,如 BERT 的 modeling_bert.py。原因是该库由开源社区共建、建模代码本身就是产品、机器学习领域演进极快且模型发布后基本静态不变,集中抽象反而会带来维护与命名难题。
Hugging Face 发布教程,演示如何用自建人行道数据集 segments/sidewalk-semantic 微调 SegFormer 语义分割模型,用于披萨配送机器人识别可行驶区域与障碍物。
Hugging Face 的 🤗 datasets 现已支持图像特征类型,可结合 sentence_transformers 与 faiss 为图像数据集添加相似度索引,实现图像搜索。文中以英国图书馆数字化书籍插图数据集为例,通过 ImageFolder 加载器直接读取含 image 和 label 特征的 10000 行数据,并演示了提取图像文件名等元数据的方法。
Hugging Face 发布教程,演示如何用 Hugging Face Transformers、Amazon SageMaker 和 AWS Inferentia 加速 BERT 文本分类推理。
Hugging Face 在 🤗 Transformers 中推出约束束搜索(constrained beam search),通过 model.generate() 的 force_words_ids 参数让用户指定生成结果中必须包含的词。该功能支持强制单个词、多个短语以及析取约束(在候选词列表中至少包含一个),可在生成阶段直接控制输出,无需事后再筛选。
Google AI Language 于 2018 年推出 BERT,这一基于 Transformer 的双向编码器模型可同时处理 11+ 种常见 NLP 任务,并在多项任务上超越此前模型。
Hugging Face 发布教程,演示如何用 🤗 datasets 加载 beans 图像分类数据集,并借助 🤗 transformers 微调预训练的 google/vit-base-patch16-224-in21k 模型。ViT 由 Google Brain 团队于 2021 年 6 月提出,将图像切分为子图块并嵌入为 token 序列后送入 Transformer 训练。
Hugging Face 发布 Python 情感分析入门指南,介绍如何用预训练模型和自有数据完成情感分析。Hugging Face Hub 上已有超过 215 个情感分析模型,借助 transformers 的 pipeline 类,5 行代码即可完成预测。指南还涵盖用自有数据微调模型以及分析推文的方法。
Hugging Face 博客介绍了如何利用 Wav2Vec2 的 CTC 架构特性,在 🤗 Transformers 中对任意长音频文件乃至实时语音进行高质量自动语音识别。
Hugging Face 为 huggingface_hub 库新增 ModelFilter 和 ModelSearchArguments 类,让用户无需离开 Jupyter 或 Python 环境即可编程式搜索 Hub 上的模型和数据集。
🤗 Transformers 现已集成 Kensho Technologies 的 pyctcdecode 库,可将 n-gram 语言模型与微调后的 Wav2Vec2 检查点结合用于语音识别解码。