Skip to content

Releases: oumi-ai/oumi

v0.4.0

02 Sep 20:38
bb493eb
Compare
Choose a tag to compare

Oumi v0.4 Changelog

✨ gpt-oss Training and Inference

OpenAI released two highly-anticipated open-weight models in August, gpt-oss-20b and gpt-oss-120b. They’re mixture-of-experts (MoE) reasoning models with strong tool-use performance, and are optimized with native 4-bit quantization for memory-efficient training and inference. You can now run training and inference on these models in Oumi!

Usage Example:

# Train gpt-oss-20b with LoRA on a single GPU
oumi train -c oumi://configs/recipes/gpt_oss/sft/20b_lora_single_gpu_train.yaml

# Run local inference on gpt-oss-120b using vLLM
oumi infer -i -c oumi://configs/recipes/gpt_oss/inference/120b_vllm_infer.yaml

⚡ DeepSpeed Support

DeepSpeed is a powerful and configurable optimization library that allows you to train large models efficiently using techniques like distributed training and memory optimization. Oumi now supports DeepSpeed in addition to PyTorch’s native Fully Sharded Data Parallel (FSDP) for distributed training!

Usage Example:

# Train Llama 3.1 8B using DeepSpeed’s ZeRO-3 optimization strategy
oumi train -c oumi://configs/examples/deepspeed/llama3_1_8b_deepspeed_z3_train.yaml

# Combine DeepSpeed with YARN RoPE scaling to enable training on longer contexts!
# Train Qwen2.5 7B with 128k token context length using YARN and DeepSpeed
oumi train -c oumi://configs/projects/limo/qwen2.5_7b_fft_yarn_deepspeed.yaml

🗄️ CLI Tool for Hugging Face Cache Management

When using datasets and models from Hugging Face Hub, over time it becomes hard to track what’s been cached, how much space it’s taking up, etc. In #1897, @aniruddh-alt has added a oumi cache utility to the Oumi CLI. This lets you view, add to, and delete from the Hugging Face Hub local cache, in addition to getting more information about entries in the cache.

Usage Example:

# View what’s in the cache
oumi cache ls

# Filter for items containing the substring “llama”, and sort by name
oumi cache ls -f *llama* --sort name

# Download a model to cache
oumi cache get Qwen/Qwen3-0.6B

# View information about the cached model
oumi cache card Qwen/Qwen3-0.6B

# Remove a model from cache
oumi cache rm Qwen/Qwen3-0.6B

🎯 Vision DPO and KTO Support

We have added support for two new training methods: Direct Preference Optimization (DPO) on Vision-Language Models and Kahneman-Tversky Optimization (KTO). Special thanks to @efsiatras for implementing KTO support in #1538!

Usage Example:

# Vision DPO on Qwen2.5-VL 3B
oumi train -c oumi://configs/recipes/vision/qwen2_5_vl_3b/dpo/train.yaml

# KTO on Phi-3
oumi train -c oumi://configs/recipes/phi3/kto/train.yaml

🛠️ Developer Experience

  • Upgrade several package dependencies to latest versions
  • Additional GGUF, MacOS LlamaCPP, and remote frontier model inference configs by @penfever in #1923 and #1947
  • Add Pre-Populated GitHub Issue Link On Failures by @rlehman221 in #1936
  • Add Verbose Flag to Oumi Train by @rlehman221 in #1940
  • Enable users to log data samples during training for debugging by @shanghongsim in #1943

New Contributors

All Contributors

@aniruddh-alt, @efsiatras, @jgreer013, @kaisopos, @oelachqar, @penfever, @rlehman221, @ryan-arman, @shanghongsim, @stefanwebb, @taenin, @wizeng23

Full Changelog: v0.3.0...v0.4.0

v0.3.0

05 Aug 01:48
32393df
Compare
Choose a tag to compare

Oumi v0.3 Changelog

🔧 Model Quantization (NEW)

Quantization is a crucially important family of methods for reducing model size, for example, prior to deployment. Oumi now supports applying Activation-aware Weight Quantization (AWQ) to all models. See how in our notebook.

Usage Example:

# Quick start - quantize TinyLlama to 4-bit
oumi quantize --method awq_q4_0 --model "TinyLlama/TinyLlama-1.1B-Chat-v1.0" --output quantized_model

