Buckets:
| # ADR 006: Inferencia Nativa BF16 para Triaje Local | |
| ## Estado | |
| Aprobado | |
| ## Contexto | |
| La implementación inicial del especialista local (Tier 1) utilizaba Unsloth con cuantización de 4 bits (bitsandbytes) para minimizar el uso de memoria. Sin embargo, durante la validación en el hardware AMD MI300X, observamos "colapso semántico" y generación repetitiva de tokens (ej. repetición indefinida de signos de puntuación o frases). | |
| Las investigaciones iniciales sugirieron que los artefactos de la cuantización de 4 bits, combinados con el manejo de ciertos kernels de menos de 8 bits por parte de la arquitectura CDNA3, estaban degradando la calidad de la inferencia para tareas clínicas que requieren alta precisión. | |
| ## Decisión | |
| Migraremos el \`LocalModelManager\` de Unsloth/4-bit a precisión nativa **BFloat16 (BF16)** utilizando las librerías estándar \`transformers\` y \`peft\`. | |
| Dada la masiva VRAM de 192GB de la AMD MI300X, el aumento en el requerimiento de memoria de BF16 (~14GB para un modelo 7B) está muy por debajo de las capacidades del hardware, incluso con múltiples agentes concurrentes. | |
| ## Consecuencias | |
| - **Positivo:** Mejora de la estabilidad semántica y eliminación de los artefactos de salida repetitiva. | |
| - **Positivo:** Compatibilidad total con los kernels bfloat16 nativos de ROCm. | |
| - **Positivo:** Razonamiento clínico de mayor fidelidad en comparación con las versiones cuantizadas de 4 bits. | |
| - **Neutral:** Mayor consumo de VRAM (aprox. 2.5x en comparación con 4 bits), lo cual es insignificante en la MI300X. | |
| - **Neutral:** Tiempo de inicialización ligeramente superior ya que se cargan pesos más grandes en la memoria HBM3. | |
Xet Storage Details
- Size:
- 1.67 kB
- Xet hash:
- 93abe86490b774a3d82c7846f6c71a6c748700e064df63ea545ee2029f796cc3
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.