Análisis post mortem de tres problemas recientes de degradación de calidad en Claude
(anthropic.com)- Entre agosto y principios de septiembre, se produjo una degradación en la calidad de las respuestas de Claude debido a tres bugs de infraestructura
- Las causas principales del problema fueron, respectivamente, un error de enrutamiento de la ventana de contexto, corrupción de salida y un error de miscompilación de top-k aproximado en XLA:TPU
- Cada bug se superpuso con los otros en distintos tipos de hardware y rutas de despliegue, lo que hizo mucho más difícil el diagnóstico
- Entre las razones del retraso en la detección y resolución estuvieron fallas en el proceso de validación y restricciones de acceso derivadas de políticas de privacidad
- Anthropic está trabajando para prevenir incidentes similares mediante mejoras en evaluación y monitoreo, además del desarrollo de herramientas de depuración más rápidas
Resumen y contexto
- Desde agosto hasta principios de septiembre, se reportó una degradación intermitente en la calidad de las respuestas de Claude
- Al principio se consideró una variación normal dentro del feedback de los usuarios, pero al aumentar de forma sostenida los reportes, se inició una investigación
- Anthropic aclaró explícitamente que la causa del problema fueron únicamente bugs de infraestructura, no la demanda ni la carga de los servidores
- Claude se ofrece a millones de usuarios a través de varias plataformas (APIs, Amazon Bedrock, Google Vertex AI, etc.) y mantiene criterios estrictos de validación para garantizar resultados equivalentes en hardware diverso como AWS Trainium, NVIDIA GPU y Google TPU
- En este análisis post mortem se explican las causas de los bugs, por qué se retrasaron el diagnóstico y la solución, y qué medidas se tomarán para evitar que vuelva a ocurrir
Cómo se opera Claude a gran escala
- El servicio de Claude mantiene un despliegue global sobre distintos tipos de hardware (Trainium, GPU, TPU)
- Los criterios de equivalencia de implementación para garantizar la misma calidad en cada plataforma son estrictos
- Cuando se hacen cambios de infraestructura, se requiere un proceso riguroso de validación en todas las plataformas y configuraciones
Cronología de los principales incidentes
- 5 de agosto: el primer bug afecta aproximadamente al 0.8% de las solicitudes de Sonnet 4
- 25 y 26 de agosto: se despliegan el segundo y el tercer bug, respectivamente
- 29 de agosto: un cambio en el balanceo de carga dispara el tráfico afectado, y más usuarios comienzan a verse impactados
- Los síntomas de cada bug se superpusieron, lo que elevó mucho la dificultad del diagnóstico
Los tres bugs superpuestos y cómo se resolvieron
1. Error de enrutamiento de la ventana de contexto
- El 5 de agosto, algunas solicitudes de Sonnet 4 fueron dirigidas por error a servidores destinados a una ventana de contexto de 1M tokens
- Tras el cambio de balanceo de carga, el problema llegó a afectar hasta el 16% de las solicitudes de Sonnet 4, con impacto menor también en Amazon Bedrock y Google Vertex AI
- Como el método de enrutamiento era "sticky", una vez que una conexión caía en un servidor incorrecto, seguía conectándose al mismo servidor después
- Solución: se mejoró la lógica de enrutamiento; el parche se aplicó en la plataforma propia el 4 de septiembre, se desplegó en Google Cloud hasta el 16 de septiembre y su aplicación gradual en Bedrock sigue en curso
2. Corrupción de salida (bug)
- El 25 de agosto, se aplicó una configuración incorrecta a los servidores TPU de la API de Claude, lo que provocó errores durante la generación de tokens
- Se observaron casos en los que, por ejemplo, en respuestas a preguntas en inglés aparecían caracteres extraños mezclados, como tailandés o chino, además de errores de sintaxis evidentes insertados en código
- Solo afectó a Opus 4.1, Opus 4 y Sonnet 4; las plataformas de terceros no se vieron afectadas
- Solución: el cambio se revirtió el 2 de septiembre y se agregó al proceso de despliegue una prueba para detectar salidas con caracteres anómalos
3. Error de miscompilación de top-k aproximado en XLA:TPU
- El 25 de agosto, al mejorar el método de selección de tokens, salió a la luz un bug latente en el compilador XLA:TPU
- Afectó a Claude Haiku 3.5, a parte de Sonnet 4 y a Opus 3
- Las plataformas de terceros no se vieron afectadas
- Solución: Haiku 3.5 se revirtió el 4 de septiembre y Opus 3 el 12 de septiembre; Sonnet 4 no pudo reproducirse directamente, pero también se revirtió como medida preventiva
- En paralelo, se está trabajando con el equipo de XLA:TPU para corregir el bug del compilador y se está migrando al uso de top-k exacto
Análisis detallado del bug del compilador XLA
- Durante la generación de tokens, Claude calcula probabilidades para cada candidato y realiza muestreo
- Las TPUs operan en entornos distribuidos, por lo que sincronizar el cálculo de probabilidades de tokens añade complejidad
- En diciembre de 2024, se detectó un problema en el que, por errores derivados del uso de precisión mixta bf16-32 bits, podía omitirse el token con mayor probabilidad, y se desplegó una corrección temporal
- El 26 de agosto, durante una refactorización del código de muestreo para resolver la causa raíz, se expuso un bug más profundo que hacía que la operación de top-k aproximado devolviera resultados completamente incorrectos en ciertos casos
- Ese bug había quedado oculto por la corrección temporal anterior
- Además, el bug en la operación de top-k aproximado mostraba síntomas irregulares según el entorno de producción y el tamaño del batch
- En lugar de top-k aproximado, recientemente se migró a exact top-k, cuyo costo de rendimiento se ha reducido mucho, y se mejoraron operaciones clave mediante una estandarización en fp32
Por qué se retrasó la detección
- Ya se utilizaban procedimientos como evaluaciones automatizadas periódicas y despliegues previos en grupos reducidos
- Estos incidentes dejaron en evidencia vacíos en el proceso de evaluación. Por ejemplo, había métricas que no detectaban bien las condiciones problemáticas, y las políticas internas de privacidad (que impiden a los ingenieros acceder a solicitudes específicas de usuarios) dificultaron un análisis rápido
- Como los síntomas aparecían de distintas formas según la plataforma y la versión, fue difícil identificar una causa única
- Incluso cuando aumentaron bruscamente los reportes en línea, no se reconoció de inmediato la relación con un cambio estándar en el balanceo de carga
Mejoras y medidas futuras
- Desarrollo de métricas de evaluación más sensibles y refuerzo de evaluaciones automatizadas capaces de distinguir con mayor claridad entre estados corruptos e implementaciones normales
- Ampliación de los sistemas de evaluación y monitoreo a todo el entorno de producción, por ejemplo con evaluaciones centradas en condiciones operativas como errores de enrutamiento de la ventana de contexto
- Creación de herramientas de depuración más rápidas y sofisticadas, junto con infraestructura y herramientas personalizadas para analizar con rapidez el feedback de la comunidad preservando la privacidad
- Además de las evaluaciones internas, se destaca la importancia de seguir recopilando feedback de los usuarios: los errores o bugs difíciles de predecir suelen detectarse primero a través de reportes reales
- Se alienta activamente a usar el comando
/bugo la función "thumbs down", y a enviar por correo observaciones sobre cómo evaluar la calidad del modelo
Explicación de referencia
- XLA:TPU es un compilador que convierte código del lenguaje de optimización de alto nivel XLA en instrucciones para TPU
- Como el tamaño del modelo es grande, se divide entre varios chips en lugar de colocarse en uno solo, y operaciones como
sortingdeben implementarse en forma vectorizada - La operación de top-k aproximado se usa para mejorar el rendimiento, pero puede implicar problemas graves como omitir el token con mayor probabilidad
- Actualmente ya se adoptó el método de top-k exacto, y puede haber cambios sutiles en qué tokens quedan incluidos cerca del umbral de top-p. En algunos casos, los usuarios podrían necesitar ajustar el valor de top-p
1 comentarios
Opinión de Hacker News
rope_scalingcuando de verdad necesitas contexto largo, y también ajustar el factor a la longitud promedio de entrada de tu aplicación. Por ejemplo, si andas alrededor de 520 mil tokens, es mejor usar factor 2.0 Fuente (página descriptiva de Qwen3-Next-80B)