Transformers documentation
MXFP4
MXFP4
Note : la quantification MXFP4 ne fonctionne actuellement que pour OpenAI GPT-OSS 120b et 20b.
MXFP4 est un format à virgule flottante sur 4 bits qui réduit considérablement les besoins en mémoire des grands modèles. Les grands modèles (GPT-OSS-120B) peuvent tenir sur un seul GPU de 80 Go, tandis que les modèles plus petits (GPT-OSS-20B) n'exigent que 16 Go de mémoire. Il utilise un mise à l'échelle par blocs pour préserver sa plage et sa précision, qui se dégrade généralement à des précisions inférieures.
Pour utiliser MXPF4, assurez-vous que votre matériel répond aux exigences suivantes.
- Installez Accelerate, kernels et Triton ≥ 3.4. N’installez Triton ≥ 3.4 manuellement que si vous utilisez PyTorch 2.7, car il est déjà pris en charge dans PyTorch 2.8.
- Capacité de calcul des GPU NVIDIA ≥ 7.5, ce qui inclut les GPU Tesla et les plus récents. Utilisez get_device_capability pour vérifier la capacité de calcul.
from torch import cuda
cuda.get_device_capability()
# (7, 5)Vérifiez la configuration de quantisation d’un modèle, comme indiqué ci-dessous, pour déterminer s’il prend en charge MXFP4. Si 'quant_method': 'mxfp4', le modèle utilise automatiquement MXFP4.
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'
# }Noyaux MXFP4
Transformers récupère automatiquement les noyaux Triton compatibles MXFP4 depuis le dépôt communautaire lorsque vous chargez un modèle qui en a besoin. Les noyaux sont stockés dans votre cache local et utilisés lors du passage avant.
Les noyaux MXFP4 sont utilisés par défaut, s'ils sont disponibles et pris en charge, et ne nécessitent aucune modification de code.
Vous pouvez utiliser hf cache scan pour vérifier que les noyaux ont bien été téléchargés.
hf cache scan
REPO ID REPO TYPE SIZE ON DISK -------------------------------- --------- ------------ kernels-community/triton_kernels model 536.2K openai/gpt-oss-20b model 13.8G
Ressources
En savoir plus sur la quantification MXFP4 et le fonctionnement de l'échelle par bloc dans ce article de blog.
Update on GitHub