Instructions to use beezu/G4-MeroMero-26B-A4B-mlx-bf16 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use beezu/G4-MeroMero-26B-A4B-mlx-bf16 with MLX:
# Make sure mlx-lm is installed # pip install --upgrade mlx-lm # Generate text with mlx-lm from mlx_lm import load, generate model, tokenizer = load("beezu/G4-MeroMero-26B-A4B-mlx-bf16") prompt = "Write a story about Einstein" messages = [{"role": "user", "content": prompt}] prompt = tokenizer.apply_chat_template( messages, add_generation_prompt=True ) text = generate(model, tokenizer, prompt=prompt, verbose=True) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
- Pi
How to use beezu/G4-MeroMero-26B-A4B-mlx-bf16 with Pi:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "beezu/G4-MeroMero-26B-A4B-mlx-bf16"
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "mlx-lm": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "beezu/G4-MeroMero-26B-A4B-mlx-bf16" } ] } } }Run Pi
# Start Pi in your project directory: pi
- MLX LM
How to use beezu/G4-MeroMero-26B-A4B-mlx-bf16 with MLX LM:
Generate or start a chat session
# Install MLX LM uv tool install mlx-lm # Interactive chat REPL mlx_lm.chat --model "beezu/G4-MeroMero-26B-A4B-mlx-bf16"
Run an OpenAI-compatible server
# Install MLX LM uv tool install mlx-lm # Start the server mlx_lm.server --model "beezu/G4-MeroMero-26B-A4B-mlx-bf16" # Calling the OpenAI-compatible server with curl curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "beezu/G4-MeroMero-26B-A4B-mlx-bf16", "messages": [ {"role": "user", "content": "Hello"} ] }' - Hermes Agent
How to use beezu/G4-MeroMero-26B-A4B-mlx-bf16 with Hermes Agent:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "beezu/G4-MeroMero-26B-A4B-mlx-bf16"
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 beezu/G4-MeroMero-26B-A4B-mlx-bf16
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use beezu/G4-MeroMero-26B-A4B-mlx-bf16 with OpenClaw:
Start the MLX server
# Install MLX LM: uv tool install mlx-lm # Start a local OpenAI-compatible server: mlx_lm.server --model "beezu/G4-MeroMero-26B-A4B-mlx-bf16"
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 "beezu/G4-MeroMero-26B-A4B-mlx-bf16" \ --custom-provider-id mlx-lm \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
| license: mit | |
| datasets: | |
| - zerofata/Instruct-Anime | |
| - zerofata/Gemini-3.1-Pro-SmallWiki | |
| - zerofata/Gemini-3.1-Pro-GLM5-Characters | |
| - zerofata/Roleplay-Anime-Characters | |
| base_model: zerofata/G4-MeroMero-26B-A4B | |
| library_name: mlx | |
| tags: | |
| - mlx | |
| pipeline_tag: text-generation | |
| # beezu/G4-MeroMero-26B-A4B-mlx-bf16 | |
| This model [beezu/G4-MeroMero-26B-A4B-mlx-bf16](https://huggingface.co/beezu/G4-MeroMero-26B-A4B-mlx-bf16) was converted to MLX format from [zerofata/G4-MeroMero-26B-A4B](https://huggingface.co/zerofata/G4-MeroMero-26B-A4B) using mlx-lm version **0.31.3**. | |
| # Original Model Card | |
| <style> | |
| .gs { | |
| --bg: #0d0a10; | |
| --surface: #14101a; | |
| --edge: #2a1f38; | |
| --rule: #382850; | |
| --text: #b8a0cc; | |
| --dim: #7a6090; | |
| --bright: #f0e6ff; | |
| --azure: #c060ff; | |
| --crimson: #ff4da6; | |
| --az-glow: rgba(192,96,255,0.10); | |
| --cr-glow: rgba(255,77,166,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(192,96,255,0.04) 0%, transparent 50%), | |
| radial-gradient(ellipse at 50% 100%, rgba(255,77,166,0.02) 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, | |
| var(--bg) 0%, | |
| rgba(13,10,16,0.92) 30%, | |
| rgba(13,10,16,0.4) 60%, | |
| 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: var(--bright); | |
| letter-spacing: 0.06em; | |
| line-height: 1; | |
| margin: 0 0 10px; | |
| text-shadow: 0 1px 2px rgba(0,0,0,0.6); | |
| 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 0 20px rgba(192,96,255,0.03); | |
| } | |
| .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.5; | |
| } | |
| .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.4; | |
| } | |
| .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 0 20px rgba(192,96,255,0.03); | |
| } | |
| .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.5; | |
| } | |
| .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.4; | |
| } | |
| .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.4; | |
| } | |
| .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 0 20px rgba(192,96,255,0.03); | |
| } | |
| .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.5; | |
| } | |
| .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.4; | |
| } | |
| .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: #080510; | |
| 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/xBv_weuMs5x3i4WFDRksn.png" alt="image"> | |
| <div class="gs-ident"> | |
| <h1 class="gs-name">Mero Mero</h1> | |
| <span class="gs-base">Gemma4 26B A4B</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>God, this model was difficult to work with.</p> | |
| <p>Google cooked, there wasn't a lot to improve but there was a lot to break.</p> | |
| <p>This model is a finetune that was merged back into the original instruct. It feels a lot like the original instruct. However, reasoning is more structured, using less tokens during RP and this model generally has a slightly less verbose / flowery writing style.</p> | |
| <p>Main weakness of this model I think is the swipe variety hasn't improved. Logic and repetition I think are roughly 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-26B-A4B/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-26B-A4B/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-26B-A4B-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 35 million tokens.</p> | |
| <p>Despite using 35 million tokens, this dataset is fairly modest in size. Trainable is somewhere in the rough ballpark of 15 million. The extra tokens are from a new multi turn RP dataset that I train last turn only.</p> | |
| <p>Feels like Google left the instruct model at the razor's edge of overfitting. Finetune it at all and it feels like it'll rapidly lose intelligence, despite taking the writing style nicely. Hard to tell if you're overfitting or underfitting.</p> | |
| <p>My solution was to blast the model with my data anyway to ensure it picked up the new reasoning format and writing style and then merge that back into the instruct to heal the logic damage. There's still room for a better merge that keeps more of the writing style and potentially using the base model to undo some of the overfitting.</p> | |
| <p>Trained using Axolotl.</p> | |
| <details> | |
| <summary>Mergekit Config</summary> | |
| <div class="gs-detail-body"> | |
| <pre><code>models: | |
| - model: google/gemma-4-26B-A4B-it | |
| parameters: | |
| weight: 0.5 | |
| - model: ApocalypseParty/G4-26B-SFT-6 | |
| parameters: | |
| weight: 0.5 | |
| merge_method: linear | |
| dtype: bfloat16</code></pre> | |
| </div> | |
| </details> | |
| <details> | |
| <summary>Axolotl Config</summary> | |
| <div class="gs-detail-body"> | |
| <pre><code># Gemma 4 26B-A4B MoE QLoRA with ScatterMoE kernels | |
| # | |
| # Validated: 50 steps on FineTome-100k, loss 8.8 -> 1.8, single RTX 5090 (32GB) | |
| # torch_compile=true: 21 GiB peak VRAM, ~230 tok/s, 336s total | |
| # | |
| # Key notes: | |
| # - Max sequence length on 32GB GPU: 2048 (micro_batch_size=1, SDP attention). | |
| # 4096 seq_len OOMs due to head_dim=512 math SDP materializing full score matrix. | |
| # Use 48GB+ GPUs for longer sequences or multi-GPU with FSDP. | |
|   | |
| base_model: google/gemma-4-26B-A4B-it | |
|   | |
| plugins: | |
| - axolotl.integrations.cut_cross_entropy.CutCrossEntropyPlugin | |
| - axolotl.integrations.kernels.KernelsPlugin | |
| - axolotl.integrations.liger.LigerPlugin | |
| use_kernels: true | |
| use_scattermoe: true | |
| cut_cross_entropy: true | |
| experts_implementation: scattermoe | |
| liger_layer_norm: true | |
| liger_rope: true | |
| liger_rms_norm: true | |
| liger_glu_activation: true | |
| liger_rms_norm_gated: true | |
| strict: false | |
|   | |
| datasets: | |
| - path: ./data/gemma_4_sft_5_masked_20260415_082234.jsonl | |
| val_set_size: 0.02 | |
| output_dir: ./G4-26B-SFT-6 | |
|   | |
| sequence_len: 10756 | |
| pad_to_sequence_len: true | |
| sample_packing: true | |
|   | |
| load_in_4bit: false | |
| #quantize_moe_experts: true | |
| adapter: lora | |
| lora_r: 128 | |
| lora_alpha: 128 | |
| peft_use_rslora: true | |
| lora_dropout: 0.0 | |
| freeze_mm_modules: true | |
|   | |
| # Restrict LoRA to text backbone only (skip vision/audio encoders) | |
| # using regex to match only the text decoder attention projections. | |
| lora_target_modules: 'model.language_model.layers.[\d]+.(_checkpoint_wrapped_module.)?(mlp|self_attn).(up|down|gate|q|k|v|o)_proj' | |
|   | |
| # MoE expert LoRA (3D Parameter tensors, not nn.Linear) | |
| lora_target_parameters: | |
| - experts.gate_up_proj | |
| - experts.down_proj | |
|   | |
| lora_mlp_kernel: false | |
| lora_qkv_kernel: false | |
| lora_o_kernel: false | |
|   | |
| #bnb_config_kwargs: | |
| # bnb_4bit_use_double_quant: true | |
|   | |
| wandb_project: G4-26B-SFT | |
| wandb_name: G4-26B-SFT-6 | |
|   | |
| gradient_accumulation_steps: 2 | |
| micro_batch_size: 2 | |
| 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 | |
|   | |
| #gradient_checkpointing: true | |
| #activation_offloading: 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: 4 | |
| weight_decay: 0.01 | |
| 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> |