b12x 선형 및 MoE 백엔드
b12x 선형 및 MoE 백엔드 (b12x Linear and MoE Backends)
b12x 는 NVIDIA SM120 및 SM121 GPU용 선택적 CUDA 커널을 제공합니다. FP8·MXFP8·NVFP4·MXFP4 같은 저정밀 양자화 방식에서 최신 NVIDIA GPU 아키텍처를 최대한 활용할 수 있게 해 주며, 특히 FP4 계열 가중치를 가진 MoE 모델의 추론을 가속화하는 데 유용해요.
출처: 문서
본문
의존성을 설치합니다.
uv pip install "vllm[b12x]"
b12x 선형 커널은 확립된 최적화 백엔드 이후, 에뮬레이션(emulation) 이전에 자동 선택(auto-selection)에 참여합니다. 즉 GPU가 SM120/SM121이고 요청한 양자화 형식을 b12x가 지원한다면 자동으로 선택될 수 있어요. 선형과 MoE 백엔드를 명시적으로 고정하고 싶다면 다음과 같이 지정하세요.
vllm serve <model> \
--linear-backend b12x \
--moe-backend b12x
호환되는 NVFP4 또는 MXFP4 MoE 모델에 대해서만 --moe-backend b12x 를 전달하세요. 선형과 MoE 백엔드는 서로 독립적으로 선택할 수 있으므로, 예를 들어 선형 레이어는 b12x를, MoE 레이어는 다른 백엔드를 쓰는 것도 가능합니다.
활성화 형식 선택 (Activation format)
b12x는 MXFP4 MoE에는 기본적으로 MXFP8 활성화를 사용하고, NVFP4 MoE에는 체크포인트 자체의 활성화 형식을 사용합니다. MXFP4의 경우 A8 경로가 모델 구성을 지원하지 않으면 BF16으로 폴백합니다. VLLM_B12X_MOE_FP4_FORCE_A16=1 환경 변수를 설정하면 두 FP4 가중치 형식 모두에 대해 BF16(A16) 활성화를 강제할 수 있어요.
지원 구성 (Supported Configurations)
| 백엔드 | 지원 구성 |
|---|---|
| Linear | Per-tensor FP8, 128x128 block FP8, MXFP8, NVFP4, MXFP4 |
| MoE | Tensor-parallel MXFP4 가중치 + BF16 또는 MXFP8 활성화; NVFP4 가중치 + BF16, NVFP4, 또는 MXFP8 활성화 |
제한 사항 (Limitations)
Dense W4A16 레이어는 b12x가 처리하지 않으며 Marlin 같은 다른 호환 백엔드를 계속 사용합니다. 또한 b12x MoE 백엔드는 expert 병렬(expert parallelism), expert 맵(EXL3와 같은), EXL3, NF3를 지원하지 않으므로, 이런 구성을 쓰는 모델에는 적합하지 않습니다.