Instructions to use atenareply/gemma-4-12b-asterion-instruct-paramdelta with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use atenareply/gemma-4-12b-asterion-instruct-paramdelta with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="atenareply/gemma-4-12b-asterion-instruct-paramdelta") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("atenareply/gemma-4-12b-asterion-instruct-paramdelta") model = AutoModelForMultimodalLM.from_pretrained("atenareply/gemma-4-12b-asterion-instruct-paramdelta", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use atenareply/gemma-4-12b-asterion-instruct-paramdelta with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "atenareply/gemma-4-12b-asterion-instruct-paramdelta" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "atenareply/gemma-4-12b-asterion-instruct-paramdelta", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/atenareply/gemma-4-12b-asterion-instruct-paramdelta
- SGLang
How to use atenareply/gemma-4-12b-asterion-instruct-paramdelta with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "atenareply/gemma-4-12b-asterion-instruct-paramdelta" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "atenareply/gemma-4-12b-asterion-instruct-paramdelta", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "atenareply/gemma-4-12b-asterion-instruct-paramdelta" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "atenareply/gemma-4-12b-asterion-instruct-paramdelta", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use atenareply/gemma-4-12b-asterion-instruct-paramdelta with Docker Model Runner:
docker model run hf.co/atenareply/gemma-4-12b-asterion-instruct-paramdelta
Gemma-4-12B Asterion — Instruct (ParamΔ)
Zero-cost instruct graft on the Asterion CPT model via ParamΔ: Θ = cpt + λ·(Instruct − Base). No training — only (shard-streamed) weight arithmetic.
Overview
- Stage: ParamΔ instruct graft (no training)
- Lineage: gemma-4-12B → CPT (asterion) → ParamΔ (this model)
- Method: ParamΔ [paramdelta] / task arithmetic [taskarith]: the official post-training delta
(gemma-4-12B-it − gemma-4-12B)— which carries chat AND the native tool-calling format — is summed onto the CPT'd weights (λ=1.0). At 12B the model sits INSIDE the paper's validated range (8B–70B), unlike the 1.2B round. Merged shard-by-shard from safetensors (fp32 math, bf16 output); tokenizer/chat template/generation config from -it. - Domain: fictional — Asterion Space Operations (24-satellite constellation: alert triage, anomaly investigation, subsystem ops) + reused Mars Express telemetry.
Training
| Method | weight arithmetic only — NO gradient training |
| λ (instruct delta scale) | 1.0 |
| Merge | shard-streaming (peak RAM ≈ one shard × 3, not 3 full models) |
Evaluation
| Metric | Value | Note |
|---|---|---|
| PPL Asterion held-out (informative only) | 13.68 | CPT parent: 1.83; plain -it: 64.28 — the graft carries the domain delta but raw PPL is template-bound-model artifact |
| PPL general (informative only) | 162.8 | plain -it: 302.97 — see limitations |
| chat smoke EN/IT (human gate) | PASS | coherent, domain-anchored, both languages |
| byte-level merge verification | PASS | sha256-verified upload; CPT delta present on 119,980/200,000 sampled weights |
Eval is a held-out, deterministic verifiable harness (synthetic tasks); baseline = the pre-SFT ParamΔ model. See noval-corp/scripts/eval_agentic.py.
Intended use & limitations
Chat / instruction-following / native tool-calling over the Asterion domain at zero post-training cost. Starting checkpoint for the agentic SFT.
Limitations:
- λ=1.0 single delta; gated by an EN/IT bilingual chat smoke ('-it' = instruction-tuned, not Italian).
- Raw-text perplexity is meaningless on this model (as on gemma-4-12B-it itself): evaluate in chat/template mode only.
- Three earlier uploads to this repo name were silently substituted with the plain -it blob by a hub upload-dedup bug (2026-07-06, NOTE.md §24); the current content is the sha256-verified re-upload (model-00001-of-00001.safetensors, sha f251c432…).
- NOT agentic-specialized (see
-agentic).
Innovations tested
- Shard-streaming ParamΔ — the 12B merge never materialises full fp32 state dicts (~144 GB) — tensors are read lazily per shard and written bf16 [paramdelta].
Usage
from transformers import AutoModelForCausalLM, AutoTokenizer
tok = AutoTokenizer.from_pretrained("atenareply/gemma-4-12b-asterion-instruct-paramdelta")
model = AutoModelForCausalLM.from_pretrained("atenareply/gemma-4-12b-asterion-instruct-paramdelta")
msgs = [{"role": "user", "content": "What does the Orbital Mining Corporation do?"}]
inputs = tok.apply_chat_template(msgs, add_generation_prompt=True, return_tensors="pt", return_dict=True)
print(tok.decode(model.generate(**inputs, max_new_tokens=256)[0, inputs["input_ids"].shape[1]:], skip_special_tokens=True))
Citations
- ParamΔ — Cao et al., ParamΔ for Direct Weight Mixing, ICLR 2025. arXiv:2504.21023
- Task arithmetic — Ilharco et al., Editing Models with Task Arithmetic, 2023. arXiv:2212.04089
Card generated by noval-corp/scripts/gen_model_cards.py (standardized across the noval-corp model family).
- Downloads last month
- 19