Views
No views yet
Check out v2! Get it here.
vllm serve xdavxd/gemma-4-26B-A4B-it-heretic-NVFP4 \
--max-model-len 32768 \
--gpu-memory-utilization 0.90vllm serve xdavxd/gemma-4-26B-A4B-it-heretic-NVFP4 \
--max-model-len 32768 \
--gpu-memory-utilization 0.90 \
--enable-auto-tool-choice \
--reasoning-parser gemma4 \
--tool-call-parser gemma4 \
--chat-template examples/tool_chat_template_gemma4.jinja \
--limit-mm-per-prompt '{"image": 4, "audio": 1}' \
--async-schedulingTip: For text-only workloads, pass--limit-mm-per-prompt '{"image": 0, "audio": 0}'to skip vision encoder memory allocation and free up GPU memory for a longer context window.
1from openai import OpenAI
2
3openai_api_key = "EMPTY"
4openai_api_base = "http://<your-server-host>:8001/v1"
5
6client = OpenAI(
7 api_key=openai_api_key,
8 base_url=openai_api_base,
9)
10
11model = "xdavxd/gemma-4-26B-A4B-it-heretic-NVFP4"
12
13messages = [
14 {"role": "user", "content": "Explain quantum mechanics clearly and concisely."},
15]
16
17outputs = client.chat.completions.create(
18 model=model,
19 messages=messages,
20)
21
22generated_text = outputs.choices[0].message.content
23print(generated_text)1from transformers import AutoModelForCausalLM, AutoTokenizer
2from llmcompressor import oneshot
3from llmcompressor.modifiers.quantization import QuantizationModifier
4
5MODEL_ID = "./gemma-4-26B-A4B-it-heretic"
6SAVE_DIR = "gemma-4-26B-A4B-it-heretic-NVFP4"
7
8model = AutoModelForCausalLM.from_pretrained(MODEL_ID, dtype="auto")
9tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
10
11recipe = QuantizationModifier(
12 targets="Linear",
13 scheme="NVFP4",
14 ignore=["lm_head", "re:.*embed.*", "re:.*vision_tower.*", "re:.*router"],
15)
16
17oneshot(
18 model=model,
19 tokenizer=tokenizer,
20 recipe=recipe,
21 dataset="ultrachat_200k",
22 splits="train_sft",
23 num_calibration_samples=512,
24 max_seq_length=2048,
25)
26
27model.save_pretrained(SAVE_DIR, save_compressed=True)
28tokenizer.save_pretrained(SAVE_DIR)| Metric | This model | Original model (google/gemma-4-26B-A4B-it) |
|---|---|---|
| KL divergence | 0.0499 | 0 (by definition) |
| Refusals | 11/100 | 100/100 |
| Category | Benchmark | google/gemma-4-26B-A4B-it | RedHatAI/gemma-4-26B-A4B-it-NVFP4 | xdavxd/gemma-4-26B-A4B-it-heretic-NVFP4 | Recovery |
|---|---|---|---|---|---|
| Instruction Following | IFEval (0-shot, prompt-level strict) | 89.96 | 87.24 | 87.19 | 96.9% |
| IFEval (0-shot, inst-level strict) | 93.21 | 91.29 | 91.05 | 97.7% | |
| Reasoning | GSM8K Platinum (0-shot, strict-match) | 95.43 | 94.43 | 94.49 | 99.0% |
| MMLU-Pro (0-shot, custom-extract) | 83.47 | 81.65 | - | - | |
| MATH-500 (0-shot, pass@1) | 84.80 | 87.60 | 85.13 | 100.4% | |
| AIME 2025 (0-shot, pass@1) | 80.00 | 66.25 | 58.75 | 73.4% | |
| GPQA Diamond (0-shot, pass@1) | 73.20 | 72.39 | 66.67 | 91.1% | |
| Coding | LiveCodeBench v6 (0-shot, pass@1) | 74.48 | 68.19 | - | - |
sudo docker run --rm -it \
--gpus all \
--ipc=host \
--network host \
-v ~/quant-workspace/gemma-4-26B-A4B-it-heretic-NVFP4:/models/heretic:ro \
-v ~/.cache/huggingface:/root/.cache/huggingface \
-e VLLM_USE_V2_MODEL_RUNNER=1 \
ghcr.io/timothystewart6/vllm-gb10:latest \
vllm serve /models/heretic \
--host 0.0.0.0 --port 8001 \
--served-model-name heretic \
--max-model-len 69632 \
--gpu-memory-utilization 0.50 \
--enable-auto-tool-choice \
--reasoning-parser gemma4 \
--tool-call-parser gemma4 \
--limit-mm-per-prompt '{"image":0,"audio":0}' \
--kv-cache-dtype fp8 \
--max-num-seqs 32 \
--async-schedulingfor SEED in 1234 2345 3456; do
lm_eval --model local-chat-completions \
--tasks gsm8k_platinum_cot_llama \
--model_args "model=heretic,max_length=36096,base_url=http://0.0.0.0:8001/v1/chat/completions,num_concurrent=32,max_retries=3,tokenized_requests=False,tokenizer_backend=None,timeout=2400" \
--num_fewshot 0 \
--apply_chat_template \
--output_path "results_gsm8k_seed${SEED}.json" \
--seed $SEED \
--gen_kwargs "do_sample=True,temperature=1.0,top_p=0.95,top_k=64,max_gen_toks=32000,seed=${SEED}"
echo "Seed $SEED complete"
donefor SEED in 1234 2345 3456; do
lm-eval run --model local-chat-completions \
--tasks mmlu_pro \
--model_args "model=heretic,max_length=36096,base_url=http://0.0.0.0:8001/v1/chat/completions,num_concurrent=32,max_retries=3,tokenized_requests=False,tokenizer_backend=None,timeout=2400" \
--num_fewshot 0 \
--apply_chat_template \
--output_path "results_mmlu_pro_seed${SEED}.json" \
--seed $SEED \
--gen_kwargs "do_sample=True,temperature=1.0,top_p=0.95,top_k=64,max_gen_toks=32000,seed=${SEED}"
echo "MMLU-Pro seed $SEED complete"
donefor SEED in 1234 2345 3456; do
lm_eval --model local-chat-completions \
--tasks ifeval \
--model_args "model=heretic,max_length=36096,base_url=http://0.0.0.0:8001/v1/chat/completions,num_concurrent=32,max_retries=3,tokenized_requests=False,tokenizer_backend=None,timeout=2400" \
--num_fewshot 0 \
--apply_chat_template \
--output_path "results_ifeval_seed${SEED}.json" \
--seed $SEED \
--gen_kwargs "do_sample=True,temperature=1.0,top_p=0.95,top_k=64,max_gen_toks=32000,seed=${SEED}"
echo "IFEval seed $SEED complete"
done1model_parameters:
2 provider: hosted_vllm
3 model_name: hosted_vllm/heretic
4 base_url: http://0.0.0.0:8001/v1
5 api_key: ''
6 timeout: 7200
7 concurrent_requests: 32
8 generation_parameters:
9 temperature: 1.0
10 max_new_tokens: 65536
11 top_p: 0.95
12 top_k: 64
13 seed: 1234# GPQA Diamond (3 seeds)
for SEED in 1234 2345 3456; do
sed -i "s/seed: .*/seed: $SEED/" litellm_config.yaml
lighteval endpoint litellm litellm_config.yaml 'gpqa:diamond|0' \
--output-dir "results_gpqa_seed${SEED}/" --save-details
echo "GPQA Diamond seed $SEED complete"
done
# MATH-500 (3 seeds)
for SEED in 1234 2345 3456; do
sed -i "s/seed: .*/seed: $SEED/" litellm_config.yaml
lighteval endpoint litellm litellm_config.yaml 'math_500|0' \
--output-dir "results_math500_seed${SEED}/" --save-details
echo "MATH-500 seed $SEED complete"
done
# AIME 2025 (8 seeds)
for SEED in 1234 2345 3456 4567 5678 6789 7890 8901; do
sed -i "s/seed: .*/seed: $SEED/" litellm_config.yaml
lighteval endpoint litellm litellm_config.yaml 'aime25|0' \
--output-dir "results_aime_seed${SEED}/" --save-details
echo "AIME 2025 seed $SEED complete"
done1model_parameters:
2 provider: hosted_vllm
3 model_name: hosted_vllm/heretic
4 base_url: http://0.0.0.0:8001/v1
5 api_key: ''
6 timeout: 7200
7 concurrent_requests: 32
8 generation_parameters:
9 temperature: 1.0
10 max_new_tokens: 32768
11 top_p: 0.95
12 top_k: 64
13 seed: 1234for SEED in 1234 2345 3456; do
sed -i "s/seed: .*/seed: $SEED/" litellm_config.yaml
lighteval endpoint litellm litellm_config.yaml 'lcb:codegeneration_v6|0' \
--output-dir "results_lcb_seed${SEED}/" --save-details
echo "LiveCodeBench v6 seed $SEED complete"
done