Views
No views yet
| Parameter | Value |
|---|---|
| Rank | 32 |
| Alpha | 32.0 |
| Target modules | q_einsum, kv_einsum, gate_proj, down_proj, up_proj, attn_vec_einsum |
1from tunix.models.gemma3 import params, model
2from tunix.generate import sampler as sampler_lib
3import qwix
4
5base = params.create_model_from_checkpoint(
6 params.GEMMA3_1B_IT,
7 model.ModelConfig.gemma3_1b_it()
8)
9
10lora_model = qwix.apply_lora_to_model(
11 base,
12 qwix.LoraProvider(
13 module_path=".*q_einsum|.*kv_einsum|.*gate_proj|.*down_proj|.*up_proj|.*attn_vec_einsum",
14 rank=32, alpha=32.0,
15 ),
16 rngs=nnx.Rngs(0),
17 **base.get_model_input(),
18)
19
20from safetensors.numpy import load_file
21adapter = load_file("adapter_model.safetensors")
22# Merge adapter weights into lora_model state
23
24tokenizer = params.create_tokenizer()
25sampler = sampler_lib.Sampler(
26 transformer=lora_model, tokenizer=tokenizer,
27 cache_config=sampler_lib.CacheConfig(
28 cache_size=1536,
29 num_layers=lora_model.config.num_layers,
30 num_kv_heads=lora_model.config.num_kv_heads,
31 head_dim=lora_model.config.head_dim,
32 ),
33)
34
35prompt = "<start_of_turn>user\nWhat is 25 * 13? Think step by step.<end_of_turn>\n<start_of_turn>model\n"
36out = sampler(
37 input_strings=[prompt],
38 max_generation_steps=512,
39 temperature=0.7, top_k=50, top_p=0.95,
40 echo=False, eos_tokens=[106],
41)
42print(out.text[0])1@misc{kotlar2025gemma3reasoning,
2 title={Gemma 3 1B-IT Reasoning LoRA},
3 author={Kotlar, Milos},
4 year={2025},
5 url={https://github.com/kotlarmilos/gemma-3-1b-reasoning}
6}