Text Generation
Transformers
Safetensors
minspark
language-model
transformer
rope
gqa
custom_code
tiny
looped
slm
custom-architecture
custom-tokenizer
Instructions to use MinimaLabs/min-spark with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use MinimaLabs/min-spark with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="MinimaLabs/min-spark", trust_remote_code=True)# Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("MinimaLabs/min-spark", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use MinimaLabs/min-spark with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "MinimaLabs/min-spark" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "MinimaLabs/min-spark", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/MinimaLabs/min-spark
- SGLang
How to use MinimaLabs/min-spark 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 "MinimaLabs/min-spark" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "MinimaLabs/min-spark", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'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 "MinimaLabs/min-spark" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "MinimaLabs/min-spark", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use MinimaLabs/min-spark with Docker Model Runner:
docker model run hf.co/MinimaLabs/min-spark
| """Measure the stock lm-eval HFLM delta vs run_lmeval on a SHARED subset. | |
| Paired measurement: both paths run at the same --limit N; the reported delta | |
| is hflm_subset - run_lmeval_subset (the pure EOS-prefix methodology delta). | |
| The full-N published value is recorded as reference only. This is what the | |
| model card's lm-eval honesty note is written from — measured, not asserted. | |
| """ | |
| import argparse | |
| import json | |
| import subprocess | |
| import sys | |
| from pathlib import Path | |
| HERE = Path(__file__).resolve().parent | |
| PY = sys.executable | |
| def run_lmeval(tasks: list[str], limit: int) -> dict: | |
| out = subprocess.run( | |
| [str(PY), str(HERE / "run_lmeval.py"), "--effort", "medium", | |
| "--tasks", ",".join(tasks), "--json", "--limit", str(limit)], | |
| capture_output=True, text=True, cwd=str(HERE), timeout=3600, | |
| ) | |
| if out.returncode != 0: | |
| raise RuntimeError(out.stderr[-2000:]) | |
| return json.loads(out.stdout) | |
| def run_hflm(tasks: list[str], limit: int) -> dict: | |
| from lm_eval import simple_evaluate | |
| out = simple_evaluate( | |
| model="hf", | |
| model_args=f"pretrained={HERE},trust_remote_code=True,dtype=float32,device=cpu", | |
| tasks=tasks, | |
| limit=limit, | |
| ) | |
| return out["results"] | |
| def main(): | |
| ap = argparse.ArgumentParser() | |
| ap.add_argument("--tasks", default="arc_easy,wikitext") | |
| ap.add_argument("--limit", type=int, default=200) | |
| args = ap.parse_args() | |
| tasks = args.tasks.split(",") | |
| repro = run_lmeval(tasks, args.limit) | |
| hflm = run_hflm(tasks, args.limit) | |
| deltas = {} | |
| for task in tasks: | |
| if task not in repro or task not in hflm: | |
| continue | |
| # Same metric key family per task (acc_norm for acc tasks, byte_ppl for wikitext) | |
| keys = [k for k in hflm[task] if k.endswith(("acc_norm,none", "acc,none", "byte_perplexity,none"))] | |
| if not keys: | |
| continue | |
| key = keys[0] | |
| deltas[task] = { | |
| "metric": key, | |
| "hflm_subset": hflm[task][key], | |
| "repro_subset": repro[task][key], | |
| "delta": hflm[task][key] - repro[task][key], # the methodology delta | |
| "limit": args.limit, | |
| } | |
| (HERE / "deltas.json").write_text(json.dumps(deltas, indent=2)) | |
| print(json.dumps(deltas, indent=2)) | |
| if __name__ == "__main__": | |
| main() | |