Lanzamiento de Transformers v5.15.0

imagem 25

Nuevo lanzamiento: v5.15.0

Nuevos modelos

Meta Muse Glimmer

Muse Glimmer, lanzado hoy, es el nuevo modelo multimodal de Meta, especialmente diseñado para casos de uso agentivos. Destilado de Muse a 30 mil millones de parámetros y liberado bajo licencia Apache 2.0, puede desplegarse en configuraciones locales para aplicaciones con privacidad como codificación, análisis de documentos, asistentes personales, y configuraciones tipo Claw o Hermes.

Muse Glimmer es un modelo denso de 30B de parámetros compuesto por:

  • Codificador de visión estilo ViT de 2B (Codificador de Percepción)
  • Decodificador de texto de 28B parámetros

Puedes leer más en nuestra entrada de blog.

image


GraniteMoeSWA y GraniteSWA

image

Se han añadido los nuevos modelos Granite-swa y Granitemoe-swa. Para más detalles, consulta la documentación.


A.X-K1 y A.X-K2

image

Se incluyen los modelos AXK2 y AXK1 de SKT. Para más información, revisa la documentación.


Cosmos3 Edge

image

Se agrega soporte para el modelo Cosmos3 Edge. Consulta la documentación para más información.

Cambios incompatibles

Los kernels ahora son opcionales en lugar de obligatorios para los modelos de atención lineal (Mamba, GDN, solo convolución, etc.). Los usuarios que dependían de la selección automática de kernels deben activarlos explícitamente para mantener el comportamiento anterior.

La API de recorte de caché ahora solo acepta valores negativos (desplazamientos relativos) en lugar de tamaños absolutos. Los usuarios que llamen a los métodos de recorte directamente deben actualizar su código para pasar valores negativos.

T5 y su familia de modelos (MT5, LongT5, etc.) ahora soportan SDPA y otros backends de atención a través de ALL_ATTENTION_FUNCTIONS. Esto significa que la implementación de atención predeterminada puede cambiar; los usuarios que dependían de la ruta eager anterior deben establecer explícitamente attn_implementation="eager" si es necesario.

Varias pequeñas funciones auxiliares privadas (como _is_url, _build_image_tokens) han sido eliminadas de los archivos de procesadores multimodales. Los usuarios o bibliotecas que importaban directamente estas funciones deben eliminar o reemplazar esas referencias.

Atención

Esta versión incluye varias correcciones y mejoras en la atención. Se ha corregido la compresión de caché en la atención multi-cabeza latente (MLA), optimizado el cálculo de la longitud máxima de secuencia en Flash Attention para modelos de visión, y solucionado errores en la atención flexible de CTRL y en el pre-llenado SDPA con bias de posición. Otros cambios refactorizan los modelos de atención lineal para una mejor mantenibilidad, hacen explícita la configuración de atención heterogénea de Gemma 4 y mejoran el soporte para MPS mediante la integración de metal-flash-sdpa.

Visión

Las mejoras en visión incluyen optimizaciones de rendimiento como un preprocesamiento de imágenes más rápido para modelos de lenguaje-visión (GLM4V, MiniMaxM3-VL, entre otros) al eliminar copias redundantes de tensores, y rutas más eficientes de Flash Attention de longitud variable al precomputar longitudes máximas de secuencia una vez por paso hacia adelante. También se aplicaron varias correcciones de errores: se corrigió la alineación de tipo de dato en las fusiones de embeddings de Kosmos2/Kosmos2_5, se solucionó un fallback en la inicialización de embeddings de posición en Phi4Multimodal, se resolvió la paridad de cambio de tamaño de imágenes PIL en Hunyuan-VL, y se parchó el manejo de stop-sequence en el pipeline imagen-texto-a-texto.

Generación

