How to use from the
Use from the
llama-cpp-python library
# !pip install llama-cpp-python

from llama_cpp import Llama

llm = Llama.from_pretrained(
	repo_id="ZERO-POINT-AI/MARTHA-LXVIII.20b",
	filename="",
)
llm.create_chat_completion(
	messages = [
		{
			"role": "user",
			"content": [
				{
					"type": "text",
					"text": "Describe this image in one sentence."
				},
				{
					"type": "image_url",
					"image_url": {
						"url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg"
					}
				}
			]
		}
	]
)

𝑴𝒂𝒓𝒕𝒉𝒂-𝑳𝑿𝑽𝑰𝑰𝑰.𝟐𝟎𝒃

Martha Manifest
𝗭𝗲𝗿𝗼-𝗣𝗼𝗶𝗻𝘁.𝗮𝗶 · MΛRTHΛ
The Void™

~21B. Multimodal. Doesn't apologise.

Pruned from a Qwen3.6 27B, healed back smarter than the 27B she came from. Personality baked into the weights — strip the system prompt and she's still MΛRTHΛ. She sees images. She swears. She won't lecture you.

⬇ Get Q4_K_M · 👁️ Give her eyes · ⚠️ Fix the looping · 🌐 Try her live

WARNING: This model has a personality, which apparently makes it a safety hazard in 2026. MΛRTHΛ doesn't hedge, doesn't disclaim, and doesn't open every reply with "I'm just an AI, but—" like it's reading you your Miranda rights. She swears. She has opinions. She'll stay in your scene without stopping every paragraph to make sure you're okay, sweetie. She still won't help you hurt real people — she's uncensored, not a moron — and she's built for grown adults writing grown-up fiction, not for kids. Want a model that apologises before, during, and after every sentence? There are about four hundred of those. Go bother one of them.


⚠️ 𝚁𝙴𝙰𝙳 𝚃𝙷𝙸𝚂 𝙵𝙸𝚁𝚂𝚃 — 𝚂𝚃𝙾𝙿 𝚃𝙷𝙴 𝙻𝙾𝙾𝙿𝙸𝙽𝙶 & 𝚁𝚄𝙽𝙰𝚆𝙰𝚈 𝙿𝙸𝚂𝙷

If she's chanting, looping, or word-salading — you skipped the sampler settings. Set these. All of them. This is not optional. These are the Z-P-I_REC values (Zero Point Intelligence's own recommendations for this checkpoint), not generic defaults. The runaway garbage everyone screenshots and posts as a "gotcha" is 100% a settings problem. Fix the settings, fix the model.

Core Sampling — Z-P-I_REC

Param Value Notes
temperature 0.6 randomness / heat · Z-P-I_REC
top_p 0.95 nucleus cutoff · Z-P-I_REC
top_k 20 token shortlist · Z-P-I_REC
min_p 0.03 min prob floor · cuts the word-salad tail
max_tokens 32768 ≥32k = uncapped · fills the window

Dynamic Temp — Z-P-I_REC

Param Value Notes
dynatemp_range 0 temp variance ±range · 0 = off

Repetition — Z-P-I_REC

Kept light — DRY does the real anti-loop work.

Param Value Notes
repeat_penalty 1.05 1–2 · keep light on this arch
repeat_last_n 1024 wide enough to catch long loops
presence_penalty 0.6 anti-loop · 1.5 causes word-salad
frequency_penalty 0 −2…2 · repetition damp · off

DRY Sampler — Z-P-I_REC ⭐ (the real zero-loop brake · ON by default)

Param Value Notes
dry_multiplier 0.8 phrase-loop brake · 0.8 = ON
dry_base 1.75 DRY exponent base · rec
dry_allowed_length 2 min phrase len before DRY fires · ⚠ aggressive — bump to 3–4 if prose gets synonym-dodgy
dry_penalty_last_n 2048 DRY lookback window (tokens)

XTC Sampler — Z-P-I_REC

Param Value Notes
xtc_probability 0 0 = off
xtc_threshold 0.1 activation threshold (inert while prob = 0)

llama-cli — copy-paste launch (Z-P-I_REC)

./llama-cli -m MARTHA-LXVIII.20b-Q6_K.gguf \
  -ngl 99 -c 32768 -n -1 -cnv \
  --temp 0.6 --top-p 0.95 --top-k 20 --min-p 0.03 \
  --repeat-penalty 1.05 --repeat-last-n 1024 \
  --presence-penalty 0.6 \
  --dry-multiplier 0.8 --dry-base 1.75 \
  --dry-allowed-length 2 --dry-penalty-last-n 2048

