[vLLM Issue]: ValueError: The output_size of gate’s and up’s weight = 192 is not divisible by weight quantization block_n = 128

요약

vLLM Issue 및 해결방법

LLM 기술 흐름과 구현 포인트를 비교하기 위한 기술 노트입니다.

핵심 포인트

  • vLLM Issue 및 해결방법
  • 🧩 무엇이 잘못됐는가?
  • 🎯 언제 발생하나?
  • ✅ 해결 방법은?
  • 📌 요약

지식 그래프

정리 내용

🧩 무엇이 잘못됐는가?

에러 메시지:

ValueError: The output_size of gate's and up's weight = 192 is not divisible by weight quantization block_n = 128

이 뜻은 “gate”와 “up” 레이어의 가중치 크기(output_size가 192)가 **quant block 크기(128)**로 나누어떨어지지 않기 때문에 vLLM이 이를 할당할 수 없다는 것입니다. vLLM의 FP8 block quant 모델은 아래 조건을 요구합니다 (소스 코드 기준):

🎯 언제 발생하나?

이 에러는 보통 Qwen3‑FP8 같은 모델들을 FP8+block‑wise quantization 옵션으로 실행할 때, 특히 tensor parallel(tensor‑parallel‑size) 또는 expert parallel 구성에 따라 weight가 여러 partition로 나뉘면서 발생할 수 있습니다. 이때 각 partition의 gate/up weight 크기가 block_n (예: 128)로 나누어떨어지지 않으면 위와 같은 에러가 발생합니다 GitHub+5GitHub+5qwen.readthedocs.io+5.

✅ 해결 방법은?

Qwen 공식 가이드에서는 아래 두 가지 방안을 권장합니다 :

  1. Tensor‑parallel 수 줄이기 예: —tensor‑parallel‑size 4
  2. 또는 Expert‑parallel 모드 활성화 예: —tensor‑parallel‑size 8 —enable‑expert‑parallel 이렇게 하면 partition된 weight의 크기가 block_n(128)의 배수가 되거나, block‑quant 로직이 중심 되지 않도록 변경되어 에러를 피할 수 있습니다.

📌 요약

  • 원인: FP8 block quant에서 gate/up 레이어 weight 크기(192)가 quant block 크기(128)로 나눠지지 않음 → 오류 발생
  • 해결법:
    • Tensor parallel degree 조정 또는
    • expert parallel 활성화 → partition 단위를 block 크기에 맞추기

출처