Buckets:

lablab-ai-amd-developer-hackathon/OncoAgent / docs /ADR /006-bf16-native-inference.es.md
MaximoLopezChenlo's picture
|
download
raw
1.67 kB
# 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.