Medición de la estabilidad estructural de modelos econométricos

En este artículo quiero tomar una página de un libro de científicos de datos y explorar una barrera importante que la comunidad de ciencia de datos ha implementado como parte de su proceso de modelado: definir la estabilidad del modelo independientemente del rendimiento del modelo.

Con el auge del big data, la cantidad de variables disponibles para modelar un problema determinado ha crecido exponencialmente. Por ejemplo, los modelos utilizados para identificar canciones o películas ya no solo usan variables genéricas como películas vistas anteriormente o canciones que me gustan, etc. Ahora podemos incluir una gran cantidad de métricas que hacen que el perfil del usuario sea más dinámico: hora del día, clima, historia, estado de ánimo potencial, canciones que le gustan pero que no se vuelven a escuchar, etc. La lista puede crecer a perpetuidad y probablemente así sea. Cada día tenemos la menor cantidad de datos que jamás tendremos, la mayor cantidad que jamás hayamos tenido. Cada día se descubren más correlaciones. Algunas son causales y otras no.

¿Cómo sabemos qué variables usar y cuáles ignorar? ¿Qué pasa si algunas variables son significativas para predecir el comportamiento de un usuario pero no tanto para otro?

Afortunadamente, a la ciencia de datos se le ocurrió la idea de definir la estabilidad del modelo. Es otra forma de definir el rendimiento del modelo, pero no depende completamente de la precisión del pronóstico. “Estabilidad” es un término tan fluido que su significado depende del modelo en cuestión; De manera más general, es una medida de cómo aprende un modelo (estabilidad) y no de lo que aprende (precisión). Al controlar la precisión, queremos elegir un modelo que sea más “estable”: se pueda aplicar a la mayoría de los usuarios, sea capaz de identificar un conjunto relevante de variables de manera consistente y mantenga la ordinalidad de relevancia de las variables. Todo esto para decir: entre dos modelos muy precisos, queremos elegir uno que pueda aplicarse de manera más general y uno que no se salga de control si cambiamos las cosas aunque sea ligeramente. Por ejemplo, un algoritmo de negociación de alta frecuencia complejo, preciso y pragmático puede estropearse si los precios de los valores se vuelven muy volátiles. Tanto es así que NASDAQ tuvo que implementar disyuntores para detener el comercio si surgiera un evento de este tipo y así ha sido. La explosión más reciente ocurrió el 9 de marzo de 2020. Si bien hubo muchos factores que condujeron a la activación de los disyuntores, el hecho es que, después de un cierto umbral, no se podía confiar en que los modelos tomaran decisiones precisas o estables. Entonces, si bien la ciencia de datos es consciente de separar la estabilidad de la precisión, me pregunto si la econometría debería trabajar activamente para construir modelos que tengan en cuenta la precisión y la estabilidad. Y si lo hacemos, ¿cómo deberíamos definir la estabilidad?

Una vez que comenzamos a definir la estabilidad, resulta fácil matizarla cada vez más. Muchos modelos de aprendizaje automático utilizan validación cruzada de k o n veces para medir la estabilidad o las variables elegidas y podemos adaptar fácilmente estos métodos para el modelado econométrico. Sin embargo, dado que la econometría trabaja principalmente en el dominio de la “frecuencia”, es decir, los datos utilizados para entrenar modelos tienen relaciones temporales, nos correspondería examinar más de cerca cómo podemos definir la estabilidad en este nuevo espacio variable.

Para empezar, a diferencia de la validación cruzada de k/n veces, no podemos subconjuntos de datos aleatoriamente sin perder relaciones temporales. Los modelos que utilizamos para pronosticar a menudo dependen del supuesto de que un valor en el momento t podría estar causalmente correlacionado con sus rezagos {t-1, t-2,…, tn}. Además, en función de cómo decidimos modelar estas relaciones temporales, utilizamos diferentes representaciones de estructuras de series temporales: ARIMAX, espacio de estados exponencial, representación de base de Fourier, representación de base radial, etc. Cada una de ellas explota las relaciones temporales de forma ligeramente diferente. Esto significa que el mecanismo de aprendizaje (estabilidad) no puede medirse mediante una técnica de validación cruzada generalizada.

Para los propósitos de este artículo, quiero centrarme solo en una representación temporal: las estructuras AR y qué tan estable es el algoritmo implícito en la función “auto.arima” en R. La función es parte del paquete de pronóstico. Espero que los lectores presenten ideas sobre cómo definir mejor la estabilidad para otras estructuras que mencioné.

