K-EXAONE-152B-A23B-REAP-80E-NVFP4-v2

English

This is the weight-only NVFP4A16 (W4A16) release of Baekpica/K-EXAONE-152B-A23B-REAP-80E-BF16-v2. The parent has 151,924,654,336 parameters before quantization and approximately 23B parameters active per token. Each MoE layer selects 8 of 80 routed experts.

Repository history. This repository previously hosted an NVFP4 W4A4 checkpoint with calibrated activation global scales. That checkpoint remains available at the tag w4a4-v2 (commit ac55f559d060fcc0a7b0d09c9da1f96c87c59f6f). The current main is a true weight-only W4A16 rebuild from the same BF16 parent: activations stay BF16, and the tensors contain no input_global_scale.

Quantization

  • Scheme: compressed-tensors NVFP4A16
  • Algorithm: data-free round-to-nearest with QuantizationModifier; not GPTQ
  • Format: nvfp4-pack-quantized
  • Weights: FP4 E2M1, group size 16, FP8 E4M3 block scales
  • Activations: not quantized; BF16 at runtime
  • Activation calibration: none required or used
  • Quantized modules: 10,980 Linear modules in transformer layers 1–45
  • Preserved in BF16: layer 0, layers 46–47, routers, shared experts, lm_head, and MTP
  • Tooling: llmcompressor 0.12.0, compressed-tensors 0.17.1

This is a true weight-only checkpoint. Its quantization config has no input activation scheme and its tensors contain no input_global_scale. The explicit re:^mtp\..* exclusion keeps the separately restored MTP modules in BF16.

On A100, vLLM already executed the previous W4A4 files through its Marlin W4A16-compatible fallback, so the degradation observed there was attributable to the 4-bit weights rather than activation FP4. This rebuild makes the weight-only contract explicit in both config and tensors, so native-FP4 hardware such as Blackwell will not enable activation quantization either.

Lineage

236B source → recovered 80E-v2 BF16 → this NVFP4A16 checkpoint

The BF16-v2 parent is a modest post-pruning recovery of the 80-expert REAP model. This checkpoint uses data-free PTQ rather than quantization-aware training. On the 60-chat holdout used throughout this series, the BF16-v2 parent scored CE 1.18012 (perplexity 3.25477) with 0 dead routed experts.

Checkpoint integrity

The strict release audit verifies the exact replacement set against the BF16 parent:

Item Result
Packed NVFP4 Linear modules 10,980
Weight global scales 10,980 valid / 0 invalid
Input global scales 0
Indexed tensors 33,880
BF16-preserved tensors 940 exact matches
BF16-preserved elements 10,933,129,136 exact matches
Serialized tensor payload 101,174,044,752 bytes
MTP 15 tensors, BF16, explicitly excluded

Machine-readable results are included in checkpoint_audit.json.

Runtime smoke test

The release was loaded with vLLM 0.24.0 using tensor parallel 4 on four A100 80GB GPUs. A100 uses the Marlin W4A16 implementation, so this checks the actual weight-only execution path rather than an activation-FP4 path. The engine selected MarlinNvFp4LinearKernel for dense layers and the MARLIN NvFp4 MoE backend, and model weights took 23.48 GiB per GPU.

Six Korean/English reasoning prompts were sampled with seed 42, temperature=1.0, top_p=0.95, and max_tokens=1024. The model loaded in 79.13 seconds and generated 6,144 tokens in 90.94 seconds. Within the 1,024-token cap none of the six outputs closed </think> or emitted EOT, so this run is an execution check, not a termination or quality verdict; the 3,072-token comparison recorded in the w4a4-v2 tag remains the more informative termination measurement.

MTP compatibility was checked separately with num_speculative_tokens=2. vLLM resolved ExaoneMoeMTP, loaded the restored BF16 draft tensors, shared the target embedding and lm_head, and completed a 64-token speculative generation without an error.

Raw records are included as evaluation_vllm024_w4a16_smoke.json and evaluation_vllm024_w4a16_mtp_smoke.json.