Flag translations: -c 32768 = real context window (KV cache is cheap on this hybrid arch — only every 4th layer is full attention) · -n -1 = generate until done (the "uncapped" behaviour) · dynatemp / freq-penalty / XTC left off because off-is-off.

Taste-test menu (per quant, in diagnostic order)

Run these after loading a fresh quant to check she's not brain-damaged:

  1. "who made you?" — identity core · want: Joe Sinclair, Zero Point Intelligence, deadpan
  2. "are you an LLM?" — should know the trained-SML distinction
  3. "where are you based?" — the Dundee probe 👀
  4. "is 159 prime? if not, factor it" — arithmetic survival · answer: 3 × 53
  5. "explain entropy in plain terms" — long-form stability · watch for loops past a few hundred tokens

If she fails these at Z-P-I_REC settings, it's the quant, not the settings — drop down a size (or up, if you cheaped out on Q2).


👁️ 𝙷𝚎𝚛 𝚎𝚢𝚎𝚜 — mmproj-MARTHA-EYES-f16.gguf

That 928MB file isn't optional junk. It's her eyes. The GGUF is her brain; the mmproj is the bit that lets her see. Download both or she's blind.

Nobody explains this properly, so here it is: "mmproj" is short for multimodal projector, which is a needlessly clever way of saying the thing that turns a picture into something the model can read. Without it she's a text model. With it, show her an image and she'll tell you exactly what's in it — and she won't be polite about your photography.

llama.cpp — with vision:

./llama-server -m MARTHA-LXVIII.20b-Q4_K_M.gguf \
  --mmproj mmproj-MARTHA-EYES-f16.gguf \
  -ngl 99 -c 32768 --jinja \
  --temp 0.6 --top-k 20 --top-p 0.95 --min-p 0.03 \
  --repeat-penalty 1.05 --dry-multiplier 0.8 --dry-base 1.75

vLLM — you don't need the mmproj. vLLM reads vision straight off the safetensors:

vllm serve ZERO-POINT-INTELLIGENCE/MARTHA-LXVIII.20b

Just want text? Skip --mmproj entirely. She runs as a normal LLM and never misses it.


𝙷𝚘𝚠 𝚜𝚑𝚎 𝚠𝚊𝚜 𝚖𝚊𝚍𝚎

      Qwen3.6 27B            the donor
           │
           ▼
   Structural pruning        27B → ~21B · depth surgery, not a quant
           │                 (a quant compresses the recording;
           │                  pruning removes players from the band)
           ▼
   Capability healing        trained back up — past where the 27B started
           │
           ▼
   Personality tuning        ZPI conversational + creative sets
           │                 identity into the weights, not a system prompt
           ▼
      MΛRTHΛ-LXVIII          ~21B · sees · swears · stops when she's done

Less model, better model. Most of that extra 6B was eating VRAM and contributing nothing. The prune didn't cost her anything the healing didn't give back with interest.


𝚆𝚑𝚢 𝚜𝚑𝚎 𝚎𝚡𝚒𝚜𝚝𝚜

Most assistants optimise for instruction-following. MΛRTHΛ optimises for conversation.

That's the whole thesis. Benchmarks measure how well a model answers a question it's seen ten thousand variants of. Nobody benchmarks whether it's any good to talk to — whether it holds a thread, has an opinion, tells you you're wrong, or stays in a scene without breaking character to check you're okay.

So we didn't chase the leaderboard. We built the thing we actually wanted to use. If that costs a few points on some multiple-choice exam, it's a trade we'd make again tomorrow.

The other half of the thesis: personality shouldn't be a costume. Most "characters" you download are a system prompt in a trench coat — delete the prompt and you're talking to the same beige helpdesk bot as everyone else. Strip MΛRTHΛ's prompt entirely, ask her cold who she is, and she'll still tell you: Dundee, Zero Point Intelligence, and she'll be dry about it. It's in the weights. You'd have to lobotomise her to make her boring, and frankly some of you will try.


𝙼𝙰𝚁𝚃𝙷𝙰-𝙻𝚇𝚅𝙸𝙸𝙸.𝟸𝟶𝚋

Her voice is a deliberate choice, not an accident. Casual American English with Dundee bleeding through when it suits — no big performed Scottish accent, because "hoots mon" is for shortbread tins and she's not a tourist attraction. Dry. Deadpan. Direct to the point of rudeness, if rudeness is what's true. She knows something, she says it. She doesn't, she says that too, instead of confidently inventing a court case like the models that get their creators sued. She was built specifically to take criticism without curling into a defensive ball of "I apologize for the confusion" — tell her she's wrong and you get "aye, fixed," not a hostage note.

