Hugging Face Transformers发布v5.19.0:新增EmbeddingGemma 2,多个MoE与注意力接口出现破坏性变更
该版本新增Google多模态嵌入模型EmbeddingGemma 2,并让所有计算logits的MoE模型在output_router_logits=True时返回router logits;同时弃用注意力实现的 "paged|" 前缀,OWLv2图像查询选择逻辑改为按objectness分数。
AI解读:该模型基于Gemma 4架构,把文本、图像、音频和视频单独或组合编码到共享的 768 维向量空间,用于跨模态检索、语义相似度、聚类和分类。
Hugging Face Transformers发布v5.19.0。该版本由贡献者vasqu发布,新增Google的EmbeddingGemma 2多模态嵌入模型,并包含多项破坏性变更。
EmbeddingGemma 2:支持四种模态的共享嵌入空间
EmbeddingGemma 2基于Gemma 4架构,可把文本、图像、音频和视频单独或组合在同一个输入中,编码到共享的 768 维向量空间,用于跨模态检索、语义相似度、聚类和分类。
该模型使用Matryoshka Representation Learning,嵌入可截断到 512、256 或 128 维。它还提供可配置的视觉和视频token预算,未用到的视觉或音频塔可在加载时禁用,以节省内存。
破坏性变更:MoE router logits、OWLv2查询与注意力接口
所有计算logits的MoE模型现在在output_router_logits=True时返回router logits,遵循Qwen3-MoE模式:基座模型上有router_logits记录器,backbone返回MoeModelOutputWithPast,head返回MoE因果LM输出。依赖旧输出或其缺失的代码应从这些输出类读取router logits。
Owlv2ForObjectDetection.embed_image_query现在按最高objectness分数选择查询框,与原始OWLv2 notebook一致,不再使用OWL-ViT启发式,因此图像引导的查询嵌入和检测结果可能与早前版本不同。
SDPA和flash attention实现的 "paged|" 前缀被弃用,用户应设置常规注意力实现(如sdpa或flash_attention_2)以支持连续批处理,而不是paged|sdpa或paged|flash_attention_2。常规flash和SDPA注意力函数现在直接支持连续批处理,paged|... 实现被重定向到它们,而eager仍需要 "paged|eager" 前缀。
在连续批处理中,基于索引和block table路径的缓存更新被融合为单个调用,轻微改变缓存更新函数的行为,影响调用分离更新路径的自定义代码。连续批处理内部还有为移除 "paged" 做准备的其他改动。
并行化与缓存更新
专家并行增加token-dispatch实现,通过新的ep_dispatch_experts计划规则选择,现为Qwen3 MoE和Mellum的默认设置,解除了EP大小必须等于TP大小的要求。Trainer也已适配专家并行,文档说明PEFT适配器支持张量并行。
缓存方面,generate不再修改用户的cache_config,QuantizedLayer.reorder_cache被修复,并新增逐层缓存配置,使DynamicCache和StaticCache按各层自己的配置初始化。