# With configuration file
oumi quantize --config quantization_config.yaml

⚖️ Judge API V2 (MAJOR UPDATE)

LLM-as-a-Judge is a method for using foundation models to reliably evaluate other foundation models. We’ve overhauled Oumi’s LLM-as-Judge interface for ease-of-use and flexibility. Check out our notebook here.

Usage Example:

from oumi.judges.simple_judge import SimpleJudge

# Built-in truthfulness judge
simple_judge = SimpleJudge(judge_config="oumi://configs/projects/judges/generic/truthfulness.yaml")

dataset = [{"request": "What is the capital of France?", "response": "Rome"}]
outputs = simple_judge.judge(dataset)

🎯 Adaptive Inference (NEW)

💪 Adaptive Inference, as we term it, refers to new features in Oumi for resuming training (or any task) when a job has crashed, as well as optimizing inference parallelization to maximize bandwidth. Learn more in our notebook.

🛠️ Developer Experience

  • Updated contributing guidelines
  • Enhanced documentation
  • Tutorial notebook fixes
  • Improved error handling and testing
  • MLflow integration improvements
  • Multi-node verl Slurm job support
  • Rich logging handler option

New Contributors

Full Changelog: v0.2.1...v0.3.0

v0.2.1

11 Jul 18:00
7740723
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.2.0...v0.2.1

v0.2.0

23 Jun 19:04
5ced77a
Compare
Choose a tag to compare

Highlights

GRPO support for trl and verl trainers

Oumi now supports GRPO training for both the trl and verl libraries! This allows you to run GRPO training with no/low code using Oumi's configs. You can also benefit from other features of the Oumi platform, such as custom evaluation and launching remote jobs.

Running GRPO training in Oumi is as simple as:

  1. Create a reward function, and register it to Oumi's reward function registry using @register("<my_reward_fn>", RegistryType.REWARD_FUNCTION).
  2. Create a dataset class to process your HF dataset into the format needed for your target framework, and register it to Oumi's dataset registry using @register_dataset("@hf-org-name/my-dataset-name").
  3. Create an Oumi training config with your model, dataset, reward function, and hyperparameters. For specific details on setting up the config for GRPO, see our documentation.
  4. Launch the training job locally using the oumi train CLI, or launch a remote job using the oumi launch CLI.

For an end-to-end example using Oumi + trl, check out our notebook walkthrough. For verl, check out our multi-modal Geometry3K config. Finally, check out our blog post for more information.

Models built with Oumi: HallOumi and CoALM

We’re proud to announce the release of two models built with Oumi: HallOumi and CoALM! Both of these were trained on Oumi, and we provide recipes to reproduce their training from scratch.

  • 🧀 HallOumi: A truly open-source claim verification (hallucination detection) model developed by Oumi, outperforming Claude Sonnet, OpenAI o1, DeepSeek R1, Llama 405B, and Gemini Pro at only 8B parameters. Check out the Oumi recipe to train the model here.
  • 🤖 CoALM: Conversational Agentic Language Model (CoALM) is a a unified approach that integrates both conversational and agentic capabilities. It includes an instruction tuning dataset and three trained models (8B, 70B, 405B). The project was a partnership between the ConvAI Lab at UIUC and Oumi, and the paper was accepted to ACL. Check out the Oumi recipes to train the models here.

New model support: Llama 4, Qwen3, Falcon H1, and more

We’ve added support for many recent models to Oumi, with tested recipes that work out-of-the-box!

Support for Slurm and Frontier clusters

At Oumi, we want unify and simplify the processes for running jobs on remote clusters. We have now added support for launching jobs on Slurm clusters, and on Frontier, a supercomputer at the Oak Ridge Leadership Computing Facility.

What's Changed

Full Changelog: v0.1.14...v0.2.0

v0.1.14

10 Jun 20:55
ca102c3
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.1.13...v0.1.14

v0.1.13

29 May 22:12
b206d6c
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.1.12...v0.1.13

v0.1.12

16 Apr 18:48
e92daf4
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.1.11...v0.1.12

v0.1.11

06 Apr 22:02
54781ca
Compare
Choose a tag to compare

