Transformers Releases

Lanzamiento v5.19.0

# Lanzamiento v5.19.0 ## Añadidos al modelo nuevo ### EmbeddingGemma2 EmbeddingGemma 2 es un modelo de incrustación multimodal de Google, construido sobre la arquitectura Gemma 4. Codifica texto, imágenes, audio y video…

Lanzamiento v5.19.0

Añadidos del nuevo modelo

EmbeddingGemma2

EmbeddingGemma 2 es un modelo de incrustación multimodal de Google, construido sobre la arquitectura Gemma 4. Codifica texto, imágenes, audio y video, individualmente o combinados en una única entrada, en un espacio vectorial compartido de 768 dimensiones para recuperación intermodal, similitud semántica, agrupación y clasificación. Utiliza el Aprendizaje de Representación Matryoshka, por lo que las incrustaciones pueden reducirse a 512, 256 o 128 dimensiones. También ofrece presupuestos visuales y de video configurables para los tokens, y las torres de visión o audio no utilizadas pueden desactivarse en el momento de carga para ahorrar memoria.

Enlaces: Documentación * Smthn smthn (#49364) por @vasqu en #49364

Cambios de diseño

Todos los modelos MoE cuyos enrutadores calculan logits ahora los devuelven cuando output_router_logits=True, siguiendo el patrón Qwen3-MoE (un registrador router_logits en el modelo base, MoeModelOutputWithPast del backbone y una salida de LM causal MoE desde la cabeza), por lo que el código que dependía de las salidas anteriores o su ausencia debería leer los logits del enrutador desde estas clases de salida. * 🚨 Devuelva los logits del enrutador de todos los modelos MoE que los calculan (#48920) por @qgallouedec

Owlv2ForObjectDetection.embed_image_query ahora selecciona el campo de búsqueda con la puntuación más alta de objetividad, tal como en el notebook original OWLv2, en lugar de la heurística OWL-ViT, por lo que los embebidos y detecciones basados en imágenes pueden diferir de las versiones anteriores. * 🚨 Selecciona la búsqueda de imagen OWLv2 por objetividad (#49200) mediante @qgallouedec

El prefijo "paged|" para las implementaciones de SDPA y atención instantánea está obsoleto, por lo que los usuarios deben utilizar la implementación regular de atención (por ejemplo sdpa o flash_attention_2) para el procesamiento continuo en lotes, en lugar de paged|sdpa o paged|flash_attention_2. * 🚨 Atención 🚨 Deje obsoleto el prefijo “paged|” para SDPA y atención instantánea (#49112) por @remi-or

Las funciones regulares de atención Flash y SDPAflash_attention.py, sdpa_attention.py) ahora soporta el procesamiento continuo de lotes directamente, y "paged|..." Las implementaciones para estas se redirigen hacia ellas, mientras que eager aún requiere "paged|eager" Prefijo. * 🚨 Atención 🚨 Presta atención regularmente al soporte CB (#49101) por @remi-or

En el batching continuo, la actualización del caché para las rutas basadas en índices y tabla de bloques se fusiona ahora en una sola llamada, lo que cambia ligeramente el comportamiento de la función de actualización del caché y afecta cualquier código personalizado que use los caminos de actualización separados. * 🚨 [CB] 🚨 Fusionar la actualización para la ruta del índice y la tabla de bloques (#49088) por @remi-or

Los procesos internos de lote continuo cambiaron en preparación para eliminar "paged": `max * 🚨 [CB] 🚨 Pequeñas correcciones antes de eliminar "paged" (#49069) por @remi-or

Paralelización

El paralelismo experto obtiene una implementación de desplegamiento de tokens, seleccionada a través de la nueva regla de plan ep_dispatch_experts y ahora es el valor por defecto para Qwen3 MoE y Mellum, lo que elimina la condición de que el tamaño del EP sea igual al tamaño del TP. El Trainer también se adaptó para trabajar con el paralelismo experto, y las documentación ahora indica que los adaptadores PEFT soportan el paralelismo de tensores. También se incluyó una corrección relacionada con CI para la inferencia de pipeline-parallel chart2table.

  • [distributed]: adaptar Trainer para funcionar Expert Parallel (#48873) por @3outeille en [#48873]
  • [distributed] Añadir despacho de tokens paralelo experto, por defecto para Qwen3 MoE (#48865) por @3outeille en [#48865]
  • Arreglar la inferencia de pp chart2table (#49225) por @zucchini-nlp en [#49225]
  • [docs] TP para adaptadores PEFT (#49060) por @stevhliu en [#49060]

Cache

Esta versión corrige el manejo del caché cuantizado: generate ya no muta la cache_config del usuario, y QuantizedLayer.reorder_cache se repara. También se añade una configuración de caché por capa, de modo que DynamicCache y StaticCache inicializan cada capa con su propia configuración (ventana deslizante, tamaño del bloque de atención, estados de la convocación y cantidad de cabezas de atención) para apoyar mejor los modelos heterogéneos. Por separado, el ciclo de deshabilitación para la máscara y el caché

  • Arreglar el caché cuantizado (#48700) por @jiqing-feng en [#48700]
  • [CI] check_bad_commit: utilizar el caché EFS para evitar el OOM de Xet FUSE (salida 137) (#49273) por @ydshieh en [#49273]
  • Soporte para la configuración de caché por capa (#48178) por @eladsegal en [#48178]
  • Eliminar el ciclo de deshabilitación en la máscara y el caché (#49231) por @Cyrilvallez en [#49231]

Correcciones de errores y mejoras

  • Restablecer “[CI] Desactivar temporalmente el desencadenador de CI programado de AMD” (#49271) (#49362) por @ydshieh en [#49362]
  • ALM testx fIxing... (#49355) por @zucchini-nlp en [#49355]
  • Corregir DataCollatorForLanguageModeling ignorando seed=0 (#49349) por @akanyaani en [#49349]
  • Corregir los modos de kernelización explícitos para los modelos de evaluación (#49339) por @DimensionSTP en [#49339]
  • fix(cohere_compass): agregar video a input_modalities (#49320) (#49323) por @destopianpirate en [#49323]
  • GPT-OSS: leer el alfa del SwiGLU comprimido y limitarlo desde la configuración (#49346) por @IlyasMoutawwakil en [#49346]
  • [distributed] MoE por defecto ep_plans a despachar tokens (#49160) por @3outeille en [#49160]
  • Mover CI a Python 3.11, con la versión definida en .python-version (#49311) por @tarekziade en [#49311].
  • Añadir pin al flujo de trabajo de documentos principales del generador de documentos (#49350) por @paulinebm en [#49350]
  • [distributed] separado tp_plan y ep_plan (#48859) por @3outeille en [#48859]
  • [distributed] Añadir una malla de dispositivos densa y especializada (#48857) por @3outeille en [#48857]
  • Aumentar el pin del flujo de trabajo de doc-builder (#49342) por @paulinebm en [#49342]
  • Permite registrar nuevos backend de procesamiento (#48984) por @zucchini-nlp en [#48984].
  • Arreglar WatermarkDetector repeated-ngram counting (#49315) por @LE0-Lin en [#49315]
  • Arreglar el batching de video de 4.6V de minicpm y CI (#49259) por @zucchini-nlp en [#49259]
  • Eliminar colwise_gather_output para lm_head para DeepseekV4 (#49314) por @3outeille en [#49314]
  • Arregle la documentación labels de CLIPSegForImageSegmentation (#49001) por @qgallouedec en [#49001].
  • [CI] Desactiva temporalmente el desencadenador de CI programado de AMD (#49271) por @ydshieh en [#49271]
  • Eliminar la entrada no utilizada de pandas en setup.py deps (#49329) por @tarekziade en [#49329]
  • Arreglar en run_glue.py que los IDs se convierten en cadenas de texto con pandas>=3 (#49326) por @tarekziade en [#49326]
  • [Corregir] Eliminar el archivo de prueba antiguo con dos pruebas obsoletas (#49280) por @remi-or en [#49280]
  • Corregir el relleno preformateado en bloques con IDs de posición de múltiples ejes (Qwen3-VL) (#49319) por @dacorvo en [#49319]
  • ¿Por qué sobrerolar si puedes arreglarlo en Mixin (#49105) por @zucchini-nlp en [#49105]?
  • Usa DoRoPE con mul en lugar de matmul (#49265) por @Rocketknight1 en [#49265]
  • Los pipelines descontinuados deben redirigirse; los pipelines eliminados deben generar un error (#49308) por @LysandreJik en [#49308]
  • Activar la prueba del modelo en el backend torch_tpu próximo (#49207) por @tengomucho en [#49207]
  • Corregir la penalidad de repetición del encodificador en filas de origen después de la expansión por lotes (#49262) por @gitedmond en [#49262]
  • Se conservan los puntajes EOS ocultos en la penalidad de longitud de decadencia exponencial (#49260) por @gitedmond en [#49260].
  • [CI] Evitar la obtención de todos los artefactos cuando solo se necesitan algunos específicos (#49282) por @ydshieh en [#49282]
  • Volver a implementar “[CI] ssh-runner: agregar un campo de entrada opcional cache_type para alternar entre los ejecutores bucket y EFS (#49159)” (#49270) por @ydshieh en [#49270]
  • Agregar Trainer.loss_is_scaled_for_ga para declarar si compute_loss ya se escala para la acumulación de gradientes (#49240) por @qgallouedec en [#49240]
  • Corregir los claves de kwargs de flash precomputadas que entran en conflicto (#47928) por @IlyasMoutawwakil en [#47928]
  • Volver a aplicar ejemplos modulares (#49230) por @Cyrilvallez en [#49230]
  • Eliminar algunos elementos que no existen (#49232) por @Cyrilvallez en [#49232]
  • Eliminar el ciclo de desuso de los rotarios (#49228) por @Cyrilvallez en [#49228]
  • [GTE] Añadir mixin de memoria (#49234) por @vasqu en [#49234]
  • [CB] Hacer que CB sea más independiente de los dispositivos y añadir soporte para XPU (#49156) por @remi-or en [#49156]
  • Métricas finales correctas debido a la reanudación desde el punto de control (#49208) por @SunMarc en [#49208]
  • [ESM/Persimmon/NllbMoe/ESMFold] utilizar los repositorios safetensors para solucionar Xet FUSE SIGBUS/IOError en los ejecutores de bucket CI (#49194) por @ydshieh en [#49194]
  • Actualización de Dev (#49212) por @vasqu en [#49212]

Contribuciones significativas de la comunidad

Los siguientes colaboradores han realizado cambios significativos en la biblioteca durante el último lanzamiento:

  • @vasqu
    • Smthn smthn (#49364)
    • [GTE] Agregar mixin de memoria (#49234)
    • Actualización de Dev (#49212)
  • @remi-or
    • [Corregir] Eliminar el archivo de prueba antiguo con dos pruebas obsoletas (#49280)
    • [CB] Hacer que CB sea más independiente de los dispositivos y añadir soporte para XPU (#49156)
    • 🚨 Atención 🚨 Dejar de utilizar el prefijo “paged|” para SDPA y flash (#49112)
    • 🚨 Atención 🚨 Presta atención regularmente en el soporte CB (#49101)
    • 🚨 [CB] 🚨 Actualización de Fuse para la ruta de la tabla de índice y bloque (#49088)
    • [Refactor] Hacer que algunas utilidades de atención en tiempo real sean más legibles (#49071)
    • 🚨 [CB] 🚨 Pequeñas correcciones antes de eliminar “paged” (#49069)
Fuente original

Transformers Releases

Notas sobre el contenido

La publicación original y los derechos pertenecen a la fuente.

Traducción automática · Consulte el original