v0.1.0
We have made the following changes to open-instruct:
Added
- Added OLMo-core based DPO training script (#1391).
- Added SLURM scripts for OLMo SFT training with checkpoint resume support and configurable shuffle seed. #1368
- Added retry logic with exponential backoff to
make_api_requestfor tool API calls (retries on timeouts, connection errors, 429, and 5xx). Also added configurablemax_concurrencyparameter to tool configs for controlling Ray actor concurrency per-tool. #1388 - Added support for generic MCP tools during training, with some limitations (no changing tools, no tool discovery during training). For details: #1384
- Added the ability to set active tools on a per-sample basis. See the PR for more details: #1382
- Added a new changelog Github Action that makes sure you contribute to the changelog! #1276
- Now, we type check
open_instruct/dataset_transformation.py(#1390). - Added a linter rule that imports go at the top of the file (#1394).
- Refactors GRPO config into a grpo_utils.py file in preparation for Olmo-core implementation (#1396_.
- Now, we save the generated rollouts to disk during RL when the --save_traces flag is passed (#1406).
- Pulls out weight sync code from GRPO into a more generic function (#1411 (review))
Changed
- Updated library versions via
uv lock --upgrade(#1400). - Now,
large_test_script.shexercises thetp > 1code path (#1413).
Fixed
- Added automatic type coercion for tool arguments via
safe_execute()- prevents crashes when models send wrong types (e.g., bool instead of string) (#1418). - Fixed argparse conflict error for
--save_tracesby removing duplicate field definitions fromStreamingDataLoaderConfig(#1416). - Increased
MetricsTrackermax_metrics from 64 to 512 to fixValueError: Exceeded maximum number of metricswhen training with many tools or verifier functions (#1415). - Fixed JSON serialization error in
LocalDatasetTransformationCache.save_configwhen caching datasets locally (#1402). - Now, we can support PRs from external contributors while still maintaining security for internal tokens (#1408).
- Improved error handling for tool calls with missing/invalid arguments - now returns a clear error message instead of crashing (#1404).
- Fixed
GenerationConfigvalidation error when saving OLMo-3 models - config is now set after unwrapping the model, and OLMo-3 is detected from bothchat_template_nameand model name (#1404). - Fixed the benchmark so that it runs (#1401).