Arquitecturas de grandes modelos de lenguaje
Las arquitecturas de los modelos de lenguaje grandes (LLM) son los principios y estructuras fundamentales que definen cómo se construyen, entrenan y funcionan los modelos de lenguaje grandes. Los LLM modernos, capaces de comprender y generar lenguaje humano, se basan casi por completo en la arquitectura Transformer[1], pero incluyen numerosas mejoras y diversos enfoques destinados a aumentar la eficiencia, la escalabilidad y las capacidades.
Familias de arquitecturas de LLM (transformers)
Los modelos de lenguaje grandes modernos se basan en la arquitectura transformer[1], pero la utilizan de diferentes maneras según el objetivo: comprender texto, generar una continuación o transformar un texto en otro. En la práctica, se distinguen tres familias que conservan los principios básicos del transformer[2][3][4].
1. Encoder-only (solo codificador)
El modelo utiliza únicamente una pila de codificadores y procesa todo el texto de entrada de forma bidireccional. El preentrenamiento generalmente se basa en el modelado de lenguaje enmascarado (MLM, masked-language modeling): se ocultan algunos tokens y el modelo aprende a restaurarlos a partir de su contexto. Gracias al contexto bidireccional, estos modelos son potentes en tareas de comprensión y puntuación: clasificación, reconocimiento de entidades nombradas, reordenamiento de documentos y QA extractivo. No están diseñados para la generación autorregresiva «desde cero».
Adicionalmente, en la práctica se aplican objetivos de preentrenamiento alternativos para la familia de solo codificador: detección de tokens reemplazados (RTD) en ELECTRA (un modelo discriminador reconoce los tokens sustituidos) y aprendizaje contrastivo de bi-codificadores para la búsqueda semántica/recuperación (InfoNCE/softmax-loss en pares «consulta-documento», como en Dense Passage Retrieval). Cuando se utilizan en RAG, los modelos de solo codificador actúan como bi-codificador (codificación separada de la consulta y el documento para una búsqueda rápida ANN) o como cross-encoder (codificación conjunta del par para un reordenamiento preciso).
Ventajas:
- Alta calidad en la comprensión de texto gracias al contexto bidireccional: clasificación, NER, extracción de hechos, reordenamiento, QA extractivo.
- Procesamiento paralelo y alto rendimiento: un solo paso hacia adelante sin autorregresión; es conveniente agrupar en lotes la puntuación masiva.
- Integración natural con la búsqueda y RAG: como bi-codificador, permite una búsqueda semántica rápida; como cross-encoder, un reordenamiento preciso.
- Adaptación eficiente: las variantes relativamente compactas (≈100–300 millones de parámetros; BERT-base ≈110 millones) logran alta calidad después de un ajuste fino específico.
- Latencia estable, independiente de la longitud de la respuesta generada (sin decodificación paso a paso); adecuados para la puntuación fuera de línea de grandes colecciones.
- Posibilidad de ampliar la ventana de contexto en los codificadores mediante posiciones relativas/rotacionales y/o atención localmente dispersa (por ejemplo, Longformer/BigBird), lo que es útil para documentos largos.
Desventajas:
- Carencia de capacidades generativas propias: para diálogos y respuestas extensas se necesita un decodificador o un módulo generativo externo.
- Limitaciones en escenarios interactivos: no hay generación por etapas con preservación del estado.
- El objetivo de preentrenamiento no se alinea con las tareas de generación libre: el MLM es menos compatible con la generación en comparación con el modelado causal.
- Ventana de contexto históricamente limitada (a menudo 512 tokens en configuraciones básicas con posiciones absolutas); su ampliación requiere esquemas de posición/atención especiales y/o reentrenamiento.
- Para tareas de recuperación, se requiere un reentrenamiento contrastivo separado del bi-codificador y/o cross-encoder; sin él, la calidad de la búsqueda/reordenamiento suele ser inferior a la de los modelos entrenados específicamente.
Modelos representativos: BERT y sus derivados, así como RoBERTa y DeBERTa (variantes extendidas de solo codificador); entre los objetivos de preentrenamiento alternativos se encuentra ELECTRA (RTD). [5][6][7][8][9][10]
2. Decoder-only (solo decodificador)
Se utiliza únicamente una pila de decodificadores con atención causal (unidireccional hacia la izquierda): el modelo predice el siguiente token basándose en el prefijo ya proporcionado. Este modo de entrenamiento —modelado de lenguaje causal (CLM)— hace que estos modelos sean la elección natural para la generación: diálogos, respuestas extensas, texto creativo, código de programación. La contrapartida es un aumento de la latencia y del tamaño de la caché KV con prompts largos. En la práctica, para los modelos de solo decodificador se aplican ampliamente técnicas de ingeniería: reducción de la caché KV mediante MQA y GQA, aceleración de la inferencia a través de la decodificación especulativa y optimizaciones del servidor (PagedAttention/vLLM, continuous batching, chunked prefill).[11][12][13][14][15]
Ventajas:
- Generación de texto natural (CLM): fuertes capacidades de zero-shot y few-shot; escala bien.[16]
- Versatilidad de aplicación: un solo modelo resuelve múltiples tareas mediante instrucciones y ejemplos en el prompt; se combina naturalmente con RAG y el uso de herramientas (tool use).
- Ecosistema maduro: prácticas de ajuste fino de instrucciones y alineación del comportamiento (RLHF, DPO); implementaciones de código abierto y comerciales disponibles.[17][18]
- Amplio conjunto de optimizaciones de inferencia: MQA/GQA reducen el tamaño de la caché KV y aumentan el rendimiento; la decodificación especulativa acelera la inferencia sin cambiar la distribución; PagedAttention/vLLM con continuous batching y chunked prefill mejoran la utilización de la GPU de extremo a extremo.[19][20][21][22][23]
- Soporte para generación estructurada para formatos de respuesta estrictos (JSON/SQL/DSL), lo que simplifica la integración con sistemas de información y API.[24][25]
Desventajas:
- Mayor latencia de generación: salida secuencial; el costo de un nuevo token aumenta con la longitud del contexto ya «leído» (caché KV).
- Menos eficiente en perfiles de «entrada larga - salida corta» (resumen, traducción) en comparación con los modelos codificador-decodificador, donde la entrada se codifica una sola vez.
- Limitación por el contexto unidireccional: en tareas de comprensión, a veces es inferior a los modelos con representación bidireccional (solo codificador / codificador-decodificador).
- La memoria para la caché KV puede ser un «cuello de botella» con prompts largos y lotes grandes; [26]
- La cuantización de activaciones/KV (INT8/FP8) acelera la inferencia, pero puede degradar la calidad en contextos largos/código; requiere una validación cuidadosa (especialmente con SLA estrictos).
Modelos representativos: GPT-3, GPT-4 (detalles de la arquitectura y el conjunto de datos no revelados públicamente), LLaMA y Llama 3 (8B/70B, 2024).[27][28][29][30]
3. Encoder-decoder (codificador-decodificador)
Esta arquitectura combina ambos componentes. El codificador funciona en modo bidireccional, mientras que el decodificador lo hace de forma causal. El codificador analiza la entrada una vez y crea su representación; el decodificador genera la salida, accediendo a esta representación a través de la atención cruzada (cross-attention). Este enfoque separado es especialmente útil cuando se necesita transformar un texto de entrada largo en una salida corta: traducción automática, resumen, respuestas basadas en documentos. Aunque este método requiere un mayor costo computacional total (dos pilas y atención cruzada), su ventaja es una generación controlada basada en un análisis completo del texto original; además, la codificación se realiza una sola vez y se reutiliza durante todo el proceso de inferencia.
Ventajas:
- Generación condicional: el decodificador utiliza la atención cruzada (cross-attention) sobre la representación de la entrada. [31]
- Eficiente en escenarios de «entrada larga → salida corta»: la entrada se codifica una sola vez.
- Conveniente para el formato «text-to-text» y la generación controlada (prefijos de tareas, instrucciones especiales). [32]
- Estabilidad y eficiencia con fuentes largas: en la fase de decodificación, solo crece la autoatención sobre la salida, mientras que la atención cruzada reutiliza las claves/valores fijos del codificador (la entrada no se «relee» en cada paso).
Desventajas:
- Dos pilas aumentan los requisitos de memoria y cómputo durante el entrenamiento y la aplicación.
- En secuencias extremadamente largas, la latencia total es comparable a la de los modelos de solo decodificador; la autorregresión sigue siendo el cuello de botella.
- Menos modelos de chat universales que en la familia de solo decodificador; se utilizan más a menudo como un motor seq2seq de alta calidad para tareas específicas.
- Con entradas muy largas, aumenta la memoria para las claves/valores de la atención cruzada en cada capa del decodificador (a lo largo de toda la fuente), lo que requiere una planificación cuidadosa del servicio.
Modelos representativos: T5 (incluyendo T5 v1.1 y la práctica de ajuste fino de instrucciones en FLAN-T5) y BART. [33][34][35]
Transformers densos (dense)
Es la arquitectura de LLM clásica y más común: al procesar cada token, participa prácticamente todo el conjunto de parámetros del modelo. A diferencia de los enfoques dispersos (por ejemplo, Mixture-of-Experts), no hay activación selectiva de subredes; cada bloque opera para cada token. [1]
Principio de funcionamiento y arquitectura
Estructura básica. El modelo es una pila de N bloques de transformer idénticos. Cada bloque incluye:
- Autoatención multicabeza (Multi-Head Self-Attention). Para cada token, se calculan tres vectores: Q (query), K (key), V (value); la atención se define como , donde es una máscara (causal y/o de relleno) que excluye posiciones no permitidas. Varias «cabezas» de atención consideran simultáneamente diferentes aspectos del contexto (H cabezas, normalmente ); su número aumenta con la escala del modelo. [1]
- Red de avance directo (Feed-Forward Network, FFN). Dos capas lineales con una no linealidad entre ellas (generalmente GELU/SiLU; en varios modelos modernos, SwiGLU). La dimensionalidad intermedia suele ser ; al usar SwiGLU, a menudo se toma para mantener un número comparable de parámetros. La FFN contiene una parte significativa de los parámetros. [1][36]
Componentes adicionales. Se utilizan conexiones residuales y normalización de capas; en los LLM modernos es más común Pre-LN (normalización antes de los sub-bloques), lo que mejora la estabilidad del entrenamiento en grandes profundidades. Además de la clásica LayerNorm, se utiliza cada vez más RMSNorm (reduce los costos computacionales y funciona bien en modelos grandes); también en algunas familias se aplica normalización en el espacio de atención (por ejemplo, normalización de Q/K antes de softmax). Las representaciones posicionales pueden ser absolutas o relativas; para contextos largos, RoPE se ha convertido en el estándar de facto.
Ejemplos de modelos y escala
- BERT-Large: 24 capas, dimensionalidad 1024, 16 cabezas de atención, ≈340 millones de parámetros. [37]
- GPT-3 (175B): 96 capas, dimensionalidad 12288, 96 cabezas de atención, ≈175 mil millones de parámetros. [38]
- LLaMA-65B: 80 capas, dimensionalidad 8192, 64 cabezas de atención, ≈65 mil millones de parámetros. [39]
- PaLM-540B: 118 capas, dimensionalidad de aproximadamente 18432, ≈540 mil millones de parámetros. [40]
Ventajas
- Bloques uniformes, modos de entrenamiento bien estudiados y comportamiento predecible al escalar.
- La calidad mejora según una ley de potencias con el aumento de parámetros y datos; el modo computacionalmente óptimo (compute-optimal) implica aumentar conjuntamente el tamaño del modelo y el volumen de tokens de entrenamiento. [41][42]
- La misma arquitectura, después del ajuste fino, cubre una amplia gama de tareas sin cambios a nivel de capa.
Desventajas
- La autoatención completa tiene una complejidad cuadrática con respecto a la longitud de la secuencia (), lo que limita la ventana de contexto. [1]
- Activación completa de los parámetros en el paso de generación: en un decodificador sin MoE, el costo de inferencia por token crece aproximadamente en proporción al número de parámetros.
- El cuello de botella es el ancho de banda de la memoria (memory-bound): la carga de pesos desde la HBM a menudo limita la velocidad de inferencia.
Limitaciones de escalado y contexto
- La memoria para los parámetros crece linealmente con el tamaño del modelo; la memoria de entrenamiento aumenta debido a los gradientes y los estados del optimizador.
- Las configuraciones básicas históricamente se limitaban a 2-4 mil tokens. Los esquemas posicionales modernos (RoPE) y las técnicas de expansión (Position Interpolation, YaRN, etc.) permiten aumentar la ventana en un orden de magnitud o más, pero a costa de una mayor carga computacional/de memoria. [43][44]
Optimizaciones modernas
- FlashAttention. Atención exacta que tiene en cuenta la jerarquía de memoria de la GPU; reduce los costos de memoria y acelera el entrenamiento/inferencia con secuencias largas. [45]
- Reducción y gestión de la caché KV. Multi-Query Attention y Grouped-Query Attention reducen el volumen de la caché y el tráfico de memoria; a nivel de servidor, PagedAttention (vLLM) aumenta el rendimiento mediante la gestión paginada de la caché. [46][47][48]
- Decodificación especulativa. Un modelo borrador (draft) propone una continuación, y el modelo principal la verifica rápidamente; se logra una aceleración sin alterar la distribución de la salida. [49]
Modelos dispersos (Sparse Models) y Mezcla de Expertos (Mixture-of-Experts, MoE)
MoE es una forma de aumentar la capacidad de un modelo sin un crecimiento proporcional en el cómputo por token. En lugar de un gran bloque FFN en una capa, se utiliza un conjunto de «expertos» paralelos (varias FFN independientes), y un enrutador entrenable (gating network) selecciona para cada token los top-k expertos más relevantes (normalmente k=1–2; en algunos modelos k=4). Solo se activan los expertos seleccionados; sus salidas se ponderan y se suman. De esta manera, el número total de parámetros puede ser de cientos de miles de millones o incluso billones, pero en cada paso solo se utiliza una pequeña fracción. [50][51]
Ejemplos de modelos y escala
- Switch Transformer (Google): hasta ~1.6T de parámetros; enrutamiento top-1 (un experto por token). Demostró que MoE permite aumentar drásticamente la capacidad con costos por token comparables. [50]
- GLaM (Google): 1.2T de parámetros, 64 expertos por capa, top-2; por cada token se activan ≈96.6B de parámetros (≈8%). [51]
- Mixtral 8×7B (Mistral AI): ~46.7B de parámetros en total, ≈12.9B activos por token, top-2. [52][53]
- Mixtral 8×22B: ~141B de parámetros en total, ≈39B activos por token, top-2. [54]
- DBRX (Databricks): 132B de parámetros en total, ≈36B activos por token; 16 expertos y enrutamiento top-4 (fine-grained MoE). [55]
Ventajas
- El costo de los cálculos está determinado por el número de expertos activos k, y no por el número total de parámetros: es posible entrenar y utilizar modelos a escala de billones con costos comparables a los de modelos densos de tamaño considerablemente menor. [51]
- Especialización: los expertos se «ajustan» automáticamente a idiomas/dominios/patrones, mejorando la calidad en tareas multidominio.
- Despliegue flexible: se pueden mantener en memoria los expertos de uso frecuente y cargar los raros bajo demanda (con la infraestructura adecuada).
Limitaciones
- Equilibrio de carga: sin regularización, el enrutador puede «atascarse» en un subconjunto de expertos (colapso del enrutador). Se necesitan pérdidas auxiliares (load-balancing) y esquemas de enrutamiento mejorados. [50]
- Complejidad de los cálculos distribuidos: se requiere paralelismo de expertos e intercambio all-to-all; los costos de comunicación y la gestión de la memoria se convierten en un cuello de botella. [56]
- Estabilidad del entrenamiento: son importantes los ajustes del enrutador y las limitaciones de capacidad, de lo contrario, son posibles degradaciones de la calidad/convergencia.
Mejoras modernas
- Enrutamiento Expert-Choice: los expertos «eligen» los tokens, lo que mejora el equilibrio y la convergencia con costos comparables. [57]
- MoE de grano fino (Fine-grained MoE): un mayor número de expertos más pequeños (como en DBRX) proporciona una granularidad de especialización más fina. [55]
- Sparse Upcycling: convertir un modelo denso en MoE a partir de su punto de control permite aumentar significativamente la calidad con costos moderados. [58]
Viabilidad del uso de MoE
- Asistentes multidominio a gran escala con un presupuesto de cómputo limitado.
- Entrenamiento en corpus extensos donde la especialización ofrece ventajas.
- Escenarios con una infraestructura distribuida avanzada (muchas GPU/TPU y redes rápidas).
Cuándo son mejores los modelos densos: infraestructura limitada (1-2 GPU), requisitos estrictos de latencia predecible y simplicidad de despliegue.
Generación Aumentada por Recuperación (Retrieval-Augmented Generation, RAG)
RAG es un patrón de arquitectura de sistema que rodea a un LLM, no una arquitectura interna del modelo en sí. Combina un LLM (componente generativo) con una base de conocimientos externa (componente de extracción), lo que permite compensar la limitación de la «memoria paramétrica» del modelo.
- Principio de funcionamiento: Antes de generar, el LLM recupera documentos relevantes de una fuente externa (wiki, base de conocimientos corporativa, web) y se basa en ellos para formular la respuesta. [59]
- Ventajas:
- Aplicación: Estándar de facto para asistentes corporativos y sistemas que requieren hechos verificables y trabajo con datos privados/altamente especializados. [59]
Mecanismos de atención y manejo del contexto
La autoatención básica tiene una complejidad cuadrática con respecto a la longitud de la secuencia (), por lo que han surgido optimizaciones.
- Atención dispersa (Sparse Attention): Limitación de la atención a ventanas/patrones locales. Ejemplos: Longformer[61], BigBird[62].
- FlashAttention: Reorganización del orden de los cálculos teniendo en cuenta la jerarquía de la memoria de la GPU; proporciona una ganancia significativa en tiempo y memoria y se ha convertido en el estándar de facto para el entrenamiento de LLM con contextos largos[63][64][65].
- MQA/GQA (aceleración de la decodificación): Multi-Query Attention (claves/valores compartidos para todas las cabezas) reduce el tráfico de la caché KV[66]. Grouped-Query Attention equilibra calidad/velocidad[67].
- Representaciones posicionales mejoradas:
- ALiBi (Attention with Linear Biases): Desplazamientos lineales a las puntuaciones de atención que mejoran la generalización a longitudes mayores. [68]
- RoPE (Rotary Position Embeddings): Información posicional relativa a través de la rotación de Q/K; ampliamente utilizada en modelos modernos (por ejemplo, LLaMA). [69][70]
- Extensión del contexto para modelos RoPE: Position Interpolation [71], YaRN [72], así como las modificaciones NTK-aware, permiten aumentar eficazmente la ventana de contexto sin cambiar la arquitectura.
- Otros enfoques para secuencias largas:
- Transformer-XL: memoria recurrente entre segmentos para modelar dependencias a larga distancia. [73]
- Reformer: atención LSH y bloques residuales reversibles para ahorrar memoria. [74]
- Performer: aproximación lineal de la atención softmax (FAVOR+). [75]
- Linformer: aproximación de bajo rango de la matriz de atención. [76]
Optimizaciones de modelos e infraestructura de entrenamiento
Para el entrenamiento y despliegue de LLM se utilizan técnicas y frameworks especializados.
- Cuantización (Quantization): La reducción de la precisión de los pesos disminuye la memoria y acelera la inferencia. QLoRA permite un ajuste fino eficiente de modelos de 4 bits (incluidos los de 65B) con una calidad cercana a la de precisión completa[77].
- Destilación de conocimiento (Knowledge Distillation): Entrenamiento Maestro→Estudiante para modelos compactos[78]; un ejemplo es DistilBERT[79].
- Entrenamiento distribuido:
- Ecosistema y herramientas: Hugging Face Transformers y Accelerate proporcionan implementaciones estándar de modelos e integración con DeepSpeed/FSDP para entrenamiento e inferencia[82][83].
Leyes de escalado y entrenamiento computacionalmente óptimo
Las leyes de escalado empíricas muestran que el error de entropía cruzada disminuye según una ley de potencias con el aumento de parámetros, datos y cómputo. [84] El trabajo de Chinchilla precisó los regímenes computacionalmente óptimos (compute-optimal): para una eficiencia óptima, el tamaño del modelo y el número de tokens de entrenamiento deben escalarse conjuntamente (por ejemplo, un modelo de 70B entrenado con ~1.4T de tokens supera a modelos más grandes pero sub-entrenados). [85]
Modelos de espacio de estados (State Space Models, SSM)
Los Modelos de Espacio de Estados (SSM) son una arquitectura alternativa a los transformers para trabajar con secuencias largas. Toman ideas de la teoría de control y el procesamiento digital de señales y resuelven el principal problema de la autoatención: el crecimiento cuadrático del cómputo a medida que aumenta la longitud del texto.
El problema principal y la solución
El problema de los transformers. El principal problema de los transformers tradicionales es la complejidad cuadrática de la atención: un texto 10 veces más largo requiere aproximadamente 100 veces más cálculos.
El enfoque de los SSM. En lugar de una «atención simultánea a todas las palabras», el modelo procesa el texto secuencialmente y mantiene un estado de memoria interno y compacto, que se actualiza en cada paso. Como resultado, el tiempo y el consumo de memoria crecen de forma aproximadamente lineal con la longitud del texto. Al mismo tiempo, el entrenamiento puede realizarse en paralelo, a través de una representación convolucional del kernel (alto rendimiento en secuencias largas). [86]
Principio de funcionamiento
Un SSM discreto se describe mediante las ecuaciones de estado y de salida:
donde es el estado de la memoria, es la entrada (token), y es la salida. En los SSM profundos, las matrices se parametrizan para garantizar la estabilidad y los cálculos eficientes en secuencias largas. La misma capa se puede considerar:
- recurrente (escaneo por pasos) — inferencia eficiente en memoria sin caché KV;
- convolucional — entrenamiento paralelo con un kernel precalculado. [86]
Principales arquitecturas e híbridos
- S4 (Structured State Spaces). Línea base de los SSM con una parametrización estable de la matriz de estado; demuestra eficiencia en secuencias muy largas. [86]
- Mamba. SSM selectivos: las reglas de actualización de la memoria dependen de la entrada actual (el modelo decide qué «mantener en memoria» y qué «olvidar»). La implementación está orientada a la jerarquía de memoria de la GPU; según los autores, se logra un aumento múltiple en el rendimiento de la inferencia con una complejidad lineal respecto a la longitud. [87]
- RetNet. Un mecanismo de retención con tres modos: entrenamiento paralelo, inferencia recurrente y recurrente por bloques. El objetivo es combinar entrenamientos rápidos (como en los transformers) con un flujo de inferencia económico (memoria O(1) por token). [88]
- Híbridos Atención+SSM. Un ejemplo es Jamba (alternancia de capas Transformer y Mamba más MoE): informa de soporte para contextos del orden de ~256K tokens con requisitos de memoria significativamente menores en comparación con modelos puramente de transformer de una clase similar. [89]
Ventajas
- Complejidad lineal y ahorro de memoria en la inferencia. No hay autoatención global ni caché KV; solo se almacena un estado compacto. [87][88]
- Entrenamiento paralelo en secuencias largas. El modo convolucional aumenta el rendimiento del entrenamiento. [86]
- Eficiencia de hardware. Las implementaciones están orientadas a la jerarquía de memoria moderna (HBM/SRAM). [87]
- Contextos largos y streaming. Los híbridos SSM+Atención son prácticos para cientos de miles de tokens con recursos moderados. [89]
Limitaciones y práctica actual
- Madurez del ecosistema. Las herramientas y «recetas» para el escalado (instrucciones, RLHF/DPO) aún están por detrás del stack de transformers. [87]
- Calidad y estabilidad. En algunas tareas, los híbridos (Atención+SSM) muestran un compromiso más estable de «calidad/velocidad/memoria» que los SSM «puros». [89]
Comparación de enfoques (generalizada)
| Característica | Transformers | SSM | Híbridos (Atención+SSM) |
|---|---|---|---|
| Complejidad por longitud | Cuadrática (autoatención) | Lineal (escaneo/convolución) | Cercana a la lineal |
| Memoria por token (inferencia) | La caché KV crece con el contexto | Estado O(1) | Crecimiento moderado |
| Contextos largos | Requieren optimizaciones especiales | Soporte natural | Prácticos hasta ~256 K |
| Madurez del ecosistema | Alta | En desarrollo | En desarrollo |
Aplicaciones prácticas
- Análisis de documentos muy largos (libros, informes, revisiones científicas).
- Procesamiento en streaming y escenarios de chat con historiales largos sin aumento del costo de memoria.
- Entornos con recursos limitados (dispositivos móviles/edge).
- Series temporales y otros datos secuenciales.
Modelos representativos: S4, Mamba, RetNet; híbridos Atención+SSM (Jamba). [86][87][88][89]
Evolución de las arquitecturas
- 2017 — Se publica el artículo «Attention Is All You Need». Se presenta la arquitectura del transformer: la autoatención multicabeza y las codificaciones posicionales permiten entrenar modelos sin recurrencia ni convoluciones; sin embargo, la atención tiene una complejidad cuadrática con respecto a la longitud del contexto.[1]
- 2018 — Se presentan GPT-1 y BERT. GPT-1 utiliza una pila de solo decodificadores con atención causal para la generación y el posterior ajuste fino; BERT introduce un codificador bidireccional y el preentrenamiento MLM para tareas de comprensión de texto. [90][91]
- 2019 — Se proponen métodos para trabajar con secuencias largas y se escala el enfoque de solo decodificador. Transformer-XL añade «memoria» y posiciones relativas para ir más allá de una ventana fija; GPT-2 muestra un aumento de las capacidades zero-shot al aumentar la escala; BART demuestra la eficacia del preentrenamiento de eliminación de ruido (denoising) para seq2seq. [92][93][94]
- 2020 — Se unifica el formato «text-to-text» y se muestran métodos para documentos largos. T5 formula un enfoque unificado codificador-decodificador para diferentes tareas; Longformer y BigBird utilizan atención dispersa/estructurada para textos largos; GPT-3 confirma la eficacia de escalar modelos densos de solo decodificador. [95][96][97][98]
- 2021 — Se mejoran las representaciones posicionales y se demuestra la dispersión de parámetros (MoE). RoPE y ALiBi mejoran la generalización en longitudes mayores; Switch Transformer y GLaM activan solo una parte de los expertos por token, aumentando la capacidad sin un crecimiento multiplicativo del costo de inferencia. [99][100][101][102]
- 2022 — Se precisa el modo computacionalmente óptimo y se acelera la inferencia en prompts largos. Chinchilla muestra el beneficio de un mayor número de tokens de entrenamiento con un tamaño de modelo moderado; PaLM con Multi-Query Attention reduce el volumen de la caché KV; FlashAttention acelera la atención en la GPU. [103][104][105][106]
- 2023 — Se aumentan las ventanas de contexto sin modificar las capas y se mejora el servicio en el servidor. La línea LLaMA consolida prácticas (RMSNorm, SwiGLU, RoPE); Position Interpolation y YaRN amplían el contexto; vLLM/PagedAttention gestionan la caché KV de manera más eficiente. [107][108][109][110][111][112]
- 2023 — GPT-4 y Gemini demuestran el procesamiento y la generación en múltiples modalidades dentro de una misma familia de modelos. [113][114]
- 2023 — Se proponen modelos de espacio de estados (SSM). Mamba y RetNet reintroducen el procesamiento secuencial con un estado compacto en lugar de la caché KV y sientan las bases para arquitecturas híbridas. [115][116]
- 2024 — Se publican modelos MoE de código abierto e híbridos Atención+SSM; se acelera la atención en nuevas GPU. Mixtral 8×7B/8×22B y DBRX confirman la practicidad de MoE; Jamba combina Transformer y Mamba para contextos muy largos; FlashAttention-3 aumenta el rendimiento. [117][118][119][120][121]
Enlaces
- https://jalammar.github.io/illustrated-transformer/ The Illustrated Transformer — una explicación visual
Bibliografía
- Vaswani, A. et al. (2017). Attention Is All You Need. NIPS. https://arxiv.org/abs/1706.03762
- Devlin, J. et al. (2019). BERT. NAACL. https://arxiv.org/abs/1810.04805
- Brown, T. et al. (2020). Language Models are Few‑Shot Learners. NeurIPS. https://arxiv.org/abs/2005.14165
- Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer (T5). JMLR. https://jmlr.org/papers/volume21/20-074/20-074.pdf
- Lewis, M. et al. (2019). BART: Denoising Sequence‑to‑Sequence Pre‑training. https://arxiv.org/abs/1910.13461
- Touvron, H. et al. (2023). LLaMA. https://arxiv.org/abs/2302.13971
- Chowdhery, A. et al. (2022). PaLM: Scaling Language Modeling with Pathways. https://arxiv.org/abs/2204.02311
- Dao, T. et al. (2022–2024). FlashAttention (1/2/3). https://arxiv.org/abs/2205.14135 ; https://arxiv.org/abs/2307.08691 ; https://arxiv.org/abs/2407.08608
- Shazeer, N. (2019). MQA. https://arxiv.org/abs/1911.02150
- Ainslie, J. et al. (2023). GQA. https://arxiv.org/abs/2305.13245
- Kwon, W. et al. (2023). PagedAttention / vLLM. https://arxiv.org/abs/2309.06180
- Leviathan, Y. et al. (2023). Speculative Decoding. https://arxiv.org/abs/2211.17192
- Fedus, W.; Zoph, B.; Shazeer, N. (2021/2022). Switch Transformers. https://arxiv.org/abs/2101.03961
- Du, N. et al. (2022). GLaM. https://proceedings.mlr.press/v162/du22c/du22c.pdf
- Jiang, A.Q. et al. (2024). Mixtral of Experts. https://arxiv.org/abs/2401.04088
- Databricks (2024). Introducing DBRX. https://www.databricks.com/blog/introducing-dbrx-new-state-art-open-llm
- NVIDIA (2024). Applying Mixture of Experts in LLM Architectures. https://developer.nvidia.com/blog/applying-mixture-of-experts-in-llm-architectures/
- Zhou, Y. et al. (2022). Expert Choice Routing. https://arxiv.org/abs/2202.09368
- Komatsuzaki, A. et al. (2022). Sparse Upcycling. https://arxiv.org/abs/2212.05055
- Lewis, P. et al. (2020). RAG. https://arxiv.org/abs/2005.11401
- Beltagy, I. et al. (2020). Longformer. https://arxiv.org/abs/2004.05150
- Zaheer, M. et al. (2020). BigBird. https://arxiv.org/abs/2007.14062
- Press, O. et al. (2022). ALiBi. https://arxiv.org/abs/2108.12409
- Su, J. et al. (2021). RoFormer (RoPE). https://arxiv.org/abs/2104.09864
- Chen, S. et al. (2023). Position Interpolation. https://arxiv.org/abs/2306.15595
- Peng, B. et al. (2023). YaRN. https://arxiv.org/abs/2309.00071
- Dettmers, T. et al. (2023). QLoRA. https://arxiv.org/abs/2305.14314
- Rajbhandari, S. et al. (2020). ZeRO. https://www.microsoft.com/en-us/research/publication/zero-memory-optimizations-toward-training-trillion-parameter-models/
- Shoeybi, M. et al. (2019). Megatron‑LM. https://arxiv.org/abs/1909.08053
- Kaplan, J. et al. (2020). Scaling Laws. https://arxiv.org/abs/2001.08361
- Hoffmann, J. et al. (2022). Chinchilla / Compute‑Optimal. https://arxiv.org/abs/2203.15556
- Gemini Team (2023). Gemini. https://arxiv.org/abs/2312.11805
- Bai, Y. et al. (2022). Constitutional AI. https://arxiv.org/abs/2212.08073
- OpenAI (2023). GPT‑4 Technical Report. https://arxiv.org/abs/2303.08774
- OpenAI (2023). DevDay: GPT‑4 Turbo 128k. https://openai.com/index/new-models-and-developer-products-announced-at-devday/
- Zhang, B.; Sennrich, R. (2019). RMSNorm. https://arxiv.org/abs/1910.07467
- Shazeer, N. (2020). GLU Variants / SwiGLU. https://arxiv.org/abs/2002.05202
- Gu, A.; Goel, K.; Ré, C. (2021). S4: Structured State Spaces. https://arxiv.org/abs/2111.00396
- Gu, A.; Dao, T. (2023/2024). Mamba: Selective State Spaces. https://arxiv.org/abs/2312.00752
- Sun, Y. et al. (2023). RetNet. https://arxiv.org/abs/2307.08621
- Lieber, O. et al. (2024). Jamba: Hybrid Transformer‑Mamba. https://arxiv.org/abs/2403.19887
- Dai, Z. et al. (2019). Transformer‑XL. https://arxiv.org/abs/1901.02860
- Kitaev, N.; Kaiser, L.; Levskaya, A. (2020). Reformer. https://arxiv.org/abs/2001.04451
- Choromanski, K. et al. (2021). Performer. https://arxiv.org/abs/2009.14794
- Wang, S. et al. (2020). Linformer. https://arxiv.org/abs/2006.04768
Notas
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 Vaswani, A. et al. (2017). Attention Is All You Need. https://arxiv.org/abs/1706.03762
- ↑ Devlin, J. et al. (2019). BERT. https://arxiv.org/abs/1810.04805
- ↑ Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
- ↑ Raffel, C. et al. (2020). T5. https://jmlr.org/papers/volume21/20-074/20-074.pdf
- ↑ Devlin, J. et al. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. https://arxiv.org/abs/1810.04805
- ↑ Liu, Y. et al. (2019). RoBERTa: A Robustly Optimized BERT Pretraining Approach. https://arxiv.org/abs/1907.11692
- ↑ He, P. et al. (2021). DeBERTa: Decoding‑enhanced BERT with Disentangled Attention. https://arxiv.org/abs/2006.03654
- ↑ Clark, K. et al. (2020). ELECTRA: Pre‑training Text Encoders as Discriminators Rather Than Generators. https://arxiv.org/abs/2003.10555
- ↑ Zaheer, M. et al. (2020). Big Bird: Transformers for Longer Sequences. https://arxiv.org/abs/2007.14062
- ↑ Beltagy, I. et al. (2020). Longformer: The Long‑Document Transformer. https://arxiv.org/abs/2004.05150
- ↑ Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need (Multi‑Query Attention). https://arxiv.org/abs/1911.02150
- ↑ Ainslie, J. et al. (2023). GQA: Training Generalized Multi‑Query Transformer Models from Multi‑Head Checkpoints. https://arxiv.org/abs/2305.13245
- ↑ Leviathan, Y. et al. (2023). Fast Inference from Transformers via Speculative Decoding. https://arxiv.org/abs/2211.17192
- ↑ Kwon, W. et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention (vLLM). https://arxiv.org/abs/2309.06180
- ↑ vLLM Docs (2024–2025). Continuous batching, Chunked prefill, Structured outputs. https://docs.vllm.ai/
- ↑ Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
- ↑ Ouyang, L. et al. (2022). InstructGPT (RLHF). https://arxiv.org/abs/2203.02155
- ↑ Rafailov, R. et al. (2023). Direct Preference Optimization. https://arxiv.org/abs/2305.18290
- ↑ Shazeer, 2019. https://arxiv.org/abs/1911.02150
- ↑ Ainslie, 2023. https://arxiv.org/abs/2305.13245
- ↑ Leviathan, 2023. https://arxiv.org/abs/2211.17192
- ↑ Kwon, 2023. https://arxiv.org/abs/2309.06180
- ↑ vLLM Docs. https://docs.vllm.ai/
- ↑ OpenAI (2024). Structured Outputs. https://openai.com/index/introducing-structured-outputs-in-the-api/
- ↑ vLLM Docs — Structured outputs. https://docs.vllm.ai/en/v0.9.2/features/structured_outputs.html
- ↑ Kwon, 2023. https://arxiv.org/abs/2309.06180
- ↑ Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
- ↑ Touvron, H. et al. (2023). LLaMA: Open and Efficient Foundation Language Models. https://arxiv.org/abs/2302.13971
- ↑ Achiam, J. et al. (2023). GPT‑4 Technical Report. https://arxiv.org/abs/2303.08774
- ↑ Meta AI (2024). Introducing Meta Llama 3. https://ai.meta.com/blog/meta-llama-3/
- ↑ Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer (T5). JMLR. https://jmlr.org/papers/volume21/20-074/20-074.pdf
- ↑ Lewis, M. et al. (2019). BART: Denoising Sequence‑to‑Sequence Pre‑training. https://arxiv.org/abs/1910.13461
- ↑ Raffel, C. et al. (2020). Exploring the Limits of Transfer Learning with a Unified Text‑to‑Text Transformer. JMLR. https://jmlr.org/papers/volume21/20-074/20-074.pdf
- ↑ Lewis, M. et al. (2019). BART: Denoising Sequence‑to‑Sequence Pre‑training for NLG, Translation, and Comprehension. https://arxiv.org/abs/1910.13461
- ↑ Chung, H. W. et al. (2022). Scaling Instruction‑Finetuned Language Models (FLAN‑T5). https://arxiv.org/abs/2210.11416
- ↑ Shazeer, N. (2020). GLU Variants Improve Transformer. https://arxiv.org/abs/2002.05202
- ↑ Devlin, J. et al. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. https://arxiv.org/abs/1810.04805
- ↑ Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
- ↑ Touvron, H. et al. (2023). LLaMA: Open and Efficient Foundation Language Models. https://arxiv.org/abs/2302.13971
- ↑ Chowdhery, A. et al. (2022). PaLM: Scaling Language Modeling with Pathways. https://arxiv.org/abs/2204.02311
- ↑ Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. https://arxiv.org/abs/2001.08361
- ↑ Hoffmann, J. et al. (2022). Training Compute‑Optimal Large Language Models. https://arxiv.org/abs/2203.15556
- ↑ Chen, S. et al. (2023). Extending Context Window via Positional Interpolation. https://arxiv.org/abs/2306.15595
- ↑ Peng, B. et al. (2023). YaRN: Efficient Context Window Extension of LLMs. https://arxiv.org/abs/2309.00071
- ↑ Dao, T. et al. (2022–2024). FlashAttention (1/2/3). https://arxiv.org/abs/2205.14135 ; https://arxiv.org/abs/2307.08691 ; https://arxiv.org/abs/2407.08608
- ↑ Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need. https://arxiv.org/abs/1911.02150
- ↑ Ainslie, J. et al. (2023). GQA. https://arxiv.org/abs/2305.13245
- ↑ Kwon, W. et al. (2023). Efficient Memory Management for LLM Serving with PagedAttention. https://arxiv.org/abs/2309.06180
- ↑ Leviathan, Y. et al. (2023). Fast Inference from Transformers via Speculative Decoding. https://arxiv.org/abs/2211.17192
- ↑ 50.0 50.1 50.2 Fedus, W.; Zoph, B.; Shazeer, N. (2021/2022). Switch Transformers. https://arxiv.org/abs/2101.03961
- ↑ 51.0 51.1 51.2 Du, N. et al. (2021). GLaM: Efficient Scaling of Language Models with Mixture‑of‑Experts. https://arxiv.org/pdf/2112.06905.pdf
- ↑ Mistral AI (2023). Mixtral of Experts. https://mistral.ai/news/mixtral-of-experts/
- ↑ Jiang, A.Q. et al. (2024). Mixtral of Experts. https://arxiv.org/abs/2401.04088
- ↑ Mistral AI (2024). Mixtral 8x22B. https://mistral.ai/news/mixtral-8x22b
- ↑ 55.0 55.1 Databricks (2024). Introducing DBRX. https://www.databricks.com/blog/introducing-dbrx-new-state-art-open-llm
- ↑ NVIDIA (2024). Applying Mixture of Experts in LLM Architectures. https://developer.nvidia.com/blog/applying-mixture-of-experts-in-llm-architectures/
- ↑ Zhou, Y. et al. (2022). Mixture‑of‑Experts with Expert Choice Routing. https://arxiv.org/abs/2202.09368
- ↑ Komatsuzaki, A. et al. (2022). Sparse Upcycling: Training Mixture‑of‑Experts from Dense Checkpoints. https://arxiv.org/abs/2212.05055
- ↑ 59.0 59.1 59.2 59.3 Lewis, P. et al. (2020). Retrieval‑Augmented Generation for Knowledge‑Intensive NLP Tasks. https://arxiv.org/abs/2005.11401
- ↑ NVIDIA Blog (2025). What is Retrieval‑Augmented Generation (RAG). https://blogs.nvidia.com/blog/what-is-retrieval-augmented-generation/
- ↑ Beltagy, I. et al. (2020). Longformer. https://arxiv.org/abs/2004.05150
- ↑ Zaheer, M. et al. (2020). Big Bird. https://arxiv.org/abs/2007.14062
- ↑ Dao, T. et al. (2022). FlashAttention. https://arxiv.org/abs/2205.14135
- ↑ Dao, T. et al. (2023). FlashAttention‑2. https://arxiv.org/abs/2307.08691
- ↑ Shah, M. et al. (2024). FlashAttention‑3. https://arxiv.org/abs/2407.08608
- ↑ Shazeer, N. (2019). Fast Transformer Decoding: One Write‑Head is All You Need. https://arxiv.org/abs/1911.02150
- ↑ Ainslie, J. et al. (2023). GQA. https://arxiv.org/abs/2305.13245
- ↑ Press, O. et al. (2022). ALiBi. https://arxiv.org/abs/2108.12409
- ↑ Su, J. et al. (2021). RoFormer: Rotary Position Embedding. https://arxiv.org/abs/2104.09864
- ↑ Touvron, H. et al. (2023). LLaMA: Open and Efficient Foundation Language Models. https://arxiv.org/abs/2302.13971
- ↑ Chen, S. et al. (2023). Extending Context Window via Positional Interpolation. https://arxiv.org/abs/2306.15595
- ↑ Peng, B. et al. (2023). YaRN: Efficient Context Window Extension of LLMs. https://arxiv.org/abs/2309.00071
- ↑ Dai, Z. et al. (2019). Transformer‑XL: Attentive Language Models Beyond a Fixed‑Length Context. https://arxiv.org/abs/1901.02860
- ↑ Kitaev, N.; Kaiser, L.; Levskaya, A. (2020). Reformer: The Efficient Transformer. https://arxiv.org/abs/2001.04451
- ↑ Choromanski, K. et al. (2021). Rethinking Attention with Performers. https://arxiv.org/abs/2009.14794
- ↑ Wang, S. et al. (2020). Linformer: Self‑Attention with Linear Complexity. https://arxiv.org/abs/2006.04768
- ↑ Dettmers, T. et al. (2023). QLoRA: Efficient Finetuning of Quantized LLMs. https://arxiv.org/abs/2305.14314
- ↑ Hinton, G. et al. (2015). Distilling the Knowledge in a Neural Network. https://arxiv.org/abs/1503.02531
- ↑ Sanh, V. et al. (2019). DistilBERT. https://arxiv.org/abs/1910.01108
- ↑ Rajbhandari, S. et al. (2020). ZeRO: Memory Optimizations Toward Training Trillion‑Parameter Models. https://www.microsoft.com/en-us/research/publication/zero-memory-optimizations-toward-training-trillion-parameter-models/
- ↑ Shoeybi, M. et al. (2019). Megatron‑LM: Training Multi‑Billion Parameter Language Models Using Model Parallelism. https://arxiv.org/abs/1909.08053
- ↑ Hugging Face. Transformers Documentation. https://huggingface.co/docs/transformers
- ↑ Hugging Face. Accelerate Documentation. https://huggingface.co/docs/accelerate
- ↑ Kaplan, J. et al. (2020). Scaling Laws for Neural Language Models. https://arxiv.org/abs/2001.08361
- ↑ Hoffmann, J. et al. (2022). Training Compute‑Optimal Large Language Models. https://arxiv.org/abs/2203.15556
- ↑ 86.0 86.1 86.2 86.3 86.4 Gu, A.; Goel, K.; Ré, C. (2021). Efficiently Modeling Long Sequences with Structured State Spaces (S4). https://arxiv.org/abs/2111.00396
- ↑ 87.0 87.1 87.2 87.3 87.4 Gu, A.; Dao, T. (2023/2024). Mamba: Linear‑Time Sequence Modeling with Selective State Spaces. https://arxiv.org/abs/2312.00752
- ↑ 88.0 88.1 88.2 Sun, Y. et al. (2023). Retentive Network: A Successor to Transformer for Large Language Models. https://arxiv.org/abs/2307.08621
- ↑ 89.0 89.1 89.2 89.3 Lieber, O. et al. (2024). Jamba: A Hybrid Transformer‑Mamba Language Model. https://arxiv.org/abs/2403.19887
- ↑ Radford, A. et al. (2018). Improving Language Understanding by Generative Pre‑Training. https://cdn.openai.com/research-covers/language-unsupervised/language_understanding_paper.pdf
- ↑ Devlin, J. et al. (2019). BERT: Pre‑training of Deep Bidirectional Transformers for Language Understanding. https://arxiv.org/abs/1810.04805
- ↑ Dai, Z. et al. (2019). Transformer‑XL. https://arxiv.org/abs/1901.02860
- ↑ Radford, A. et al. (2019). Language Models are Unsupervised Multitask Learners. https://cdn.openai.com/better-language-models/language_models_are_unsupervised_multitask_learners.pdf
- ↑ Lewis, M. et al. (2019). BART. https://arxiv.org/abs/1910.13461
- ↑ Raffel, C. et al. (2020). T5. https://jmlr.org/papers/volume21/20-074/20-074.pdf
- ↑ Beltagy, I. et al. (2020). Longformer. https://arxiv.org/abs/2004.05150
- ↑ Zaheer, M. et al. (2020). BigBird. https://arxiv.org/abs/2007.14062
- ↑ Brown, T. et al. (2020). Language Models are Few‑Shot Learners. https://arxiv.org/abs/2005.14165
- ↑ Su, J. et al. (2021). RoPE. https://arxiv.org/abs/2104.09864
- ↑ Press, O. et al. (2021/2022). ALiBi. https://arxiv.org/abs/2108.12409
- ↑ Fedus, W.; Zoph, B.; Shazeer, N. (2021/2022). Switch Transformers. https://arxiv.org/abs/2101.03961
- ↑ Du, N. et al. (2021). GLaM. https://arxiv.org/pdf/2112.06905.pdf
- ↑ Hoffmann, J. et al. (2022). Chinchilla. https://arxiv.org/abs/2203.15556
- ↑ Chowdhery, A. et al. (2022). PaLM. https://arxiv.org/abs/2204.02311
- ↑ Shazeer, N. (2019). Fast Transformer Decoding. https://arxiv.org/abs/1911.02150
- ↑ Dao, T. et al. (2022). FlashAttention. https://arxiv.org/abs/2205.14135
- ↑ Touvron, H. et al. (2023). LLaMA. https://arxiv.org/abs/2302.13971
- ↑ Zhang, B.; Sennrich, R. (2019). RMSNorm. https://arxiv.org/abs/1910.07467
- ↑ Shazeer, N. (2020). GLU Variants. https://arxiv.org/abs/2002.05202
- ↑ Chen, S. et al. (2023). Position Interpolation. https://arxiv.org/abs/2306.15595
- ↑ Peng, B. et al. (2023). YaRN. https://arxiv.org/abs/2309.00071
- ↑ Kwon, W. et al. (2023). vLLM/PagedAttention. https://arxiv.org/abs/2309.06180
- ↑ OpenAI (2023). GPT‑4 Technical Report. https://arxiv.org/abs/2303.08774
- ↑ Gemini Team (2023). Gemini. https://arxiv.org/abs/2312.11805
- ↑ Gu, A.; Dao, T. (2023). Mamba. https://arxiv.org/abs/2312.00752
- ↑ Sun, Y. et al. (2023). RetNet. https://arxiv.org/abs/2307.08621
- ↑ Jiang, A.Q. et al. (2024). Mixtral of Experts. https://arxiv.org/abs/2401.04088
- ↑ Mistral AI (2024). Mixtral 8x22B. https://mistral.ai/news/mixtral-8x22b
- ↑ Databricks (2024). Introducing DBRX. https://www.databricks.com/blog/introducing-dbrx-new-state-art-open-llm
- ↑ Lieber, O. et al. (2024). Jamba. https://arxiv.org/abs/2403.19887
- ↑ Shah, M. et al. (2024). FlashAttention‑3. https://arxiv.org/abs/2407.08608