Zama 用 FHE 加密大语言模型:基于 Hugging Face GPT2 的隐私推理实践
Zama 展示了用全同态加密(FHE)在加密数据上运行大语言模型推理的方案,基于 Hugging Face transformers 库改造 GPT2,将首个多头注意力头用 Concrete-Python 转为 FHE 等价实现。实验显示 4-bit 量化可保留原模型 96% 的精度,客户端本地推理至首层后加密中间结果交由服务器计算,兼顾用户数据隐私与模型 IP 保护。
Zama 展示了用全同态加密(FHE)在加密数据上运行大语言模型推理的方案,基于 Hugging Face transformers 库改造 GPT2,将首个多头注意力头用 Concrete-Python 转为 FHE 等价实现。实验显示 4-bit 量化可保留原模型 96% 的精度,客户端本地推理至首层后加密中间结果交由服务器计算,兼顾用户数据隐私与模型 IP 保护。
这篇教程演示了如何用 OpenAI 开源扩散模型 Shap-E 从文本生成 3D 模型,再经 Blender 的 Decimate 修改器减面、用 Dream Textures 插件生成无缝贴图,最终导出 FBX 并导入 Unity。流程面向 PS1 低多边形风格,以规避当前 text-to-3D 模型精度不足的问题,需具备 Blender 与 UV 映射基础。
Hugging Face 发布 AI WebTV 实验性演示,用开源文生视频模型 Zeroscope V2 和音乐生成模型 MusicGen 自动合成视频与配乐并直播。视频先由 zeroscope_v2_576 生成 576x320 片段,可选经 zeroscope_v2_XL 放大至 1024x576,再经 FILM 插帧和 MusicGen 配乐,通过 FFmpeg 推流至 RTMP 服务器。
Hugging Face 梳理其开源文本生成与 LLM 生态,涵盖因果语言模型与 text-to-text 模型、许可协议、LLM 服务工具及 PEFT 微调。
Hugging Face 展示了在 Intel 第四代 Xeon(Sapphire Rapids)CPU 集群上微调 Stable Diffusion 的完整流程,借助 AMX 加速器与 IPEX、oneCCL 实现分布式训练。
Hugging Face 博客介绍如何用 Transformers.js 制作完全在浏览器本地运行的实时 ML 网页游戏 Doodle Dash。作者基于 Google Quick, Draw!
推荐理由:完整演示了从微调 MobileViT 到用 Transformers.js 在浏览器内实时推理的端到端流程,可迁移到其他端侧 ML 项目。
Hugging Face Inference Endpoints 可将 Falcon 40B instruct 等开源 LLM 部署为生产级 API,无需管理基础设施,支持自动扩缩容与 scale-to-zero。
Hugging Face 发布教程,用 Node.js 调用 Inference Endpoints 上的 WizardCoder-15B,把提示词流式生成并直接渲染为 HTML 网页。
Optimum Habana v1.7 在 Habana Gaudi2 上微调 BridgeTower 视觉语言模型,相比 A100 实现 2.5 倍加速、相比 H100 实现 1.4 倍加速。
Hugging Face 发布教程,介绍如何为 Meta AI 的 MMS 模型微调 Adapter 层以适配低资源语言的 ASR 任务。MMS 预训练 checkpoint 覆盖 1400 多种语言、参数量 300M 到 1B,每个 Adapter 层仅约 2.5M 权重,微调 10-20 分钟即可获得极低词错率。对低资源语言,Adapter 训练比全模型微调更省内存、更鲁棒且性能更好。
Hugging Face 用 Autoformer 与 DLinear 在 Traffic、Exchange-Rate、Electricity 三个数据集上对比。
Elixir 社区用 Livebook 构建了一个基于 Whisper 的语音聊天应用,并部署到 Hugging Face Spaces,全程不到 15 分钟。该应用支持多人协作,可并发提供机器学习模型推理服务,并集成了 Hugging Face Models。Livebook 还作为 Space Docker 模板之一,可直接在 Hugging Face Spaces 中免费运行。
Hugging Face 博客介绍如何借助 Core ML 的新压缩与优化能力,在 iPhone、iPad 和 Mac 上更快运行 Stable Diffusion。
推荐理由:文章给出 6-bit palettization 的量化原理与转换命令,读者可据此把 Stable Diffusion 部署到 iPhone 和 Mac 本地运行。
Hugging Face Hub 目前托管超 190,000 个机器学习模型、33,000 个数据集和超 100,000 个应用与 demo,覆盖文本、图像、音频及多模态任务。这篇博客面向美术馆、图书馆、档案馆与博物馆(GLAM)从业者,介绍如何在 Hub 上按任务和语言筛选模型、用 model widget 测试效果,并以 CSV 格式上传 GLAM 数据集。
Hugging Face 发布教程,讲解如何用 Hugging Face Unity API 在 Unity 游戏中实现语音识别,将语音转为文本,可用于下达指令、与 NPC 对话或提升无障碍体验。
Hugging Face 借助 OpenVINO 的 NNCF 与 Diffusers,对 Stable Diffusion 的 UNet 采用量化感知训练(QAT)并叠加 Token Merging,在 Intel CPU 上实现相比 PyTorch 5.1 倍推理加速和 4 倍模型体积缩减。
Hugging Face 探索用指令微调让 Stable Diffusion 按指令处理输入图像,方法基于 InstructPix2Pix 的训练策略并借鉴 FLAN 的指令模板思路。
Hugging Face 博客详解 BigCode 项目采用 MinHash + LSH(参数 256, 0.7, 5)进行文档级近重复数据删除,并确认去重同样能提升代码模型性能且所需数据集更小。文章还对比了 The Stack、CodeParrot、InCoder 等代码数据集所用的精确匹配、Levenshtein 距离等去重方法,指出去重可减少训练步数、防止基准污染与数据泄露。
Intel 用 SmoothQuant-O3 对 OPT 2.7B/6.7B、LLaMA 7B、Alpaca 7B、Vicuna 7B、BloomZ 7.1B、MPT-7B-chat 等模型做 8-bit 量化,模型体积缩小约 2 倍,多数基准指标不降反升。
Hugging Face 发文介绍 RWKV 架构,它结合了 RNN 与 Transformer 的优势,并已被集成进 transformers 库。RWKV 由 Bo Peng 主导,训练 GPU 由 Stability AI 捐赠,现有模型参数从约 170M 到 14B,训练上下文长度达 8192 且速度与 ctx1024 模型相当。
推荐理由:结合 RWKV 架构原理与 transformers 集成示例,读者可了解 RNN 与 Transformer 优势如何被合并。
Hugging Face 发布教程,介绍如何在单块 AMD GPU 上通过 ROCm 运行 13B 参数的 Vicuna 聊天机器人。Vicuna 由 UC Berkeley、CMU、斯坦福和 UCSD 团队基于 LLaMA 微调,训练成本约 300 美元,以 GPT-4 为参考的初步评估中质量达到 ChatGPT 的 90% 以上。
Hugging Face 发布辅助生成(assisted generation)解码方法,用一个至少小一个数量级的助手模型快速生成候选 token,再由主模型前向验证,在 Transformers 中通过 assistant_model 参数即可启用。
推荐理由:Hugging Face 官方详解辅助生成解码方法,给出可复现的延迟数据与 Transformers 调用方式。
Hugging Face 团队基于 BigCode 的 16B 参数 StarCoder 模型,用 OpenAssistant 对话数据集微调出编码助手 StarChat,并公开了代码、数据集与模型。
推荐理由:原文完整给出了用对话数据微调 StarCoder 的流程与代码,读者可据此复现一个开源编码助手。
Hugging Face 发文梳理文本到视频模型的发展脉络,指出该任务比文本到图像更难,需保证帧间时空一致性。早期模型基于 GAN 和 VAE,随后 Phenaki、Make-A-Video、NUWA、VideoGPT、CogVideo 等转向 Transformer 架构,当前主流则转向扩散模型。文章还分析了算力成本高、高质量数据集稀缺、视频描述模糊等核心挑战。
Hugging Face Unity API 是 Hugging Face Inference API 的集成工具,让开发者在 Unity 项目中调用 Hugging Face AI 模型。
Hugging Face 发布端到端教程,演示如何用 🤗 Transformers、TensorFlow 和 TPU 从零训练一个 RoBERTa base 模型,涵盖训练 tokenizer、在 WikiText v1 上分词并转为 TFRecord 上传 GCS,再到模型训练与上传的完整流程。代码默认使用 BERT 规模模型,可通过修改配置扩展到更大模型和更强 TPU pod 切片。
Hugging Face 博客介绍如何在免费版 Google Colab(13GB CPU 内存、15GB T4 显存)上用 diffusers 运行 DeepFloyd 的 IF 文生图模型。
推荐理由:原文给出在免费 Colab 上分阶段加载 IF 各组件、8bit 量化 T5 并逐段释放显存的具体做法,可迁移到其他大模型推理。
Hugging Face Space 除了托管机器学习 demo,也能托管可玩的 Unity 游戏。教程给出 11 步流程:用 Static HTML 模板创建 Space、将 Unity 项目构建目标切换为 WebGL、把压缩格式设为 Disabled,再通过 Git-LFS 推送构建文件即可运行。官方还提供可选的 Hugging Face Unity WebGL 模板。
Hugging Face 博客发布教程,演示如何用 Transformers 库(版本 >= 4.27.2)进行图分类,目前该库中唯一的图 Transformer 模型是微软的 Graphormer。
Hugging Face 与开源联邦学习框架 Substra 合作创建了一个演示空间,展示如何在数据不出本地的前提下训练模型。联邦学习只传输模型权重而非原始数据,用多数据源训练的模型在验证数据上几乎总是优于单一数据源模型。Substra 已在乳腺癌研究等复杂安全环境中落地,MELLODDY 项目中 10 家生物制药公司借此共享了全球最大的小分子数据集。
Hugging Face 发布 StackLLaMA 模型及完整 RLHF 训练流程,用 LLaMA 7B 在 Stack Exchange 问答数据上依次完成监督微调、奖励建模和 PPO 强化学习,训练管线已集成到 TRL 库。
推荐理由:Hugging Face 公开了用 RLHF 训练 LLaMA 的完整流程与代码,读者可据此复现并迁移到自己的任务。
Hugging Face 展示用 Optimum Habana 在 Habana Gaudi2 上部署 1760 亿参数的 BLOOMZ 并做推理,8 卡 16-bit 下延迟 3.103 秒,比 A100 80GB 的 4.402 秒快 1.42 倍。
Hugging Face 展示了在 Intel Sapphire Rapids CPU 上加速 Stable Diffusion 推理的多种技术。
Hugging Face 发布教程,演示如何用 Flower 框架在多个客户端上联邦微调预训练 Transformer 模型 distilBERT,用于 IMDB 影评情感分类。教程涵盖数据加载、PyTorch 训练测试循环、Flower 客户端类编写,并提供 Google Colab 模拟版本。
Hugging Face 发布教程,介绍如何用 diffusers 训练自定义 ControlNet,并以人脸姿态为例完整走通流程。训练分三步:规划条件、构建数据集、训练模型,数据集需包含原图、条件图和提示词三列。
推荐理由:完整复现了从条件设计、数据集构建到 diffusers 训练脚本的 ControlNet 训练流程,并给出不同显存下的参数配置。
Informer 模型已在 🤗 Transformers 中可用,用于多变量概率时间序列预测,即预测未来时间序列目标值向量的分布。该模型基于 vanilla Transformer,通过 ProbSparse 注意力将自注意力复杂度从 O(T²D) 降至 O(T log T),并用 Distilling 操作把堆叠层内存占用从 O(NT²) 降至 O(N·T log T)。
Hugging Face 正式发布 trl 与 peft 的集成,让大语言模型的 RLHF 微调更易上手。该方案用 8-bit 加载、低秩适配器和共享参考模型三层手段压缩显存,在 24GB NVIDIA 4090 上完成了 20B 参数 gpt-neox 的 RLHF 微调,完整训练则在单张 A100 上跑完。
推荐理由:原文给出在 24GB 消费级 GPU 上完成 20B 模型 RLHF 微调的具体组合方案,可迁移到显存受限的训练场景。
2023 年土耳其地震后,志愿者在 Hugging Face 上协作开发了灾害地图应用 afetharita,用 easyocr 做 OCR、基于 bert-base-turkish-cased 微调 token 分类模型提取地址,并通过 Inference API 部署。
Hugging Face 专家加速计划帮助 Witty Works 将其包容性写作助手的非包容性词汇分类器从 vanilla transformers 转向 Sentence Transformers 架构,结合 SetFit 库实现少样本微调,每个词仅需 15-20 条标注句子。
红队测试通过构造自然语言提示词诱导大语言模型输出有害内容,从而暴露其漏洞,与对抗攻击不同,其提示词对人类而言是正常可读的。红队测试可由人工或另一个语言模型执行,针对经 RLHF 或 SFT 对齐的模型需借助角色扮演等创造性手段。随着模型能力增强,开发可持续适配的红队方法并推动多方协作共享数据集与最佳实践变得至关重要。