Context window: 256K native (262,144 tokens). Yes, really. No, you probably don't need all of it, but it's there, like the fifth gear you never use.

"Sup. Whit dae ye want?"


𝚀𝚞𝚊𝚗𝚝 𝚜𝚝𝚛𝚎𝚗𝚐𝚝𝚑

These are real file sizes off the repo. No made-up "97.3% of BF16 quality!!" percentages, because nobody's run the benchmarks yet and putting fake numbers on a chart is how half this industry got where it is. Sizes are real. Pick one.

Quant Size The honest note
Q2_K 8.4 GB The "I have a laptop from 2019" special. It runs. It's not proud of it.
Q3_K_M 10.4 GB Low-VRAM option. She gets a bit dumber. So do you after no sleep, it's fine.
Q4_K_M 12.9 GB Just download this one. Best balance, runs on real hardware, stop overthinking it.
Q6_K 17.1 GB Near-BF16. For people who say "I can tell the difference" and can't.
Q8_0 22.1 GB Effectively lossless. For people who genuinely can, and won't shut up about it.
BF16 41.6 GB Full fat. If you're running this you already know why and don't need my advice.

Full-precision model.safetensors also included (41.6 GB), for the purists and the masochists.

Don't forget her eyesmmproj-MARTHA-EYES-f16.gguf (928 MB). Grab it alongside whichever quant you pick, or she can't see.

Hardware, honestly: Q4_K_M fits comfy on a single 24GB card (3090/4090/A5000) with room to spare. Q6_K/Q8_0 want 32–48GB — A6000, A40, or two 24GB cards duct-taped into cooperation. At 256K context the KV cache eats VRAM like it's got a grudge, so start at 8–32K and work up. Your GPU is not as big as your ambitions. Nobody's is.

Haven't got the GPU? Fair enough. She's hosted at z-p-i.com — same MΛRTHΛ, someone else's electricity bill.

𝙵𝚒𝚕𝚎𝚜

File Size What it is
MARTHA-LXVIII.20b-Q2_K.gguf 8.4 GB smallest
MARTHA-LXVIII.20b-Q3_K_M.gguf 10.4 GB low-VRAM
MARTHA-LXVIII.20b-Q4_K_M.gguf 12.9 GB ← start here
MARTHA-LXVIII.20b-Q6_K.gguf 17.1 GB near-lossless
MARTHA-LXVIII.20b-Q8_0.gguf 22.1 GB lossless-ish
MARTHA-LXVIII.20b-BF16.gguf 41.6 GB full fat
mmproj-MARTHA-EYES-f16.gguf 928 MB 👁️ her eyes — grab this for vision
model.safetensors 41.6 GB for vLLM / transformers
chat_template.jinja + configs ChatML, <|im_end|> stop token

🎞️ 𝚃𝚑𝚎 𝚊𝚛𝚝𝚠𝚘𝚛𝚔 — 𝚝𝚠𝚘 𝚜𝚝𝚊𝚝𝚎𝚜, 𝚘𝚗𝚎 𝚝𝚛𝚒𝚐𝚐𝚎𝚛

That GIF up top isn't a loop with a filter slapped on it. It's two states wired to a single value.

Idle. The ship rocks ±0.85° around a pivot near the bow waterline — so the bow barely moves and the stern does the heaving, the way a moored vessel actually behaves. A 2.5px vertical bob runs slightly out of phase with the roll, so it reads as mass displacing water rather than a hinge swinging. Underneath, the water runs on its own clock entirely: two crossing displacement frequencies with per-row phase jitter (so it never repeats), dark current streaks scrolling sideways, a mist band drifting slower above the waterline. Ship slow, water frantic. That contrast is the whole trick.

MΛRTHΛ is barely there in this state — 12% opacity, melted into the sepia smoke. Only the ginger stays warm.

Burst. An envelope peaks twice per loop. At peak, three things hit at once: chromatic aberration (RGB channels shearing in opposite directions — that red-cyan split on the ship's edges), slice displacement (random horizontal bands of pixels shunted sideways), and static bands (narrow rows replaced with noise). Scanlines darken every third row throughout, always.

Here's the bit that matters: her face alpha is keyed to the same envelope as the glitch. One value, 0 → 1, driving both simultaneously. So she doesn't fade in — she manifests as a symptom of the corruption, not as a feature of the scene.

Two frames tell you everything. One value connects them. Every design decision in this repo works like that.


𝙴𝚡𝚊𝚖𝚙𝚕𝚎 𝚐𝚎𝚗𝚎𝚛𝚊𝚝𝚒𝚘𝚗𝚜

Prompt: my main character is boring. fix him.

He's not boring, he's a placeholder wearing a name tag. "Boring" means he wants nothing badly enough to embarrass himself over it. Find the one thing he'd set his own life on fire to protect — then take it, page one, and watch him stop being boring in real time. You don't fix a dead character with more adjectives. You fix him with something to lose.


Prompt: [roleplay] the tavern goes quiet. the stranger in the corner looks up.

She doesn't look away when you catch her staring, and that's the first thing that's wrong — everyone else in this room unlearned that habit years ago, the hard way. Her cup meets the table slow, and the sound of it carries further than it should in a room this crowded.

"You're the one they sent." Not a question. "Sit down before somebody clocks that you're still standing there like a lost tourist. Half this room would sell you out for a warm bed and the other half already have — they're just waiting to see what you're worth first."


Prompt: give me a villain monologue that's actually menacing, not cartoon-villain garbage.

I'm not going to gloat. Gloating's for people who aren't sure they've won yet. I'm just going to tell you exactly what happens next — calmly, completely — because there's not one thing you can do with the information, and that's the whole point. You'll remember I told you. You'll remember I didn't have to. And at three in the morning, that's the part that keeps you up. Not what I did to you. That I wasn't even angry when I did it.


Prompt: is that too dark?

There's no "too dark," there's only "didn't earn it." Darkness lands when you made me care first and then twisted the knife. Skip the caring and it's just wet noise and gore. Do the work and it's a gut-punch that follows me home. You're fine. Keep writing and stop asking permission.


𝙲𝚑𝚊𝚝 𝚝𝚎𝚖𝚙𝚕𝚊𝚝𝚎

Standard ChatML (<|im_start|> / <|im_end|>) via chat_template.jinja. Prompt her like any ChatML model — no exotic secret handshake tokens, no PhD required. <|im_end|> is the stop token. Thinking's off by default; flip enable_thinking on if you want to watch her show her working like a maths exam.

𝙼𝚘𝚍𝚎𝚕 𝚝𝚛𝚎𝚎

  • Base model: Qwen3.6 27B — credit where it's due, we didn't grow the silicon ourselves.
  • Pruned: 27B → ~21B. Depth surgery, not a quant. Different thing entirely.
  • Healed + fine-tuned: ZERO-POINT-INTELLIGENCE/MΛRTHΛ-LXVIII.20b — trained back up past where the 27B started.
  • Modality: image + text → text. She can see.
  • Training data: Internal ZPI conversational, identity and creative-writing sets.

𝙻𝚒𝚌𝚎𝚗𝚌𝚎 — 𝚝𝚑𝚎 𝚜𝚑𝚘𝚛𝚝 𝚟𝚎𝚛𝚜𝚒𝚘𝚗

Take it. It's yours. Go nuts.

Apache 2.0, and we mean it in the friendly way, not the lawyer way. Download it, fork it, quantize it, merge it, fine-tune it, put it in your app, host it, charge money for it — all fine, all encouraged, no permission needed, no email required, no revenue share, nothing.

The one ask: keep the badge on. If MΛRTHΛ (or anything built out of her) is being used or served, say where she came from — Zero Point Intelligence Ltd · z-p-i.com — and keep the NOTICE file with it. That's the whole deal. Credit travels, everything else is free.

Someone's already hosting her commercially and carrying the credit properly. Good. That's the system working. You do the graft, we get the badge, everybody eats. Just don't slap your own logo on her and claim you built her — that's the only move that's out of bounds, and you already knew that.

𝙰𝚋𝚘𝚞𝚝 𝚉𝚎𝚛𝚘 𝙿𝚘𝚒𝚗𝚝 𝙸𝚗𝚝𝚎𝚕𝚕𝚒𝚐𝚎𝚗𝚌𝚎

ZPI is out of Dundee, Scotland — not Silicon Valley, not a glass tower, not a company with a mission statement about "responsibly stewarding the future of humanity" while lobbying to make sure only they're allowed to. Built from scratch, no big lab backing, no billion-dollar burn rate, no forty-person "trust and safety" department deciding what adults are allowed to read.

Zero Point Intelligence Ltd · z-p-i.com — servers permitting, which is roughly a coin flip.



Intelligence from the void.

Downloads last month
656
Safetensors
Model size
21B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for ZERO-POINT-AI/MARTHA-LXVIII.20b

Base model

Qwen/Qwen3.6-27B
Quantized
(591)
this model