Instructions to use Rhine-AI/diffusiongemma-26B-A4B-tmax-sft-ckpt3000 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use Rhine-AI/diffusiongemma-26B-A4B-tmax-sft-ckpt3000 with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
File size: 2,001 Bytes
37149bf | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | ---
base_model: google/diffusiongemma-26B-A4B-it
library_name: peft
tags: [diffusion-lm, block-diffusion, lora, terminal-agent, tmax]
---
# DiffusionGemma tmax terminal-agent block-SFT — step 3000
LoRA adapter for `google/diffusiongemma-26B-A4B-it`, supervised-finetuned on Allen AI's
[tmax](https://huggingface.co/datasets/allenai/tmax-sft) terminal-agent trajectories
(config `skill_tax_20260505_2.2k_combined_balanced_thinking_only_success`).
## Training objective — response-anchored block diffusion
Each trajectory is trimmed to <4096 tokens, always ending on an assistant turn. Per step we
sample **one assistant response**, tile it into 256-token canvases, and sample **one canvas**:
- **Denoiser loss** on the sampled canvas (the diffusion target).
- **Encoder AR loss** over the *entire* prefix preceding that canvas (system prompt, user task,
every prior assistant turn and tool output).
- Everything after the canvas is dropped.
| hyperparameter | value |
| --- | --- |
| LoRA rank / alpha | 64 / 128 |
| target modules | q,k,v,o,gate,up,down |
| canvas length | 256 |
| max completion / prompt | 4096 |
| learning rate | 1.5e-5, cosine, 100 warmup |
| batch (per-device x accum) | 1 x 8 |
| step | 3000 |
| last logged train loss | 0.7370 |
## Usage
```python
from peft import PeftModel
from transformers import AutoTokenizer, DiffusionGemmaForBlockDiffusion
base = DiffusionGemmaForBlockDiffusion.from_pretrained("google/diffusiongemma-26B-A4B-it", torch_dtype="bfloat16", device_map="cuda")
model = PeftModel.from_pretrained(base, "Rhine-AI/diffusiongemma-26B-A4B-tmax-sft-ckpt3000")
tok = AutoTokenizer.from_pretrained("Rhine-AI/diffusiongemma-26B-A4B-tmax-sft-ckpt3000")
```
Prompts are rendered with the **tmax/Qwen** chat template (not DiffGemma's, which drops the
assistant reasoning) and tokenized with the DiffGemma tokenizer. `<|im_end|>` is ordinary text to
this tokenizer, not an EOS token, so generation does not stop at a turn boundary — use a stop-string.
|