{"id":184880,"date":"2026-03-06T14:40:21","date_gmt":"2026-03-06T13:40:21","guid":{"rendered":"https:\/\/liora.io\/es\/el-flexattention-de-pytorch-con-flashattention-4-es-un-cambio-radical"},"modified":"2026-03-06T14:40:21","modified_gmt":"2026-03-06T13:40:21","slug":"el-flexattention-de-pytorch-con-flashattention-4-es-un-cambio-radical","status":"publish","type":"post","link":"https:\/\/liora.io\/es\/el-flexattention-de-pytorch-con-flashattention-4-es-un-cambio-radical","title":{"rendered":"El FlexAttention de PyTorch con FlashAttention-4 es un cambio radical"},"content":{"rendered":"<p><strong>PyTorch ha integrado FlashAttention-4 como un nuevo backend para su API FlexAttention, proporcionando aceleraciones de 1,2\u00d7 a 3,2\u00d7 para mecanismos de atenci\u00f3n de IA personalizados en las GPU Hopper y Blackwell de NVIDIA. La actualizaci\u00f3n, detallada en un informe t\u00e9cnico publicado hoy, permite a los desarrolladores escribir c\u00f3digo en Python que se compila autom\u00e1ticamente en kernels de GPU altamente optimizados, eliminando la disyuntiva tradicional entre flexibilidad y rendimiento en el desarrollo de modelos transformer.<\/strong><\/p>\n<p>El avance aprovecha la compilaci\u00f3n just-in-time (JIT) para convertir funciones definidas por el usuario en Python directamente en kernels en lenguaje CuTeDSL, seg\u00fan el PyTorch Blog. Este enfoque permite al sistema acceder a caracter\u00edsticas de hardware que antes no estaban disponibles a trav\u00e9s de los marcos de trabajo est\u00e1ndar, incluida la Memoria de tensores gestionada por el programador, operaciones as\u00edncronas y la especializaci\u00f3n de warp en las arquitecturas m\u00e1s recientes de NVIDIA.<\/p>\n<p>La tecnolog\u00eda aborda un cuello de botella cr\u00edtico en el desarrollo de IA, donde hist\u00f3ricamente los investigadores han afrontado dif\u00edciles decisiones entre usar kernels preconstruidos r\u00e1pidos pero r\u00edgidos o implementaciones personalizadas flexibles pero lentas. <strong>FlexAttention<\/strong>, con el nuevo backend, admite patrones de atenci\u00f3n complejos que incluyen ALiBi, sliding window attention, document masking y soft-capping, todo ello manteniendo un rendimiento casi \u00f3ptimo.<\/p>\n<h3 style=\"margin-top:2rem;margin-bottom:1rem;\">Rendimiento y Validaci\u00f3n<\/h3>\n<p>Las pruebas de rendimiento demuestran que el backend FA4 iguala o supera el rendimiento de atenci\u00f3n de NVIDIA cuDNN en las pasadas hacia atr\u00e1s (backward passes), aunque persiste cierta brecha en las pasadas hacia adelante (forward passes) para la atenci\u00f3n causal est\u00e1ndar, seg\u00fan inform\u00f3 el equipo de PyTorch. La implementaci\u00f3n ha sido validada mediante pruebas a gran escala, con un modelo <strong>Llama 3 70B<\/strong> entrenado en 64 GPU H100 que alcanza valores de p\u00e9rdida final id\u00e9nticos usando tanto el backend Triton como FA4.<\/p>\n<p>Las ganancias de rendimiento provienen de la capacidad de FA4 para aprovechar kernels con pipelines intensivos y optimizaciones espec\u00edficas de hardware que mantienen los n\u00facleos tensoriales (tensor cores) en <strong>las GPU Hopper y Blackwell<\/strong> de NVIDIA completamente utilizados. Estas ventajas arquitect\u00f3nicas resultan particularmente valiosas en escenarios limitados por el c\u00f3mputo que involucran largas longitudes de secuencia, un desaf\u00edo com\u00fan en los modelos de lenguaje modernos.<\/p>\n<h3 style=\"margin-top:2rem;margin-bottom:1rem;\">Limitaciones actuales<\/h3>\n<p>La tecnolog\u00eda presenta limitaciones importantes que los desarrolladores deben considerar. El backend admite exclusivamente GPU NVIDIA Hopper y Blackwell, y en otro hardware cambia autom\u00e1ticamente por defecto al backend Triton. Adem\u00e1s, la pasada hacia atr\u00e1s actualmente carece de determinismo cuando la block-sparsity est\u00e1 habilitada, aunque el equipo de PyTorch indic\u00f3 que se est\u00e1 trabajando en una correcci\u00f3n.<\/p>\n<p>Otras limitaciones incluyen la incapacidad de calcular gradientes para tensores capturados, como sesgos aprendibles, y posibles costos de recompilaci\u00f3n cuando los valores escalares cambian entre llamadas a la funci\u00f3n. El kernel tambi\u00e9n est\u00e1 optimizado para tama\u00f1os de bloque espec\u00edficos: <strong>128&#215;128 en Hopper<\/strong> y <strong>256&#215;128 en Blackwell<\/strong>, lo que podr\u00eda no ajustarse a todos los casos de uso.<\/p>\n<p>A pesar de estas limitaciones, la integraci\u00f3n representa un avance significativo para el desarrollo de modelos transformer, permitiendo a los investigadores experimentar con nuevos mecanismos de atenci\u00f3n sin sacrificar el rendimiento necesario para el despliegue en producci\u00f3n en las GPU modernas de los centros de datos.<\/p>\n<div style=\"margin-top:3rem;padding-top:1.5rem;border-top:1px solid #e2e4ea;\">\n<h3 style=\"margin:0 0 0.75rem;font-size:1.1rem;letter-spacing:0.08em;text-transform:uppercase;\">\n    Sources<br \/>\n  <\/h3>\n<ul style=\"margin:0;padding-left:1.2rem;list-style:disc;\">\n<li>PyTorch Blog<\/li>\n<\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>PyTorch ha integrado FlashAttention-4 como un nuevo backend para su API FlexAttention, proporcionando aceleraciones de 1,2\u00d7 a 3,2\u00d7 para mecanismos de atenci\u00f3n de IA personalizados en las GPU Hopper y Blackwell de NVIDIA. La actualizaci\u00f3n, detallada en un informe t\u00e9cnico publicado hoy, permite a los desarrolladores escribir c\u00f3digo en Python que se compila autom\u00e1ticamente en kernels de GPU altamente optimizados, eliminando la disyuntiva tradicional entre flexibilidad y rendimiento en el desarrollo de modelos transformer.<\/p>\n","protected":false},"author":87,"featured_media":184876,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2440,2428],"class_list":["post-184880","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-ia","category-noticias"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/184880","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/users\/87"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/comments?post=184880"}],"version-history":[{"count":0,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/184880\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media\/184876"}],"wp:attachment":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media?parent=184880"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/categories?post=184880"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}