Olive is an easy-to-use hardware-aware model optimization tool that composes industry-leading techniques across model compression, optimization, and compilation.
Перейти к файлу
anujj 343e06071b
update phi3_nvmo_ptq example and onnxruntime-directml version (#1458)
## update phi3_nvmo_ptq example and onnxruntime-directml version

## Checklist before requesting a review
- [ ] Add unit tests for this change.
- [ ] Make sure all tests can pass.
- [ ] Update documents if necessary.
- [ ] Lint and apply fixes to your code by running `lintrunner -a`
- [ ] Is this a user-facing change? If yes, give a description of this
change to be included in the release notes.
- [ ] Is this PR including examples changes? If yes, please remember to
update [example
documentation](https://github.com/microsoft/Olive/blob/main/docs/source/examples.md)
in a follow-up PR.

## (Optional) Issue link
2024-11-05 11:26:12 -08:00
.azure_pipelines Phi3: Fix example (#1452) 2024-11-01 11:26:05 -07:00
.github update issue template (#1325) 2024-08-20 15:11:04 -07:00
docs SplitModel: Pass to split transformers model (#1436) 2024-10-25 16:19:09 -07:00
examples update phi3_nvmo_ptq example and onnxruntime-directml version (#1458) 2024-11-05 11:26:12 -08:00
olive Update NV-ModelOPT INT4 quantization (#1441) 2024-11-01 12:24:27 -07:00
scripts JSON Format `pre-commit` hook (#1254) 2024-07-25 08:16:36 -07:00
test Update NV-ModelOPT INT4 quantization (#1441) 2024-11-01 12:24:27 -07:00
.coveragerc enable code coverage for aml runner (#297) 2023-05-25 10:49:23 +08:00
.editorconfig add editorconfig rules & enable pylint (#659) 2023-10-20 13:43:00 +08:00
.flake8 Add `pydantic_v1` module to make Olive `pydantic` version agnostic (#788) 2023-12-06 18:48:35 -08:00
.gitignore Add perf check pipeline (#523) 2023-09-08 01:54:50 -07:00
.lintrunner.toml Fix editor format (#1333) 2024-08-26 14:22:10 -07:00
.pre-commit-config.yaml 🏪 Support opversion conversion for models with external data (#1322) 2024-08-21 16:16:08 +08:00
CONTRIBUTING.md Update contributing doc (#642) 2023-10-20 14:01:01 +08:00
LICENSE Welcome to new version of Olive (#127) 2023-03-23 17:27:01 -07:00
MANIFEST.in Fix setup issues (#812) 2023-12-13 17:29:35 +08:00
NOTICE.txt Remove examples/switch (#954) 2024-02-25 20:18:26 -08:00
README.md Restrict initialization of passes to what's called out in pass_flows (#1374) 2024-09-26 15:10:28 -07:00
SECURITY.md Update package description (#128) 2023-03-23 18:53:16 -07:00
pyproject.toml Engine: Improve output structure, CLI: Configurable model options, Separate `finetune`+`generate-adapter` (#1361) 2024-09-18 15:42:06 -07:00
requirements-dev.txt Fix editor format (#1333) 2024-08-26 14:22:10 -07:00
requirements.txt `trust_remote_code` for `load_dataset` config, CI: set pip and hf cache dirs (#1200) 2024-06-17 21:11:13 -07:00
setup.py Reorganize Features section of Olive docs (#1323) 2024-08-19 18:09:58 -07:00

README.md

Olive

PyPI release Documentation

Olive is an easy-to-use hardware-aware model optimization tool that composes industry-leading techniques across model compression, optimization, and compilation. Given a model and targeted hardware, Olive composes the best suitable optimization techniques to output the most efficient model(s) for inferring on cloud or edge, while taking a set of constraints such as accuracy and latency into consideration.

Since every ML accelerator vendor implements their own acceleration tool chains to make the most of their hardware, hardware-aware optimizations are fragmented. With Olive, we can:

Reduce engineering effort for optimizing models for cloud and edge: Developers are required to learn and utilize multiple hardware vendor-specific toolchains in order to prepare and optimize their trained model for deployment. Olive aims to simplify the experience by aggregating and automating optimization techniques for the desired hardware targets.

Build up a unified optimization framework: Given that no single optimization technique serves all scenarios well, Olive enables an extensible framework that allows industry to easily plugin their optimization innovations. Olive can efficiently compose and tune integrated techniques for offering a ready-to-use E2E optimization solution.

News

Get Started and Resources

Installation

We recommend installing Olive in a virtual environment or a conda environment. Olive is installed using pip.

Create a virtual/conda environment with the desired version of Python and activate it.

You will need to install a build of onnxruntime. You can install the desired build separately but public versions of onnxruntime can also be installed as extra dependencies during Olive installation.

Install with pip

Olive is available for installation from PyPI.

pip install olive-ai

With onnxruntime (Default CPU):

pip install olive-ai[cpu]

With onnxruntime-gpu:

pip install olive-ai[gpu]

With onnxruntime-directml:

pip install olive-ai[directml]

Optional Dependencies

Olive has optional dependencies that can be installed to enable additional features. Please refer to Olive package config for the list of extras and their dependencies.

Pipeline Status

Build Status

Build Status

Build Status

Build Status

Contributing

Wed love to embrace your contribution to Olive. Please refer to CONTRIBUTING.md.

License

Copyright (c) Microsoft Corporation. All rights reserved.

Licensed under the MIT License.