Atención multiconsulta
La atención de consultas múltiples (MQA) es una versión de la atención del transformador que ahorra memoria y comparte un conjunto de claves y valores entre todos los cabezales de atención.
Descripción general
It dramatically speeds up text generation by shrinking the memory the model must shuffle around.
Buceo profundo
La atención estándar de múltiples cabezales brinda a cada cabezal su propia consulta, clave y proyecciones de valor. Durante la generación, las claves y los valores de todos los tokens anteriores deben almacenarse en caché y recargarse en cada paso; este caché KV se convierte en el principal cuello de botella, ya que leerlo desde la memoria es más lento que las matemáticas mismas. La atención de consultas múltiples, propuesta por Noam Shazeer en 2019, mantiene proyecciones de consultas separadas por encabezado, pero colapsa las claves y los valores en un único encabezado compartido. Esto reduce la caché KV en un factor igual al número de cabezales, a veces entre 8 y 64 veces más pequeño. El resultado es una decodificación autorregresiva mucho más rápida y una menor huella de memoria, con sólo una modesta caída de calidad. Un término medio, la atención de consultas agrupadas, equilibra el equilibrio.
Información técnica
En MQA, los pesos de las consultas aún producen H vectores de consulta separados, pero todos los cabezales comparten una única proyección de clave y una proyección de valor único. Cada cabeza calcula la atención utilizando su propia consulta con las mismas claves y valores. Debido a que los tensores K y V almacenados en caché ya no escalan con el número de cabezas, el ancho de banda de la memoria durante la decodificación cae drásticamente, y el ancho de banda, no la computación, es lo que controla la velocidad de generación en los aceleradores modernos.
Impacto Estratégico
Speed and scale
Los flujos de trabajo lingüísticos pueden avanzar más rápido sin sacrificar la coherencia.
Access and reach
Amplía el acceso a través de idiomas y estilos de comunicación.
Decisiones más claras
Los equipos pueden dedicar más tiempo a juzgar mientras la automatización se encarga de la repetición.
El futuro de la atención multiconsulta
MQA estableció que se pueden eliminar cabezas clave/valor redundantes con poco daño, y esa información ahora da forma a casi todos los LLM de inferencia rápida. El campo ha convergido en gran medida en la Atención de consultas agrupadas (GQA), utilizada en Llama 2/3 y muchos otros, que utiliza unos pocos grupos KV en lugar de uno para recuperar la calidad manteniendo la mayor parte de la aceleración. El trabajo futuro combina estas ideas con compresión de caché KV, cuantificación y atención multilatente para impulsar contextos más largos y servicios más baratos.
Implementación en el mundo real
Acelerar la generación token por token en los asistentes de chat donde la caché KV, no el cálculo sin procesar, limita el rendimiento.
PaLM de Google, que utilizaba atención de consultas múltiples para permitir una inferencia eficiente a gran escala.
Sirve a muchos usuarios simultáneos en una GPU reduciendo la memoria caché KV por solicitud.
Atención de consultas agrupadas en Llama 2 70B y Llama 3, un descendiente directo que equilibra la velocidad de MQA con la calidad de la atención total.
Riesgos y barandillas
Los hechos alucinados pueden aparecer silenciosamente en informes, flujos de apoyo o resultados de investigaciones.
La sensibilidad rápida puede crear resultados inconsistentes en solicitudes similares.
Los datos de texto confidenciales pueden quedar expuestos si los controles de acceso son débiles.
Hoja de ruta de implementación
Defina el formato de salida, el tono y los estándares de calidad antes del lanzamiento.
Respuestas terrestres con fuentes confiables siempre que la precisión sea importante.
Mantenga un punto de control de revisión humana para los resultados de alto riesgo.
Realice un seguimiento de los patrones de error y vuelva a capacitar las indicaciones o los flujos de trabajo con regularidad.
Sigue explorando
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Multi-Query Attention quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Siguiente guía
Atención de consultas agrupadas
Preguntas frecuentes
What is Multi-Query Attention?
La atención de consultas múltiples (MQA) es una versión de la atención del transformador que ahorra memoria y comparte un conjunto de claves y valores entre todos los cabezales de atención. Acelera drásticamente la generación de texto al reducir la memoria que el modelo debe barajar.
¿Qué comparte la atención multiconsulta entre todos los cabezales de atención?
MQA mantiene consultas separadas por cabeza, pero comparte una proyección clave y una proyección de valor en todas las cabezas.
¿Cuál es el principal cuello de botella que aborda MQA durante la generación autorregresiva?
La recarga de la gran caché KV en cada paso depende del ancho de banda; MQA reduce ese caché para acelerar la decodificación.
¿Aproximadamente en qué factor MQA reduce la caché KV?
Dado que las claves y los valores colapsan de H cabezas a una, el caché se reduce aproximadamente en el número de cabezas.
¿Cuál es la principal desventaja de utilizar MQA?
Compartir claves y valores reduce ligeramente la capacidad de representación, provocando una pequeña disminución de la calidad a cambio de grandes ganancias de velocidad.
¿Qué variante se sitúa entre la atención multicabezal estándar y el MQA?
La atención de consultas agrupadas (GQA) utiliza varios grupos KV en lugar de uno, equilibrando calidad y velocidad.