GPU 功能需装 oumi[gpu] 扩展,基础包不含;远程任务示例命令文件名写的是 gcp_job,切云厂商靠 --resources.cloud 参数而非换配置文件;项目处于 beta,部分高级功能可能变动。
oumi
oumi-aiApache-2.0活跃维护一站式搞定 Qwen、Gemma 等开源大模型和多模态模型的微调(SFT/RL)、评测与部署,零代码也能上手。
Easily fine-tune (SFT/RL), evaluate, and deploy Qwen, Gemma, or any open agentic LLM/VLM!
uv pip install oumi
uv pip install 'oumi[gpu]'README 未给出具体显存要求;GPU 支持需安装 oumi[gpu] 或使用带 --gpus all 的 Docker 镜像,README 未列明支持的 GPU 厂商与型号。
一站式开源平台,覆盖基础模型微调、评估与部署全流程,开箱即用
一站式搞定 Qwen、Gemma 等开源大模型和多模态模型的微调(SFT/RL)、评测与部署,零代码也能上手。
核心能力
- 用现成 recipe 配置直接跑 SFT、DPO、GRPO 训练
- 支持 FSDP、DeepSpeed、DDP 分布式训练
- 集成 vLLM、SGLang 优化推理引擎
- 内置 LLM-as-a-Judge 与 RubricJudge 评估
- 用 oumi launch 一键提交到 AWS、GCP、Azure、Lambda
容易踩的坑
- v0.9最新正式版2026-09-16 · 2026-09-16 21:48 UTC
Oumi v0.9 Release Notes
This release makes Oumi an end-to-end stack for agentic, tool-using models: you can now train on tool-calling data, execute tool calls against real environments (databases, HTTP endpoints, deterministic lookups, and model-simulated tools), synthesize multi-turn tool conversations, and run GRPO/RL over any of those environments with verl. It also adds a multi-criteria
RubricJudge, partial-failure-tolerant inference/synthesis/judging, a Modal GPU launcher and SkyPilot-routed Slurm, and new Gemma 4 recipes.Highlights
🛠️ Tool-use training
Train models to call tools end-to-end:
- Tool-aware chat templates — access the tool-call section, auto-detect the tool-call form a template expects (#2605, #2603, #2604)
- Trainable tool adapters (#2658)
- Collator masking that correctly remasks tool-response spans, including responses nested in an assistant turn (#2594)
- Tool-calling SFT and text DPO over JSONL, with serialized tool arguments decoded during tokenization (#2642, #2517)
- Canonical tool-call
Conversationshape + JSON-string ↔ dict argument helpers (#2602, #2601)
🌐 Tool-execution Environments
The new
oumi.environmentssubsystem supports executing tools calls with various backends.ExecutableEnvironment/ExecutableTool— the base abstraction for tools that actually run. (#2527)DatabaseExecutableEnvironment— run tool calls against a database session, with rollback-isolated teardown (see the EHR example). (#2528, #2545)EndpointEnvironment— dispatch tool calls to HTTP endpoints. (#2625)- Lookup (deterministic) and simulated environments — deterministic lookup tables validated against tool schemas, with argument defaults applied and any JSON value as output; model-simulated tool execution for synthesis. (#2623, #2536, #2573, #2574)
- Tool executors are resolvable by registry name, so environments can wire tools declaratively. (#2555)
🎯
OumiVerlTool— RL over any Oumi environmentOumiVerlToolbridges Oumi's executable environments into verl, so you can run verl GRPO tool-use RL over any Oumi environment. Custom judge rewards are now supported in verl GRPO, multi-turn prompts are supported in the GRPO data path, conversation metadata is preserved through GRPO datasets, and per-run verl metrics are mirrored toverl_metrics.jsonlwith richer logging. (#2569, #2624, #2542, #2644, #2643, #2646)⚖️
RubricJudge— multi-criteria evaluationA new
RubricJudgescores a response against several named criteria in a single judge call, instead of one boolean per pass — useful both for evaluation and as a GRPO reward. Ships with example configs underconfigs/projects/judges/rubricand documentation. (#2626, #2628, #2629)🧬 Conversation synthesis
Synthesize multi-turn tool-use conversations:
- Stateful and stateless synthetic tool environments for multi-turn tool interactions (#2410, #2457)
- Bring your own inference engine/provider for synthesis (#2504)
- Reusable
ConversationSynthesizerbuilding blocks to drive synthesis programmatically (#2531) - Token-usage accounting across a synthesis run (#2480)
- Misc improvements: #2559, #2630, #2588, #2591, #2576
🔁 Partial-failure-tolerant pipelines
Long inference, synthesis, and judging runs can now return partial results instead of failing the whole batch. New
infer_partial()/synthesize_partial()/judge_partial()templates, per-row partial failures inRemoteInferenceEngine, partial-inference result types, and a progress-file reporter you can poll while a run is in flight. (#2498, #2499, #2500, #2501, #2502)⚡ Inference hardening
- Anthropic: configurable prompt-cache TTL, cache tokens folded into
prompt_tokens, correct model-version gating for round and dated model names, and sampling params omitted for models that reject them. (#2665, #2620, #2568, #2538)
- v0.82026-05-07 · 2026-05-07 17:02 UTC
查看更新说明
Oumi v0.8 Release Notes
This release lands the new
oumi deployCLI for shipping models to dedicated inference endpoints, anoumi-mcpserver for MCP-capable assistants, batch-API parity across hosted providers, and a major dependency push toTransformers``v5 /TRL0.30+ /vLLM` 0.20+.Highlights
oumi deploy— new CLI for dedicated inference endpointsA first-class deployment CLI that uploads a model and stands up a dedicated endpoint on a managed inference provider. Fireworks.ai lands first, Parasail ships in this release, and the architecture (
base_client.py, typed exception hierarchy) is built so additional providers can plug in.What it does in one go: validates the model directory → uploads weights (full model or LoRA adapter) → creates a dedicated endpoint with the requested hardware → polls until live → optionally fires test prompts.
# Single-command deploy from a YAML config oumi deploy up --config configs/examples/deploy/fireworks_deploy.yaml # Or assemble the deploy on the CLI oumi deploy up \ --model-path /path/to/my-finetuned-model/ \ --provider fireworks \ --hardware nvidia_h100_80gb \ --gpu-count 2 \ --min-replicas 1 \ --max-replicas 4 # Lifecycle commands oumi deploy upload --model-path ... --provider fireworks --wait oumi deploy create-endpoint --model-id ... --provider fireworks --wait oumi deploy status --endpoint-id ep-123 --provider fireworks --watch oumi deploy list --provider fireworks oumi deploy list-models --provider fireworks oumi deploy list-hardware --provider fireworksExample
fireworks_deploy.yaml:model_source: /path/to/my-finetuned-model/ provider: fireworks model_name: my-finetuned-model-v1 model_type: full # or "adapter" for LoRA + base_model: ... hardware: accelerator: nvidia_h100_80gb count: 2 autoscaling: min_replicas: 1 max_replicas: 4 test_prompts: - "Hello, how are you?"oumi-mcp— Model Context Protocol serverOumi now ships an MCP server so MCP-capable assistants (Claude Desktop, Claude Code, Cursor, …) can browse the ~500 bundled YAML configs, launch and monitor training / eval / inference jobs locally or on cloud, and read built-in workflow guidance — all from chat.
pip install "oumi[mcp]" # Two equivalent entry points, both stdio: oumi-mcp python -m oumi.mcpWire it up in your client (Claude Code shown):
claude mcp add oumi oumi-mcpOr in
claude_desktop_config.json/ Cursor /~/.claude.json:{ "mcpServers": { "oumi": { "command": "oumi-mcp" } } }Built-in prompts cover get-started, train, infer, eval, synth, analyze, post-training, cloud-launch, and an end-to-end
mle_workflow. Full guide:docs/user_guides/mcp.md.Batch API support across hosted inference providers
Hosted batch-inference parity.
oumi inferand the engines now expose batch endpoints for Anthropic, Fireworks, and Together, plus job control (cancel, partial retry) and progress tracking.from oumi.core.configs import InferenceConfig from oumi.inference import AnthropicInferenceEngine config = InferenceConfig.from_yaml("infer.yaml") engine = AnthropicInferenceEngine(model_params=config.model) # Submit, poll, fetch results — engine handles the batch lifecycle results = engine.infer_batch(input=conversations, inference_config=config)# Inside an inference YAML, opt in to the batch API remote_params: use_batch_api: true batch_completion_window: "24h"RPM / TPM rate limiting on
RemoteInferenceEngineSliding-window rate limiting baked into every remote engine so you can pin API budgets without reaching for an external proxy. Tracks RPM, input TPM, and output TPM independently from each provider response.
politeness_policyis now deprecated in favor ofrequests_per_minute.# - v0.72026-01-29 · 2026-01-29 19:59 UTC
查看更新说明
Oumi 0.7 Release
✨ Highlights
This release brings major platform upgrades (Python 3.14, PyTorch 2.9), new inference engines, rule-based evaluation judges, and significant CLI/documentation improvements.
🚀 New Features
Inference
- Fireworks inference engine - New backend for Fireworks AI (#2158)
# Fireworks example (set FIREWORKS_API_KEY env var) model: model_name: "accounts/fireworks/models/llama4-maverick-instruct-basic" engine: FIREWORKSoumi infer -i -c configs/recipes/llama4/inference/maverick_instruct_fireworks_infer.yaml- OpenRouter inference engine - New backend for OpenRouter (#2168)
# OpenRouter example (set OPENROUTER_API_KEY env var) model: model_name: "anthropic/claude-sonnet-4.5" engine: OPENROUTER# Use via cli oumi infer -i -c configs/apis/openrouter/infer_claude_4_5_sonnet.yaml- Loading spinner - Visual feedback during inference operations (#2085)
- Pre-trained custom model support - Load your own pre-trained models (#2044)
Evaluation
- Rule-based judges - Deterministic evaluation judges with CLI integration and examples (#2119, #2171)
# configs/projects/judges/rule_based/regex_match_phone.yaml judge_params: prompt_template: "{response}" rule_judge_params: rule_type: "regex" input_fields: - "response" rule_config: pattern: "\\d{3}-\\d{4}" input_field: "response" match_mode: "search" inverse: falseoumi judge dataset -c regex-match-phone --input data/judge_input.jsonlTraining
- Metrics logging callback - Log training metrics to disk (#2140)
- Per-reward function configuration - New
reward_function_kwargssupport (#2143)
trainer_type: TRL_GRPO reward_functions: - rubric_reward - gsm8k reward_function_kwargs: rubric_reward: judge_panel_path: "configs/projects/judges/rubric_panel.yaml" gsm8k: strict: trueData & Synthesis
- XLSX and DOCX support - New formats for synthesis and datasets (#2148)
- Few-shot sampling - Sample few-shot examples from sources during synthesis (#2151)
- Batch AttributeSynthesizer - Batch processing support (#2181)
- RaR datasets - New datasets and base rubric dataset classes (#2144)
Infrastructure
- Nebius cloud provider - New cloud option (#2179)
- Kubernetes Skypilot support - Added k8s dependency (#2124)
- ARM Docker support - Enabled ARM builds with useful utilities (#2141)
- One-line installer - New
install.shscript (#2155)
# Basic installation curl -LsSf https://oumi.ai/install.sh | bash # With GPU support curl -LsSf https://oumi.ai/install.sh | bash -s -- --gpu # With specific Python version curl -LsSf https://oumi.ai/install.sh | bash -s -- --python 3.12- Telemetry - Optional usage analytics via PostHog (#2145)
📈 Improvements
Performance
- Lazy CLI imports - Faster startup times (#2110)
CLI
- List aliases, auto-complete, help, and common args improvements (#2122)
- Judge command UX improvements (#2129)
- Version and system info utilities (#2142)
oumi env # Show Oumi version, Python version, installed packages, GPU infoDocumentation
- Complete docs refresh with new custom theme (#2133, #2167)
- Added CLI reference sections for analyze, tune, and quantize (#2126)
- Updated installation instructions (#2169)
Configs
- Added Gemma-2-IT chat template and example config (#2159)
- Updated Gemma3-4B-IT SFT training config (#2156)
⚠️ Breaking Changes
- Dropped Python 3.9 support - Minimum supported version is now Python 3.10 (#2107)
- Deprecated alpaca_eval integration (#2108)
- Deprecated protobuf conversation definitions (#2127)
🐛 Bug Fixes
- Fixed synthesis rounding errors (#2104)
- v0.6.02025-12-17 · 2025-12-17 21:26 UTC
查看更新说明
Oumi v0.6.0 Changelog
We’re excited to announce Oumi v0.6.0! This release brings Python 3.13 support, a powerful new CLI for dataset analysis, the TRL GOLD trainer for preference learning, and first-class Kubernetes deployment support.
Highlights
Python 3.13 Support
Oumi now officially supports Python 3.13, letting you take advantage of the latest Python performance improvements and features.
(#2092)
New
oumi analyzeCLI CommandUnderstanding your training data just got easier. The new
oumi analyzecommand lets you inspect and analyze datasets directly from the command line—no code required.# Analyze a local dataset oumi analyze -c configs/examples/analyze/analyze.yaml# Export results in different formats oumi analyze -c configs/examples/analyze/analyze.yaml --format parquet --output ./my_resultsCreate a simple config to analyze any HuggingFace dataset:
# hf_analyze.yaml dataset_name: argilla/databricks-dolly-15k-curated-en split: train sample_count: 1000 analyzers: - id: lengthCheck out the analyze documentation for more details.
(#2069, #2071)
TRL GOLD Trainer
We’ve added support for the GOLD (Generalized Online Learning from Demonstrations trainer from TRL. GOLD is an online preference learning algorithm that improves upon DPO by generating responses on-the-fly during training, leading to better alignment with less distribution shift.
# Run GOLD training with the example config oumi train -c configs/examples/gold/train.yamlOr configure it in your own training config:
training: trainer_type: "TRL_GOLD" gold: teacher_model_name_or_path: "HuggingFaceTB/SmolLM2-360M-Instruct" temperature: 0.9 max_completion_length: 512 lmbda: 0.5 # 50% on-policy, 50% off-policyThis requires TRL 0.26+, which is now the default.
(#2095, #2097)
Code Evaluation Judges
New LLM-as-judge evaluators specifically designed for assessing code quality. These judges can evaluate generated code for correctness, style, security, and other software engineering best practices—perfect for evaluating coding assistants and code generation models.
Thanks to @N-45div for this contribution!
(#2087)
Kubernetes Deployment
You can now deploy Oumi training jobs on Kubernetes clusters.
Option 1: Using SkyPilot (new in this release)
# k8s_job.yaml name: my-training-job resources: cloud: k8s accelerators: "A100:1" run: | oumi train -c configs/recipes/llama3_1/sft/8b_lora/train.yamloumi launch up -c k8s_job.yaml --cluster my-k8s-clusterOption 2: Direct kubectl deployment
For existing K8s clusters, you can deploy Oumi directly using kubectl. See the Kubernetes deployment guide for detailed instructions including platform-specific examples for EKS, GKE, and AKS.
Thanks to @min-oumi!
(#2054, #2068)
Custom Master Port for Distributed Training
Running multiple distributed training jobs on the same node? You can now specify a custom master port to avoid conflicts.
Thanks to @monnetb!
(#2021)
ARM Docker Images for Mac
Apple Silicon users rejoice! We now publish ARM64 Docker images, so you can run Oumi containers natively on M1/M2/M3 Macs without emulation overhead. (#2049)
Bug Fixes
- Fix Docker release action (#2023)
- Fix length analyzer column naming and add comprehensive message summary tests (#2057)
- Fix "too many files open" error when processing large datasets (#2060)
- Fix lm_eval multi-GPU integration for distributed evaluation (#2064)
- Fix mutable default argument in conversation handling (#2048)
Documentation
- Add new
- v0.5.02025-11-18 · 2025-11-18 21:14 UTC
查看更新说明
Oumi v0.5.0 Release Notes
We're excited to announce Oumi v0.5.0, featuring hyperparameter tuning capabilities, expanded inference options, and enhanced launcher functionality.
🚀 Major Features
Data Synthesis Module
- Introducing
oumi synth- a powerful data synthesis module for automatically generating high-quality training datasets using LLMs (#1965) - Template-based Generation: Control attributes like difficulty, style, and domain for diverse dataset creation
- Domain-specific Datasets: Generate data for specialized fields (legal, medical, technical, etc.)
- Data Augmentation: Expand existing small datasets by generating variations
- Multiple Formats: Support for instruction-following, QA, and conversational datasets
Hyperparameter Tuning Module
- Introducing
oumi tune- a new hyperparameter search and optimization module for efficient model tuning (#1998, #1991). Thank you @gbladislau-aumo!
Inference & Training Enhancements
- Bedrock Integration: Added AWS Bedrock Inference Engine support for scalable model deployment (#1983) - Thank you @aniruddh-alt!
- GKD Trainer Support: New Generalized Knowledge Distillation trainer for model compression workflows (#2000)
- OpenEnv RL Training: Demo notebook showcasing reinforcement learning training with reward visualization (#1996, #2012)
HPC & Launcher Improvements
- NERSC Perlmutter Support: Oumi launcher now supports the NERSC Perlmutter HPC cluster (#1959)
- Enhanced Logging: Added job log trailing and dedicated logs command for better debugging (#1951, #1964)
- Lazy Cloud Initialization: Improved launcher startup performance (#1985)
✨ Improvements
Model Configuration
- Added Qwen3 VL 4B model configurations (#1992, #1993)
- Exposed
chat_template_kwargsparameter in ModelParams for fine-grained control (#1997)
Developer Experience
- Updated BaseConfig to support non-primitive field types (#1684)
- Optional stdout_file parameter in SLURM client (#1974)
🐛 Bug Fixes
- Fixed NaN values in dataset analyzer for single-conversation datasets (#1961)
- Resolved SLURM environment variable issues (PMI_RANK → SLURM_PROCID) (#2010) (Thank you @AliliRayane !)
- Fixed non-primitive field saving in base config (#2005)
- Updated uv pip install commands to include --system flag (#1979)
- Unique inference scratch filenames via hashing (#1986)
📦 Dependency Updates
- Upgraded transformers: 4.56 → 4.57 (#1966, #1990)
- Upgraded TRL: 0.24.0 → 0.25 (#1995, #2011)
- Pinned uvicorn version for SkyPilot compatibility (#1978)
🎉 New Contributors
Welcome to our new contributors!
- @gbladislau
- @oumiandy
- @AliliRayane
📖 Full Changelog
For a complete list of changes, see the full changelog
- Introducing
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Everything you need to build state-of-the-art foundation models, end-to-end
🔥 News
- [2026/09] Oumi v0.9 released: an end-to-end stack for agentic, tool-using models, with tool-calling SFT/DPO, executable tool environments, GRPO over any Oumi environment with verl, and a multi-criteria
RubricJudge. - [2026/08] Extended GRPO reinforcement learning to support tool use
- [2026/07] Added support for tools, environments (simulated, lookup, database), and agentic data synthesis
- [2026/06] Added support for the Gemma 4 model family
- [2026/06] Added partial-failure support across inference, judging, and data synthesis
- [2026/05] Oumi v0.8 released with
oumi deployCLI for dedicated inference endpoints, anoumi-mcpMCP server for Claude/Cursor integration, batch API support across Anthropic/Fireworks/Together, and Transformers v5 / TRL / vLLM dependency upgrades - [2026/03] Upgraded to Transformers v5, TRL v0.30, vLLM v0.19, and veRL v0.7 compatibility
- [2026/03] New
oumi deploycommand for deploying Oumi models to dedicated inference endpoints on Fireworks and Parasail - [2026/03] Added support for the Qwen3.5 model family
- [2026/02] Preview of using the Oumi Platform and Lambda to fine-tune and deploy a 4B model for user intent classification
- [2026/02] Lambda and Oumi partner for end-to-end custom model development
- [2026/01] Oumi v0.7 released with Python 3.14 and PyTorch 2.9 support, Fireworks and OpenRouter inference engines, and rule-based evaluation judges
- [2025/12] Oumi v0.6.0 released with Python 3.13 support,
oumi analyzeCLI command, TRL 0.26+ support, and more - [2025/12] WeMakeDevs AI Agents Assemble Hackathon: Oumi webinar on Finetuning for Text-to-SQL
- [2025/12] Oumi co-sponsors WeMakeDevs AI Agents Assemble Hackathon with over 2000 project submissions
- [2025/11] Oumi v0.5.0 released with advanced data synthesis, hyperparameter tuning automation, support for OpenEnv, and more
- [2025/11] Example notebook to perform RLVF fine-tuning with OpenEnv, an open source library from the Meta PyTorch team for creating, deploying, and distributing agentic RL environments
- [2025/10] Oumi v0.4.1 and v0.4.2 released] with support for Qwen3-VL and Transformers v4.56, data synthesis documentation and examples, and many bug fixes
- [2025/09] Oumi v0.4.0 released with DeepSpeed support, a Hugging Face Hub cache management tool, KTO/Vision DPO trainer support
- [2025/08] Training and inference support for OpenAI's
gpt-oss-20bandgpt-oss-120b: recipes here - [2025/08] Aug 14 Webinar - OpenAI's gpt-oss: Separating the Substance from the Hype.
- [2025/08] Oumi v0.3.0 released with model quantization (AWQ), an improved LLM-as-a-Judge API, and Adaptive Inference
- [2025/07] Recipe for Qwen3 235B
- [2025/07] July 24 webinar: "Training a State-of-the-art Agent LLM with Oumi + Lambda"
- [2025/06] Oumi v0.2.0 released with support for GRPO fine-tuning, a plethora of new model support, and much more
- [2025/06] Announcement of Data Curation for Vision Language Models (DCVLR) competition at NeurIPS2025
- [2025/06] Recipes for training, inference, and eval with the newly released Falcon-H1 and Falcon-E models
- [2025/05] Support and recipes for InternVL3 1B
- [2025/04] Added support for training and inference with Llama 4 models: Scout (17B activated, 109B total) and Maverick (17B activated, 400B total) variants, including full fine-tuning, LoRA, and QLoRA configurations
- [2025/04] Recipes for Qwen3 model family
- [2025/04] Introducing HallOumi: a State-of-the-Art Claim-Verification Model (technical overview)
- [2025/04] Oumi now supports two new Vision-Language models: Phi4 and Qwen 2.5
🔎 About
Oumi is a fully open-source platform that streamlines the entire lifecycle of foundation models - from data preparation and training to evaluation and deployment. Whether you're developing on a laptop, launching large scale experiments on a cluster, or deploying models in production, Oumi provides the tools and workflows you need.
With Oumi, you can:
- 🚀 Train and fine-tune models from 10M to 400B+ parameters using state-of-the-art techniques (SFT, LoRA, QLoRA, DPO, GRPO, and more)
- 🛠️ Train agentic, tool-using models: tool-calling SFT, executable tool environments (database, HTTP endpoint, lookup, simulated), and reinforcement learning over those environments with verl GRPO
- 🤖 Work with both text and multimodal models (Llama, Gemma, Qwen, DeepSeek, GLM, Phi, and others)
- 🔄 Synthesize and curate training data, including multi-turn tool-use conversations, with LLM judges
- ⚡️ Serve models efficiently with popular inference engines (vLLM, SGLang), or deploy to dedicated endpoints with
oumi deploy - 📊 Evaluate models across standard benchmarks and with multi-criteria rubric judges
- 🌎 Run anywhere - from laptops to clusters to clouds (AWS, Azure, GCP, Lambda, Modal, Slurm, and more)
- 🔌 Integrate with both open models and commercial APIs (OpenAI, Anthropic, Vertex AI, Together, Fireworks, Parasail, ...), and drive Oumi from Claude or Cursor with the
oumi-mcpMCP server
All with one consistent API, production-grade reliability, and all the flexibility you need for research.
Learn more at oumi.ai, or jump right in with the quickstart guide.
🚀 Getting Started
| Notebook | Try in Colab | Goal |
|---|---|---|
| 🎯 Getting Started: A Tour | Quick tour of core features: training, evaluation, inference, and job management | |
| 🔧 Model Finetuning Guide | End-to-end guide to LoRA tuning with data prep, training, and evaluation | |
| 📚 Model Distillation | Guide to distilling large models into smaller, efficient ones | |
| 📋 Model Evaluation | Comprehensive model evaluation using Oumi's evaluation framework | |
| ☁️ Remote Training | Launch and monitor training jobs on cloud (AWS, Azure, GCP, Lambda, etc.) platforms | |
| 📈 LLM-as-a-Judge | Filter and curate training data with built-in judges | |
| 🎯 GRPO Reinforcement Learning | Train a model with GRPO and a custom reward function | |
| 🖼️ Vision Language Models | Fine-tune and run inference with vision-language models | |
| ⚡️ vLLM Inference | Run fast local inference with the vLLM engine |
🔧 Usage
Installation
Choose the installation method that works best for you:
# Basic installation
uv pip install oumi
# With GPU support
uv pip install 'oumi[gpu]'
# Latest development version
uv pip install git+https://github.com/oumi-ai/oumi.git
Don't have uv? Install it or use pip instead.
# Pull the latest image
docker pull ghcr.io/oumi-ai/oumi:latest
# Run oumi commands
docker run --gpus all -it ghcr.io/oumi-ai/oumi:latest oumi --help
# Train with a mounted config
docker run --gpus all -v $(pwd):/workspace -it ghcr.io/oumi-ai/oumi:latest \
oumi train --config /workspace/my_config.yaml
Try Oumi without setting up a Python environment. This installs Oumi in an isolated environment:
curl -LsSf https://oumi.ai/install.sh | bash
For more advanced installation options, see the installation guide.
Oumi CLI
You can quickly use the oumi command to train, evaluate, and infer models using one of the existing recipes:
# Training
oumi train -c configs/recipes/smollm/sft/135m/quickstart_train.yaml
# Evaluation
oumi evaluate -c configs/recipes/smollm/evaluation/135m/quickstart_eval.yaml
# Inference
oumi infer -c configs/recipes/smollm/inference/135m_infer.yaml --interactive
For more advanced options, see the training, evaluation, inference, and llm-as-a-judge guides.
Running Jobs Remotely
You can run jobs remotely on cloud platforms (AWS, Azure, GCP, Lambda, etc.) using the oumi launch command:
# GCP
oumi launch up -c configs/recipes/smollm/sft/135m/quickstart_gcp_job.yaml
# AWS
oumi launch up -c configs/recipes/smollm/sft/135m/quickstart_gcp_job.yaml --resources.cloud aws
# Azure
oumi launch up -c configs/recipes/smollm/sft/135m/quickstart_gcp_job.yaml --resources.cloud azure
# Lambda
oumi launch up -c configs/recipes/smollm/sft/135m/quickstart_gcp_job.yaml --resources.cloud lambda
Note: Oumi is in beta and under active development. The core features are stable, but some advanced features might change as the platform improves.
💻 Why use Oumi?
If you need a comprehensive platform for training, evaluating, or deploying models, Oumi is a great choice.
Here are some of the key features that make Oumi stand out:
- 🔧 Zero Boilerplate: Get started in minutes with ready-to-use recipes for popular models and workflows. No need to write training loops or data pipelines.
- 🏢 Enterprise-Grade: Built and validated by teams training models at scale
- 🎯 Research Ready: Perfect for ML research with easily reproducible experiments, and flexible interfaces for customizing each component.
- 🌐 Broad Model Support: Works with most popular model architectures - from tiny models to the largest ones, text-only to multimodal.
- 🚀 SOTA Performance: Native support for distributed training techniques (FSDP, DeepSpeed, DDP) and optimized inference engines (vLLM, SGLang).
- 🤝 Community First: 100% open source with an active community. No vendor lock-in, no strings attached.
📚 Examples & Recipes
Explore the growing collection of ready-to-use configurations for state-of-the-art models and training workflows:
Note: These configurations are not an exhaustive list of what's supported, simply examples to get you started. You can find a more exhaustive list of supported models, and datasets (supervised fine-tuning, pre-training, preference tuning, and vision-language finetuning) in the oumi documentation.
Qwen Family
| Model | Example Configurations |
|---|---|
| Qwen3-Next 80B A3B | LoRA • Inference • Inference (Instruct) • Evaluation |
| Qwen3.5 0.8B | FFT • LoRA • Inference (vLLM) • Inference |
| Qwen3 30B A3B | LoRA • Inference • Evaluation |
| Qwen3 32B | LoRA • Inference • Evaluation |
| Qwen3 14B | LoRA • Inference • Evaluation |
| Qwen3 8B | FFT • Inference • Evaluation |
| Qwen3 4B | FFT • Inference • Evaluation |
| Qwen3 1.7B | FFT • Inference • Evaluation |
| Qwen3 0.6B | FFT • Inference • Evaluation |
| Qwen3-Coder 30B A3B Instruct | Inference (vLLM) • Inference (vLLM, tool calling) • Inference (GGUF) • Inference (GGUF, macOS) |
| QwQ 32B | FFT • LoRA • QLoRA • Inference • Evaluation |
| Qwen2.5-VL 3B | SFT • LoRA • Inference (vLLM) • Inference |
| Qwen2-VL 2B | SFT • LoRA • Inference (vLLM) • Inference (SGLang) • Inference • Evaluation |
💎 Gemma Family
| Model | Example Configurations |
|---|---|
| Gemma 4 E2B Instruct | FFT • LoRA |
| Gemma 4 E4B Instruct | FFT • LoRA |
| Gemma 4 12B Instruct | FFT • LoRA |
| Gemma 4 26B A4B Instruct | LoRA |
| Gemma 4 31B Instruct | LoRA |
| Gemma 3 4B Instruct | FFT • Inference • Evaluation |
| Gemma 3 12B Instruct | LoRA • Inference • Evaluation |
| Gemma 3 27B Instruct | LoRA • Inference • Evaluation |
🐋 DeepSeek R1 Family
| Model | Example Configurations |
|---|---|
| DeepSeek R1 671B | Inference (Together AI) |
| Distilled Llama 8B | FFT • LoRA • QLoRA • Inference • Evaluation |
| Distilled Llama 70B | FFT • LoRA • QLoRA • Inference • Evaluation |
| Distilled Qwen 1.5B | FFT • LoRA • Inference • Evaluation |
| Distilled Qwen 32B | LoRA • Inference • Evaluation |
🦙 Llama Family
| Model | Example Configurations |
|---|---|
| Llama 4 Scout Instruct 17B | FFT • LoRA • QLoRA • Inference (vLLM) • Inference • Inference (Together.ai) |
| Llama 4 Scout 17B | FFT |
| Llama 3.1 8B | FFT • LoRA • QLoRA • Pre-training • Inference (vLLM) • Inference • Evaluation |
| Llama 3.1 70B | FFT • LoRA • QLoRA • Inference • Evaluation |
| Llama 3.1 405B | FFT • LoRA • QLoRA |
| Llama 3.2 1B | FFT • Inference (vLLM) • Inference (SGLang) • Inference • Evaluation |
| Llama 3.2 3B | FFT • LoRA • QLoRA • Inference (vLLM) • Inference (SGLang) • Inference • Evaluation |
| Llama 3.3 70B | FFT • LoRA • QLoRA • Inference (vLLM) • Inference • Evaluation |
| Llama 3.2 Vision 11B | SFT • Inference (vLLM) • Inference (SGLang) • Evaluation |
🦅 Falcon family
| Model | Example Configurations |
|---|---|
| Falcon-H1 | FFT • Inference • Evaluation |
| Falcon-E (BitNet) | FFT • DPO • Evaluation |
🧠 gpt-oss Family
| Model | Example Configurations |
|---|---|
| gpt-oss 20B | LoRA (single GPU) • LoRA (multi-GPU) • Inference (vLLM) • Inference |
| gpt-oss 120B | LoRA (multi-GPU) • Inference (vLLM) • Inference (Together AI) • Inference |
🧩 GLM Family
| Model | Example Configurations |
|---|---|
| GLM-4.7 | Inference (Fireworks) |
| GLM-4.5-Air | Inference (GGUF) • Inference (GGUF, macOS) |
| GLM-4 9B Chat | Inference (vLLM) |
🦉 OLMo 3 Family
| Model | Example Configurations |
|---|---|
| OLMo 3 7B Instruct | FFT • Inference • Evaluation |
| OLMo 3 32B Instruct | LoRA • Inference • Evaluation |
🎨 Vision Models
| Model | Example Configurations |
|---|---|
| Llama 3.2 Vision 11B | SFT • LoRA • Inference (vLLM) • Inference (SGLang) • Evaluation |
| LLaVA 7B | SFT • Inference (vLLM) • Inference |
| Phi3 Vision 4.2B | SFT • LoRA • Inference (vLLM) |
| Phi4 Vision 5.6B | SFT • LoRA • Inference (vLLM) • Inference |
| Qwen2-VL 2B | SFT • LoRA • Inference (vLLM) • Inference (SGLang) • Inference • Evaluation |
| InternVL3 1B | SFT |
| Molmo 7B-D | SFT |
| Molmo 7B-O | SFT • GRPO |
| Qwen3-VL 2B | Inference |
| Qwen3-VL 4B | Inference |
| Qwen3-VL 8B | Inference |
| Qwen3-VL 30B A3B Instruct | FFT • LoRA |
| Qwen2.5-VL 3B | SFT • LoRA • Inference (vLLM) • Inference |
| SmolVLM-Instruct 2B | SFT • LoRA |
🔍 Even more options
This section lists all the language models that can be used with Oumi. Thanks to the integration with the 🤗 Transformers library, you can easily use any of these models for training, evaluation, or inference.
Models prefixed with a checkmark (✅) have been thoroughly tested and validated by the Oumi community, with ready-to-use recipes available in the configs/recipes directory.
Instruct Models
| Model | Size | Paper | HF Hub | License | Open 1 |
|---|---|---|---|---|---|
| ✅ SmolLM-Instruct | 135M/360M/1.7B | Blog | Hub | Apache 2.0 | ✅ |
| ✅ DeepSeek R1 Family | 1.5B/8B/32B/70B/671B | Blog | Hub | MIT | ❌ |
| ✅ Llama 3.1 Instruct | 8B/70B/405B | Paper | Hub | License | ❌ |
| ✅ Llama 3.2 Instruct | 1B/3B | Paper | Hub | License | ❌ |
| ✅ Llama 3.3 Instruct | 70B | Paper | Hub | License | ❌ |
| ✅ Phi-3.5-Instruct | 4B/14B | Paper | Hub | License | ❌ |
| ✅ Qwen3 | 0.6B-32B | Paper | Hub | License | ❌ |
| Qwen2.5-Instruct | 0.5B-70B | Paper | Hub | License | ❌ |
| OLMo 2 Instruct | 7B | Paper | Hub | Apache 2.0 | ✅ |
| ✅ OLMo 3 Instruct | 7B/32B | Paper | Hub | Apache 2.0 | ✅ |
| MPT-Instruct | 7B | Blog | Hub | Apache 2.0 | ✅ |
| Command R | 35B/104B | Blog | Hub | License | ❌ |
| Granite-3.1-Instruct | 2B/8B | Paper | Hub | Apache 2.0 | ❌ |
| Gemma 2 Instruct | 2B/9B | Blog | Hub | License | ❌ |
| ✅ Gemma 4 Instruct | E2B/E4B/12B/26B A4B/31B | Blog | Hub | License | ❌ |
| ✅ Qwen3.5 | 0.8B | Blog | Hub | License | ❌ |
| GLM-4.5-Air | 106B (Total) | Blog | Hub | MIT | ❌ |
| ✅ Gemma 3 Instruct | 4B/12B/27B | Blog | Hub | License | ❌ |
| DBRX-Instruct | 130B MoE | Blog | Hub | Apache 2.0 | ❌ |
| Falcon-Instruct | 7B/40B | Paper | Hub | Apache 2.0 | ❌ |
| ✅ Llama 4 Scout Instruct | 17B (Activated) 109B (Total) | Paper | Hub | License | ❌ |
| ✅ Llama 4 Maverick Instruct | 17B (Activated) 400B (Total) | Paper | Hub | License | ❌ |
Vision-Language Models
| Model | Size | Paper | HF Hub | License | Open |
|---|---|---|---|---|---|
| ✅ Llama 3.2 Vision | 11B | Paper | Hub | License | ❌ |
| ✅ LLaVA-1.5 | 7B | Paper | Hub | License | ❌ |
| ✅ Phi-3 Vision | 4.2B | Paper | Hub | License | ❌ |
| ✅ BLIP-2 | 3.6B | Paper | Hub | MIT | ❌ |
| ✅ Qwen2-VL | 2B | Blog | Hub | License | ❌ |
| ✅ Qwen3-VL | 2B/4B/8B | Blog | Hub | License | ❌ |
| ✅ SmolVLM-Instruct | 2B | Blog | Hub | Apache 2.0 | ✅ |
Base Models
| Model | Size | Paper | HF Hub | License | Open |
|---|---|---|---|---|---|
| ✅ SmolLM2 | 135M/360M/1.7B | Blog | Hub | Apache 2.0 | ✅ |
| ✅ Llama 3.2 | 1B/3B | Paper | Hub | License | ❌ |
| ✅ Llama 3.1 | 8B/70B/405B | Paper | Hub | License | ❌ |
| ✅ GPT-2 | 124M-1.5B | Paper | Hub | MIT | ✅ |
| DeepSeek V2 | 7B/13B | Paper | Hub | License | ❌ |
| Gemma2 | 2B/9B | Blog | Hub | License | ❌ |
| GPT-J | 6B | Blog | Hub | Apache 2.0 | ✅ |
| GPT-NeoX | 20B | Paper | Hub | Apache 2.0 | ✅ |
| Mistral | 7B | Paper | Hub | Apache 2.0 | ❌ |
| Mixtral | 8x7B/8x22B | Blog | Hub | Apache 2.0 | ❌ |
| MPT | 7B | Blog | Hub | Apache 2.0 | ✅ |
| OLMo | 1B/7B | Paper | Hub | Apache 2.0 | ✅ |
| ✅ Llama 4 Scout | 17B (Activated) 109B (Total) | Paper | Hub | License | ❌ |
Reasoning Models
| Model | Size | Paper | HF Hub | License | Open |
|---|---|---|---|---|---|
| ✅ gpt-oss | 20B/120B | Paper | Hub | Apache 2.0 | ❌ |
| ✅ Qwen3 | 0.6B-32B | Paper | Hub | License | ❌ |
| ✅ Qwen3-Next | 80B-A3B | Blog | Hub | License | ❌ |
| Qwen QwQ | 32B | Blog | Hub | License | ❌ |
Code Models
| Model | Size | Paper | HF Hub | License | Open |
|---|---|---|---|---|---|
| ✅ Qwen2.5 Coder | 0.5B-32B | Blog | Hub | License | ❌ |
| DeepSeek Coder | 1.3B-33B | Paper | Hub | License | ❌ |
| StarCoder 2 | 3B/7B/15B | Paper | Hub | License | ✅ |
Math Models
| Model | Size | Paper | HF Hub | License | Open |
|---|---|---|---|---|---|
| DeepSeek Math | 7B | Paper | Hub | License | ❌ |
📖 Documentation
To learn more about all the platform's capabilities, see the Oumi documentation.
🤝 Join the Community
Oumi is a community-first effort. Whether you are a developer, a researcher, or a non-technical user, all contributions are very welcome!
- To contribute to the
oumirepository, please check theCONTRIBUTING.mdfor guidance on how to contribute to send your first Pull Request. - Make sure to join our Discord community to get help, share your experiences, and contribute to the project!
🙏 Acknowledgements
Oumi makes use of several libraries and tools from the open-source community. We would like to acknowledge and deeply thank the contributors of these projects! ✨ 🌟 💫
📝 Citation
If you find Oumi useful in your research, please consider citing it:
@software{oumi2025,
author = {Oumi Community},
title = {Oumi: an Open, End-to-end Platform for Building Large Foundation Models},
month = {January},
year = {2025},
url = {https://github.com/oumi-ai/oumi}
}
📜 License
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
Footnotes
-
Open models are defined as models with fully open weights, training code, and data, and a permissive license. See Open Source Definitions for more information. ↩