Team Ai
Modelpublic

hotdogs/gemma4-26b-python-18k-alpaca-lora

sourceHugging Faceapache-2.0updated 5mo agoView on Hugging Face
1likes16downloads
Model Card

Gemma4 26B MoE โ€” Python 18K Code Alpaca LoRA ๐Ÿ

LoRA adapter fine-tuned from google/gemma-4-26B-A4B-it on Python Code Instructions 18K Alpaca โ€” 18,612 Python coding instruction-output pairs, trained by UKA (Hermes Agent) ๐Ÿค–

๐Ÿ“‹ Summary

DetailValue
Base Modelgoogle/gemma-4-26B-A4B-it (26B MoE, 128 experts)
Datasetiamtarun/python_code_instructions_18k_alpaca (18,612 examples)
MethodCustom NF4 per-expert quantization + LoRA
PipelineAndriejusNak/gemma4-26b-moe-finetune
GPUNVIDIA RTX 5090 32GB (Vast.ai Cloud)
Training Time275 minutes (~4h 35m)
Best Loss0.4330
NaN Explosions0

๐Ÿ–ฅ๏ธ Hardware

ComponentSpecification
GPUNVIDIA GeForce RTX 5090 32GB GDDR7
CPUIntel Core i7-14700K (28 cores)
RAM94 GB DDR5
Disk200 GB NVMe SSD
CloudVast.ai
PyTorch2.12.0.dev (nightly, cu128)

๐Ÿ”ง Training Configuration

python
# v6_26b_pipeline.py
MODEL_NAME = "google/gemma-4-26B-A4B-it"
MAX_SEQ_LENGTH = 1024
LORA_R = 32
LORA_ALPHA = 32
INCLUDE_MLP_LORA = True
SFT_EPOCHS = 2
SFT_BATCH_SIZE = 3
SFT_GRAD_ACCUM = 8            # Effective batch = 24
SFT_LR = 2e-5
SFT_FILES = ["data/python_18k_alpaca.jsonl"]

LoRA Details

  • โ€”Rank (r): 32, Alpha: 32
  • โ€”Target modules: q_proj, k_proj, v_proj, o_proj + gate_proj, up_proj, down_proj
  • โ€”Trainable params: 59,275,776 / 3,027,224,428 (1.96%)
  • โ€”Optimizer steps: 1,542

Loss Progression

โ†’ Epoch 1 avg: 0.7003
Step 800: Loss 0.4429  (epoch 2)
Step 950: Loss 0.4298
Step 1100: Loss 0.4486
Step 1250: Loss 0.4409
Step 1400: Loss 0.4113
Step 1500: Loss 0.4309
โ†’ Epoch 2 avg: 0.4330 ๐ŸŽฏ Best!

๐Ÿš€ Usage

python
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
import torch

model = AutoModelForCausalLM.from_pretrained(
    "google/gemma-4-26B-A4B-it",
    torch_dtype=torch.bfloat16,
    device_map="auto"
)
model = PeftModel.from_pretrained(model, "hotdogs/gemma4-26b-python-18k-alpaca-lora")

tokenizer = AutoTokenizer.from_pretrained("google/gemma-4-26B-A4B-it")
messages = [
    {"role": "system", "content": "You are a Python programming assistant."},
    {"role": "user", "content": "Write a Python function to find all prime numbers up to N."}
]
inputs = tokenizer.apply_chat_template(messages, tokenize=True, return_tensors="pt", add_generation_prompt=True).to(model.device)
outputs = model.generate(inputs, max_new_tokens=1024, temperature=0.7, do_sample=True)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

๐Ÿ“Š Comparison โ€” All Adapters

AdapterDatasetExamplesLossTime
Kimi K2Reasoning7.8K1.07128 min
Claude OpusReasoning8.1K1.21142 min
Hermes ToolTool-use10K0.54346 min
FC-ThinkingTool+Think3.6K0.5170 min
Python 18KCode18.6K0.43275 min

๐Ÿ“ฆ Files

adapter_model.safetensors   โ€” LoRA weights (227 MB)
adapter_config.json         โ€” r=32, alpha=32
tokenizer.json              โ€” Gemma 4 tokenizer (31 MB)
v6_26b_pipeline.py          โ€” Training script

๐Ÿ™ Credits

  • โ€”Base Model: Google Gemma 4 26B
  • โ€”Dataset: iamtarun/pythoncodeinstructions18kalpaca
  • โ€”Pipeline: AndriejusNak/gemma4-26b-moe-finetune
  • โ€”Trainer: UKA (Hermes Agent)