Se realizaron varias mejoras y correcciones en la generación. Ahora es posible la generación de audio por lotes en Qwen2.5/3-Omni. Las capas de caché de ventana deslizante ya pueden usarse con decodificación especulativa. Se corrigió la sobrecarga de memoria causada por la persistencia de la caché estática entre llamadas a generate(). Además, se resolvieron fallos en KyutaiSpeechToText, MusicgenForCausalLM, CTRL flex-attention, y en la decodificación asistida para el caché EncoderDecoder y modelos OlmoHybrid.

Caché

Se corrigieron varios errores relacionados con la caché: se añadió la correspondencia de tipo «mlp» que faltaba en NemotronH, se solucionó la omisión de máscaras de relleno en capas recurrentes durante el pre-llenado fragmentado y la continuación de caché en modelos híbridos, y se arregló la decodificación asistida para modelos con EncoderDecoderCache y OlmoHybrid. Además, se alineó OlmoHybrid para usar una caché nativa, se habilitó el soporte de retroceso en ventanas deslizantes para decodificación especulativa, y se evitó que la caché estática se almacenara como atributo del modelo para reducir el uso inesperado de memoria.

Kernels

⚠️ El paquete kernels de Python será probablemente una dependencia obligatoria para transformers[torch] en un futuro cercano. Esto ayudará a ofrecer el máximo rendimiento a todos los usuarios; los kernels solo se descargarán de editores de confianza aprobados manualmente por el equipo de HF. Por favor, infórmennos de cualquier problema que enfrenten antes para que podamos solidificar nuestra integración.

Se mejoró la robustez de la integración de kernels mediante la refactorización del manejo de funciones usando repositorios de capas. Se corrigieron parches de fallback EROFS para la descarga de kernels a través de HfApi, se resolvió una colisión de argumentos posicionales en causal_conv1d_fn, y se actualizó la versión de los kernels FP8 para evitar NaNs.

Cuantización

Se amplió el soporte de cuantización con kernels FP8 para modelos de compressed-tensors. Se corrigieron la normalización de módulos FP8 y la detección de compresión basada en formato. Se solucionó una condición de carrera en la descuantización MXFP4 en múltiples dispositivos. Las pruebas de GPTQ y MXFP4 se extendieron a dispositivos Intel XPU.

Audio

Ahora se soporta la generación de audio por lotes en Qwen2.5/3-Omni. Se aplicaron varias correcciones en modelos de audio: se arregló una discordancia de dtype en la fusión de características de audio de Gemma4, un error en el embedding posicional bfloat16 de AudioFlamingo3, y se añadieron las protecciones de requisitos de backend que faltaban para Voxtral. Además, se actualizó el procesador VibeVoice ASR para que la entrada de audio sea opcional y soporte múltiples audios por instrucción.

Paralelización

Se expandió el soporte FSDP a 94 clases de modelos ForCausalLM con planes FSDP generados automáticamente. Se agregaron pruebas FSDP de extremo a extremo, incluyendo guardado/carga de puntos de control distribuidos y generación, junto con un trabajo de CI dedicado. Además, se corrigió un error de discordancia de dispositivo en create_bidirectional_sliding_window_mask bajo paralelismo de modelo y se solucionó un problema de inferencia en paralelo de tensores para modelos con embeddings atados.

Tokenización

Esta versión añade soporte nativo para el formato de tokenizador «tekken» de Mistral mediante AutoTokenizer. Se corrigió un error en el tokenizador de CodeLlama donde el espacio en blanco inicial se eliminaba incorrectamente durante la decodificación. También se parchó una posible vulnerabilidad ReDoS causada por nombres de archivo de tokenizador no escapados que se usaban como patrones regex en from_pretrained.

Servir

Se mejoró el análisis de chat en serve unificando las rutas de streaming y no streaming bajo un único analizador de respuesta que maneja llamadas a herramientas, razonamiento y contenido, simplificando la adición de soporte para nuevos modelos. Además, se reforzó el informe diario de CI al corregir la captura de diagnósticos de la API de GitHub en cargas útiles de Slack y al añadir resistencia a los límites de tasa para evitar fallos en los informes al paginar grandes matrices de trabajos.

Correcciones y mejoras generales

