sakamakismile/Qwen3-VL-32B-Heretic-MiniMax-H3-NVFP4
Qwen3-VL-32B Heretic NVFP4 텍스트 인코더, MiniMax-H3 용 15.7GB
학습 방식 · 학습이 아닌 재양자화(workflow)로 생성된 아티팩트이며 upstream INT8-ConvRot 가중치를 NVFP4 mixed-precision으로 재포맷하는 방식이 핵심입니다. 재양자화 과정에서 ConvRot의 회전 정보를 역산하기 위해 그룹별 Hadamard 곱셈을 적용하고, 일부 큰 임베딩층은 의도적으로 INT8로 남겨 두어 16GB 환경에서의 베이킹과 추론 성공률을 확보했습니다. 베이킹은 단일 16GB GPU에서 약 2분 정도 소요되었고 Blackwell(sm_120) 계열 하드웨어에서 실측 검증이 이루어졌습니다.
TL;DR
Qwen3-VL-32B Heretic NVFP4는 ethanfel의 INT8-ConvRot 텍스트 인코더를 NVFP4 mixed-precision으로 재양자화한 15.7GB 빌드로, 단일 16GB GPU에서 동작하도록 설계되어 MiniMax-H3 워크플로에 드롭인 교체 가능합니다. 재양자화 과정에서 ConvRot의 Hadamard 기반 회전(unrotate)을 복원한 뒤 NVFP4로 다시 양자화하는 절차를 거쳐야 인코딩 의미가 보존되며, 이를 건너뛰면 입력과 전혀 무관한 출력이 생성될 수 있습니다. 실측으로 6초 분량의 480×864 비디오 생성에서 피크 VRAM 약 9.9GB를 기록했고 원본 INT8-ConvRot 빌드와 시각적으로 동등한 결과를 냈다고 보고되었습니다.
핵심 포인트
- 모델 종류는 재양자화된 텍스트 인코더이며 베이스는 ethanfel/Qwen3-VL-32B-Ultra-Heretic-MiniMax-H3-ComfyUI-INT8-ConvRot입니다. 원본 INT8-ConvRot를 NVFP4 포맷으로 재양자화한 결과물로, 파일 크기는 15.7GB라서 16GB GPU에 적재가 가능합니다. 이로 인해 대형 80GB 카드가 없어도 MiniMax-H3 워크플로에서 실사용이 가능해집니다.
- 사용성 측면에서 Comfy-Org의 공식 NVFP4 인코더와 같은 크기를 가지므로 완전한 드롭인 교체가 가능합니다. README에 안내된 대로 해당 파일을 ComfyUI/models/text_encoders/에 넣고 CLIPLoader(type: minimax)를 지정하면 기존 파이프라인은 변경되지 않습니다. diffusion 모델과 VAE는 Comfy-Org/MiniMax-H3에서 그대로 사용해야 합니다.
- 재양자화 과정의 핵심 기술은 ConvRot(가중치 저장 시 Hadamard 행렬로 회전 저장) 처리를 되돌린 다음 NVFP4로 재양자화한 점입니다. 구체적으로 dequantize된 가중치에 그룹별 Hadamard 행렬을 곱해 회전을 복원한 뒤 NVFP4로 다시 양자화해야 조건부 인코딩이 원래 의미를 유지합니다. 이 과정을 건너뛰면 모델이 정상적으로 로드되더라도 입력 프롬프트와 전혀 상관없는 출력이 생성되는 실패 사례가 발생합니다.
- 혼합 정밀도로 구성되어 일부 레이어(350개의 linear)는 TensorCoreNVFP4Layout(group size 16)로, 큰 임베딩층(model.embed_tokens, 151,936 × 5120 = 778M 파라미터)은 INT8으로 남겨 두었습니다. 임베딩을 NVFP4로 완전 양자화하면 용량 이득이 작고 16GB 카드에서 bake 중 일시적 OOM을 유발할 수 있기 때문에 이 선택을 유지했습니다. ComfyUI가 레이어별 comfy_quant 메타데이터를 읽어 혼합 포맷을 문제없이 로드합니다.
제한사항
- 이 빌드는 업스트림 INT8 라운딩을 그대로 물려받기 때문에 BF16이나 원시 FP 가중치에서 직접 베이킹한 것보다 미세한 수치적 차이를 포함합니다. README에 따르면 BF16 원본이 있다면 더 깨끗한 재양자화가 가능하지만 해당 소스가 없어서 INT8→NVFP4 경로를 택했습니다. 그러므로 극히 미세한 표현 차이는 업스트림 라운딩 영향으로 남을 수 있습니다.
- NVFP4 포맷은 하드웨어 지원이 필요하며 Blackwell(sm_120)처럼 NVFP4를 지원하는 GPU가 요구됩니다. 실측에서 6초 분량의 480×864 비디오 생성(ComfyUI, Sage Attention, res_multistep 20) 중 피크 VRAM은 약 9.9GB였고 인코더를 동적 로딩한 경우 VRAM에 스테이징된 인코더 용량은 14.9GB, 시스템 RAM은 약 36GB가 사용되었습니다. 따라서 GPU가 NVFP4를 지원하지 않거나 시스템 메모리가 부족하면 동일한 조건을 재현하기 어렵습니다.
- ConvRot 회전 불일치가 발생하면 양자화 자체의 문제로 보이지 않는 완전히 무관한 출력을 만들 수 있으니 주의가 필요합니다. 구체적으로 회전을 복원하지 않고 단순 재양자화하면 프롬프트와 무관한 장면이 생성되고 에러는 발생하지 않습니다. 따라서 재양자화를 구현할 때 README에 제시된 Hadamard 기반 unrotate 절차를 반드시 따라야 합니다.
벤치마크
| 벤치마크 | 지표 | 값 | 비교 |
|---|---|---|---|
| Generation test (6s 480×864) | peak VRAM | ~9.9 GB | — |
| Generation test (6s 480×864) | encoder staged in VRAM | 14.9 GB (dynamic loading) | — |
| Generation test (6s 480×864) | system RAM used by ComfyUI process | ~36 GB | — |
87
Likes
0
Downloads
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.