Un proceso ARMA se puede representar de la siguiente manera:

Los coeficientes para cada uno de los retrasos de X y Epsilon se pueden calibrar utilizando un criterio de información (AIC), que inherentemente funciona para reducir el error (mejorar la precisión). Sin embargo, AIC no contiene información sobre la estabilidad de la estructura y solo evalúa qué tan eficiente es un modelo para retener información de los datos con los que entrena.

Si AIC es el criterio de selección de valores de coeficientes y retrasos, entonces quizás podamos medir la estabilidad de un modelo ARMA observando:

El valor del coeficiente asignado a cada retraso: un modelo preciso y estable debería poder calcular el coeficiente correcto y luego hacerlo cada vez que agregamos otro punto de datos para entrenar. La reacción del modelo a medida que agregamos perturbaciones aleatorias a los datos: si intentamos engañar al modelo agregando datos que no provienen de la misma población que nuestros datos de entrenamiento, idealmente un modelo estable no sería engañado tan fácilmente, incluso a costa de la precisión; **** En lugar de eso, no debería intentar predecir los shocks.

Otra característica importante de la medición de la estabilidad es la idea de que todas las mediciones deben realizarse en subconjuntos de los mismos datos de muestra. Dada la naturaleza temporal de nuestros datos, debemos cambiar ligeramente estas técnicas para preservar la información temporal de nuestros modelos. Una solución es utilizar la validación continua. A menudo lo usamos como una forma de medir la precisión del pronóstico fuera de la muestra, pero aquí podemos utilizar la misma maquinaria; simplemente haga que la máquina mida diferentes métricas mientras funciona.

[ For a quick catch-up on rolling validation readers can visit Rob J. Hyndman’s blog]

Podemos simular fácilmente un proceso de AR. Sabremos a priori cuáles son los coeficientes de rezago. A continuación, podemos entrenar el algoritmo auto.arima utilizando el método de validación continua y ver con qué rapidez y frecuencia el algoritmo auto.arima detecta retrasos y coeficientes correctos. Consulte a continuación una representación visual del proceso de AR:

El proceso anterior tiene 4 rezagos con el vector de coeficientes = {0,7, -0,2,0,5, -0,8} respectivamente y tiene una duración de 1000 períodos. La validación/entrenamiento continuo comienza en n=20 y a continuación se muestra una representación de los coeficientes calculados en cada iteración. Al menos para este conjunto de datos simulado, el algoritmo auto.arima necesita aproximadamente 400 puntos de datos para acercarse a una solución numéricamente estable y aceptablemente precisa para los coeficientes (Fig. 1). Pero observe cómo la precisión fuera de la muestra del modelo calibrado incluso para los primeros 200 puntos de datos, donde el modelo es muy volátil, es comparable a los puntos de datos posteriores (Fig. 2); la única diferencia es que el modelo calibrado posteriormente es mucho más robusto frente a cada nuevo punto de datos agregado para que el algoritmo se entrene.

Para profundizar más en la precisión versus la estabilidad, otro problema común en el pronóstico de series de tiempo es cuando los datos de entrenamiento contienen discontinuidades aleatorias que no necesariamente siguen la misma dinámica subyacente que la propia serie de tiempo. A menudo, y si somos capaces de identificar con precisión estos shocks, buscamos eliminar por completo los puntos de datos de los datos de entrenamiento o elegimos suavizarlos para reducir su sesgo en el modelo. Sin embargo, si somos capaces de medir la solidez de nuestros métodos/algoritmos, podemos tomar una decisión mucho más informada sobre cuánto debemos modificar los datos sin procesar o diseñarlos antes de poder modelarlos. Esto no quiere decir que la ingeniería de características sea un enfoque de modelado ineficaz, pero debemos detenernos a reflexionar sobre si nos ayuda a mejorar el modelo o simplemente a complicarlo. En mi opinión, la parsimonia no debería cambiarse por modelos que parecen complejos y que ofrecen poca o ninguna mejora en los conocimientos que extraemos de ellos.

Para probar la estabilidad de auto.arima queremos perturbar ligeramente los datos agregando impactos aleatorios que no provengan de la misma distribución que los datos que deseamos pronosticar. Sabemos que auto.arima logra estabilidad, para este conjunto de datos, en alrededor de 400 puntos de datos; podemos ejecutar una validación continua en una versión perturbada de la misma serie temporal y ver cómo se compara con su serie de pares que no fue perturbada. Vea a continuación la misma serie temporal pero con discontinuidades aleatorias:

