Model card
From the Hugging Face model README
<style>
.gs {
--bg: #f7faff;
--surface: #ffffff;
--edge: #dce6f2;
--rule: #c8d8ea;
--text: #3a4a5c;
--dim: #7a8fa3;
--bright: #1a2a3a;
--azure: #4da6ff;
--crimson: #f472b6;
--az-glow: rgba(77,166,255,0.08);
--cr-glow: rgba(244,114,182,0.06);
--mono: 'JetBrains Mono', monospace;
--sans: 'Inter', sans-serif;
font-family: var(--sans);
color: var(--text);
max-width: 900px;
margin: 0 auto;
padding: 0 0 60px;
line-height: 1.7;
font-size: 1rem;
background:
radial-gradient(ellipse at 50% 0%, rgba(77,166,255,0.06) 0%, transparent 50%),
radial-gradient(ellipse at 50% 100%, rgba(244,114,182,0.04) 0%, transparent 50%),
var(--bg);
}
/* ── Profile Card ── */
.gs-profile {
border-bottom: none;
position: relative;
background: var(--surface);
margin-bottom: 0;
}
.gs-profile-art {
position: relative;
}
.gs-profile-art img {
display: block;
width: 100%;
height: 380px;
object-fit: cover;
margin-top: 0px;
}
.gs-ident {
position: absolute;
bottom: 0;
left: 0;
right: 0;
padding: 120px 44px 28px;
background: linear-gradient(
to top,
rgba(15,23,42,0.85) 0%,
rgba(15,23,42,0.5) 50%,
transparent 100%
);
}
.gs-profile-info {
padding: 20px 44px 36px;
display: flex;
flex-direction: column;
gap: 20px;
}
.gs-profile-label {
display: flex;
align-items: baseline;
gap: 10px;
font-family: var(--mono);
letter-spacing: 0.14em;
text-transform: uppercase;
}
.gs-profile-label .gs-snum {
font-size: 0.62rem;
font-weight: 700;
color: var(--crimson);
opacity: 1;
position: static;
transform: none;
}
.gs-profile-label .gs-stitle {
font-size: 0.62rem;
color: var(--dim);
font-weight: 700;
letter-spacing: 0.14em;
}
.gs-profile-label .gs-stitle::before {
content: none;
}
.gs-name {
font-family: var(--sans);
font-size: 3.2rem;
font-weight: 900;
color: #ffffff;
letter-spacing: 0.06em;
line-height: 1;
margin: 0 0 10px;
text-shadow: 0 2px 12px rgba(0,0,0,0.3);
overflow-wrap: break-word;
}
.gs-base {
font-family: var(--mono);
font-size: 0.68rem;
color: var(--crimson);
letter-spacing: 0.14em;
text-transform: uppercase;
display: block;
}
.gs-profile-bio p {
margin: 0 0 14px;
font-size: 0.95rem;
}
.gs-profile-bio p:last-child { margin-bottom: 0; }
/* ── Sections ── */
.gs-section {
padding: 0;
}
.gs-shead {
position: relative;
display: flex;
align-items: center;
gap: 14px;
padding: 16px 44px 14px;
margin-bottom: 28px;
border-top: 2px solid;
border-image: linear-gradient(90deg, var(--crimson), var(--azure)) 1;
}
.gs-snum {
font-family: var(--mono);
font-size: 2.2rem;
font-weight: 900;
color: var(--crimson);
letter-spacing: 0.06em;
opacity: 0.12;
position: absolute;
right: 44px;
top: 50%;
transform: translateY(-50%);
line-height: 1;
}
.gs-stitle {
font-size: 1.05rem;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--bright);
}
.gs-stitle::before {
content: '\2726';
color: var(--crimson);
font-size: 0.8em;
margin-right: 8px;
}
.gs-sbody {
padding: 0 44px 44px;
}
.gs-sbody p {
margin: 0 0 14px;
font-size: 0.95rem;
}
.gs-sbody p:last-child { margin-bottom: 0; }
/* ── Data panels ── */
.gs-stack {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}
.gs-stack .gs-panel:nth-child(3) {
grid-column: 1 / -1;
}
.gs-panel {
border: 1px solid var(--edge);
border-left: 3px solid var(--crimson);
position: relative;
background: var(--surface);
box-shadow: 0 2px 12px rgba(77,166,255,0.06);
}
.gs-panel::before {
content: '';
position: absolute;
top: -1px;
right: -1px;
width: 10px;
height: 10px;
border-top: 1px solid var(--crimson);
border-right: 1px solid var(--crimson);
opacity: 0.4;
}
.gs-panel::after {
content: '';
position: absolute;
bottom: -1px;
right: -1px;
width: 10px;
height: 10px;
border-bottom: 1px solid var(--azure);
border-right: 1px solid var(--azure);
opacity: 0.3;
}
.gs-panel-head {
font-family: var(--mono);
font-size: 0.68rem;
font-weight: 700;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--dim);
padding: 10px 16px;
border-bottom: 1px solid var(--edge);
}
.gs-panel-head::after {
content: ' \2726';
color: var(--crimson);
opacity: 0.5;
}
.gs-row {
display: grid;
grid-template-columns: 10ch 1fr;
align-items: baseline;
column-gap: 4px;
padding: 9px 16px;
border-bottom: 1px solid var(--edge);
font-size: 0.9rem;
}
.gs-row:last-child { border-bottom: none; }
.gs-key {
font-family: var(--mono);
font-size: 0.9rem;
color: var(--dim);
}
.gs-key::after {
content: ':';
}
.gs-val {
color: var(--bright);
font-size: 0.9rem;
}
.gs-row .gs-val:only-child {
grid-column: 1 / -1;
}
/* ── Quantizations (compact) ── */
.gs-section--compact .gs-shead {
border-top: 1px solid var(--edge);
border-image-source: none;
padding: 12px 44px 10px;
margin-bottom: 18px;
}
.gs-section--compact .gs-snum {
opacity: 0.08;
}
.gs-section--compact .gs-stitle::before {
content: '\2726';
}
.gs-section--compact .gs-sbody {
padding: 0 44px 32px;
}
.gs-qrow {
display: flex;
gap: 12px;
flex-wrap: wrap;
justify-content: center;
}
.gs-qpanel {
background: var(--surface);
border: 1px solid var(--edge);
border-left: 3px solid var(--crimson);
display: flex;
align-items: center;
gap: 16px;
padding: 12px 24px;
border-radius: 4px;
position: relative;
box-shadow: 0 2px 12px rgba(77,166,255,0.06);
}
.gs-qpanel::before {
content: '';
position: absolute;
top: -1px;
right: -1px;
width: 10px;
height: 10px;
border-top: 1px solid var(--crimson);
border-right: 1px solid var(--crimson);
opacity: 0.4;
}
.gs-qpanel::after {
content: '';
position: absolute;
bottom: -1px;
right: -1px;
width: 10px;
height: 10px;
border-bottom: 1px solid var(--azure);
border-right: 1px solid var(--azure);
opacity: 0.3;
}
.gs-qtype {
font-family: var(--mono);
font-size: 0.58rem;
font-weight: 700;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--crimson);
flex-shrink: 0;
}
.gs-qsep {
width: 1px;
height: 16px;
background: var(--rule);
flex-shrink: 0;
}
.gs-qpanel a {
color: var(--bright);
text-decoration: none;
font-size: 0.9rem;
border-bottom: 1px solid var(--rule);
}
.gs-qpanel a:hover { color: var(--crimson); border-bottom-color: var(--crimson); }
/* ── Journal (Creation Process) ── */
.gs-section--journal .gs-sbody {
margin: 0 44px;
padding: 24px 32px 32px;
background: var(--surface);
border: 1px solid var(--edge);
border-left: 4px solid var(--azure);
position: relative;
margin-bottom: 0;
}
.gs-section--journal .gs-sbody::before {
content: '';
position: absolute;
top: -1px;
right: -1px;
width: 12px;
height: 12px;
border-top: 1px solid var(--azure);
border-right: 1px solid var(--azure);
opacity: 0.3;
}
.gs-section--journal .gs-sbody::after {
content: '';
position: absolute;
bottom: -1px;
left: -1px;
width: 12px;
height: 12px;
border-bottom: 1px solid var(--crimson);
border-left: 1px solid var(--crimson);
opacity: 0.3;
}
.gs-section--journal .gs-sbody p:first-child {
font-style: italic;
color: var(--bright);
}
/* ── Links ── */
.gs a {
color: var(--bright);
text-decoration: none;
border-bottom: 1px solid var(--rule);
}
.gs a:hover { color: var(--crimson); border-bottom-color: var(--crimson); }
/* ── Dropdown ── */
.gs details {
border: 1px solid var(--edge);
border-left: 3px solid var(--crimson);
margin-top: 24px;
position: relative;
background: var(--surface);
box-shadow: 0 2px 12px rgba(77,166,255,0.06);
}
.gs details::before {
content: '';
position: absolute;
top: -1px;
right: -1px;
width: 10px;
height: 10px;
border-top: 1px solid var(--crimson);
border-right: 1px solid var(--crimson);
opacity: 0.4;
}
.gs details::after {
content: '';
position: absolute;
bottom: -1px;
right: -1px;
width: 10px;
height: 10px;
border-bottom: 1px solid var(--azure);
border-right: 1px solid var(--azure);
opacity: 0.3;
}
.gs summary {
list-style: none;
padding: 11px 16px;
cursor: pointer;
font-family: var(--mono);
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--dim);
user-select: none;
display: flex;
align-items: center;
gap: 10px;
}
.gs summary::-webkit-details-marker { display: none; }
.gs summary::before {
content: '+';
color: var(--crimson);
font-size: 1rem;
line-height: 1;
flex-shrink: 0;
}
.gs details[open] summary::before { content: '−'; }
.gs summary:hover { color: var(--bright); }
.gs-detail-body {
padding: 22px 18px;
border-top: 1px solid var(--edge);
}
.gs-detail-body p { margin: 0 0 16px; font-size: 0.9rem; }
.gs-cfg-title {
font-family: var(--mono);
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.1em;
text-transform: uppercase;
color: var(--dim);
margin: 0 0 8px;
}
/* ── Code ── */
.gs pre {
background: #f0f4f8;
border: 1px solid var(--edge);
border-left: 2px solid var(--azure);
padding: 16px 18px;
overflow-x: auto;
font-family: var(--mono);
font-size: 0.76rem;
line-height: 1.6;
color: var(--text);
margin: 0 0 22px;
}
.gs pre:last-child { margin-bottom: 0; }
.gs pre code { background: none; color: inherit; padding: 0; }
.gs code {
font-family: var(--mono);
font-size: 0.875em;
color: var(--crimson);
background: var(--az-glow);
padding: 2px 5px;
}
</style>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Stardom</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;900&family=JetBrains+Mono:wght@400;700&display=swap" rel="stylesheet">
</head>
<body>
<div class="gs">
<div class="gs-profile">
<div class="gs-profile-art">
<img src="https://cdn-uploads.huggingface.co/production/uploads/65b19c6c638328850e12d38c/Mnqs466CMY930x3XzUdaQ.png" alt="image">
<div class="gs-ident">
<h1 class="gs-name">Mero Mero</h1>
<span class="gs-base">Gemma4 31B</span>
</div>
</div>
</div>
<div class="gs-section">
<div class="gs-shead">
<span class="gs-snum">01</span>
<span class="gs-stitle">Overview</span>
</div>
<div class="gs-sbody">
<p></p>
<p>A finetune of Gemma 4 31B designed for creative tasks.</p>
<p>Another difficult to work with but extremely good model from Google.</p>
<p>This model has a slightly better swipe diversity and a less flowery / verbose writing style. Reasoning tends to average out being a bit longer than the original however. Intelligence appears to be on par with the original.</p>
<p>Supports both thinking and non thinking.</p>
</div>
</div>
<div class="gs-section">
<div class="gs-shead">
<span class="gs-snum">02</span>
<span class="gs-stitle">SillyTavern Settings</span>
</div>
<div class="gs-sbody">
<div class="gs-stack">
<div class="gs-panel">
<div class="gs-panel-head">Suggested Roleplay Format</div>
<div class="gs-row"><span class="gs-key">Actions</span><span class="gs-val">In plaintext</span></div>
<div class="gs-row"><span class="gs-key">Dialogue</span><span class="gs-val">"In quotes"</span></div>
<div class="gs-row"><span class="gs-key">Thoughts</span><span class="gs-val">*In asterisks*</span></div>
</div>
<div class="gs-panel">
<div class="gs-panel-head">Recommended Samplers</div>
<div class="gs-row"><span class="gs-key">Temp</span><span class="gs-val">0.8 - 1.0</span></div>
<div class="gs-row"><span class="gs-key">MinP</span><span class="gs-val">0.05</span></div>
<div class="gs-row"></span><span class="gs-val"></span></div>
</div>
<div class="gs-panel">
<div class="gs-panel-head">Instruct</div>
<div class="gs-row"><span class="gs-val"><a href="https://huggingface.co/zerofata/G4-MeroMero-31B/raw/main/Gemma4-Think.json">Gemma 4 - Think</a></span></div>
<div class="gs-row"><span class="gs-val"><a href="https://huggingface.co/zerofata/G4-MeroMero-31B/raw/main/Gemma4-NoThink.json">Gemma 4 - NoThink</a></span></div>
</div>
</div>
</div>
</div>
<div class="gs-section gs-section--compact">
<div class="gs-shead">
<span class="gs-snum">03</span>
<span class="gs-stitle">Quantizations</span>
</div>
<div class="gs-sbody">
<div class="gs-qrow">
<div class="gs-qpanel">
<span class="gs-qtype">GGUF</span>
<div class="gs-qsep"></div>
<a href="https://huggingface.co/zerofata/G4-MeroMero-31B-GGUF">iMatrix</a>
</div>
</div>
</div>
</div>
<div class="gs-section gs-section--journal">
<div class="gs-shead">
<span class="gs-snum">04</span>
<span class="gs-stitle">Creation Process</span>
</div>
<div class="gs-sbody">
<p>Creation Process: SFT > Merge</p>
<p>SFT on approx 49 million tokens.</p>
<p>Despite using 49 million tokens, this dataset is fairly modest in size. Trainable is somewhere in the rough ballpark of 10-15 million. All of the datasets were trained on the last turn only, to faithfully mirror the Gemma 4 chat template</p>
<p>The approach was very similar to the 26B A4B MeroMero. I trained the model aggressively for 2 epochs on my data and after testing various checkpoints, settled for the one at 1 epoch, which had the style and the least signs of overfitting.</p>
<p>I merged this checkpoint back into the original instruct which cleaned up any remaining overfitting while still retaining the changes of the finetune.</p>
<p>Trained using Axolotl.</p>
<details>
<summary>Mergekit Config</summary>
<div class="gs-detail-body">
<pre><code>models:
- model: google/gemma-4-31B-it
- model: ApocalypseParty/G4-31B-SFT-v3-1-1ep
merge_method: slerp
parameters:
t: 0.5
base_model: google/gemma-4-31B-it
dtype: bfloat16</code></pre>
</div>
</details>
<details>
<summary>Axolotl Config</summary>
<div class="gs-detail-body">
<pre><code>base_model: google/gemma-4-31B-it
 
