nebullvm 0.4.0 open-source release
nebullvm?is an open-source tool designed to speed up AI inference in just a few lines of code.?nebullvm?boosts your model to achieve the maximum acceleration that is physically possible on your hardware.
We are building a new AI inference acceleration product leveraging state-of-the-art open-source optimization tools enabling the optimization of the whole software to hardware stack. If you like the idea, give us a star to support the project??
The core?nebullvm?workflow consists of 3 steps:
Select: input your model in your preferred DL framework and express your preferences regarding:
Search:?nebullvm?automatically tests every combination of optimization techniques across the software-to-hardware stack (sparsity, quantization, compilers, etc.) that is compatible with your needs and local hardware.
Serve: finally,?nebullvm?chooses the best configuration of optimization techniques and returns an accelerated version of your model in the DL framework of your choice.
API quick view
Only a single line of code is needed to get your accelerated model:
import torch
import torchvision.models as models
from nebullvm.api.functions import optimize_model
# Load a resnet as example
model = models.resnet50()
# Provide an input data for the model
input_data = [((torch.randn(1, 3, 256, 256), ), 0)]
# Run nebullvm optimization in one line of code
optimized_model = optimize_model(
model, input_data=input_data, optimization_time="constrained"
)
# Try the optimized model
x = torch.randn(1, 3, 256, 256)
res = optimized_model(x)
For more details, please visit?Installation?and?Get started.
How it works
We are not here to reinvent the wheel, but to build an all-in-one open-source product to master all the available AI acceleration techniques and deliver the?fastest AI ever.?As a result,?nebullvm?leverages available enterprise-grade open-source optimization tools. If these tools and communities already exist, and are distributed under a permissive license (Apache, MIT, etc), we integrate them and happily contribute to their communities. However, many tools do not exist yet, in which case we implement them and open-source the code so that the community can benefit from it.
Product design
nebullvm?is shaped around?4 building blocks?and leverages a modular design to foster scalability and integration of new acceleration components across the stack.
The?compressor?stage leverages the following open-source projects:
The?optimizer stage?leverages the following open-source projects:
Documentation
Community
We’re developing?nebullvm?together with our community so the best way to get started is to pick a?good-first issue. Please read our?contribution guidelines?for a deep dive on how to best contribute to our project!
Don't forget to leave a star???to support the project and happy acceleration???