out = generate(model, state.params, prompt,max_new_tokens=40,
key=jax.random.key(1),
sampling=Sampling(temperature=0))
print(tokenizer.decode(out.tokens[0]))
$ python train.py
Training from step 0 to 100 on {'data': 1, 'expert': 1, 'fsdp': 1, 'tensor': 1, 'sequence': 1, 'stage': 1} (1 process(es))
step 25: loss 0.0336
step 50: loss 0.0107
step 75: loss 0.0070
step 100: loss 0.0053
Goodput: first step after 6.81 s, 23.4% of the wall time in steps
dew trains jax models. dew trains jax model
Recorded on the CPU of a Colab runtime, 2 vCPUs, JAX 0.11.2, Dew 60d49d2, 2026-09-24, 19 s.
ROMEO:
Tut Tybalt, Gracious fazous to deparal,
Your bring shall be find that is in the sign,
Why both his hardy nundrest to an all ment.
RICHMOND:
Let must be, my lord, if you that day:
But yea, sir, then time and with himself;
Her oft protection to his death to the supper your
mother married to men.
HERMIONE:
And not that his by the duke a heaveness.
Third I change it another canst thou beast;
When
Training from step 0 to 20 on {'data': 1, 'expert': 1, 'fsdp': 8, 'tensor': 1, 'sequence': 1, 'stage': 1} (1 process(es))
step 10: loss 3.5792
step 20: loss 2.6488
Goodput: first step after 4.97 s, 15.0% of the wall time in steps
spec: P('fsdp',)
cpu:0: rows slice(0, 32, None), local shape (32, 64)
cpu:1: rows slice(32, 64, None), local shape (32, 64)
cpu:2: rows slice(64, 96, None), local shape (32, 64)