github

oumi-ai / oumi

  • воскресенье, 2 февраля 2025 г. в 00:00:01
https://github.com/oumi-ai/oumi

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



# Oumi: Open Universal Machine Intelligence

Documentation Blog Discord PyPI version License Tests GPU Tests GitHub Repo stars Code style: black pre-commit About

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

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 405B parameters using state-of-the-art techniques (SFT, LoRA, QLoRA, DPO, and more)
  • 🤖 Work with both text and multimodal models (Llama, Qwen, Phi, and others)
  • 🔄 Synthesize and curate training data with LLM judges
  • ⚡️ Deploy models efficiently with popular inference engines (vLLM, SGLang)
  • 📊 Evaluate models comprehensively across standard benchmarks
  • 🌎 Run anywhere - from laptops to clusters to clouds (AWS, Azure, GCP, Lambda, and more)
  • 🔌 Integrate with both open models and commercial APIs (OpenAI, Anthropic, Vertex AI, Together, Parasail, ...)

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 Open In Colab Quick tour of core features: training, evaluation, inference, and job management
🔧 Model Finetuning Guide Open In Colab End-to-end guide to LoRA tuning with data prep, training, and evaluation
📚 Model Distillation Open In Colab Guide to distilling large models into smaller, efficient ones
📋 Model Evaluation Open In Colab Comprehensive model evaluation using Oumi's evaluation framework
☁️ Remote Training Open In Colab Launch and monitor training jobs on cloud (AWS, Azure, GCP, Lambda, etc.) platforms
📈 LLM-as-a-Judge Open In Colab Filter and curate training data with built-in judges
🔄 vLLM Inference Engine Open In Colab Fast inference at scale with the vLLM engine

🔧 Usage

Installation

Installing oumi in your environment is straightforward:

# Install the package (CPU & NPU only)
pip install oumi  # For local development & testing

# OR, with GPU support (Requires Nvidia or AMD GPU)
pip install oumi[gpu]  # For GPU training

# To get the latest version, install from the source
pip install git+https://github.com/oumi-ai/oumi.git

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

# Azure
oumi launch up -c configs/recipes/smollm/sft/135m/quickstart_azure_job.yaml

# Lambda
oumi launch up -c configs/recipes/smollm/sft/135m/quickstart_lambda_job.yaml

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, 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.

🐋 DeepSeek R1 Family

Model Example Configurations
DeepSeek R1 671B Inference (Together AI)
Distilled Llama 8B FFTLoRAQLoRAInferenceEvaluation
Distilled Llama 70B FFTLoRAQLoRAInferenceEvaluation
Distilled Qwen 1.5B FFTLoRAInferenceEvaluation
Distilled Qwen 32B LoRAInferenceEvaluation

🦙 Llama Family

Model Example Configurations
Llama 3.1 8B FFTLoRAQLoRAPre-trainingInference (vLLM)InferenceEvaluation
Llama 3.1 70B FFTLoRAQLoRAInferenceEvaluation
Llama 3.1 405B FFTLoRAQLoRA
Llama 3.2 1B FFTLoRAQLoRAInference (vLLM)Inference (SGLang)InferenceEvaluation
Llama 3.2 3B FFTLoRAQLoRAInference (vLLM)Inference (SGLang)InferenceEvaluation
Llama 3.3 70B FFTLoRAQLoRAInference (vLLM)InferenceEvaluation
Llama 3.2 Vision 11B SFTInference (vLLM)Inference (SGLang)Evaluation

🎨 Vision Models

Model Example Configurations
Llama 3.2 Vision 11B SFTLoRAInference (vLLM)Inference (SGLang)Evaluation
LLaVA 7B SFTInference (vLLM)Inference
Phi3 Vision 4.2B SFTInference (vLLM)
Qwen2-VL 2B SFTInference (vLLM)Inference (SGLang)InferenceEvaluation
SmolVLM-Instruct 2B SFT

🔍 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.

📋 Click to see more supported models

Instruct Models

Model Size Paper HF Hub License Open 1 Recommended Parameters
✅ 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
Qwen2.5-Instruct 0.5B-70B Paper Hub License
OLMo 2 Instruct 7B 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
DBRX-Instruct 130B MoE Blog Hub Apache 2.0
Falcon-Instruct 7B/40B Paper Hub Apache 2.0

Vision-Language Models

Model Size Paper HF Hub License Open Recommended Parameters
✅ 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
✅ SmolVLM-Instruct 2B Blog Hub Apache 2.0

Base Models

Model Size Paper HF Hub License Open Recommended Parameters
✅ 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 Blog 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

Reasoning Models

Model Size Paper HF Hub License Open Recommended Parameters
Qwen QwQ 32B Blog Hub License

Code Models

Model Size Paper HF Hub License Open Recommended Parameters
✅ 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 Recommended Parameters
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 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!
  • If you are interested in joining one of the community's open-science efforts, check out our open collaboration page.

🙏 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.