Y a continuación se muestra cómo se compara la precisión de auto.arima con la versión anterior imperturbable de nuestros datos (las líneas amarillas muestran dónde se agregó la discontinuidad):

Es fácil ver que el algoritmo de pronóstico, de hecho, se vuelve relativamente menos preciso cuando aplicamos choques aleatorios a los datos de entrenamiento. Lo que la gente tiende a olvidar es que, si bien la estabilidad puede ser independiente de la precisión, la afecta directamente. Consulte a continuación los coeficientes calculados para este nuevo conjunto de datos:

La leyenda muestra el verdadero valor del coeficiente al que sabemos que converge el modelo, y con precisión, en los datos no perturbados. Sin embargo, cuando los mismos datos se modifican aleatoriamente, se desvían por completo los valores de los coeficientes evidentes en las líneas rojas. Unos pocos shocks no correlacionados en los datos cambiaron por completo la representación estimada del modelo. Un algoritmo estable no debería verse influenciado demasiado por un impacto sin fundamento en los datos.

Lo interesante aquí es que el algoritmo es inestable y, por lo tanto, inexacto tanto en términos de los coeficientes calculados (los valores AR1, AR2, AR3 y AR4 son muy diferentes del conjunto de datos original) como en el número de coeficientes calculados (los datos originales no tienen términos MA1 o MA2 a los que el algoritmo, incorrectamente, asigna valores distintos de cero para nuestro conjunto de datos perturbados). Si auto.arima elige la representación del modelo incorrecta (coeficientes), entonces, por construcción, el pronóstico que produce utilizando esos coeficientes estará más alejado de los valores reales en comparación con el modelo con datos no perturbados.

Quiero que los lectores se detengan y piensen un poco en los resultados anteriores: cuando termina un ejercicio de pronóstico y el software muestra el resultado, ¿qué valores cree que le muestra su algoritmo? ¿La línea negra o la línea roja? Dado que sólo vemos el valor final y no cómo convergió hacia él, se pierde el matiz de estabilidad. Su respuesta determinará los pasos de ingeniería de funciones que debe seguir para asegurarse de haber modelado un proceso econométrico de manera responsable.

En este caso, auto.arima sacrificó la estabilidad y, a su vez, la precisión. Desafortunadamente, según mi experiencia, separar la estabilidad de la precisión no forma parte del flujo de trabajo econométrico convencional. Si medimos la precisión y la estabilidad como dos métricas diferentes en datos sin procesar y procesados, entonces podremos tomar una decisión mucho más informada sobre si debemos diseñar los datos sin procesar o no. Hay muchas formas de diseñar para reducir el sesgo de una sola medición e incluso más algoritmos para elegir para pronosticar; Es imperativo que tengamos un marco coherente y riguroso que nos ayude a elegir cada uno de ellos.

Recuerde, con este artículo apenas hemos arañado la superficie de la medición de la estabilidad econométrica, pero ya podemos brindar apoyo adecuado y pragmático para muchas decisiones de modelización que a menudo se basan en conjeturas “educadas” o, peor aún, corazonadas.

¡Espero que los lectores se sientan inspirados para encontrar nuevas formas de explorar el tema!

Vedant Bedi es analista de Mastercard y trabaja en el equipo de desarrollo de cartera de NAM. Vedant tiene una licenciatura en Matemáticas y Economía de la Universidad de Nueva York (promoción magna cum laude de 2019) y tiene un ávido interés en la ciencia de datos, la econometría y sus numerosas aplicaciones en las finanzas.

Vedant también es miembro incorporado de Phi Beta Kappa (capítulo de Nueva York), la sociedad de honores académicos más antigua de los Estados Unidos.

You missed

