This is a fork of allenai/open-instruct.
This repository is the public, work-in-progress OpenEuroLLM code snapshot for
the TMAX reproduction and transfer study.
It is based on the Open-Instruct tree released in
hamishivi/tmax at 1cce58a2,
which in turn records AllenAI Open-Instruct commit c67b3b50 as its base.
The OpenEuroLLM changes currently published here add the Leonardo Apptainer-based prepared-state backend, related runtime compatibility work, and the exact small Qwen smoke launchers used during bring-up. The Leonardo scripts intentionally retain the paths and scheduler settings from the working environment. They are research snapshots and should be reviewed and adapted before use on another system.
Current status: the trainer, rollout, checkpoint, prepared-environment, and cleanup paths have passed bounded plumbing and environment-validation gates. A meaningful nonzero-signal RL reproduction is still in progress, so this repository does not claim a reproduced performance result yet.
This public repository contains code only. It does not contain the private experiment-control workspace, job logs, reports, task boards, research notes, prepared caches, datasets, or checkpoints.
It contains fixes on top of upstream for:
- Qwen 3.5 support (fixed hybrid CP-SP training for SFT and RL)
- DPPO Support (new RL loss)
- Terminal agent training (podman-based sandboxes for training)
The training scripts for this fork live under scripts/tmax. Please refer to the README for more details on how to use them. The original scripts target Ai2 infrastructure, while the additional Leonardo scripts exercise the Apptainer prepared-state path. Both sets require adaptation outside their recorded environments. I recommend starting with the smallest relevant smoke script, getting that working, and then scaling up.
For general documentation, usage, and the upstream codebase, refer to the main open-instruct repository. I also recommend checking it for the flags and features.
uvfor dependency management (deps pinned in the repo-rootpyproject.toml/uv.lock).- A Dockerhub login and personal access token (PAT). In particular, you probably need a business account to pull images from Dockerhub at large scale.