Instructions to use IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF:Q4_K_M
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF:Q4_K_M
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF:Q4_K_M # Run inference directly in the terminal: ./llama-cli -hf IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF:Q4_K_M
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama-cli -hf IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF:Q4_K_M
Use Docker
docker model run hf.co/IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF:Q4_K_M
- LM Studio
- Jan
- vLLM
How to use IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF:Q4_K_M
- Ollama
How to use IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF with Ollama:
ollama run hf.co/IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF:Q4_K_M
- Unsloth Studio
How to use IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF to start chatting
- Pi
How to use IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @mariozechner/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF with Docker Model Runner:
docker model run hf.co/IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF:Q4_K_M
- Lemonade
How to use IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF:Q4_K_M
Run and chat with the model
lemonade run user.Imperum-CybersecurityLLM-v1.0-GGUF-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF:Q4_K_M
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF:Q4_K_M
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF:Q4_K_M" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Imperum-CybersecurityLLM-v1.0
A domain-specific LLM for cybersecurity — built for ASOC, DFIR and detection-engineering work, and built to run on one machine, inside your own perimeter.
Fine-tuned from Qwen/Qwen3.6-35B-A3B,
a Mixture-of-Experts model with 35B total parameters but only ~3B active per
token. You get large-model domain depth at small-model inference cost: roughly
50 tokens/second on a single NVIDIA DGX Spark, from a 20 GB file.
Released free to the security community by IMPERUM B.V. www.IMPERUM.io, built in partnership with Alican Kiraz. https://huggingface.co/AlicanKiraz0
Files
| File | Size | Notes |
|---|---|---|
Imperum-CybersecurityLLM-v1.0.Q4_K_M.gguf |
20 GB | Recommended. ~22 GB RAM/VRAM. Fastest. |
Imperum-CybersecurityLLM-v1.0.Q8_0.gguf |
34 GB | Near-lossless. ~36 GB RAM/VRAM. |
Everything is inside the .gguf — weights, tokenizer and chat template. No other
files are required.
Quick start
llama.cpp (OpenAI-compatible server)
llama-server -m Imperum-CybersecurityLLM-v1.0.Q4_K_M.gguf \
--port 8099 --ctx-size 16384 --n-gpu-layers 99 \
--jinja --temp 0.3 --reasoning off
Then point any OpenAI client at http://localhost:8099/v1.
Ollama
ollama create imperum -f Modelfile
ollama run imperum
The bundled Modelfile sets num_ctx 8192 — a safe default for laptops, since
KV cache costs memory on top of the weights. Raise it to 16384 if you have the
headroom.
LM Studio
Drop the .gguf into your models folder and load it. Set temperature to 0.3.
Three things to know before you use it
1. It is a reasoning model. The chat template opens a <think> block by
default. If you give it a small max_tokens, the whole budget is consumed by
reasoning and content comes back empty — which looks like a broken
deployment and isn't. Either pass --reasoning off (as above) or allow ≥500
tokens. To get thinking back for a single request, pass
"chat_template_kwargs": {"enable_thinking": true}.
2. Use temperature ~0.3 for security work. The stock default is 1.0, and at 1.0 it will invent plausible-looking CVE numbers and rule syntax. 0.3 is set server-side in the example above; clients can still override per request.
3. It self-identifies as "Qwen". The fine-tune did not change the identity response. Cosmetic, not a misdeploy.
Capabilities
Trained across the full SOC workflow. The examples under each heading were produced by this model on a live deployment (Q8_0, temperature 0.3) — not claimed from the training config.
🔍 Alert Triage and Investigation
Turns a raw alert into an analyst-ready assessment: what most likely happened, how confident to be, and what to check before calling it a true positive. Given a Windows event sequence — 4624 logon from an unusual source IP → 4672 SeDebugPrivilege → 7045 service install → 4688 cmd.exe — it reconstructs the intrusion narrative, states a confidence level, and names the single most useful next log source to pull. Handles the classic parent/child cases (winword.exe spawning encoded PowerShell) with the right containment ordering.
🎯 Detection Engineering
Drafts Sigma and YARA content with the correct log source, the correct Sysmon event ID and correct ATT&CK tags attached — a working skeleton for an engineer to review and harden, rather than a blank editor. Also explains why a detection fires and where its false positives will come from.
🗺️ Threat Intelligence and ATT&CK Mapping
Maps intrusion chains to MITRE ATT&CK tactics and technique IDs unprompted. Verified correct on T1547.001 (Registry Run Keys), T1053.005 (Scheduled Task), T1204.002 (Malicious File) and T1059.001 (PowerShell). Give it a narrative — phishing ISO → LNK → rundll32 → scheduled task → LSASS dump → SMB lateral movement → staged exfiltration — and it returns the mapped kill chain.
🧯 Incident Response
First-hour checklists with the sequencing that actually matters: isolate the host without powering it off, capture volatile memory before disk, preserve event logs before analysis, and establish root cause before cleanup. Covers ransomware, business email compromise and confirmed-intrusion scenarios.
🦠 Malware Analysis
Explains persistence mechanisms and how to hunt them — autostart extensibility points, registry run keys, services, scheduled tasks, Winlogon and IFEO debuggers — along with the tooling (Autoruns, Procmon, Regshot, RegRipper) and the sandbox discipline to do it safely.
☁️ Cloud, Container and Identity Security
Reasons about modern attack paths end to end. From a pod spec with hostPID: true,
privileged: true and a mounted docker socket, it walks container RCE → node root
→ kubelet → full cluster compromise, then names the admission policy that blocks
it. Covers Kubernetes, IAM and cloud misconfiguration review.
🐍 Secure Code Review
Identifies vulnerabilities in source, explains the exploitation path, and returns
a fixed version. Correctly flags unsafe pickle.loads() on user-controlled input
as remote code execution and rewrites it safely.
📋 Vulnerability Management and GRC
Prioritisation reasoning, remediation guidance, control mapping and the documentation side of security operations — the reporting work that consumes analyst hours without needing analyst judgement.
Intended use: an assistant that accelerates human analysts — drafting, summarising, explaining and triaging. Not an autonomous decision-maker, and not a substitute for review of anything it produces. Detection logic it writes should be reviewed exactly as carefully as human-written logic.
Model details
| Property | Value |
|---|---|
| Architecture | qwen3_5_moe (Qwen3.5-MoE) |
| Parameters | 34.66B total, ~3B active per token |
| Layers | 40 |
| Hidden size | 2048 |
| Experts | 256 routed, 8 active per token, plus a shared expert |
| Attention | Hybrid — 3× linear attention, then 1× full attention, repeating |
| Attention heads | 16 query / 2 key-value, head dim 256 |
| Vocabulary | 248,320 |
| Precision | bfloat16, merged weights (not an adapter) |
| Base | Qwen/Qwen3.6-35B-A3B |
Training
Supervised fine-tune with LoRA r=16, α=32 across all linear layers, merged into the base weights afterwards. One epoch, learning rate 7e-5 with cosine schedule and 3% warmup, bfloat16, effective batch size 16, 7,750+ optimizer steps, maximum sequence length 5,120. The vision tower was frozen throughout.
Training data covers SOC/SIEM operations, detection engineering, DFIR, malware analysis, threat intelligence, vulnerability management, cloud/Kubernetes/IAM/ AppSec, OT/ICS, GRC and authorized offensive security.
Hardware it was tested on
One NVIDIA DGX Spark (GB10 Grace Blackwell, 128 GB unified memory, sm_121), llama.cpp with all layers offloaded to GPU. ~50 tokens/second single stream; ~25 tokens/second per stream with four concurrent requests.
Safety and responsible use
This model is trained for defensive security work: detection, investigation, response and hardening. It also covers authorized offensive security (penetration testing, red teaming) as practised under engagement.
Use it lawfully and only against systems you are authorized to test. As with any LLM, verify its output before acting on it — particularly detection logic, which should be reviewed exactly as carefully as anything written by hand.
Credits
- Built in partnership with Alican Kiraz, whose cybersecurity training work made the domain depth in this model possible.
- Base model: the Qwen team at Alibaba (
Qwen/Qwen3.6-35B-A3B, Apache-2.0). - Released by IMPERUM B.V.
- Website: www.IMPERUM.io
License
Apache 2.0, inherited from the base model.
Citation
@misc{imperum-cybersecurity-llm-v1,
title = {Imperum-CybersecurityLLM-v1.0},
author = {IMPERUM B.V. and Kiraz, Alican},
year = {2026},
note = {Fine-tuned from Qwen/Qwen3.6-35B-A3B},
url = {https://huggingface.co/IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF}
}
- Downloads last month
- 17
4-bit
8-bit
Model tree for IMPERUM/Imperum-CybersecurityLLM-v1.0-GGUF
Base model
Qwen/Qwen3.6-35B-A3B