NVIDIA lanza Nemotron-Labs-3-Puzzle-75B-A9B: un LLM MoE híbrido comprimido que ofrece un rendimiento de servidor 2,03 veces superior al rendimiento de usuario equivalente[0]Los modelos MoE híbridos grandes como Nemotron-3-Super son precisos pero costosos de mantener. Sus parámetros activos, caché KV y estado de Mamba limitan la cantidad de usuarios que puede contener un nodo a una determinada tasa de token por usuario. El equipo de IA de NVIDIA lanzó Nemotron-Labs-3-Puzzle-75B-A9B, una variante comprimida de Nemotron-3-Super. El modelo principal tiene 120,7 mil millones de parámetros totales y 12,8 mil millones activos. El modelo comprimido tiene 75,3 mil millones de parámetros totales y 9,3 mil millones de parámetros activos. El objetivo de implementación se solucionó antes de que comenzara la búsqueda de arquitectura. El objetivo uno era duplicar el rendimiento del servidor a 100 tokens por segundo por usuario. El objetivo dos eran 8 solicitudes simultáneas de 1 millón de tokens en un solo H100. Tres puntos de control en Hugging Face: BF16, FP8 y NVFP4. TL;DR Los 120,7B/12,8B activos se comprimen a 75,3B/9,3B activos, conservando el diseño híbrido de 88 bloques. El rendimiento total de 8xB200 aumenta de 1,60x a 2,14x con respecto a Super con NVFP4 coincidente y rendimiento de usuario coincidente. La simultaneidad de un solo token H100 de 1 millón va de 1 a 8, impulsada por una caída de peso de 70 GB a 44,5 GB. El rompecabezas iterativo supera al rompecabezas de un solo paso en 0,57 puntos promedio en el mismo objetivo de compresión. Arena-Hard-V2 (-4,2) y SWE-Bench (-2,6) son los costes reales; RULER y AA-LCR apenas se mueven. Nemotron-Labs-3-Puzzle-75B-A9B Nemotron-3-Super es un modelo híbrido Mamba-Transformer MoE. Puzzle-75B-A9B conserva exactamente el diseño del bloque principal. Tiene 88 bloques: 40 Mamba, 40 MoE y 8 bloques de atención. Lo que cambió es la capacidad dentro de esos bloques: CantidadSuperPuzzle-75B-A9BRatioParámetros totales120.7B75.3B62.4%Parámetros activos12.8B9.3B73.1%Tamaño de estado de Mamba SSM1289675%Tamaño intermedio experto enrutado MoE26881280-2688Media 59.9%Expertos enrutados activados por token224-18Media 50%Capacidad experta enrutada activa (relativo)100%8,7%-62,3%Media 30,9% El número de expertos enrutados, el tamaño de expertos compartido y el tamaño latente del MoE no cambian. Las capas de atención quedaron intactas. La razón declarada por la investigación propuesta es que Nemotron-3-Super ya es muy eficiente en cuanto a caché KV. Las capas de Mamba se podaron de manera uniforme, porque los marcos de inferencia no admiten un tamaño de estado SSM diferente por capa. https://arxiv.org/pdf/2607.04371 El resultado no es un profesor uniformemente reducido. La figura anterior muestra la asignación en profundidad. Puzzle conservó la capacidad en capas intermedias y tardías seleccionadas, y cortó con fuerza en otras partes. Punto de referencia y rendimiento La siguiente tabla informa el rendimiento total óptimo de Pareto en un único nodo 8xB200, con decodificación en un solo paso. Escenario (entrada/salida)Piso UTSuper (tok/s)Puzzle-75B-A9B (tok/s)Boost50K / 2K>= 1005,1288,2101.60x50K / 2K>= 1253,7846,4121.69x50K / 2K>= 1502,5324,5231.79x8K / 64K>= 10020,93942,6012.03x8K / 64K>= 12513,07427,9182.14x8K / 64K>= 1508,52218,0472.12x Ambos modelos se entregaron con pesos NVFP4 coincidentes, caché FP8 KV y estado Mamba FP16. Por lo tanto, la brecha refleja compresión, no un cambio en el formato numérico. El régimen 50K/2K con precarga pesada es el que menos gana. El régimen 8K/64K con gran decodificación es el que más gana. En un solo nodo 8xH100 en UT = 100, las ganancias son menores. Son 1,91x en 50K/2K y 1,82x en 8K/64K. Ambos modelos utilizan pesos FP8, caché FP8 KV y estado FP32 Mamba. En un único H100 en un contexto de 1M, la restricción de enlace pasa de la computación a la memoria. Los pesos NVFP4 de Super ocupan alrededor de 70 GB del presupuesto de 80 GB de HBM. Cada solicitud de token de 1 millón agrega aproximadamente 4 GB de caché KV. Por tanto, la concurrencia efectiva es 1. El peso NVFP4 del Puzzle-75B-A9B ocupa alrededor de 44,5 GB. El diseño de atención no cambia, por lo que el costo de KV por solicitud no cambia. La simultaneidad en 1M aumenta a 8. El rendimiento de decodificación agregado en esa simultaneidad es aproximadamente 4 veces el rendimiento de solicitud única de Super. El llenado previo de una solicitud de 990 000 tokens es aproximadamente 1,2 veces más rápido. Cómo funciona el rompecabezas iterativo Puzzle es un marco de búsqueda de arquitectura neuronal descompuesta, implementado aquí como Puzzletron. Define un espacio de búsqueda discreto de implementaciones de capas alternativas. Cada alternativa obtiene una puntuación de calidad. Luego, un programa de enteros mixtos selecciona una alternativa por capa bajo una restricción de implementación. Tres técnicas de poda forman el espacio de búsqueda: Poda de canales intermedios: los canales dentro de cada experto enrutado se clasifican según su contribución a la salida del experto. Todos los expertos dentro de una capa MoE se reducen a un tamaño uniforme para lograr compatibilidad con el kernel. Reducción de top-k: la cantidad de expertos a los que se enruta un token varía según la capa, hasta el k = 22 del padre. Poda de Mamba SSM: el tamaño del estado de SSM cae de 128 a 96 canales. Se mide el resultado del SSM. Bajar 128 canales a 96 acelera el kernel SSM de 1,2x a 1,3x durante la decodificación. Esto se mantiene en tamaños de lote entre 8 y 512. Los canales se clasificaron según su contribución estimada a la producción de la capa Mamba. La estimación promedió más de 67 millones de tokens de datos de validación. El Apéndice A muestra que esto supera la selección aleatoria de canales bajo una poda agresiva. La formulación original asume que los impactos en la calidad del reemplazo son aproximadamente aditivos. Cada bloque candidato se puntúa dentro del padre no modificado. Eso ignora las interacciones de orden superior entre reemplazos. Iterative Puzzle alterna la compresión limitada con una breve recuperación de destilación de conocimientos. Construye una secuencia M0, M1,… MR en lugar de saltar al objetivo. Las puntuaciones se vuelven a calcular con respecto al modelo comprimido actual, no al modelo original. Se utilizaron tres etapas: El Ministerio de Educación pondera el 75% de la capacidad docente, el estado de Mamba SSM el 75%. Curado por 24 mil millones de fichas. El Ministerio de Educación pondera el 60% de la capacidad docente. Curado por 43,2 mil millones de tokens. Se activó el presupuesto de expertos encaminado al 50%, asignado de forma heterogénea. Curado por 52,8 mil millones de tokens. https://arxiv.org/pdf/2607.04371 La tabla anterior compara esto con una línea base de Puzzle de un solo paso en el mismo objetivo. El procedimiento de tres pasos tiene un promedio de 69,05 en diez puntos de referencia, frente a 68,48. Las ganancias aparecen en MMLU-Pro, GPQA, HLE, AA-LCR, LiveCodeBench, SciCode y RULER-256K. IFBench-Instruction cayó 0,2 puntos y IFBench-Prompt cayó 0,5. Recuperación: destilación, RL y verbosidad La destilación de conocimientos se ejecutó con un 30 % de datos de preentrenamiento y un 70 % de datos SFT de Nemotron-3-Nano. Durante la fase de rompecabezas, KD utilizó una secuencia de 32K de longitud. Luego, Recovery entrenó a 128K y escaló a 512K. El presupuesto era de hasta 100 mil millones de tokens, con un lote global de 16 millones de tokens, en Megatron-LM. La capacitación posterior de RL adoptó la Etapa 2 del proceso Nemotron-3-Super RL, centrada en la ingeniería de software. La fase 2.1 realizó una comparación del uso de herramientas en un solo paso. La fase 2.2 pasó a la zona de pruebas RL de extremo a extremo, donde los agentes corren hasta 200 turnos. Ambas fases utilizaron una penalización de KL de 0. El equipo barrió las tasas de aprendizaje y luego promedió los pesos resultantes. https://arxiv.org/pdf/2607.04371 La Figura 4 anterior muestra lo que aportó cada etapa. KD de contexto corto recupera la mayoría de las categorías a más del 97% de Nemotron-3-Super. Luego, KD de contexto largo eleva específicamente los puntos de referencia de entrada larga y de generación larga. El equipo de investigación afirma que el impacto de RL en estos experimentos fue pequeño. La verbosidad es el detalle silencioso. Después de la última iteración de Puzzle, el modelo generó el 132% del recuento de tokens de Super. Eso cayó al 99% después del proceso de recuperación total. Implementación: cuantificación y predicción de tokens múltiples Se produjeron dos recetas de cuantificación posteriores al entrenamiento: FP8 W8A8 apunta a Hopper y NVFP4 W4A4 apunta a Blackwell. Componente Línea base BF16 Punto de control FP8 Punto de control NVFP4 GEMM MoE dispersos y compartidos BF16FP8NVFP4 Mamba GEMM BF16FP8FP8 Mamba Caché SSM FP32FP32FP16 + Caché SRKV FP8FP8FP8 Enrutador FP32FP32FP32 Atención QKV/salida, proyecciones latentes MoE, LM cabezaBF16BF16BF16 Ambas recetas se calibraron en 256 muestras SFT posteriores al entrenamiento. NVFP4 utilizó la calibración máxima, no la búsqueda de sensibilidad AutoQuantize utilizada para Super. El punto de control resultante se cuantifica de forma ligeramente más agresiva y se realiza de manera similar. NVFP4 no es compatible de forma nativa con Hopper. Todavía se utiliza para el objetivo H100 de contexto 1M, porque la capacidad de HBM se vincula allí. Puzzle-75B-A9B hereda un cabezal MTP compartido de Super. Los parámetros se comparten entre los pasos de MTP, por lo que un cabezal se aplica de forma recursiva en la inferencia. La transferencia directa de la cabeza entrenada de Super dio longitudes de aceptación similares. Luego, el equipo de investigación identifica una discrepancia entre el entrenamiento y la inferencia. El entrenamiento MTP forzado por el maestro alimenta la secuencia completa de estados ocultos desplazados. En cambio, la redacción autorregresiva alimenta una combinación de modelos de destino y estados ocultos generados por MTP. Las tasas de aceptación caen en posiciones de draft más profundas. Esto se soluciona mediante una formación continua de la cabeza transferida. En SPEED-Bench con una longitud de calado 7, la longitud media de aceptación aumentó de 3,45 a 4,34. Eso es aproximadamente entre el 25% y el 30%, concentrado en puestos posteriores del draft. A diferencia de Super, el punto de control NVFP4 apenas se degrada: 4,31 frente a 4,34. Dónde ayuda la compresión y dónde duele Benchmark (BF16)SuperPuzzle-75B-A9BDeltaMMLU-Pro83.882.4-1.4AIME25 (sin herramientas)92.289.7-2.5GPQA (sin herramientas)80.578.6-1.9LiveCodeBench82.181.1-1.0SciCode (subtarea)42.340.6-1.7SWE-Bench (OpenHands)59.556.9-2.6Arena-Hard-V272.868.6-4.2AA-LCR56.856.9+0.1REGLA 1M93.992.2-1.7MMLU-ProX79.577.5-2.0 El propio resumen del artículo de investigación es que el seguimiento de instrucciones y las evaluaciones agentes son las que más pierden. Arena-Hard-V2 es el peor de los casos, con -4,2 puntos. RULER se mantiene dentro de aproximadamente 1 a 2 puntos en 256K, 512K y 1M. Tres resultados de BF16 no retroceden. AA-LCR gana 0,1, Scale AI Multi-Challenge empata en 56,6 y TauBench Telecom gana 0,4. NVFP4 cuesta poco además de la compresión. En RULER 1M, el punto de control NVFP4 obtiene una puntuación de 93,2, por encima del 92,2 de BF16. HLE es el costo de NVFP4 más claro, cayendo de 16,5 a 15,7. Los resultados del 8PM se encuentran en el Apéndice E y siguen de cerca al BF16. SWE-Bench no está incluido en el punto de control del 8PM. Casos de uso RAG de contexto ultralargo en una GPU: un servicio de análisis de documentos en un contexto de 1 millón pasa de 1 solicitud simultánea a 8. El rendimiento de decodificación agregado en esa concurrencia es aproximadamente 4 veces mayor. Asistentes de codificación interactivos: en UT >= 100 tok/s en el régimen 8K/64K, un nodo sirve 2,03 veces los tokens. Ajustado por detalle, es decir, 2,16 veces las solicitudes completadas por minuto. Canalizaciones de documentos con gran cantidad de precarga: el régimen de 50.000/2.000 gana solo 1,60 veces. La compresión ayuda menos cuando el procesamiento rápido domina la computación. Bucles SWE agentes: verifique la brecha SWE-Bench de 2,6 puntos con su combinación de tareas. La recuperación de RL apuntó a esta capacidad y solo la restauró parcialmente. Explorador de implementación ‘+esc(r