oumi#
Oumi (Open Universal Machine Intelligence) library.
This library provides tools and utilities for training, evaluating, and inferring with machine learning models, particularly focused on language tasks.
- Modules:
- models: Contains model architectures and related utilities.
- evaluate: Functions for evaluating models.
- evaluate_async: Asynchronous evaluation functionality.
- infer: Functions for model inference, including interactive mode.
- train: Training utilities for machine learning models.
- utils: Utility functions, including logging configuration.
- judges: Functions for judging datasets and conversations.
 
- Functions:
- train(): Train a machine learning model.
- evaluate_async(): Asynchronously evaluate a model.
- evaluate(): Evaluate a model using LM Harness.
- infer(): Perform inference with a trained model.
- infer_interactive(): Run interactive inference with a model.
- quantize(): Quantize a model to reduce size and memory usage.
- judge_dataset(): Judge a dataset using a model.
 
Examples
Training a model:
>>> from oumi import train
>>> from oumi.core.configs import TrainingConfig
>>> config = TrainingConfig(...)
>>> train(config)
Evaluating a model:
>>> from oumi import evaluate
>>> from oumi.core.configs import EvaluationConfig
>>> config = EvaluationConfig(...)
>>> results = evaluate(config)
Performing inference:
>>> from oumi import infer
>>> from oumi.core.configs import InferenceConfig
>>> config = InferenceConfig(...)
>>> outputs = infer(config)
Quantizing a model:
>>> from oumi import quantize
>>> from oumi.core.configs import QuantizationConfig
>>> config = QuantizationConfig(...)
>>> result = quantize(config)
- Judging a dataset::
- >>> from oumi import judge_dataset >>> from oumi.core.configs import JudgeConfig >>> config = JudgeConfig(...) >>> judge_dataset(config, dataset) 
See also
- oumi.core.configs: For configuration classes used in Oumi
- oumi.evaluate(config: EvaluationConfig) list[dict[str, Any]][source]#
- Evaluates a model using the provided configuration. - Parameters:
- config – The desired configuration for evaluation. 
- Returns:
- A list of evaluation results (one for each task). Each evaluation result is a dictionary of metric names and their corresponding values. 
 
- oumi.evaluate_async(config: AsyncEvaluationConfig) None[source]#
- Runs an async evaluation for a model using the provided configuration. - Overview:
- This is a utility method for running evaluations iteratively over a series of checkpoints. This method can be run in parallel with a training job to compute metrics per checkpoint without wasting valuable time in the main training loop. 
 - Parameters:
- config – The desired configuration for evaluation. 
- Returns:
- None. 
 
- oumi.infer(config: InferenceConfig, inputs: list[str] | None = None, inference_engine: BaseInferenceEngine | None = None, *, input_image_bytes: list[bytes] | None = None) list[Conversation][source]#
- Runs batch inference for a model using the provided configuration. - Parameters:
- config – The configuration to use for inference. 
- inputs – A list of inputs for inference. 
- inference_engine – The engine to use for inference. If unspecified, the engine will be inferred from config. 
- input_image_bytes – A list of input PNG image bytes to be used with image+text VLMs. Only used in interactive mode. 
 
- Returns:
- A list of model responses. 
- Return type:
- object 
 
- oumi.infer_interactive(config: InferenceConfig, *, input_image_bytes: list[bytes] | None = None, system_prompt: str | None = None) None[source]#
- Interactively provide the model response for a user-provided input. 
- oumi.quantize(config: QuantizationConfig) QuantizationResult[source]#
- Quantizes a model using the provided configuration. - Parameters:
- config – Quantization configuration containing model parameters, method, output path, and other settings. 
- Returns:
- quantized_size_bytes: Size of the quantized model in bytes 
- output_path: Path to the quantized model 
- quantization_method: Quantization method used 
- format_type: Format type of the quantized model 
- additional_info: Additional method-specific information 
 
- Return type:
- QuantizationResult containing 
- Raises:
- RuntimeError – If quantization fails for any reason 
- ValueError – If configuration is invalid for this quantizer 
 
 
- oumi.synthesize(config: SynthesisConfig) list[dict[str, Any]][source]#
- Synthesize a dataset using the provided configuration. 
- oumi.train(config: TrainingConfig, additional_model_kwargs: dict[str, Any] | None = None, additional_trainer_kwargs: dict[str, Any] | None = None, verbose: bool = False) None[source]#
- Trains a model using the provided configuration. 
Subpackages#
- oumi.builders- build_chat_template()
- build_collator_from_config()
- build_data_collator()
- build_dataset()
- build_dataset_mixture()
- build_metrics_function()
- build_model()
- build_optimizer()
- build_peft_model()
- build_processor()
- build_quantizer()
- build_reward_functions()
- build_tokenizer()
- build_trainer()
- build_training_callbacks()
- is_image_text_llm()
 