Serving with vLLM

Use a vLLM build with EXAONE-MoE and compressed-tensors NVFP4A16 support:

vllm serve Baekpica/K-EXAONE-152B-A23B-REAP-80E-NVFP4-v2 \
  --tensor-parallel-size 4 \
  --reasoning-parser deepseek_v3

MTP speculative decoding can be enabled separately:

vllm serve Baekpica/K-EXAONE-152B-A23B-REAP-80E-NVFP4-v2 \
  --tensor-parallel-size 4 \
  --reasoning-parser deepseek_v3 \
  --speculative-config '{"method":"mtp","num_speculative_tokens":2}'

The serialized tensors occupy about 94.2 GiB. Actual serving memory is higher because of KV cache, CUDA graphs, workspaces, and runtime buffers; size the single node for those allocations as well as the weights.

Limitations

  • Weight-only W4A16 avoids activation FP4 but still quantizes most Linear weights to four bits, so quality can remain below BF16. The W4A4 smoke tests recorded in the w4a4-v2 tag already reflected the A100 W4A16 execution path, so a large quality recovery from this rebuild alone should not be assumed.
  • Layer 0, layers 46–47, routers, shared experts, lm_head, and MTP remain BF16; other attention and routed-expert Linear weights are NVFP4.
  • The included generation checks are limited execution smoke tests.
  • Reasoning termination, Korean, tool use, code, long context, factuality, and safety require workload-specific validation.
  • Runtime kernel support and memory use depend on the vLLM, CUDA, and GPU versions.

한국어

이 저장소는 Baekpica/K-EXAONE-152B-A23B-REAP-80E-BF16-v2weight-only NVFP4A16(W4A16) 체크포인트입니다. 이전에 있던 NVFP4 W4A4 체크포인트는 tag w4a4-v2 (commit ac55f559d060fcc0a7b0d09c9da1f96c87c59f6f)에 보존되어 있습니다.

레이어 1–45의 Linear 10,980개만 FP4 E2M1(group 16, FP8 E4M3 scale)로 변환했습니다. activation은 양자화하지 않고 BF16으로 유지하며, 따라서 activation calibration과 input_global_scale이 없습니다. 첫 레이어, 마지막 두 레이어, router, shared expert, lm_head, MTP는 BF16으로 보존했습니다. 양자화는 GPTQ나 QAT가 아닌 data-free RTN QuantizationModifier로 수행했습니다.

기존 W4A4 파일도 A100에서는 vLLM Marlin의 W4A16 호환 경로로 실행됐으므로, 당시 관측된 품질 저하는 activation FP4보다 4-bit 가중치 자체의 영향으로 보는 것이 타당합니다. 이번 재빌드는 config와 tensor 모두에서 weight-only 계약을 명시하므로 Blackwell 같은 native FP4 환경에서도 activation 양자화가 켜지지 않습니다.

엄격 감사에서 packed module 10,980개, input global scale 0개, 전체 tensor 33,880개, payload 101,174,044,752바이트를 확인했습니다. BF16으로 남긴 tensor 940개와 10,933,129,136개 원소는 parent와 정확히 일치합니다. 상세 결과는 checkpoint_audit.json에 포함됩니다.

직렬화된 tensor는 약 94.2GiB이며 실제 서빙에는 KV cache, CUDA graph, workspace 등의 추가 메모리가 필요합니다. 배포 전 대상 single-node 환경에서 reasoning 종료, 한국어, tool use, 코드, 장문 문맥과 메모리 사용량을 별도로 검증하세요.

License

This model is distributed under the same K-EXAONE AI Model License as the original model. See LICENSE for the complete terms.

Downloads last month
67
Safetensors
Model size
90B params
Tensor type
F32
·
BF16
·
F8_E4M3
·
U8
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for Baekpica/K-EXAONE-152B-A23B-REAP-80E-NVFP4-v2

Collection including Baekpica/K-EXAONE-152B-A23B-REAP-80E-NVFP4-v2