Model Integration
搜索文档
五年,终于等来Transformers v5
自动驾驶之心· 2025-12-04 11:03
Transformers v5版本发布 - Hugging Face发布了其核心开源项目Transformers库的v5.0.0rc0候选版本,标志着该库结束了长达五年的v4技术周期,正式进入v5时代 [1][3] - 自2020年11月v4发布以来,该库的日下载量从2万次激增至超过300万次,总安装量突破12亿次 [3] - 该库支持的模型架构从最初的40个扩展至超过400个,社区贡献的模型权重超过75万个,覆盖文本、视觉、音频及多模态领域 [3] 核心进化维度 - v5版本确立了PyTorch为唯一核心后端,并聚焦于四大维度的进化:极致的简洁性、从微调迈向预训练、与高性能推理引擎的互操作性,以及将量化提升为核心功能 [3] 简洁性与模块化 - 团队的首要关注点是简洁性,旨在通过干净、清晰的模型集成方式带来更广泛的标准化、更强的通用性和更全面的生态支持 [5][6] - 在过去5年里,平均每周新增1-3个新模型,目标是收录所有最新模型架构,成为模型定义的唯一可信来源 [7][8] - 大力推进模块化设计,使维护更简单、集成速度更快,并促进社区协作,例如引入了AttentionInterface作为注意力机制的集中抽象层 [10][12] - 正在构建基于机器学习的模型转换工具,以自动化模型转换流程,减少手动工作并确保一致性 [13][14] 代码重构与后端聚焦 - 对建模文件和标注/处理文件进行了大规模重构,使建模代码只保留模型前向/反向传播所需的核心部分 [15] - 简化tokenization & processing文件,未来将只关注tokenizers后端,并移除Fast和Slow tokenizer的概念 [16] - 图像处理器今后将只保留依赖torchvision后端的fast版本 [17] - 将逐步停止对Flax/TensorFlow的支持,专注于PyTorch作为唯一后端,同时与JAX生态合作伙伴协作确保兼容性 [17][18] 训练能力扩展 - v5版本加大了对大规模预训练以及完整训练的支持,而不仅仅是微调 [19] - 为支持预训练,重新设计了模型初始化方式,并加入了对前向与反向传播优化算子的支持,已与torchtitan、megatron、nanotron等工具实现更广泛的兼容 [20] - 继续与Python生态系统中的所有微调工具保持紧密合作,并与JAX生态中的MaxText等工具兼容,确保良好的互操作性 [21] 推理优化与生产部署 - v5带来了多项推理范式级更新,包括专用内核、更干净的默认设置、新的API,以及优化对推理引擎的支持 [22][23] - 定位并非取代vLLM、SGLang、TensorRT-LLM等专业推理引擎,而是目标与这些引擎实现兼容 [25] - 与最流行的推理引擎紧密合作,使得添加到Transformers的模型能立即在这些引擎中可用,并充分利用其优化优势 [27] - 与ONNXRuntime、llama.cpp和MLX密切合作以确保互操作性,例如可轻松在Transformers中加载GGUF文件进行微调,或将其模型转换为GGUF文件 [27] - 推动本地推理边界,与executorch团队合作让Transformers模型能够在设备端直接运行,并快速扩展对多模态模型的支持 [28] 量化与新增功能 - 量化正迅速成为前沿模型开发的标准,许多SOTA模型以8-bit和4-bit等低精度格式发布 [29] - 引入了连续批处理和paged attention机制,这些功能已在内部开始使用 [30] - 推出了全新的transformers serve服务系统,可用于部署一个兼容OpenAI API的服务器来部署Transformers模型 [30]