Lessons Learned From World Model Training for LLM Agent
In my previous post, I trained an LLM agent on Delta Lake tasks with GRPO and with ECHO. I compared how well each model predicts its tool outputs and how many tasks it solves. That post was already long, so I left out most of what happened on the way to those results. This post covers the problems I ran into, the training metrics that pointed to them, why I read them the way I did, and what I changed.
The setup, briefly:
- Policy: NVIDIA Nemotron 3 Nano 4B, non-thinking. It is a hybrid model that keeps most of its state in Mamba-2 layers and has four attention layers.
- Training: NeMo RL 0.7 on the Megatron backend, with vLLM as the sampler. GRPO with 8 prompts × 8 rollouts per step, for 90 steps.
- Arms: GRPO, ECHO with $\lambda=0.005$ and ECHO with $\lambda=0.02$, one seed each.
- Hardware: each arm ran on one H200 on Modal. A run took about 4 hours and cost about $23.
- Environment: a Databricks-style simulator built on Spark Connect and Delta Lake. The agent has three tools,
run_sql,run_pythonandsubmit, and a verifier checks the final state of the tables.
The code is at munhouiani/delta_world.