A continuaciónSiguiente guía
Atención de consultas agrupadas
Idioma IA
GUÍA de IA en idiomas
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.
Escuche esta guíaNarrado por IA · ~2 min
It dramatically speeds up text generation by shrinking the memory the model must shuffle around.
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.
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.
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.
Boletín gratuito
Tres noticias verificadas sobre IA cada mañana de lunes a viernes, explicadas con claridad. Gratis para siempre y sin anuncios.
Un correo cada día laborable. Date de baja con un clic. Nunca vendemos ni compartimos tu dirección.
Ponte a prueba
Corrección inmediata en cada respuesta y un certificado para compartir, con un ID verificable, cuando apruebas un curso.
Apoya la educación gratuita sobre IA. AI Understanding es una organización sin fines de lucro 501(c)(3): sin anuncios ni muros de pago, nunca. Hacer una donación
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.
MQA mantiene consultas separadas por cabeza, pero comparte una proyección clave y una proyección de valor en todas las cabezas.
La recarga de la gran caché KV en cada paso depende del ancho de banda; MQA reduce ese caché para acelerar la decodificación.
Dado que las claves y los valores colapsan de H cabezas a una, el caché se reduce aproximadamente en el número de cabezas.
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.
La atención de consultas agrupadas (GQA) utiliza varios grupos KV en lugar de uno, equilibrando calidad y velocidad.
sigue aprendiendo
Más guías seleccionadas para este tema.
A continuaciónSiguiente guía
Atención de consultas agrupadas
Idioma IA