Views
No views yet
Modelo merged (base + LoRA) em BF16. Para uso comtransformers, fine-tune adicional, ou conversão para outros formatos. Para uso direto em celular, prefira ogemma3-4b-algebra4-gguf.
peft.merge_and_unload() sobre google/gemma-3-4b-it + o adapter LoRA treinado no algebra4-mix. Os pesos estão em BF16, prontos para inferência via transformers ou para serem requantizados em outro formato (AWQ, GPTQ, EXL2, GGUF, LiteRT).1from transformers import AutoModelForCausalLM, AutoTokenizer
2import torch
3
4mid = "felipecmarins/gemma3-4b-algebra4-merged"
5tok = AutoTokenizer.from_pretrained(mid)
6model = AutoModelForCausalLM.from_pretrained(mid, torch_dtype=torch.bfloat16, device_map="auto")
7
8prompt = tok.apply_chat_template(
9 [{"role": "user", "content": "Encontre os autovalores de A = [[2,1],[1,2]]."}],
10 tokenize=False, add_generation_prompt=True,
11)
12ids = tok(prompt, return_tensors="pt").to(model.device)
13out = model.generate(**ids, max_new_tokens=400, do_sample=False)
14print(tok.decode(out[0][ids.input_ids.shape[1]:], skip_special_tokens=True))| Etapa | Comando · resultado |
|---|---|
| 1. Treino QLoRA | transformers 5.9 + peft 0.19 + trl 1.4 + bnb 0.49 em L4 24 GB; NF4 + LoRA r=16 |
| 2. Merge LoRA | peft.merge_and_unload() em CPU (device_map="cpu", low_cpu_mem_usage=True) |
| 3. Save | save_pretrained(..., safe_serialization=True, max_shard_size="5GB") → 2 shards |
algebra4-mixlr=1e-4 cosine · warmup 3 % · batch 1 × grad acc 32 · max_seq 1024 · 1 epochtrain_loss = 0.74 final| Repo | Conteúdo |
|---|---|
felipecmarins/gemma3-4b-algebra4-merged | Este — BF16 merged |
felipecmarins/gemma3-4b-algebra4-lora | Apenas adapters (65 MB) — para quem prefere aplicar dinâmico em runtime |
felipecmarins/gemma3-4b-algebra4-gguf | Q4_0 (2.3 GB) — para celular / mobile |