# MXFP4

Catatan: Kuantisasi MXFP4 saat ini hanya berfungsi untuk OpenAI GPT-OSS 120b dan 20b.

MXFP4 adalah format floating point 4-bit yang secara drastis mengurangi kebutuhan memori untuk model besar. Model besar (GPT-OSS-120B) dapat muat di satu GPU 80GB, dan model yang lebih kecil (GPT-OSS-20B) hanya membutuhkan 16GB memori. Format ini menggunakan penskalaan blok (blockwise scaling) untuk mempertahankan rentang dan akurasinya, yang biasanya menurun pada presisi yang lebih rendah.

Untuk menggunakan MXPF4, pastikan perangkat keras Anda memenuhi persyaratan berikut.

- Install Accelerate, kernels, dan Triton ≥ 3.4. Hanya install Triton ≥ 3.4 secara manual jika Anda menggunakan PyTorch 2.7 karena sudah didukung di PyTorch 2.8.
- NVIDIA GPU Compute Capability ≥ 7.5 yang mencakup GPU Tesla dan yang lebih baru. Gunakan [get_device_capability](https://docs.pytorch.org/docs/stable/generated/torch.cuda.get_device_capability.html) untuk memeriksa Compute Capability.

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

# (7, 5)
```

Periksa konfigurasi kuantisasi model seperti yang ditunjukkan di bawah ini untuk melihat apakah mendukung MXFP4. Jika `'quant_method': 'mxfp4'`, maka model secara otomatis menggunakan MXFP4.

```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'
# }
```

## Kernel MXFP4

Transformers secara otomatis menarik kernel Triton yang mendukung MXFP4 dari repositori komunitas saat Anda memuat model yang membutuhkannya. Kernel disimpan di cache lokal Anda dan digunakan selama forward pass.

Kernel MXFP4 digunakan secara default, jika tersedia dan didukung, dan tidak memerlukan perubahan kode apa pun.

Anda dapat menggunakan [hf cache scan](https://huggingface.co/docs/huggingface_hub/en/guides/manage-cache#scan-your-cache) untuk memverifikasi bahwa kernel telah diunduh.

```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
```

## Sumber daya

Pelajari lebih lanjut tentang kuantisasi MXFP4 dan cara kerja penskalaan per blok dalam [artikel blog](https://huggingface.co/blog/faster-transformers#mxfp4-quantization) ini.