- oumi.cli- Submodules
- oumi.cli.alias module
- oumi.cli.cache module
- oumi.cli.cli_utils module
- oumi.cli.distributed_run module
- oumi.cli.env module
- oumi.cli.evaluate module
- oumi.cli.fetch module
- oumi.cli.infer module
- oumi.cli.judge module
- oumi.cli.launch module
- oumi.cli.main module
- oumi.cli.quantize module
- oumi.cli.synth module
- oumi.cli.train module
 
- oumi.core
- oumi.datasets- AlpacaDataset
- AlpacaEvalDataset
- ArgillaDollyDataset
- ArgillaMagpieUltraDataset
- AyaDataset
- C4Dataset
- COCOCaptionsDataset
- ChatRAGBenchDataset
- ChatqaDataset
- ChatqaTatqaDataset
- CoALMDataset
- DebugClassificationDataset
- DebugPretrainingDataset
- DebugSftDataset
- DocmatixDataset
- DolmaDataset
- FalconRefinedWebDataset
- FineWebEduDataset
- Flickr30kDataset
- Geometry3kDataset
- HuggingFaceDataset
- HuggingFaceVisionDataset
- LetterCountGrpoDataset
- LlavaInstructMixVsftDataset
- LmmsLabMultimodalOpenR1Dataset
- MagpieProDataset
- MnistSftDataset
- OpenO1SFTDataset
- OpenbmbRlaifVDataset
- OrpoDpoMix40kDataset
- PileV1Dataset
- PixmoAskModelAnythingDataset
- PixmoCapDataset
- PixmoCapQADataset
- PromptResponseDataset
- RedPajamaDataV1Dataset
- RedPajamaDataV2Dataset
- SlimPajamaDataset
- StarCoderDataset
- TextSftJsonLinesDataset
- TheCauldronDataset
- TheStackDataset
- TinyStoriesDataset
- TinyTextbooksDataset
- TldrGrpoDataset
- Tulu3MixtureDataset
- UltrachatH4Dataset
- VLJsonlinesDataset
- VisionDpoJsonlinesDataset
- Vqav2SmallDataset
- WikiTextDataset
- WikipediaDataset
- WildChatDataset
- YouTubeCommonsDataset
- Subpackages
 
- oumi.inference- AnthropicInferenceEngine
- BedrockInferenceEngine
- DeepSeekInferenceEngine
- GoogleGeminiInferenceEngine
- GoogleVertexInferenceEngine
- LambdaInferenceEngine
- LlamaCppInferenceEngine
- NativeTextInferenceEngine
- OpenAIInferenceEngine
- ParasailInferenceEngine
- RemoteInferenceEngine
- RemoteVLLMInferenceEngine
- SGLangInferenceEngine
- SambanovaInferenceEngine
- TogetherInferenceEngine
- VLLMInferenceEngine
 
- oumi.judges
- oumi.launcher
- oumi.models
- oumi.performance
- oumi.quantize
- oumi.utils- Submodules
- oumi.utils.analysis_utils module
- oumi.utils.batching module
- oumi.utils.cache_utils module
- oumi.utils.conversation_utils module
- oumi.utils.debug_utils module
- oumi.utils.device_utils module
- oumi.utils.distributed_utils module
- oumi.utils.git_utils module
- oumi.utils.grpo_utils module
- oumi.utils.hf_cache_utils module
- oumi.utils.hf_utils module
- oumi.utils.http module
- oumi.utils.image_utils module
- oumi.utils.io_utils module
- oumi.utils.logging module
- oumi.utils.math_utils module
- oumi.utils.model_caching module
- oumi.utils.packaging module
- oumi.utils.peft_utils module
- oumi.utils.placeholders module
- oumi.utils.saver module
- oumi.utils.serialization_utils module
- oumi.utils.str_utils module
- oumi.utils.torch_naming_heuristics module
- oumi.utils.torch_utils module
- oumi.utils.verl_model_merger module
- oumi.utils.version_utils module
 
