| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2025-11-20 | 16.6 kB | |
| Tunix v0.1.4 -- JAX 0.8.1 Flax 0.12.1 source code.tar.gz | 2025-11-20 | 12.6 MB | |
| Tunix v0.1.4 -- JAX 0.8.1 Flax 0.12.1 source code.zip | 2025-11-20 | 12.8 MB | |
| Totals: 3 Items | 25.4 MB | 0 | |
Highlights
- With the release of JAX to 0.8.1, flax released 0.12.1, therefore remove the qwix version limit.
- Tunix supports DP on vLLM backend
- Enables performance tracer: https://github.com/google/tunix/tree/main/tunix/perf
API Changes
# Old:
cluster_config = rl_cluster_lib.ClusterConfig(
role_to_mesh={
...,
},
training_config=rl_cluster_lib.RLTrainingConfig(
...,
),
rollout_engine=args.rollout_engine,
rollout_config=base_rollout.RolloutConfig(
...,
),
rollout_vllm_model_version=VLLM_MODEL_VERSION,
...,
)
# New:
cluster_config = rl_cluster_lib.ClusterConfig(
role_to_mesh={
...,
},
training_config=rl_cluster_lib.RLTrainingConfig(
...,
),
rollout_engine=args.rollout_engine,
rollout_config=base_rollout.RolloutConfig(
...,
rollout_vllm_model_version=VLLM_MODEL_VERSION,
...,
),
)
New Features
Model Support:
- Added configuration for the Qwen2.5 math-1.5b model.
- Included mobile fine-tuning examples for Gemma 270M.
SGLang Integration:
- Introduced an SGLang JAX sampler.
- Added SGLang JAX mapping for Qwen2 models.
- Enabled SGLang/JAX CI.
Agentic Workflows:
- Added ModelAgent and TaskEnvironment for single-turn agentic workflows.
- Introduced an Agentic GRPOLearner for RL training.
- Provided a script for GRPO agent mode.
- Added tests for agentic_grpo_learner.
- Implemented Agentic GRPO with multi-iteration support and fixes.
Training & Evaluation:
- Added support for ORPO trainer.
- Included scripts for OSS math500 evaluation and deepscalar.
Infrastructure:
- Added Dockerfile and build scripts for Tunix for GKE development.
- Implemented GitHub Actions workflows for Tunix TPU nightly regression.
- Added a plugin-type custom logging backend support in MetricsLogger.
Improvements
Model Loading & Configuration:
- Refactored model loading from Flax Orbax checkpoints, including fixes for Gemma and Gemma2.
- Refactored gemma modelConfig to explicitly include all models.
- Relaxed frozen configuration for models.
Performance & Efficiency:
- Improved speed of safetensor loading.
- Added per-Python-thread timeline and export of perf metrics to metrics_logger.
- Rewrote the performance tracer with a new data model.
- Enabled vLLM Data Parallelism on Tunix.
Architecture & Refactoring:
- Moved agentic code out of the experimental folder.
- Moved rollout related configs from cluster config to rollout_config.
- Updated trajectory engine code.
- Updated RolloutOrchestrator logic.
- Implemented a concrete naming structure for parsing HuggingFace model IDs.
- Updated model module to prevent AttributeError with pytree=false.
Usability:
- Updated vanilla sampler to accept single strings.
- Made put_exception in GRPO agentic learner asynchronous.
- Enabled micro_batch_size for rollout and reference models in the PPO learner.
- Added support for user-defined rollout engines.
- Added Kaggle and GitHub buttons to Tunix example notebooks.
- Improved HBM usage reporting in multi-process SPMD.
Internal:
- Refactored TPU tests to run separately based on HF_TOKEN requirements.
- Updated Tunix GitHub Actions to trigger on push to main.
- Moved Docker files to the root directory.
- Added backward compatibility for set_mesh.
Bug Fixes
- Fixed broken CI due to vLLM.
- Fixed vLLM driver tests.
- Improved test collection to only include target tests.
- Fixed a conditional issue in the Tunix Gemma implementation.
- Fixed nnx.remat usage with bound methods.
- Fixed the OSS GRPO training script.
- Fixed Qwen2 mapping for SGLang/JAX.
- Fixed an incorrect loss type issue.
- Fixed max_step initialization when profiling.
- Fixed issues with multiple metrics loggers.
- Reduced test flakiness.
- Fixed broken links in README.md.
- Corrected algo_config naming in GRPOLearner.
- Fixed the get_logprobs_from_vllm_output utility function.
- Fixed TypeError in example notebooks by updating mesh indexing (MESH[0] to len(MESH[0])).
- Addressed a very weird bug. (Details pending)
Documentation
- Fixed documentation build for ReadTheDocs.
- Minor fix on grpo_demo description.
- Added README for SGLang JAX.
- Updated docstring usage for dataclasses.
Internal & Tooling
- Automated GitHub issue assignment to all engineers.
- Converted notebook files (.ipynb) to Python scripts (_nb.py) and removed Jupyter cell markers.
- Updated debug logging.
- Pinned Qwix version to 0.1.1 (and later removed the pin).
- Ensured latest dependencies are installed by forcing reinstall.
- Temporarily disabled SGLang tests.
- Removed gcsfs from pyproject.toml dependencies.
Detailed PRs
- Fix the gemma2 loading from flax orbax checkpoint. [1/N] Refactor model loading by @wang2yn84 in https://github.com/google/tunix/pull/595
- Fix gemma model. [2/N] Refactor model loading by @wang2yn84 in https://github.com/google/tunix/pull/596
- Fix broken CI due to vllm. by @wang2yn84 in https://github.com/google/tunix/pull/600
- Fix vllm driver test. by @wang2yn84 in https://github.com/google/tunix/pull/601
- Fix the tests collection so that it only collects the target tests. by @wang2yn84 in https://github.com/google/tunix/pull/604
- Adds async tests for vllm server mode. by @wang2yn84 in https://github.com/google/tunix/pull/603
- This is trying to fix a very weird bug... by @copybara-service[bot] in https://github.com/google/tunix/pull/605
- [Tunix] Add qwen2.5 math-1.5b model config by @copybara-service[bot] in https://github.com/google/tunix/pull/598
- add sglang jax sampler by @pathfinder-pf in https://github.com/google/tunix/pull/553
- add qwen2 sglang jax mapping by @pathfinder-pf in https://github.com/google/tunix/pull/608
- Move agentic out from experimental folder by @copybara-service[bot] in https://github.com/google/tunix/pull/597
- Fix conditional in Tunix Gemma implementation by @copybara-service[bot] in https://github.com/google/tunix/pull/609
- vanilla sampler accept single str by @copybara-service[bot] in https://github.com/google/tunix/pull/613
- Auto assign github issues to all the eng. by @wang2yn84 in https://github.com/google/tunix/pull/615
- test: add model alignment test for qwen2 models. by @copybara-service[bot] in https://github.com/google/tunix/pull/607
- add sglang jax readme by @pathfinder-pf in https://github.com/google/tunix/pull/617
- relax frozen config for model by @copybara-service[bot] in https://github.com/google/tunix/pull/619
- support user defined rollout engine by @copybara-service[bot] in https://github.com/google/tunix/pull/618
- The grpo_trainer.train call was updated to use the train_dataset variable. by @copybara-service[bot] in https://github.com/google/tunix/pull/626
- Fix
nnx.rematusage with bound methods. by @copybara-service[bot] in https://github.com/google/tunix/pull/621 - Move rollout related configs from cluster config to rollout_config. by @wang2yn84 in https://github.com/google/tunix/pull/630
- Log individual trajetory rewards, rather than average across microbatch by @copybara-service[bot] in https://github.com/google/tunix/pull/571
- speed up safetensor loading by @copybara-service[bot] in https://github.com/google/tunix/pull/629
- Make put_exception as async by @copybara-service[bot] in https://github.com/google/tunix/pull/635
- Add
ModelAgentandTaskEnvironmentfor single-turn agentic workflows. by @copybara-service[bot] in https://github.com/google/tunix/pull/634 - style: unify abc annotation usage. by @copybara-service[bot] in https://github.com/google/tunix/pull/620
- test: add model alignment test for qwen3 models. by @copybara-service[bot] in https://github.com/google/tunix/pull/632
- Adds [GemmaChatTemplateParser] to support message formatting for Gemma models, including handling of its unique system prompt and token structure. by @copybara-service[bot] in https://github.com/google/tunix/pull/639
- Trajectory engine code update by @copybara-service[bot] in https://github.com/google/tunix/pull/645
- Not donating
modelfor jitted eval step. by @copybara-service[bot] in https://github.com/google/tunix/pull/648 - Update RolloutOrchestrator by @copybara-service[bot] in https://github.com/google/tunix/pull/640
- Add Agentic GRPOLearner for RL training. by @copybara-service[bot] in https://github.com/google/tunix/pull/646
- [JAX] Replace reference to jax._src.lib.xla_client.SingleDeviceSharding with jax.sharding.SingleDeviceSharding, which is its public name. by @copybara-service[bot] in https://github.com/google/tunix/pull/653
- Remove explicit sharding after applying LoRA. by @copybara-service[bot] in https://github.com/google/tunix/pull/636
- Fix max_step when initializing a profiler by @copybara-service[bot] in https://github.com/google/tunix/pull/651
- Use correct docstring for dataclasses by @copybara-service[bot] in https://github.com/google/tunix/pull/661
- OSS math500 eval and deepscalar script. by @copybara-service[bot] in https://github.com/google/tunix/pull/658
- Fix the OSS GRPO training script. by @wang2yn84 in https://github.com/google/tunix/pull/660
- fix: qwen2 mapping_sglang_jax by @jimoosciuc in https://github.com/google/tunix/pull/665
- Fix the wrong loss type issue. by @copybara-service[bot] in https://github.com/google/tunix/pull/669
- [Tunix] Enable micro_batch_size for rollout and reference models in PPO learner. by @copybara-service[bot] in https://github.com/google/tunix/pull/668
- Convert notebook file to py scipt. by @copybara-service[bot] in https://github.com/google/tunix/pull/671
- [Tunix] Update the debug logging. by @copybara-service[bot] in https://github.com/google/tunix/pull/674
- [Tunix] Minor fix on grpo_demo description by @copybara-service[bot] in https://github.com/google/tunix/pull/677
- Add GitHub Actions workflows for Tunix TPU nightly regression. by @copybara-service[bot] in https://github.com/google/tunix/pull/682
- Agentic GRPO with multi-iteration support and fixes by @copybara-service[bot] in https://github.com/google/tunix/pull/679
- [Tunix] Convert the deepscaler notebook to py script. by @copybara-service[bot] in https://github.com/google/tunix/pull/684
- Pin the Qwix version to 0.1.1 by @copybara-service[bot] in https://github.com/google/tunix/pull/689
- Force reinstall tunix deps to include latest deps. by @copybara-service[bot] in https://github.com/google/tunix/pull/690
- Add tests for
agentic_grpo_learnerby @copybara-service[bot] in https://github.com/google/tunix/pull/657 - script for grpo agent mode by @copybara-service[bot] in https://github.com/google/tunix/pull/692
- Create sharded dummy models by @yhtang in https://github.com/google/tunix/pull/676
- Let each process reports local devices' HBM usage in multi-process SPMD by @yhtang in https://github.com/google/tunix/pull/697
- [Tunix] Add Dockerfile and build script for Tunix for GKE development. by @copybara-service[bot] in https://github.com/google/tunix/pull/699
- Update Tunix GitHub Actions to trigger on push to main. by @copybara-service[bot] in https://github.com/google/tunix/pull/701
- [TunixLoggingPluginBackend] Add a plugin-type custom logging backend support in Tunix
MetricsLogger. by @copybara-service[bot] in https://github.com/google/tunix/pull/570 - Add Kaggle and GitHub buttons to Tunix example notebooks. by @copybara-service[bot] in https://github.com/google/tunix/pull/685
- Refactor TPU tests to separate jobs that requires HF_TOKENs and only run these tests when merging from same repo. by @copybara-service[bot] in https://github.com/google/tunix/pull/708
- set use_sort_for_toppk_minp to true when initialize the SglangJaxSampler by @aolemila in https://github.com/google/tunix/pull/696
- [Tunix] Move out Docker files to the root directory by @copybara-service[bot] in https://github.com/google/tunix/pull/703
- Temporarily disable the sglang tests. by @copybara-service[bot] in https://github.com/google/tunix/pull/724
- Fix docs build for ReadTheDocs by @melissawm in https://github.com/google/tunix/pull/721
- Add mobile fine-tuning examples for Gemma 270M with comprehensive not… by @ncylich in https://github.com/google/tunix/pull/694
- Include perf/ in cpu-tests by @copybara-service[bot] in https://github.com/google/tunix/pull/715
- fix flaky tests by @copybara-service[bot] in https://github.com/google/tunix/pull/723
- Fix the multiple metrics logger issue. by @wang2yn84 in https://github.com/google/tunix/pull/722
- Enable vLLM DP on Tunix. by @wang2yn84 in https://github.com/google/tunix/pull/718
- Remove
gcsfsfrompyproject.tomldependencies. by @copybara-service[bot] in https://github.com/google/tunix/pull/732 - model_agent small update by @copybara-service[bot] in https://github.com/google/tunix/pull/735
- Refactor gemma modelConfig to explicitly include all models by @copybara-service[bot] in https://github.com/google/tunix/pull/733
- [Tunix] Backward compatibility for set_mesh. by @copybara-service[bot] in https://github.com/google/tunix/pull/743
- Creating concrete naming structure for parsing model names, based on the HuggingFace model ids. by @copybara-service[bot] in https://github.com/google/tunix/pull/734
- fix failing peft_trainer tests by @copybara-service[bot] in https://github.com/google/tunix/pull/741
- Fix broken links in README.md by @rajasekharporeddy in https://github.com/google/tunix/pull/728
- open sglang-jax ci by @pathfinder-pf in https://github.com/google/tunix/pull/730
- Add per-python-thread timeline, export perf metrics to metrics_logger by @copybara-service[bot] in https://github.com/google/tunix/pull/714
- Fix all the notebooks/scripts/tests to follow the latest jax.make_mesh API change. Add dummy model creator and its test. by @copybara-service[bot] in https://github.com/google/tunix/pull/751
- Agent mode training for 3p by @copybara-service[bot] in https://github.com/google/tunix/pull/752
- Handle local paths in
load_file_from_gcsmore robustly. by @copybara-service[bot] in https://github.com/google/tunix/pull/755 - Update orchestrator logic. by @copybara-service[bot] in https://github.com/google/tunix/pull/745
- make tunix logo transparent by @jshin1394 in https://github.com/google/tunix/pull/758
- Rewrite perf tracer with new data model by @copybara-service[bot] in https://github.com/google/tunix/pull/749
- feat: add ORPO trainer support by @eghuzefa in https://github.com/google/tunix/pull/594
- Fix algo_config naming in GRPOLearner by @copybara-service[bot] in https://github.com/google/tunix/pull/770
- [Tunix] Remove Jupyter cell markers from
_nb.pyfiles. by @copybara-service[bot] in https://github.com/google/tunix/pull/765 - Update model module with pytree=false. Otherwise, we will encounter AtrributeError like
object has no attribute '_pytree__state'. This error could be seen in both 1p and 3p. by @copybara-service[bot] in https://github.com/google/tunix/pull/739 - fix GRPO metrics query and export by @copybara-service[bot] in https://github.com/google/tunix/pull/768
- Fixes the get_logprobs_from_vllm_output util function. by @copybara-service[bot] in https://github.com/google/tunix/pull/767
- Fix
TypeErrorin example notebooks by replacingMESH[0]withlen(MESH[0]). by @rajasekharporeddy in https://github.com/google/tunix/pull/769 - [Tunix] Remove Jupyter cell markers from
_nb.pyfiles. by @copybara-service[bot] in https://github.com/google/tunix/pull/774 - Remove the pinned qwix version by @wang2yn84 in https://github.com/google/tunix/pull/772
New Contributors
- @pathfinder-pf made their first contribution in https://github.com/google/tunix/pull/553
- @jimoosciuc made their first contribution in https://github.com/google/tunix/pull/665
- @yhtang made their first contribution in https://github.com/google/tunix/pull/676
- @aolemila made their first contribution in https://github.com/google/tunix/pull/696
- @ncylich made their first contribution in https://github.com/google/tunix/pull/694
- @rajasekharporeddy made their first contribution in https://github.com/google/tunix/pull/728
- @eghuzefa made their first contribution in https://github.com/google/tunix/pull/594
Full Changelog: https://github.com/google/tunix/compare/v0.1.3...v0.1.4