plugins:
- axolotl.integrations.cut_cross_entropy.CutCrossEntropyPlugin
- axolotl.integrations.liger.LigerPlugin
liger_layer_norm: true
liger_rope: true
liger_rms_norm: true
liger_glu_activation: true
liger_rms_norm_gated: true
strict: false
cut_cross_entropy: true
 
datasets:
- path: zerofata/pretok
val_set_size: 0.02
output_dir: ./G4-31B-SFT-v3-1
 
sequence_len: 10756
pad_to_sequence_len: true
sample_packing: true
 
load_in_4bit: false
adapter: lora
lora_r: 64
lora_alpha: 64
peft_use_rslora: true
lora_dropout: 0.0
freeze_mm_modules: true
 
lora_target_modules: 'model.language_model.layers.[\d]+.(_checkpoint_wrapped_module.)?(mlp|self_attn).(up|down|gate|q|k|v|o)_proj'
 
wandb_project: G4-31B-SFT
wandb_name: G4-31B-SFT-v3-1
 
gradient_accumulation_steps: 1
micro_batch_size: 4
num_epochs: 2
optimizer: adamw_torch_fused
lr_scheduler: constant_with_warmup
learning_rate: 1e-5
max_grad_norm: 1.0
 
bf16: auto
tf32: true
 
logging_steps: 1
 
# FA2 not supported
sdp_attention: true
#flex_attention: true
#torch_compile: true
flash_attention: false
 
warmup_ratio: 0.1
evals_per_epoch: 4
saves_per_epoch: 2
weight_decay: 0.05
special_tokens:
 
fsdp_config:
fsdp_version: 2
offload_params: false
cpu_ram_efficient_loading: false
auto_wrap_policy: TRANSFORMER_BASED_WRAP
transformer_layer_cls_to_wrap: Gemma4TextDecoderLayer
state_dict_type: FULL_STATE_DICT
sharding_strategy: FULL_SHARD
reshard_after_forward: true
activation_checkpointing: true</code></pre>
</div>
</details>
</div>
</div>
</div>
</body>
</html>