Oumi v0.1.11 Release Notes 🚀

Key Highlights

Model Support 🤖

  • Integrated Llama 4 (Scout and Maverick variants) with complete workflow configs 🦙
  • Added LoRA training for Phi3, Phi4, and Qwen2.5-VL multimodal models 🖼️

Developer Experience 💻

  • Introduced MLflow integration for experiment tracking 📝
  • Enhanced CLI with convenient alias functionality ⌨️

HallOumi Framework 🧠

  • Added examples for Halloumi
  • Added dedicated inference notebooks for both generative and classifier approaches 📓

Welcome to our new contributors @hommayushi3 and @gabrielaugz! 👋

For details, see the [full changelog](v0.1.10...v0.1.11).

v0.1.10

25 Mar 01:41
627cd39
Compare
Choose a tag to compare

What's Changed

  • Increment pillow version for compatibility with Python 3.13 by @nikg4 in #1566
  • [Evaluation] Bug: Multiple GPUs attempt to save in the same folder by @kaisopos in #1567

Full Changelog: v0.1.9...v0.1.10

0.1.9

24 Mar 21:27
d25d4a8
Compare
Choose a tag to compare

What's Changed

  • Add QwQ full fine-tune and QLoRA configs by @wizeng23 in #1518
  • Update TRL to 0.15 and fix Liger/dataset code by @wizeng23 in #1507
  • [tiny] Remove vLLM Colab link and fix Alpaca Eval quickstart by @wizeng23 in #1530
  • Evaluation: Inference optimizations by @kaisopos in #1522
  • Qwen2.5 VL: Replace "from source" install with transformers>=0.49 by @nikg4 in #1528
  • [Evaluation] Renaming evaluation_platformevaluation_backend by @kaisopos in #1526
  • [tiny] Clean up datasets code by @wizeng23 in #1529
  • Minor logging improvements in BaseMapDataset by @nikg4 in #1532
  • Upload scripts used in a Weekly Walkthrough by @taenin in #1533
  • Update VisionLanguageConversationFeatureGenerator by @nikg4 in #1531
  • [docs] add security.md by @oelachqar in #1534
  • [Evaluation] Custom evaluation notebook: a reliability classifier by @kaisopos in #1535
  • Multimodal: Limit max number of images per Conversation by @nikg4 in #1536
  • Auto-populate and validate params specific to vision_language_sft collator in TrainingConfig by @nikg4 in #1537
  • Update Oumi Env to use Rich formatting by @taenin in #1541
  • Update oumi launch to use Rich formatting by @taenin in #1543
  • Update oumi evaluate to use rich formatting. by @taenin in #1544
  • Update the CLI to replace all prints with Rich prints. by @taenin in #1547
  • Render the oumi env command as a shell block in bug reports. by @taenin in #1548
  • Define Conversation proto bufs by @nikg4 in #1550
  • [Evaluation] Modifying Alpaca Eval results format to be consistent with LM Harness by @kaisopos in #1551
  • Augmenting logging training/model statistics by @optas in #1545
  • Misc no-op code cleanups by @nikg4 in #1553
  • Add code used for the evaluation demo. by @taenin in #1556
  • Add OUMI_FORCE_EDITABLE_INSTALL env var to do editable Oumi install from source in job configs by @wizeng23 in #1420
  • Add letter counting GRPO example by @wizeng23 in #1539
  • Remove UV install from notebooks as this breaks colab by @taenin in #1558
  • [Evaluation] Updates in hallucination notebook by @kaisopos in #1552
  • [Evaluations] Custom evals: Adding support for eval_kwargs by @kaisopos in #1557
  • Logging message update in log_number_of_model_parameters by @nikg4 in #1560
  • [Evaluation][Custom] Removing restrictions and better error checking by @kaisopos in #1561
  • Support text truncation (max_length) for vision_language_sft collator by @nikg4 in #1559
  • phi 4 multimodal training version 1 ( with limitations ) by @optas in #1555
  • Phi-4 basic inference with native/vllm by @optas in #1563
  • [minor] phi4 train improvements by @optas in #1564
  • Fix printing errors in oumi env for non-string values. by @taenin in #1565

Full Changelog: v0.1.8...v0.1.9