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!

v0.9发布于 2026-09-16 21:48 UTC9,431star +2 / 7 天798fork同步于 2026-11-10 23:31 UTC

怎么上手

由 README 提炼,执行前请确认
uv pip install oumi
uv pip install 'oumi[gpu]'
硬件要求按 README 说明

README 未给出具体显存要求;GPU 支持需安装 oumi[gpu] 或使用带 --gpus all 的 Docker 镜像,README 未列明支持的 GPU 厂商与型号。

支持 Apple Silicon多卡 / 张量并行有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

一站式开源平台,覆盖基础模型微调、评估与部署全流程,开箱即用

一站式搞定 Qwen、Gemma 等开源大模型和多模态模型的微调(SFT/RL)、评测与部署,零代码也能上手。

核心能力

  • 用现成 recipe 配置直接跑 SFT、DPO、GRPO 训练
  • 支持 FSDP、DeepSpeed、DDP 分布式训练
  • 集成 vLLM、SGLang 优化推理引擎
  • 内置 LLM-as-a-Judge 与 RubricJudge 评估
  • 用 oumi launch 一键提交到 AWS、GCP、Azure、Lambda

容易踩的坑

GPU 功能需装 oumi[gpu] 扩展,基础包不含;远程任务示例命令文件名写的是 gcp_job,切云厂商靠 --resources.cloud 参数而非换配置文件;项目处于 beta,部分高级功能可能变动。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v0.9
  1. 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 Conversation shape + JSON-string ↔ dict argument helpers (#2602, #2601)

    🌐 Tool-execution Environments

    The new oumi.environments subsystem 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 environment

    OumiVerlTool bridges 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 to verl_metrics.jsonl with richer logging. (#2569, #2624, #2542, #2644, #2643, #2646)

    ⚖️ RubricJudge — multi-criteria evaluation

    A new RubricJudge scores 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 under configs/projects/judges/rubric and 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 ConversationSynthesizer building 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 in RemoteInferenceEngine, 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)
  2. v0.82026-05-07 · 2026-05-07 17:02 UTC
    查看更新说明

    Oumi v0.8 Release Notes

    This release lands the new oumi deploy CLI for shipping models to dedicated inference endpoints, an oumi-mcp server for MCP-capable assistants, batch-API parity across hosted providers, and a major dependency push to Transformers``v5 / TRL0.30+ /vLLM` 0.20+.

    Highlights

    oumi deploy — new CLI for dedicated inference endpoints

    A 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 fireworks
    

    Example 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 server

    Oumi 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.mcp
    

    Wire it up in your client (Claude Code shown):

    claude mcp add oumi oumi-mcp
    

    Or 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 infer and 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 RemoteInferenceEngine

    Sliding-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_policy is now deprecated in favor of requests_per_minute.

    # 
    
  3. 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: FIREWORKS
    
    oumi 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: false
    
    oumi judge dataset -c regex-match-phone --input data/judge_input.jsonl
    

    Training

    • Metrics logging callback - Log training metrics to disk (#2140)
    • Per-reward function configuration - New reward_function_kwargs support (#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: true
    

    Data & 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.sh script (#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 info
    

    Documentation

    • 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)
  4. 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 analyze CLI Command

    Understanding your training data just got easier. The new oumi analyze command 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_results
    

    Create 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: length
    

    Check 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.yaml
    

    Or 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-policy
    

    This 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.yaml
    
    oumi launch up -c k8s_job.yaml --cluster my-k8s-cluster
    
    Option 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
  5. 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_kwargs parameter 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

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Oumi Logo

    Documentation Blog Twitter Discord PyPI version License Tests GPU Tests GitHub Repo stars Ruff pre-commit About

    Everything you need to build state-of-the-art foundation models, end-to-end

    🔥 News

    🔎 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-mcp MCP 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

    NotebookTry in ColabGoal
    🎯 Getting Started: A TourQuick tour of core features: training, evaluation, inference, and job management
    🔧 Model Finetuning GuideEnd-to-end guide to LoRA tuning with data prep, training, and evaluation
    📚 Model DistillationGuide to distilling large models into smaller, efficient ones
    📋 Model EvaluationComprehensive model evaluation using Oumi's evaluation framework
    ☁️ Remote TrainingLaunch and monitor training jobs on cloud (AWS, Azure, GCP, Lambda, etc.) platforms
    📈 LLM-as-a-JudgeFilter and curate training data with built-in judges
    🎯 GRPO Reinforcement LearningTrain a model with GRPO and a custom reward function
    🖼️ Vision Language ModelsFine-tune and run inference with vision-language models
    ⚡️ vLLM InferenceRun 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

    ModelExample Configurations
    Qwen3-Next 80B A3BLoRA • Inference • Inference (Instruct) • Evaluation
    Qwen3.5 0.8BFFT • LoRA • Inference (vLLM) • Inference
    Qwen3 30B A3BLoRA • Inference • Evaluation
    Qwen3 32BLoRA • Inference • Evaluation
    Qwen3 14BLoRA • Inference • Evaluation
    Qwen3 8BFFT • Inference • Evaluation
    Qwen3 4BFFT • Inference • Evaluation
    Qwen3 1.7BFFT • Inference • Evaluation
    Qwen3 0.6BFFT • Inference • Evaluation
    Qwen3-Coder 30B A3B InstructInference (vLLM) • Inference (vLLM, tool calling) • Inference (GGUF) • Inference (GGUF, macOS)
    QwQ 32BFFT • LoRA • QLoRA • Inference • Evaluation
    Qwen2.5-VL 3BSFT • LoRA • Inference (vLLM) • Inference
    Qwen2-VL 2BSFT • LoRA • Inference (vLLM) • Inference (SGLang) • Inference • Evaluation

    💎 Gemma Family

    ModelExample Configurations
    Gemma 4 E2B InstructFFT • LoRA
    Gemma 4 E4B InstructFFT • LoRA
    Gemma 4 12B InstructFFT • LoRA
    Gemma 4 26B A4B InstructLoRA
    Gemma 4 31B InstructLoRA
    Gemma 3 4B InstructFFT • Inference • Evaluation
    Gemma 3 12B InstructLoRA • Inference • Evaluation
    Gemma 3 27B InstructLoRA • Inference • Evaluation

    🐋 DeepSeek R1 Family

    ModelExample Configurations
    DeepSeek R1 671BInference (Together AI)
    Distilled Llama 8BFFT • LoRA • QLoRA • Inference • Evaluation
    Distilled Llama 70BFFT • LoRA • QLoRA • Inference • Evaluation
    Distilled Qwen 1.5BFFT • LoRA • Inference • Evaluation
    Distilled Qwen 32BLoRA • Inference • Evaluation

    🦙 Llama Family

    ModelExample Configurations
    Llama 4 Scout Instruct 17BFFT • LoRA • QLoRA • Inference (vLLM) • Inference • Inference (Together.ai)
    Llama 4 Scout 17BFFT
    Llama 3.1 8BFFT • LoRA • QLoRA • Pre-training • Inference (vLLM) • Inference • Evaluation
    Llama 3.1 70BFFT • LoRA • QLoRA • Inference • Evaluation
    Llama 3.1 405BFFT • LoRA • QLoRA
    Llama 3.2 1BFFT • Inference (vLLM) • Inference (SGLang) • Inference • Evaluation
    Llama 3.2 3BFFT • LoRA • QLoRA • Inference (vLLM) • Inference (SGLang) • Inference • Evaluation
    Llama 3.3 70BFFT • LoRA • QLoRA • Inference (vLLM) • Inference • Evaluation
    Llama 3.2 Vision 11BSFT • Inference (vLLM) • Inference (SGLang) • Evaluation

    🦅 Falcon family

    ModelExample Configurations
    Falcon-H1FFT • Inference • Evaluation
    Falcon-E (BitNet)FFT • DPO • Evaluation

    🧠 gpt-oss Family

    ModelExample Configurations
    gpt-oss 20BLoRA (single GPU) • LoRA (multi-GPU) • Inference (vLLM) • Inference
    gpt-oss 120BLoRA (multi-GPU) • Inference (vLLM) • Inference (Together AI) • Inference

    🧩 GLM Family

    ModelExample Configurations
    GLM-4.7Inference (Fireworks)
    GLM-4.5-AirInference (GGUF) • Inference (GGUF, macOS)
    GLM-4 9B ChatInference (vLLM)

    🦉 OLMo 3 Family

    ModelExample Configurations
    OLMo 3 7B InstructFFT • Inference • Evaluation
    OLMo 3 32B InstructLoRA • Inference • Evaluation

    🎨 Vision Models

    ModelExample Configurations
    Llama 3.2 Vision 11BSFT • LoRA • Inference (vLLM) • Inference (SGLang) • Evaluation
    LLaVA 7BSFT • Inference (vLLM) • Inference
    Phi3 Vision 4.2BSFT • LoRA • Inference (vLLM)
    Phi4 Vision 5.6BSFT • LoRA • Inference (vLLM) • Inference
    Qwen2-VL 2BSFT • LoRA • Inference (vLLM) • Inference (SGLang) • Inference • Evaluation
    InternVL3 1BSFT
    Molmo 7B-DSFT
    Molmo 7B-OSFT • GRPO
    Qwen3-VL 2BInference
    Qwen3-VL 4BInference
    Qwen3-VL 8BInference
    Qwen3-VL 30B A3B InstructFFT • LoRA
    Qwen2.5-VL 3BSFT • LoRA • Inference (vLLM) • Inference
    SmolVLM-Instruct 2BSFT • 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
    ModelSizePaperHF HubLicenseOpen 1
    ✅ SmolLM-Instruct135M/360M/1.7BBlogHubApache 2.0✅
    ✅ DeepSeek R1 Family1.5B/8B/32B/70B/671BBlogHubMIT❌
    ✅ Llama 3.1 Instruct8B/70B/405BPaperHubLicense❌
    ✅ Llama 3.2 Instruct1B/3BPaperHubLicense❌
    ✅ Llama 3.3 Instruct70BPaperHubLicense❌
    ✅ Phi-3.5-Instruct4B/14BPaperHubLicense❌
    ✅ Qwen30.6B-32BPaperHubLicense❌
    Qwen2.5-Instruct0.5B-70BPaperHubLicense❌
    OLMo 2 Instruct7BPaperHubApache 2.0✅
    ✅ OLMo 3 Instruct7B/32BPaperHubApache 2.0✅
    MPT-Instruct7BBlogHubApache 2.0✅
    Command R35B/104BBlogHubLicense❌
    Granite-3.1-Instruct2B/8BPaperHubApache 2.0❌
    Gemma 2 Instruct2B/9BBlogHubLicense❌
    ✅ Gemma 4 InstructE2B/E4B/12B/26B A4B/31BBlogHubLicense❌
    ✅ Qwen3.50.8BBlogHubLicense❌
    GLM-4.5-Air106B (Total)BlogHubMIT❌
    ✅ Gemma 3 Instruct4B/12B/27BBlogHubLicense❌
    DBRX-Instruct130B MoEBlogHubApache 2.0❌
    Falcon-Instruct7B/40BPaperHubApache 2.0❌
    ✅ Llama 4 Scout Instruct17B (Activated) 109B (Total)PaperHubLicense❌
    ✅ Llama 4 Maverick Instruct17B (Activated) 400B (Total)PaperHubLicense❌
    Vision-Language Models
    ModelSizePaperHF HubLicenseOpen
    ✅ Llama 3.2 Vision11BPaperHubLicense❌
    ✅ LLaVA-1.57BPaperHubLicense❌
    ✅ Phi-3 Vision4.2BPaperHubLicense❌
    ✅ BLIP-23.6BPaperHubMIT❌
    ✅ Qwen2-VL2BBlogHubLicense❌
    ✅ Qwen3-VL2B/4B/8BBlogHubLicense❌
    ✅ SmolVLM-Instruct2BBlogHubApache 2.0✅
    Base Models
    ModelSizePaperHF HubLicenseOpen
    ✅ SmolLM2135M/360M/1.7BBlogHubApache 2.0✅
    ✅ Llama 3.21B/3BPaperHubLicense❌
    ✅ Llama 3.18B/70B/405BPaperHubLicense❌
    ✅ GPT-2124M-1.5BPaperHubMIT✅
    DeepSeek V27B/13BPaperHubLicense❌
    Gemma22B/9BBlogHubLicense❌
    GPT-J6BBlogHubApache 2.0✅
    GPT-NeoX20BPaperHubApache 2.0✅
    Mistral7BPaperHubApache 2.0❌
    Mixtral8x7B/8x22BBlogHubApache 2.0❌
    MPT7BBlogHubApache 2.0✅
    OLMo1B/7BPaperHubApache 2.0✅
    ✅ Llama 4 Scout17B (Activated) 109B (Total)PaperHubLicense❌
    Reasoning Models
    ModelSizePaperHF HubLicenseOpen
    ✅ gpt-oss20B/120BPaperHubApache 2.0❌
    ✅ Qwen30.6B-32BPaperHubLicense❌
    ✅ Qwen3-Next80B-A3BBlogHubLicense❌
    Qwen QwQ32BBlogHubLicense❌
    Code Models
    ModelSizePaperHF HubLicenseOpen
    ✅ Qwen2.5 Coder0.5B-32BBlogHubLicense❌
    DeepSeek Coder1.3B-33BPaperHubLicense❌
    StarCoder 23B/7B/15BPaperHubLicense✅
    Math Models
    ModelSizePaperHF HubLicenseOpen
    DeepSeek Math7BPaperHubLicense❌

    📖 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 oumi repository, please check the CONTRIBUTING.md for 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

    1. 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. ↩