Repository navigation
Releases: xingjian-bai/opal
Releases · xingjian-bai/opal
Release list
OPAL 0.3.8
Two new read-only commands (#7, #8, thanks @mvanhorn) and one fix for the ssh mailbox. The optimizer, the agent prompt and the agent's tools are unchanged.
pip install --upgrade opal-optimizeropal watch <run>prints a run's events as they are written and returns when the run finishes.--timeout 0prints what is already there; a positive--timeoutis idle seconds after the last new event. A run killed withoutclose()(SIGTERM, SIGKILL, out of memory) never writes its end, so it needs--timeout; watch then exits with 1.opal compare a bprints two run folders, or two result.json files, side by side: metric, command, decision counts, cost, waiting, last training loss, and the decisions that differ, matched by the update they were asked at.- The ssh mailbox lists its folder in
shrather than the remote login shell, so an empty mailbox on a host whose login shell is zsh (such as macOS) no longer fails with "no matches found: */". - SiT-B/2 is also scored with the ADM evaluator, the one the SiT paper uses: FID-50K 35.70 (AdamW), 30.39 (Muon), 23.55 (OPAL).
The full list is in CHANGELOG.md.
OPAL 0.3.7
Documentation and examples, plus one printed notice. The optimizer, the agent prompt and the agent's tools are unchanged.
pip install --upgrade opal-optimizer- The README and the examples page report each task's newest OPAL run (RAEv2-B 3.19, Goldfish 77.25, LightningDiT-B/1 2.31) and no longer list older-system numbers.
- The examples page has a section on training without waiting for the agent (
blocking=False), with the RAEv2-B official, blocking and non-blocking runs. - The README says why long runs suit OPAL, with measured waiting times.
blocking="auto"is no longer documented or offered by the example scripts. Using it prints that it is experimental and untested on real training runs.
The full list is in CHANGELOG.md.
OPAL 0.3.6
Fixes from a from-scratch test of the install and the README's agent prompt. The optimizer, the agent prompt and the agent's tools are unchanged.
pip install --upgrade opal-optimizeropal doctorsays when the machine has an NVIDIA GPU that the installed torch cannot use, and the README explains how to install the torch build for your driver first.- The ssh mailbox broker explains a "Permission denied" from a host that asks for a password, and the guide shows how to share one connection.
opal estimateno longer offers a decision count that still waits more than 4x, and says when a run ends before the first answer.- Reports of user scripts record the training waiting time.
- The privacy filter keeps numbers such as
/1000. - The PyPI page links to the repository, the guide and the blog post.
The full list is in CHANGELOG.md.
OPAL 0.3.5
OPAL is now on PyPI:
pip install opal-optimizerThis release fixes what a round of reviews found before wider use:
- API keys and tokens that appear in backend error messages are masked in records, prompts and reports.
- Keep mode stays bit-identical to plain training with Accelerate, including save_state and load_state, which now also save and restore OPAL.
- Several optimizers combined with an enabled GradScaler are refused instead of skipping updates.
- Parameter groups added after
opal.wrapstop the run with a clear message, and the guide shows how to unfreeze layers instead (#5). - Uneven inputs across DDP ranks stop with a clear error instead of hanging (#2).
- Checkpoints keep the observations the agent has not seen yet, so a resumed run shows it the same thing (#3).
- Mailbox brokers can no longer answer the same request twice (#1), and the ssh mailbox handles large answers and dropped connections.
OPAL now needs Python 3.10 or newer and PyTorch 2.5 or newer. The full list is in CHANGELOG.md.