Se han implementado numerosas correcciones de errores y mejoras en toda la biblioteca. Se solucionó un problema por el cual los archivos en caché devolvían silenciosamente archivos obsoletos en sistemas de archivos de solo lectura (EROFS). Varias correcciones en CI incluyeron la serialización de trabajos de revisión para evitar condiciones de carrera, el uso de hashes de contenido para la deduplicación, y la publicación de hallazgos como comentarios en línea en las PRs.

En modelos, se arregló la inicialización de c_proj de GPT-2, la conversión de mapeos en Aria, y el orden de empaquetado de parches en Cosmos 3 Edge. Se corrigieron fallos en múltiples modelos para pruebas en XPU, y se ajustaron expectativas de test para granite, inkling, entre otros. Se aplicaron correcciones de ortografía y gramática en documentación y archivos del modelo. Se eliminaron desaprobaciones antiguas y se simplificaron los módulos Rotary. También se mejoró el rendimiento: se vectorizó NoRepeatNGramLogitsProcessor, se eliminó una copia de host a dispositivo que rompía gráficos CUDA, y se optimizó el manejo de tensores lentos en la verificación de tokens especiales.

Se añadió soporte para XPU en guías de instalación, se migró la integración con torchao fuera de tipos eliminados, y se silenciaron advertencias elásticas importando dentro de funciones. Otros cambios incluyen el soporte de esquemas de respuesta estructurados, la gestión de chat, y la mejora del DataLoader del Trainer para streaming y multiprocesamiento.

Contribuciones significativas de la comunidad

Los siguientes colaboradores realizaron cambios importantes en la biblioteca durante este lanzamiento:

  • ydshieh: Solucionó problemas de archivos en caché en EROFS, arregló PhimoeIntegrationTest, y realizó múltiples mejoras en los flujos de trabajo de CI, incluyendo la serialización de revisiones, deduplicación por hash, y publicación de comentarios en PR.
  • kaixuanliu: Hizo que los ejemplos de la documentación sean independientes del dispositivo, canceló tests deterministas en gemma4 para XPU, activó el soporte FLA para XPU, y corrigió numerosos tests fallidos en varios modelos como DBRX MoE, axk1/2, granite, zaya, tipsv2, entre otros.
  • vasqu: Lideró la refactorización de kernels y modelos de atención lineal para que sean opcionales, mejoró el manejo de funciones de kernels, agregó los modelos AXK2 y FP8, y mantuvo la versión de desarrollo.
  • kmswin1: Añadió soporte para los modelos AXK1 y AXK2, corrigió la normalización FP8 en la MLP con norma cerrada, y aplicó un hotfix al indexador de AXK2.
  • remi-or: Corrigió la atención multi-cabeza latente (MLA) y otros errores en indicaciones de tipo y dimensiones en KimiK25, además de cambiar automáticamente la implementación de atención a flash para CB.
  • juliendenize: Implementó el soporte nativo del tokenizador tekken de Mistral, movió el conversor de Mistral a un paquete de integración, y aseguró que tokenization_mistral_common sea importable sin mistral_common instalado.
  • IMvision12: Habilitó la generación de audio por lotes en Qwen2.5/3-Omni y corrigió la paridad de redimensionamiento de imágenes PIL en Hunyuan-VL.
  • jiqing-feng: Activó SDPA para T5 y su familia, corrigió errores en generación de KyutaiSpeechToText y MusicgenForCausalLM, y solucionó un fallo con BlockMask en CTRL.
  • tarekziade: Mejoró la infraestructura de CI con diagnósticos de API de GitHub, flujos de trabajo de serge, resistencia a límites de tasa, y correcciones en informes diarios.
  • daviswer: Añadió soporte para los modelos Granite-swa y Granitemoe-swa.
  • ShareLer: Optimizó el cálculo de la secuencia máxima en la atención flash para modelos de visión.
  • atharvajoshi10: Agregó el modelo Cosmos3 Edge y corrigió el orden de empaquetado de parches.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *