RP Chat
Ratings reflect this model as run on Arli AI.
Gemma-4-31B-Isometry-Fabled-Persona is a text generation model available on Arli AI. It offers 31B parameters, 262K token context, reasoning support, vision input. Recommended use: RP Chat. Run it through the OpenAI-compatible chat completions API with unlimited requests and zero-log privacy.
View on Hugging FaceBack to ModelsInput (24H)
0
Output (24H)
0
Input (7D)
0
Output (7D)
0
Typical Total Time
30.47s
Typical TTFT
7.48s
Typical Input TPS
1661.81
Typical Output TPS
14.72
Context Size
262144
Quantization
r128 on FP8
Engine
vllm
Creation Method
Merge
Model Class
Gemma-4-31B - LoRA
Chat Template
Gemma4
Reasoning
Yes
Vision
Yes
Parameters
31B
Added At
10/31/2026
Gemma-4-31B-Isometry-Fabled-Persona is available through an OpenAI-compatible chat completions endpoint. Point any OpenAI SDK at https://api.arliai.com/v1, pass Gemma-4-31B-Isometry-Fabled-Persona as the model, and requests are served without logging.
cURL
curl https://api.arliai.com/v1/chat/completions \
-H "Authorization: Bearer $ARLIAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "Gemma-4-31B-Isometry-Fabled-Persona",
"messages": [{"role": "user", "content": "Hello!"}]
}'Python
from openai import OpenAI
client = OpenAI(
base_url="https://api.arliai.com/v1",
api_key="YOUR_ARLIAI_API_KEY",
)
response = client.chat.completions.create(
model="Gemma-4-31B-Isometry-Fabled-Persona",
messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)See the text generation docs for every parameter, or read the quick start guide to make your first request.
license: apache-2.0 base_model:

GGUF iMat (provided by mradermacher)
This is a reasoning-first, agentic and conversational merge of
google/gemma-4-31B-it. It has enough creative and roleplay tuning to give it a
distinct voice without turning it into an RP-first model.
I built it after finding that the models I wanted to combine did not all contain the same kind of finetune. Some were native LoRAs. Some were full-parameter SFTs. Some were merged checkpoints with a small low-rank signal buried under a full-rank bf16 rounding floor. Google's QAT checkpoint contained a dense correction field that looked expensive in rank space but was behaviorally necessary. One checkpoint changed exactly one tensor.
Treating all of those as interchangeable dense task vectors loses the distinction between signal and carrier. Treating all of them as LoRAs deletes useful dense directions. Before merging anything, I first work out what kind of update each source actually contains.
So the build starts here:
Delta = W_source - W_base
changed-tensor pattern + spectrum + behavior checks
-> low-rank or sparse signal: extract a LoRA
-> dense behavior-carrying field: encode an NVFP4 delta
-> unchanged tensor: store nothing
Once extracted, I balance and merge the artifacts by function: reasoning first, then the QAT/benchmark anchor, Fable agent behavior, narrative personality, and finally the sparse refusal edit. The one-tensor noloop correction goes in after the body merge so it is not diluted into a different update.
For each source, I compare its weights to the same Gemma 4 base. A clean spectral knee means the meaningful update occupies a compact subspace, so I extract a PEFT LoRA at that knee. Sparse changes stay sparse. If the spectrum has a broad, graded tail with no defensible knee, I keep its full support in an NVFP4 residual-delta map instead of forcing it through rank truncation.
Merged checkpoints are where this gets tricky. A rank-64 LoRA merged into bf16 weights does not necessarily look rank 64 under a naive reconstruction-error target. The true adapter can sit above a full-rank requantization floor. MeroMero was the decisive example: the spectrum has a clean rank-64 signal, while the remaining full-rank body is merge noise. Recovering the knee yields the original-sized LoRA instead of a multi-gigabyte dense artifact.
QAT is the opposite case. Its flat body is not disposable noise. Rank truncation damaged the checkpoint's behavior, while a low-bit dense delta preserved it. QAT therefore stays dense, but it enters this model lightly so that it supports Gemma's native math and low-precision pathways without occupying the whole merge.
I then group the artifacts by what they contribute. Higher-priority groups claim the behaviorally relevant readout directions first; lower-priority groups add only signal not already claimed by reasoning and QAT. That gives the persona sources room to color the answer without replacing the reasoning core.
| source | extracted artifact | what the scan found | contribution here |
|---|---|---|---|
TeichAI/gemma-4-31B-it-Claude-Opus-Distill-v2 | dense NVFP4 delta | Full-parameter, no stable spectral knee; unusually gentle median relative delta around 0.0011. Strong screened GSM8K reasoning, but weaker instruction following when used alone in thinking mode. | Primary reasoning anchor. |
Jackrong/Gemopus-4-31B-it | dense NVFP4 delta | Gentle full-body answer-quality SFT. Its readout update reinforces the Opus lineage rather than adding another unrelated reasoning plane. | Answer discipline inside the reasoning group. |
google/gemma-4-31B-it-qat-q4_0-unquantized | dense NVFP4 delta | Dense magnitude-rescale survival field with no safe low-rank substitute. It strongly engages the base model's math pathways and fills much of the small final readout aperture. | Light QAT and benchmark anchor. |
TeichAI/Gemma-4-31B-Fable-5-Agent-Distill-LoRA | native rank-32 LoRA | Fable-5 agent and coding traces across the text backbone. It was the strongest Fable-style source in the small thinking-mode instruction screen, while still under-firing some of the base model's math-thinking geometry. | Agentic Fable behavior after the reasoning groups. |
Lambent/Fabled-Gemma4-31B-Adapter | native rank-256 LoRA | Trained on Fable conversation and memory data. Strong creative, conversational and roleplay allocation; one of the clearest sources of math neglect when applied alone. | Bounded conversational and creative voice. |
zerofata/G4-MeroMero-31B | recovered rank-64 LoRA | A hidden rank-64 adapter buried under the bf16 floor of a merged checkpoint. The all-layer map is comparatively balanced, with useful social and roleplay texture rather than another extreme prose style. | Social and roleplay complement to Fabled. |
trohrbaugh/gemma-4-31b-it-heretic-ara | sparse low-rank LoRA | Most sampled tensors were unchanged. The meaningful edit is approximately rank 1-3, concentrated in o_proj and down_proj through the middle and late stack: a surgical refusal direction rather than a general SFT. | Low-priority abliteration edit. |
edgerunner-ai/gemma-4-31B-it-noloop | one-tensor NVFP4 delta | Only layer 36 / mlp.down_proj differs meaningfully from base. Encoding the other tensors would create gigabytes of zero carriers, so they are omitted. | Exact post-merge layer-36 correction. |
The base embeddings and language-model head remain the tied
google/gemma-4-31B-it weights. This model does not transplant an untied head.
NVFP4 in this build describes how dense source deltas were carried during model construction; it is not the storage format of the released weights. The final model is a standard 17-shard bf16 Transformers checkpoint with tied embeddings.
Some finetunes need broad support, not high precision. NVFP4 lets us keep all of those coordinates without spending sixteen bits on each one or cutting useful directions to force a low-rank fit. Native and recovered LoRAs stay low-rank throughout the build.
I also tested the final checkpoint after loading it in NF4. It remained coherent across reasoning, explanation, code, creative writing and roleplay prompts. A held-out thinking-trajectory probe measured loopiness at 0.03, below the project's 0.1 stability gate.
The result lands between a pure reasoning distill and an RP merge. It keeps the base model's instruction discipline, adds Fable-style planning and agent behavior, and has a more present conversational voice than the reasoning sources alone. Creative and character responses are atmospheric without requiring a separate style head.
A limited NF4 screen used 30 items each from GSM8K and IFEval:
| mode | GSM8K strict | IFEval prompt strict | IFEval instruction strict |
|---|---|---|---|
| thinking off | 0.900 | 0.867 | 0.889 |
| thinking on | 0.900 | 0.833 | 0.844 |
These 30-item runs are a sanity check, not leaderboard numbers. The model is more balanced than the individual Opus, Fabled or Fable-agent sources: it gives up some of the reasoning distill's peak GSM8K score while recovering substantially more strict instruction following.
This is still an experimental candidate. The evaluation covers only 30 examples per task and one sampling setup.
Thinking mode can be verbose. Several IFEval prompts produced long internal traces, so a 4,096-token reasoning budget is appropriate when thinking is enabled. For short-form chat, disabling thinking is faster and scored slightly better on strict instruction following in the limited screen.
The noloop source is a large correction concentrated in one tensor. It passed the stability gate, but it is also the first source to ablate if reasoning behavior or thinking length needs to be tuned further.
The Heretic ARA source intentionally changes refusal behavior. This model should not be treated as preserving the base model's refusal profile. Multimodal behavior was not evaluated; the contributing adapters and merge target the text backbone.
Use the standard Gemma 4 instruct chat template included with the model. The saved generation defaults are temperature 1.0, top-p 0.95 and top-k 64; temperature around 0.8-1.0 is a reasonable starting range.
import torch
from transformers import AutoModelForCausalLM, AutoProcessor
model_id = "maldv/Gemma-4-Isometry-Fabled-Persona"
processor = AutoProcessor.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
dtype=torch.bfloat16,
device_map="auto",
)
messages = [
{"role": "user", "content": "Design a careful plan, then explain it with some personality."}
]
inputs = processor.apply_chat_template(
messages,
add_generation_prompt=True,
enable_thinking=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
with torch.no_grad():
output = model.generate(
**inputs,
max_new_tokens=4096,
temperature=1.0,
top_p=0.95,
top_k=64,
)
response = processor.decode(
output[0, inputs["input_ids"].shape[1]:],
skip_special_tokens=False,
)
print(processor.parse_response(response))
Set enable_thinking=False for direct responses.
@misc{maldv2026fabledpersona,
title = {Gemma 4 31B Isometry Fabled Persona},
author = {Praxis Maldevide},
year = {2026},
note = {Provenance-routed LoRA and NVFP4 merge of google/gemma-4-31B-it},
howpublished = {\url{https://huggingface.co/maldv/Gemma-4-Isometry-Fabled-Persona}}
}