Phase 5: re-quantize merged checkpoint to NVFP4 with MTP/vision tensor reinjection and production-config verification #4
@@ -49,9 +49,21 @@ from datasets import Dataset
|
|||||||
from safetensors import safe_open
|
from safetensors import safe_open
|
||||||
from transformers import AutoProcessor, Qwen3_5MoeForConditionalGeneration
|
from transformers import AutoProcessor, Qwen3_5MoeForConditionalGeneration
|
||||||
|
|
||||||
from compressed_tensors.utils import save_mtp_tensors_to_checkpoint
|
# Compat shim: llmcompressor 0.12.0 (ultima version en PyPI) importa incondicionalmente
|
||||||
from llmcompressor import oneshot
|
# GraniteMoeParallelExperts al armar su registro de arquitecturas MoE "linearizables"
|
||||||
from llmcompressor.modifiers.quantization import QuantizationModifier
|
# (llmcompressor/modeling/moe/granitemoe.py), incluso para modelos que no son GraniteMoe
|
||||||
|
# (como este Qwen3.5 MoE). transformers 5.14.1 renombro esa clase a GraniteMoeExperts,
|
||||||
|
# rompiendo ese import y abortando oneshot() para CUALQUIER modelo. Como Qwen3.5 MoE no
|
||||||
|
# esta en ese registro (solo granitemoe/llama4), el alias nunca se usa realmente -- solo
|
||||||
|
# hace falta que el nombre exista para que el import no explote.
|
||||||
|
import transformers.models.granitemoe.modeling_granitemoe as _granitemoe_mod # noqa: E402
|
||||||
|
|
||||||
|
if not hasattr(_granitemoe_mod, "GraniteMoeParallelExperts"):
|
||||||
|
_granitemoe_mod.GraniteMoeParallelExperts = _granitemoe_mod.GraniteMoeExperts
|
||||||
|
|
||||||
|
from compressed_tensors.utils import save_mtp_tensors_to_checkpoint # noqa: E402
|
||||||
|
from llmcompressor import oneshot # noqa: E402
|
||||||
|
from llmcompressor.modifiers.quantization import QuantizationModifier # noqa: E402
|
||||||
|
|
||||||
REPO_ROOT = Path(__file__).resolve().parent.parent
|
REPO_ROOT = Path(__file__).resolve().parent.parent
|
||||||
MODEL_PATH = Path(os.environ.get("MODEL_PATH", "/workspace/ft-models/Qwen3.6-35B-A3B-mcp-bf16"))
|
MODEL_PATH = Path(os.environ.get("MODEL_PATH", "/workspace/ft-models/Qwen3.6-35B-A3B-mcp-bf16"))
|
||||||
|
|||||||
Reference in New Issue
Block a user