- 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
/bug o 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
sorting deben 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
/bugen Claude Code. Si al reportarlo por ese comando los ingenieros pueden revisar el contexto, me gustaría que eso se comunicara de forma muy clara a los usuarios (yo no uso Claude Code). <br> > La recomendación de usar el botón de "thumbs down" en la app de Claude me preocupa un poco. La mayoría de los usuarios probablemente no interpreta ese clic con el mismo peso que renunciar a su privacidadrope_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 <br> Fuente (página descriptiva de Qwen3-Next-80B)