Step 50: Loss 1.3242 (epoch 1)
Step 100: Loss 0.6698
→ Epoch 1 avg: 0.8476
Step 150: Loss 0.5368 (epoch 2)
Step 200: Loss 0.5244
Step 250: Loss 0.5012
→ Epoch 2 avg: 0.5149 🎯 Best!
🚀 Usage
python
1from transformers import AutoModelForCausalLM, AutoTokenizer
2from peft import PeftModel
3import torch
45model = AutoModelForCausalLM.from_pretrained(6"google/gemma-4-26B-A4B-it",7 torch_dtype=torch.bfloat16,8 device_map="auto"9)10model = PeftModel.from_pretrained(model,"hotdogs/gemma4-26b-fc-thinking-reasoning-lora")1112tokenizer = AutoTokenizer.from_pretrained("google/gemma-4-26B-A4B-it")13messages =[14{"role":"system","content":"You are a deep thinking AI. Use tools with <tools>...</tools> XML tags."},15{"role":"user","content":"Calculate the factorial of 42 and search for its significance."}16]17inputs = tokenizer.apply_chat_template(messages, tokenize=True, return_tensors="pt", add_generation_prompt=True).to(model.device)18outputs = model.generate(inputs, max_new_tokens=1024, temperature=0.7, do_sample=True)19print(tokenizer.decode(outputs[0], skip_special_tokens=True))
📊 Dataset Format
Dataset uses ShareGPT format with <think> blocks in model responses:
json
1{2"conversations":[3{"role":"system","content":"You are a function calling AI..."},4{"role":"human","content":"..."},5{"role":"model","content":"<think>\n...\n</think>\n\n[tool call]"},6{"role":"tool","content":"..."},7{"role":"model","content":"<think>\n...\n</think>\n\n[final answer]"}8]9}