# MXFP4

Nota: la cuantización MXFP4 actualmente solo funciona para OpenAI GPT-OSS 120b y 20b.

MXFP4 es un formato de punto flotante de 4 bits que reduce drásticamente los requisitos de memoria de los modelos grandes. Los modelos grandes (GPT-OSS-120B) pueden caber en una sola GPU de 80 GB y los modelos más pequeños (GPT-OSS-20B) solo requieren 16 GB de memoria. Utiliza escalado por bloques para preservar su rango y precisión, que suele degradarse a precisiones más bajas.

Para usar MXPF4, asegúrate de que tu hardware cumpla con los siguientes requisitos.

- Instala Accelerate, kernels y Triton ≥ 3.4. Instala Triton ≥ 3.4 manualmente solo si usas PyTorch 2.7, ya que ya está soportado en PyTorch 2.8.
- Capacidad de computación de GPU NVIDIA ≥ 7.5, que incluye las GPU Tesla y las más recientes. Utilice [get_device_capability](https://docs.pytorch.org/docs/stable/generated/torch.cuda.get_device_capability.html) para verificar la capacidad de computación.

```python
from torch import cuda
cuda.get_device_capability()

# (7, 5)
```

Compruebe la configuración de cuantización de un modelo, como se muestra a continuación, para ver si admite MXFP4. Si `'quant_method': 'mxfp4'`, el modelo utiliza MXFP4 automáticamente.

```py
from transformers import GptOssConfig

model_id = "openai/gpt-oss-120b"
cfg = GptOssConfig.from_pretrained(model_id)
print(cfg.quantization_config)

# Example output:
# {
#   'modules_to_not_convert': [
#     'model.layers.*.self_attn',
#     'model.layers.*.mlp.router',
#     'model.embed_tokens',
#     'lm_head'
#   ],
#   'quant_method': 'mxfp4'
# }
```

## Kernels MXFP4

Transformers descarga automáticamente los núcleos de Triton compatibles con MXFP4 del repositorio de la comunidad cuando se carga un modelo que los requiere. Los núcleos se almacenan en la caché local y se utilizan durante la pasada hacia adelante.

Los kernels MXFP4 se utilizan de forma predeterminada, si están disponibles y son compatibles, y no requieren ningún cambio en el código.

Puede usar [hf cache scan](https://huggingface.co/docs/huggingface_hub/en/guides/manage-cache#scan-your-cache) para verificar que los kernels se han descargado.

```shell
hf cache scan
```

```shell
REPO ID                          REPO TYPE SIZE ON DISK
-------------------------------- --------- ------------
kernels-community/triton_kernels model           536.2K
openai/gpt-oss-20b               model            13.8G
```

## Recursos

Obtén más información sobre la cuantización MXFP4 y cómo funciona la escalado por bloques en esta [publicación de blog](https://huggingface.co/blog/faster-transformers#mxfp4-quantization).

