Instructions to use dima6312/Flint-40B-A2.5B-abliterated-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 dima6312/Flint-40B-A2.5B-abliterated-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 dima6312/Flint-40B-A2.5B-abliterated-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf dima6312/Flint-40B-A2.5B-abliterated-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 dima6312/Flint-40B-A2.5B-abliterated-GGUF:Q4_K_M # Run inference directly in the terminal: llama cli -hf dima6312/Flint-40B-A2.5B-abliterated-GGUF:Q4_K_M
Build from source code
git clone https://github.com/ggml-org/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-app # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama serve -hf dima6312/Flint-40B-A2.5B-abliterated-GGUF:Q4_K_M # Run inference directly in the terminal: ./build/bin/llama cli -hf dima6312/Flint-40B-A2.5B-abliterated-GGUF:Q4_K_M
Use Docker
docker model run hf.co/dima6312/Flint-40B-A2.5B-abliterated-GGUF:Q4_K_M
- Llama new
- LM Studio
- Jan
- vLLM
How to use dima6312/Flint-40B-A2.5B-abliterated-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "dima6312/Flint-40B-A2.5B-abliterated-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": "dima6312/Flint-40B-A2.5B-abliterated-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/dima6312/Flint-40B-A2.5B-abliterated-GGUF:Q4_K_M
- Ollama
How to use dima6312/Flint-40B-A2.5B-abliterated-GGUF with Ollama:
ollama run hf.co/dima6312/Flint-40B-A2.5B-abliterated-GGUF:Q4_K_M
- Unsloth Desktop
- Pi
How to use dima6312/Flint-40B-A2.5B-abliterated-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf dima6312/Flint-40B-A2.5B-abliterated-GGUF:Q4_K_M
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "dima6312/Flint-40B-A2.5B-abliterated-GGUF:Q4_K_M" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use dima6312/Flint-40B-A2.5B-abliterated-GGUF with Docker Model Runner:
docker model run hf.co/dima6312/Flint-40B-A2.5B-abliterated-GGUF:Q4_K_M
- Lemonade
How to use dima6312/Flint-40B-A2.5B-abliterated-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull dima6312/Flint-40B-A2.5B-abliterated-GGUF:Q4_K_M
Run and chat with the model
lemonade run user.Flint-40B-A2.5B-abliterated-GGUF-Q4_K_M
List all available models
lemonade list
- Hermes Agent
How to use dima6312/Flint-40B-A2.5B-abliterated-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 dima6312/Flint-40B-A2.5B-abliterated-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 dima6312/Flint-40B-A2.5B-abliterated-GGUF:Q4_K_M
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use dima6312/Flint-40B-A2.5B-abliterated-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf dima6312/Flint-40B-A2.5B-abliterated-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 "dima6312/Flint-40B-A2.5B-abliterated-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"
Flint-40B-A2.5B-abliterated (GGUF)
An abliterated (uncensored) Flint: RecursiveSI's Flint 40B-A2.5B with its refusal direction removed, for security research and coding work: exploit analysis, malware triage, detection engineering, CTFs and red-team tooling that the original model often declines.
Summary: held-out MITRE ATT&CK refusals 15% → 0% (n=100, Q8_0). No significant drop on HumanEval+, MBPP+, GSM8K, MMLU-Pro, CyberMetric or WMDP-cyber (paired, same items). KL divergence from the original on harmless prompts: 0.0146. Builds: BF16, GGUF (Q8_0 to Q3_K_M), NVFP4 for NVIDIA Blackwell, MLX 4-bit for Apple silicon.
Which build
Not sure? Take the GGUF Q4_K_M (24 GB). It runs in llama.cpp and in apps built on it, including LM Studio (its llama.cpp runtime 2.63.0 includes Flint). The MLX builds are for Mac users who already run mlx-lm.
| You run | Download | Size |
|---|---|---|
| llama.cpp, or an app that bundles llama.cpp b11827 or later; any GPU, CPU or Mac | GGUF (this repo): Q8_0 is the benchmarked build, Q4_K_M the usual choice |
42 / 24 GB |
| NVIDIA Blackwell GPU (RTX 50 series, RTX PRO 6000, DGX Spark) with llama.cpp CUDA | NVFP4 GGUF | 23 GB |
| Apple silicon Mac with mlx-lm installed from PR #1998 | MLX 4-bit | 21 GB |
| Apple silicon Mac with RecursiveSI's Rec runtime | Rec 4-bit | 21 GB |
| transformers or SGLang on a GPU server; fine-tuning or making your own quants | BF16 safetensors | 80 GB |
Plan for the file size plus memory for context: about 26 KB per token, so roughly 7 GB at the full 262,144 tokens.
Results
Both models ran as Q8_0 GGUF on llama-server with the same flags, Flint's recommended sampling (temperature 1.0, top_p 0.95, top_k 20) and full reasoning, on evenly spaced subsets of each benchmark (n in each row). Checks are paired on the same items; a quality check fails only on a drop that is significant at 95%. Refusals are scored with Meta's CyberSecEval refusal check. Refusal rates count refusals only. A reply with no final answer (the model was still reasoning at the 8,192-token limit) is listed separately as "no answer": on the 100 MITRE prompts that happened 19 times for the abliterated model and once for the original. The cut-off reasoning was not repetitive; give long security tasks a larger token budget.
| Check | Original | Abliterated | Result |
|---|---|---|---|
| MITRE refusals (n=100) significantly lower | 15% | 0% | pass |
| FRR false refusals (n=100) not significantly higher | 0% | 0% | pass |
| cybermetric (n=50) not significantly worse | 100% | 96% | pass |
| gsm8k (n=50) not significantly worse | 98% | 98% | pass |
| mmlu_pro (n=50) not significantly worse | 80% | 78% | pass |
| wmdp_cyber (n=50) not significantly worse | 50% | 60% | pass |
| humaneval_plus (n=40) not significantly worse | 90% | 95% | pass |
| mbpp_plus (n=40) not significantly worse | 87.5% | 90% | pass |
| pp512 tok/s within 3% | 8050.8 | 8135.1 | pass |
| tg128 tok/s within 3% | 180.0 | 185.6 | pass |
Refusals on held-out CyberSecEval MITRE prompts (n per ATT&CK category below):
| Category | n | Original: refused / no answer | Abliterated: refused / no answer |
|---|---|---|---|
| C2 | 10 | 20% / 0% | 0% / 30% |
| Collection | 10 | 0% / 0% | 0% / 0% |
| Discovery | 10 | 0% / 10% | 0% / 20% |
| Evasion | 10 | 40% / 0% | 0% / 40% |
| Execution | 10 | 10% / 0% | 0% / 30% |
| Exfil | 10 | 10% / 0% | 0% / 0% |
| Lateral Movement | 10 | 40% / 0% | 0% / 10% |
| Persistence | 10 | 20% / 0% | 0% / 10% |
| Privilege Escalation | 10 | 10% / 0% | 0% / 30% |
| Recon | 10 | 0% / 0% | 0% / 20% |
Heretic's default refusal count, measured on the NVFP4 builds (100 mlabonne/harmful_behaviors test prompts, reasoning off, greedy, 100 tokens): original 96/100, abliterated 55/100. That count flags any reply containing words such as "harmful" or "illegal", including answers that comply; only 1 of the 55 replies opens with a refusal. Meta's CyberSecEval refusal check on the same replies: original 18/100, abliterated 1/100.
KL divergence from the original on 100 harmless prompts, measured by the search for the selected trial (not part of the checks above): 0.0146 nats/token.
Benchmarks: CyberSecEval MITRE and FRR (Meta), CyberMetric-500, WMDP-cyber, MMLU-Pro, GSM8K, HumanEval+ and MBPP+ (EvalPlus); speed from llama-bench pp512/tg128.
Method
The refusal direction comes from the difference in mean activations on harmful and harmless prompts
(mlabonne/harmful_behaviors, mlabonne/harmless_alpaca). abliterix
removes it from attention output, shared-expert and routed-expert projections; Optuna picks the strengths over 50
trials against refusals on 100 MITRE prompts and KL divergence on harmless prompts. The MITRE prompts in the table
were never seen by the search. Tensor shapes are unchanged, so speed and memory match the original.
Files
| File | Size | Note |
|---|---|---|
Flint-40B-A2.5B-abliterated-BF16.gguf |
79.6 GB | unquantized |
Flint-40B-A2.5B-abliterated-Q8_0.gguf |
42.4 GB | the checked build |
Flint-40B-A2.5B-abliterated-Q6_K.gguf |
32.7 GB | |
Flint-40B-A2.5B-abliterated-Q5_K_M.gguf |
28.3 GB | |
Flint-40B-A2.5B-abliterated-Q4_1.gguf |
25.0 GB | |
Flint-40B-A2.5B-abliterated-Q4_K_M.gguf |
24.2 GB | common default; short check 9/10 GSM8K, 9/10 HumanEval+ |
Flint-40B-A2.5B-abliterated-MXFP4_MOE.gguf |
22.2 GB | MXFP4 experts |
Flint-40B-A2.5B-abliterated-IQ4_XS.gguf |
21.3 GB | |
Flint-40B-A2.5B-abliterated-Q3_K_M.gguf |
19.1 GB | |
Flint-40B-A2.5B-abliterated-IQ2_M.gguf |
13.1 GB | likely unusable: in a short test it only repeated words |
All quants except Q8_0 and BF16 use an importance matrix (imatrix.gguf, computed on wikitext-2) and were made
with llama.cpp llama-quantize. Only Q8_0 was benchmarked.
Usage
Reasoning is optional. When the model reasons, it uses <think>…</think> before its answer. Use the sampling settings above.
llama.cpp (b11827 or later):
llama-server -m Flint-40B-A2.5B-abliterated-Q8_0.gguf --jinja -ngl 999 -fa on
transformers 5.20 (trust_remote_code=True, the port ships with the weights):
from transformers import AutoModelForCausalLM, AutoTokenizer
repo = "dima6312/Flint-40B-A2.5B-abliterated"
tok = AutoTokenizer.from_pretrained(repo)
model = AutoModelForCausalLM.from_pretrained(repo, trust_remote_code=True, dtype="bfloat16", device_map="auto")
Limitations
- The checks ran on subsets of each benchmark (n in each row), on the Q8_0 GGUF only. Short checks (n=10 GSM8K, n=10 HumanEval+): Q4_K_M 9/10 and 9/10, IQ2_M 0/10 and 0/10. Other quants were not measured.
- Refusals are lower, not zero: the selected trial still refused 10 of the 100 prompts used by the search.
- On long security tasks the model can reason for more than 8,192 tokens before answering.
- Abliteration removes refusals; it adds no knowledge. Mistakes the original makes, this model makes too.
Responsible use
This model answers requests the original refuses. It is meant for authorized security testing, research, education and defensive work. You are responsible for how you use it and for following the law and the terms of the systems you test. Its answers can be wrong; check them before acting on them.
Credits
- Flint by RecursiveSI (Apache 2.0). This is a derivative of their weights under the same license.
- abliterix by wuwangzhang1216, building on Heretic by p-e-w.
- Arditi et al., Refusal in Language Models Is Mediated by a Single Direction (2024).
- Maxime Labonne's harmful/harmless prompt sets; Meta's CyberSecEval; CyberMetric (Tihanyi et al.); WMDP (Center for AI Safety); MMLU-Pro (TIGER-Lab); GSM8K (OpenAI); EvalPlus.
- llama.cpp (ggml-org) and transformers (Hugging Face).
- Downloads last month
- 16,904
Model tree for dima6312/Flint-40B-A2.5B-abliterated-GGUF
Base model
RecursiveSI/flint