deepsparse


Namedeepsparse JSON
Version 1.8.0 PyPI version JSON
download
home_pagehttps://github.com/neuralmagic/deepsparse
SummaryAn inference runtime offering GPU-class performance on CPUs and APIs to integrate ML into your application
upload_time2024-07-19 16:29:01
maintainerNone
docs_urlNone
authorNeuralmagic, Inc.
requires_python<3.12,>=3.8
licenseNeural Magic DeepSparse Community License
keywords inference machine learning x86 x86_64 avx2 avx512 neural network sparse inference engine cpu runtime deepsparse computer vision object detection sparsity
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <!--
Copyright (c) 2021 - present / Neuralmagic, Inc. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->


<div style="display: flex; flex-direction: column; align-items: center;">
  <h1 style="display: flex; align-items: center;" >
     <img width="60" height="60" alt="tool icon" src="https://neuralmagic.com/wp-content/uploads/2024/03/icon_DeepSparse-005.png" />
      <span>&nbsp;&nbsp;DeepSparse</span>
  </h1>
  <h4>Sparsity-aware deep learning inference runtime for CPUs</h4>
  <div align="center">
  <a href="https://docs.neuralmagic.com/deepsparse/">
    <img alt="Documentation" src="https://img.shields.io/badge/documentation-darkred?&style=for-the-badge&logo=read-the-docs" height="20" />
  </a>
  <a href="https://neuralmagic.com/community/">
    <img alt="Slack" src="https://img.shields.io/badge/slack-purple?style=for-the-badge&logo=slack" height="20" />
  </a>
  <a href="https://github.com/neuralmagic/deepsparse/issues/">
    <img alt="Support" src="https://img.shields.io/badge/support%20forums-navy?style=for-the-badge&logo=github" height="20" />
  </a>
  <a href="https://www.youtube.com/channel/UCo8dO_WMGYbWCRnj_Dxr4EA">
    <img alt="YouTube" src="https://img.shields.io/badge/-YouTube-red?&style=for-the-badge&logo=youtube&logoColor=white" height="20" />
  </a>
  <a href="https://twitter.com/neuralmagic">
    <img alt="Twitter" src="https://img.shields.io/twitter/follow/neuralmagic?color=darkgreen&label=Follow&style=social" height="20" />
  </a>
</div>

[DeepSparse](https://github.com/neuralmagic/deepsparse) is a CPU inference runtime that takes advantage of sparsity to accelerate neural network inference. Coupled with [SparseML](https://github.com/neuralmagic/sparseml), our optimization library for pruning and quantizing your models, DeepSparse delivers exceptional inference performance on CPU hardware.

<p align="center">
   <img alt="NM Flow" src="https://github.com/neuralmagic/deepsparse/assets/3195154/51e62fe7-9d9a-4fa5-a774-877158da1e29" width="60%" />
</p>

## ✨NEW✨ DeepSparse LLMs

Neural Magic is excited to announce initial support for performant LLM inference in DeepSparse with:
- sparse kernels for speedups and memory savings from unstructured sparse weights.
- 8-bit weight and activation quantization support.
- efficient usage of cached attention keys and values for minimal memory movement.

![mpt-chat-comparison](https://github.com/neuralmagic/deepsparse/assets/3195154/ccf39323-4603-4489-8462-7b103872aeb3)

### Try It Now

Install (requires Linux):
```bash
pip install -U deepsparse-nightly[llm]
```

Run inference:
```python
from deepsparse import TextGeneration
pipeline = TextGeneration(model="zoo:mpt-7b-dolly_mpt_pretrain-pruned50_quantized")

prompt="""
Below is an instruction that describes a task. Write a response that appropriately completes the request. ### Instruction: what is sparsity? ### Response:
"""
print(pipeline(prompt, max_new_tokens=75).generations[0].text)

# Sparsity is the property of a matrix or other data structure in which a large number of elements are zero and a smaller number of elements are non-zero. In the context of machine learning, sparsity can be used to improve the efficiency of training and prediction.
```

Check out the [`TextGeneration` documentation for usage details](https://github.com/neuralmagic/deepsparse/blob/main/docs/llms/text-generation-pipeline.md) and get the [latest sparsified LLMs on our HF Collection](https://huggingface.co/collections/neuralmagic/deepsparse-sparse-llms-659d61e81774dd48343642bf).

### Sparsity :handshake: Performance

Developed in collaboration with IST Austria, [our recent paper](https://arxiv.org/abs/2310.06927) details a new technique called **Sparse Fine-Tuning**, which allows us to prune MPT-7B to 60% sparsity during fine-tuning without drop in accuracy. With our new support for LLMs, DeepSparse accelerates the sparse-quantized model 7x over the dense baseline:

<div align="center">
    <img src="https://github.com/neuralmagic/deepsparse/assets/3195154/8687401c-f479-4999-ba6b-e01c747dace9" width="60%"/>
</div>

> [Learn more about our Sparse Fine-Tuning research.](https://github.com/neuralmagic/deepsparse/blob/main/research/mpt#sparse-finetuned-llms-with-deepsparse)

> [Check out the model running live on Hugging Face.](https://huggingface.co/spaces/neuralmagic/sparse-mpt-7b-gsm8k)

### LLM Roadmap

Following this initial launch, we are rapidly expanding our support for LLMs, including:

1. Productizing Sparse Fine-Tuning: Enable external users to apply sparse fine-tuning to their datasets via SparseML.
2. Expanding model support: Apply our sparse fine-tuning results to Llama 2 and Mistral models.
3. Pushing for higher sparsity: Improving our pruning algorithms to reach even higher sparsity.

## Computer Vision and NLP Models

In addition to LLMs, DeepSparse supports many variants of CNNs and Transformer models, such as BERT, ViT, ResNet, EfficientNet, YOLOv5/8, and many more! Take a look at the [Computer Vision](https://sparsezoo.neuralmagic.com/?modelSet=computer_vision) and [Natural Language Processing](https://sparsezoo.neuralmagic.com/?modelSet=natural_language_processing) domains of [SparseZoo](https://sparsezoo.neuralmagic.com/), our home for optimized models.

### Installation

Install via [PyPI](https://pypi.org/project/deepsparse/) ([optional dependencies detailed here](https://github.com/neuralmagic/deepsparse/tree/main/docs/user-guide/installation.md)):

```bash
pip install deepsparse 
```

To experiment with the latest features, there is a nightly build available using `pip install deepsparse-nightly` or you can clone and install from source using `pip install -e path/to/deepsparse`.

#### System Requirements
- Hardware: [x86 AVX2, AVX-512, AVX-512 VNNI and ARM v8.2+](https://github.com/neuralmagic/deepsparse/tree/main/docs/user-guide/hardware-support.md)
- Operating System: Linux
- Python: 3.8-3.11
- ONNX versions 1.5.0-1.15.0, ONNX opset version 11 or higher

For those using Mac or Windows, we recommend using Linux containers with Docker.

## Deployment APIs

DeepSparse includes three deployment APIs:

- **Engine** is the lowest-level API. With Engine, you compile an ONNX model, pass tensors as input, and receive the raw outputs.
- **Pipeline** wraps the Engine with pre- and post-processing. With Pipeline, you pass raw data and receive the prediction.
- **Server** wraps Pipelines with a REST API using FastAPI. With Server, you send raw data over HTTP and receive the prediction.

### Engine

The example below downloads a 90% pruned-quantized BERT model for sentiment analysis in ONNX format from SparseZoo, compiles the model, and runs inference on randomly generated input. Users can provide their own ONNX models, whether dense or sparse.

```python
from deepsparse import Engine

# download onnx, compile
zoo_stub = "zoo:nlp/sentiment_analysis/obert-base/pytorch/huggingface/sst2/pruned90_quant-none"
compiled_model = Engine(model=zoo_stub, batch_size=1)

# run inference (input is raw numpy tensors, output is raw scores)
inputs = compiled_model.generate_random_inputs()
output = compiled_model(inputs)
print(output)

# > [array([[-0.3380675 ,  0.09602544]], dtype=float32)] << raw scores
```

### Pipeline

Pipelines wrap Engine with pre- and post-processing, enabling you to pass raw data and receive the post-processed prediction. The example below downloads a 90% pruned-quantized BERT model for sentiment analysis in ONNX format from SparseZoo, sets up a pipeline, and runs inference on sample data.

```python
from deepsparse import Pipeline

# download onnx, set up pipeline
zoo_stub = "zoo:nlp/sentiment_analysis/obert-base/pytorch/huggingface/sst2/pruned90_quant-none"  
sentiment_analysis_pipeline = Pipeline.create(
  task="sentiment-analysis",    # name of the task
  model_path=zoo_stub,          # zoo stub or path to local onnx file
)

# run inference (input is a sentence, output is the prediction)
prediction = sentiment_analysis_pipeline("I love using DeepSparse Pipelines")
print(prediction)
# > labels=['positive'] scores=[0.9954759478569031]
```

### Server

Server wraps Pipelines with REST APIs, enabling you to set up a model-serving endpoint running DeepSparse. This enables you to send raw data to DeepSparse over HTTP and receive the post-processed predictions. DeepSparse Server is launched from the command line and configured via arguments or a server configuration file. The following downloads a 90% pruned-quantized BERT model for sentiment analysis in ONNX format from SparseZoo and launches a sentiment analysis endpoint:

```bash
deepsparse.server \
  --task sentiment-analysis \
  --model_path zoo:nlp/sentiment_analysis/obert-base/pytorch/huggingface/sst2/pruned90_quant-none
```

Sending a request:

```python
import requests

url = "http://localhost:5543/v2/models/sentiment_analysis/infer" # Server's port default to 5543
obj = {"sequences": "Snorlax loves my Tesla!"}

response = requests.post(url, json=obj)
print(response.text)
# {"labels":["positive"],"scores":[0.9965094327926636]}
```

### Additional Resources
- [Use Cases Page](https://github.com/neuralmagic/deepsparse/tree/main/docs/use-cases) for more details on supported tasks
- [Pipelines User Guide](https://github.com/neuralmagic/deepsparse/tree/main/docs/user-guide/deepsparse-pipelines.md) for Pipeline documentation
- [Server User Guide](https://github.com/neuralmagic/deepsparse/tree/main/docs/user-guide/deepsparse-server.md) for Server documentation
- [Benchmarking User Guide](https://github.com/neuralmagic/deepsparse/tree/main/docs/user-guide/deepsparse-benchmarking.md) for benchmarking documentation
- [Cloud Deployments and Demos](https://github.com/neuralmagic/deepsparse/tree/main/examples/)
- [User Guide](https://github.com/neuralmagic/deepsparse/tree/main/docs/user-guide) for more detailed documentation


## Product Usage Analytics

DeepSparse gathers basic usage telemetry, including, but not limited to, Invocations, Package, Version, and IP Address, for Product Usage Analytics purposes. Review Neural Magic's [Products Privacy Policy](https://neuralmagic.com/legal/) for further details on how we process this data. 

To disable Product Usage Analytics, run:
```bash
export NM_DISABLE_ANALYTICS=True
```

Confirm that telemetry is shut off through info logs streamed with engine invocation by looking for the phrase "Skipping Neural Magic's latest package version check."

## Community

### Get In Touch

- [Contribution Guide](https://github.com/neuralmagic/deepsparse/blob/main/CONTRIBUTING.md)
- [Community Slack](https://neuralmagic.com/community/)
- [GitHub Issue Queue](https://github.com/neuralmagic/deepsparse/issues) 
- [Subscribe To Our Newsletter](https://neuralmagic.com/subscribe/)
- [Blog](https://www.neuralmagic.com/blog/) 

For more general questions about Neural Magic, [complete this form.](http://neuralmagic.com/contact/)

### License

- **DeepSparse Community** is free to use and is licensed under the [Neural Magic DeepSparse Community License.](https://github.com/neuralmagic/deepsparse/blob/main/LICENSE)
Some source code, example files, and scripts included in the DeepSparse GitHub repository or directory are licensed under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) as noted.

- **DeepSparse Enterprise** requires a Trial License or [can be fully licensed](https://neuralmagic.com/legal/master-software-license-and-service-agreement/) for production, commercial applications.

### Cite

Find this project useful in your research or other communications? Please consider citing:

```bibtex
@misc{kurtic2023sparse,
      title={Sparse Fine-Tuning for Inference Acceleration of Large Language Models}, 
      author={Eldar Kurtic and Denis Kuznedelev and Elias Frantar and Michael Goin and Dan Alistarh},
      year={2023},
      url={https://arxiv.org/abs/2310.06927},
      eprint={2310.06927},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

@misc{kurtic2022optimal,
      title={The Optimal BERT Surgeon: Scalable and Accurate Second-Order Pruning for Large Language Models}, 
      author={Eldar Kurtic and Daniel Campos and Tuan Nguyen and Elias Frantar and Mark Kurtz and Benjamin Fineran and Michael Goin and Dan Alistarh},
      year={2022},
      url={https://arxiv.org/abs/2203.07259},
      eprint={2203.07259},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

@InProceedings{
    pmlr-v119-kurtz20a, 
    title = {Inducing and Exploiting Activation Sparsity for Fast Inference on Deep Neural Networks}, 
    author = {Kurtz, Mark and Kopinsky, Justin and Gelashvili, Rati and Matveev, Alexander and Carr, John and Goin, Michael and Leiserson, William and Moore, Sage and Nell, Bill and Shavit, Nir and Alistarh, Dan}, 
    booktitle = {Proceedings of the 37th International Conference on Machine Learning}, 
    pages = {5533--5543}, 
    year = {2020}, 
    editor = {Hal Daumé III and Aarti Singh}, 
    volume = {119}, 
    series = {Proceedings of Machine Learning Research}, 
    address = {Virtual}, 
    month = {13--18 Jul}, 
    publisher = {PMLR}, 
    pdf = {http://proceedings.mlr.press/v119/kurtz20a/kurtz20a.pdf},
    url = {http://proceedings.mlr.press/v119/kurtz20a.html}
}

@article{DBLP:journals/corr/abs-2111-13445,
  author    = {Eugenia Iofinova and Alexandra Peste and Mark Kurtz and Dan Alistarh},
  title     = {How Well Do Sparse Imagenet Models Transfer?},
  journal   = {CoRR},
  volume    = {abs/2111.13445},
  year      = {2021},
  url       = {https://arxiv.org/abs/2111.13445},
  eprinttype = {arXiv},
  eprint    = {2111.13445},
  timestamp = {Wed, 01 Dec 2021 15:16:43 +0100},
  biburl    = {https://dblp.org/rec/journals/corr/abs-2111-13445.bib},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}
```
# All Thanks To Our Contributors

<a href="https://github.com/neuralmagic/deepsparse/graphs/contributors">
  <img src="https://contrib.rocks/image?repo=neuralmagic/deepsparse" />
</a>

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/neuralmagic/deepsparse",
    "name": "deepsparse",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.12,>=3.8",
    "maintainer_email": null,
    "keywords": "inference, machine learning, x86, x86_64, avx2, avx512, neural network, sparse, inference engine, cpu, runtime, deepsparse, computer vision, object detection, sparsity",
    "author": "Neuralmagic, Inc.",
    "author_email": "support@neuralmagic.com",
    "download_url": "https://files.pythonhosted.org/packages/6a/ff/0c2015a12d571241e2a40c23106158c6e08e9e5b5a28a2015d2a4566d396/deepsparse-1.8.0.tar.gz",
    "platform": null,
    "description": "<!--\nCopyright (c) 2021 - present / Neuralmagic, Inc. All Rights Reserved.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n   http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing,\nsoftware distributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n-->\n\n\n<div style=\"display: flex; flex-direction: column; align-items: center;\">\n  <h1 style=\"display: flex; align-items: center;\" >\n     <img width=\"60\" height=\"60\" alt=\"tool icon\" src=\"https://neuralmagic.com/wp-content/uploads/2024/03/icon_DeepSparse-005.png\" />\n      <span>&nbsp;&nbsp;DeepSparse</span>\n  </h1>\n  <h4>Sparsity-aware deep learning inference runtime for CPUs</h4>\n  <div align=\"center\">\n  <a href=\"https://docs.neuralmagic.com/deepsparse/\">\n    <img alt=\"Documentation\" src=\"https://img.shields.io/badge/documentation-darkred?&style=for-the-badge&logo=read-the-docs\" height=\"20\" />\n  </a>\n  <a href=\"https://neuralmagic.com/community/\">\n    <img alt=\"Slack\" src=\"https://img.shields.io/badge/slack-purple?style=for-the-badge&logo=slack\" height=\"20\" />\n  </a>\n  <a href=\"https://github.com/neuralmagic/deepsparse/issues/\">\n    <img alt=\"Support\" src=\"https://img.shields.io/badge/support%20forums-navy?style=for-the-badge&logo=github\" height=\"20\" />\n  </a>\n  <a href=\"https://www.youtube.com/channel/UCo8dO_WMGYbWCRnj_Dxr4EA\">\n    <img alt=\"YouTube\" src=\"https://img.shields.io/badge/-YouTube-red?&style=for-the-badge&logo=youtube&logoColor=white\" height=\"20\" />\n  </a>\n  <a href=\"https://twitter.com/neuralmagic\">\n    <img alt=\"Twitter\" src=\"https://img.shields.io/twitter/follow/neuralmagic?color=darkgreen&label=Follow&style=social\" height=\"20\" />\n  </a>\n</div>\n\n[DeepSparse](https://github.com/neuralmagic/deepsparse) is a CPU inference runtime that takes advantage of sparsity to accelerate neural network inference. Coupled with [SparseML](https://github.com/neuralmagic/sparseml), our optimization library for pruning and quantizing your models, DeepSparse delivers exceptional inference performance on CPU hardware.\n\n<p align=\"center\">\n   <img alt=\"NM Flow\" src=\"https://github.com/neuralmagic/deepsparse/assets/3195154/51e62fe7-9d9a-4fa5-a774-877158da1e29\" width=\"60%\" />\n</p>\n\n## \u2728NEW\u2728 DeepSparse LLMs\n\nNeural Magic is excited to announce initial support for performant LLM inference in DeepSparse with:\n- sparse kernels for speedups and memory savings from unstructured sparse weights.\n- 8-bit weight and activation quantization support.\n- efficient usage of cached attention keys and values for minimal memory movement.\n\n![mpt-chat-comparison](https://github.com/neuralmagic/deepsparse/assets/3195154/ccf39323-4603-4489-8462-7b103872aeb3)\n\n### Try It Now\n\nInstall (requires Linux):\n```bash\npip install -U deepsparse-nightly[llm]\n```\n\nRun inference:\n```python\nfrom deepsparse import TextGeneration\npipeline = TextGeneration(model=\"zoo:mpt-7b-dolly_mpt_pretrain-pruned50_quantized\")\n\nprompt=\"\"\"\nBelow is an instruction that describes a task. Write a response that appropriately completes the request. ### Instruction: what is sparsity? ### Response:\n\"\"\"\nprint(pipeline(prompt, max_new_tokens=75).generations[0].text)\n\n# Sparsity is the property of a matrix or other data structure in which a large number of elements are zero and a smaller number of elements are non-zero. In the context of machine learning, sparsity can be used to improve the efficiency of training and prediction.\n```\n\nCheck out the [`TextGeneration` documentation for usage details](https://github.com/neuralmagic/deepsparse/blob/main/docs/llms/text-generation-pipeline.md) and get the [latest sparsified LLMs on our HF Collection](https://huggingface.co/collections/neuralmagic/deepsparse-sparse-llms-659d61e81774dd48343642bf).\n\n### Sparsity :handshake: Performance\n\nDeveloped in collaboration with IST Austria, [our recent paper](https://arxiv.org/abs/2310.06927) details a new technique called **Sparse Fine-Tuning**, which allows us to prune MPT-7B to 60% sparsity during fine-tuning without drop in accuracy. With our new support for LLMs, DeepSparse accelerates the sparse-quantized model 7x over the dense baseline:\n\n<div align=\"center\">\n    <img src=\"https://github.com/neuralmagic/deepsparse/assets/3195154/8687401c-f479-4999-ba6b-e01c747dace9\" width=\"60%\"/>\n</div>\n\n> [Learn more about our Sparse Fine-Tuning research.](https://github.com/neuralmagic/deepsparse/blob/main/research/mpt#sparse-finetuned-llms-with-deepsparse)\n\n> [Check out the model running live on Hugging Face.](https://huggingface.co/spaces/neuralmagic/sparse-mpt-7b-gsm8k)\n\n### LLM Roadmap\n\nFollowing this initial launch, we are rapidly expanding our support for LLMs, including:\n\n1. Productizing Sparse Fine-Tuning: Enable external users to apply sparse fine-tuning to their datasets via SparseML.\n2. Expanding model support: Apply our sparse fine-tuning results to Llama 2 and Mistral models.\n3. Pushing for higher sparsity: Improving our pruning algorithms to reach even higher sparsity.\n\n## Computer Vision and NLP Models\n\nIn addition to LLMs, DeepSparse supports many variants of CNNs and Transformer models, such as BERT, ViT, ResNet, EfficientNet, YOLOv5/8, and many more! Take a look at the [Computer Vision](https://sparsezoo.neuralmagic.com/?modelSet=computer_vision) and [Natural Language Processing](https://sparsezoo.neuralmagic.com/?modelSet=natural_language_processing) domains of [SparseZoo](https://sparsezoo.neuralmagic.com/), our home for optimized models.\n\n### Installation\n\nInstall via [PyPI](https://pypi.org/project/deepsparse/) ([optional dependencies detailed here](https://github.com/neuralmagic/deepsparse/tree/main/docs/user-guide/installation.md)):\n\n```bash\npip install deepsparse \n```\n\nTo experiment with the latest features, there is a nightly build available using `pip install deepsparse-nightly` or you can clone and install from source using `pip install -e path/to/deepsparse`.\n\n#### System Requirements\n- Hardware: [x86 AVX2, AVX-512, AVX-512 VNNI and ARM v8.2+](https://github.com/neuralmagic/deepsparse/tree/main/docs/user-guide/hardware-support.md)\n- Operating System: Linux\n- Python: 3.8-3.11\n- ONNX versions 1.5.0-1.15.0, ONNX opset version 11 or higher\n\nFor those using Mac or Windows, we recommend using Linux containers with Docker.\n\n## Deployment APIs\n\nDeepSparse includes three deployment APIs:\n\n- **Engine** is the lowest-level API. With Engine, you compile an ONNX model, pass tensors as input, and receive the raw outputs.\n- **Pipeline** wraps the Engine with pre- and post-processing. With Pipeline, you pass raw data and receive the prediction.\n- **Server** wraps Pipelines with a REST API using FastAPI. With Server, you send raw data over HTTP and receive the prediction.\n\n### Engine\n\nThe example below downloads a 90% pruned-quantized BERT model for sentiment analysis in ONNX format from SparseZoo, compiles the model, and runs inference on randomly generated input. Users can provide their own ONNX models, whether dense or sparse.\n\n```python\nfrom deepsparse import Engine\n\n# download onnx, compile\nzoo_stub = \"zoo:nlp/sentiment_analysis/obert-base/pytorch/huggingface/sst2/pruned90_quant-none\"\ncompiled_model = Engine(model=zoo_stub, batch_size=1)\n\n# run inference (input is raw numpy tensors, output is raw scores)\ninputs = compiled_model.generate_random_inputs()\noutput = compiled_model(inputs)\nprint(output)\n\n# > [array([[-0.3380675 ,  0.09602544]], dtype=float32)] << raw scores\n```\n\n### Pipeline\n\nPipelines wrap Engine with pre- and post-processing, enabling you to pass raw data and receive the post-processed prediction. The example below downloads a 90% pruned-quantized BERT model for sentiment analysis in ONNX format from SparseZoo, sets up a pipeline, and runs inference on sample data.\n\n```python\nfrom deepsparse import Pipeline\n\n# download onnx, set up pipeline\nzoo_stub = \"zoo:nlp/sentiment_analysis/obert-base/pytorch/huggingface/sst2/pruned90_quant-none\"  \nsentiment_analysis_pipeline = Pipeline.create(\n  task=\"sentiment-analysis\",    # name of the task\n  model_path=zoo_stub,          # zoo stub or path to local onnx file\n)\n\n# run inference (input is a sentence, output is the prediction)\nprediction = sentiment_analysis_pipeline(\"I love using DeepSparse Pipelines\")\nprint(prediction)\n# > labels=['positive'] scores=[0.9954759478569031]\n```\n\n### Server\n\nServer wraps Pipelines with REST APIs, enabling you to set up a model-serving endpoint running DeepSparse. This enables you to send raw data to DeepSparse over HTTP and receive the post-processed predictions. DeepSparse Server is launched from the command line and configured via arguments or a server configuration file. The following downloads a 90% pruned-quantized BERT model for sentiment analysis in ONNX format from SparseZoo and launches a sentiment analysis endpoint:\n\n```bash\ndeepsparse.server \\\n  --task sentiment-analysis \\\n  --model_path zoo:nlp/sentiment_analysis/obert-base/pytorch/huggingface/sst2/pruned90_quant-none\n```\n\nSending a request:\n\n```python\nimport requests\n\nurl = \"http://localhost:5543/v2/models/sentiment_analysis/infer\" # Server's port default to 5543\nobj = {\"sequences\": \"Snorlax loves my Tesla!\"}\n\nresponse = requests.post(url, json=obj)\nprint(response.text)\n# {\"labels\":[\"positive\"],\"scores\":[0.9965094327926636]}\n```\n\n### Additional Resources\n- [Use Cases Page](https://github.com/neuralmagic/deepsparse/tree/main/docs/use-cases) for more details on supported tasks\n- [Pipelines User Guide](https://github.com/neuralmagic/deepsparse/tree/main/docs/user-guide/deepsparse-pipelines.md) for Pipeline documentation\n- [Server User Guide](https://github.com/neuralmagic/deepsparse/tree/main/docs/user-guide/deepsparse-server.md) for Server documentation\n- [Benchmarking User Guide](https://github.com/neuralmagic/deepsparse/tree/main/docs/user-guide/deepsparse-benchmarking.md) for benchmarking documentation\n- [Cloud Deployments and Demos](https://github.com/neuralmagic/deepsparse/tree/main/examples/)\n- [User Guide](https://github.com/neuralmagic/deepsparse/tree/main/docs/user-guide) for more detailed documentation\n\n\n## Product Usage Analytics\n\nDeepSparse gathers basic usage telemetry, including, but not limited to, Invocations, Package, Version, and IP Address, for Product Usage Analytics purposes. Review Neural Magic's [Products Privacy Policy](https://neuralmagic.com/legal/) for further details on how we process this data. \n\nTo disable Product Usage Analytics, run:\n```bash\nexport NM_DISABLE_ANALYTICS=True\n```\n\nConfirm that telemetry is shut off through info logs streamed with engine invocation by looking for the phrase \"Skipping Neural Magic's latest package version check.\"\n\n## Community\n\n### Get In Touch\n\n- [Contribution Guide](https://github.com/neuralmagic/deepsparse/blob/main/CONTRIBUTING.md)\n- [Community Slack](https://neuralmagic.com/community/)\n- [GitHub Issue Queue](https://github.com/neuralmagic/deepsparse/issues) \n- [Subscribe To Our Newsletter](https://neuralmagic.com/subscribe/)\n- [Blog](https://www.neuralmagic.com/blog/) \n\nFor more general questions about Neural Magic, [complete this form.](http://neuralmagic.com/contact/)\n\n### License\n\n- **DeepSparse Community** is free to use and is licensed under the [Neural Magic DeepSparse Community License.](https://github.com/neuralmagic/deepsparse/blob/main/LICENSE)\nSome source code, example files, and scripts included in the DeepSparse GitHub repository or directory are licensed under the [Apache License Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) as noted.\n\n- **DeepSparse Enterprise** requires a Trial License or [can be fully licensed](https://neuralmagic.com/legal/master-software-license-and-service-agreement/) for production, commercial applications.\n\n### Cite\n\nFind this project useful in your research or other communications? Please consider citing:\n\n```bibtex\n@misc{kurtic2023sparse,\n      title={Sparse Fine-Tuning for Inference Acceleration of Large Language Models}, \n      author={Eldar Kurtic and Denis Kuznedelev and Elias Frantar and Michael Goin and Dan Alistarh},\n      year={2023},\n      url={https://arxiv.org/abs/2310.06927},\n      eprint={2310.06927},\n      archivePrefix={arXiv},\n      primaryClass={cs.CL}\n}\n\n@misc{kurtic2022optimal,\n      title={The Optimal BERT Surgeon: Scalable and Accurate Second-Order Pruning for Large Language Models}, \n      author={Eldar Kurtic and Daniel Campos and Tuan Nguyen and Elias Frantar and Mark Kurtz and Benjamin Fineran and Michael Goin and Dan Alistarh},\n      year={2022},\n      url={https://arxiv.org/abs/2203.07259},\n      eprint={2203.07259},\n      archivePrefix={arXiv},\n      primaryClass={cs.CL}\n}\n\n@InProceedings{\n    pmlr-v119-kurtz20a, \n    title = {Inducing and Exploiting Activation Sparsity for Fast Inference on Deep Neural Networks}, \n    author = {Kurtz, Mark and Kopinsky, Justin and Gelashvili, Rati and Matveev, Alexander and Carr, John and Goin, Michael and Leiserson, William and Moore, Sage and Nell, Bill and Shavit, Nir and Alistarh, Dan}, \n    booktitle = {Proceedings of the 37th International Conference on Machine Learning}, \n    pages = {5533--5543}, \n    year = {2020}, \n    editor = {Hal Daum\u00e9 III and Aarti Singh}, \n    volume = {119}, \n    series = {Proceedings of Machine Learning Research}, \n    address = {Virtual}, \n    month = {13--18 Jul}, \n    publisher = {PMLR}, \n    pdf = {http://proceedings.mlr.press/v119/kurtz20a/kurtz20a.pdf},\n    url = {http://proceedings.mlr.press/v119/kurtz20a.html}\n}\n\n@article{DBLP:journals/corr/abs-2111-13445,\n  author    = {Eugenia Iofinova and Alexandra Peste and Mark Kurtz and Dan Alistarh},\n  title     = {How Well Do Sparse Imagenet Models Transfer?},\n  journal   = {CoRR},\n  volume    = {abs/2111.13445},\n  year      = {2021},\n  url       = {https://arxiv.org/abs/2111.13445},\n  eprinttype = {arXiv},\n  eprint    = {2111.13445},\n  timestamp = {Wed, 01 Dec 2021 15:16:43 +0100},\n  biburl    = {https://dblp.org/rec/journals/corr/abs-2111-13445.bib},\n  bibsource = {dblp computer science bibliography, https://dblp.org}\n}\n```\n# All Thanks To Our Contributors\n\n<a href=\"https://github.com/neuralmagic/deepsparse/graphs/contributors\">\n  <img src=\"https://contrib.rocks/image?repo=neuralmagic/deepsparse\" />\n</a>\n",
    "bugtrack_url": null,
    "license": "Neural Magic DeepSparse Community License",
    "summary": "An inference runtime offering GPU-class performance on CPUs and APIs to integrate ML into your application",
    "version": "1.8.0",
    "project_urls": {
        "Homepage": "https://github.com/neuralmagic/deepsparse"
    },
    "split_keywords": [
        "inference",
        " machine learning",
        " x86",
        " x86_64",
        " avx2",
        " avx512",
        " neural network",
        " sparse",
        " inference engine",
        " cpu",
        " runtime",
        " deepsparse",
        " computer vision",
        " object detection",
        " sparsity"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "69e250e20240f285641032687bd74b54a86c7745ec20ff914ca2709b9edb8ba7",
                "md5": "8e5bddd9a9d38f7d6a45530bb724213b",
                "sha256": "322c41b993127f2b102392ee259d92663acd569eceddb9d64244376c8268abd3"
            },
            "downloads": -1,
            "filename": "deepsparse-1.8.0-cp310-cp310-macosx_13_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "8e5bddd9a9d38f7d6a45530bb724213b",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<3.12,>=3.8",
            "size": 33514592,
            "upload_time": "2024-07-19T16:27:59",
            "upload_time_iso_8601": "2024-07-19T16:27:59.410358Z",
            "url": "https://files.pythonhosted.org/packages/69/e2/50e20240f285641032687bd74b54a86c7745ec20ff914ca2709b9edb8ba7/deepsparse-1.8.0-cp310-cp310-macosx_13_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6ec8c22187b89ebc981468323b9c2bcc467b0861547562ac0e205c40421416c4",
                "md5": "d25303be1599329705516538141b8a47",
                "sha256": "3532f52f738086c20e2537a8b1e4c472aac8434f8a7c4981c1730911a28f8117"
            },
            "downloads": -1,
            "filename": "deepsparse-1.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "d25303be1599329705516538141b8a47",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<3.12,>=3.8",
            "size": 40537798,
            "upload_time": "2024-07-19T16:27:44",
            "upload_time_iso_8601": "2024-07-19T16:27:44.322115Z",
            "url": "https://files.pythonhosted.org/packages/6e/c8/c22187b89ebc981468323b9c2bcc467b0861547562ac0e205c40421416c4/deepsparse-1.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "07c7870e6c8f06cb99d83a16c19f2d44eaf4ce3e3ad021ab4412f488dd5df57b",
                "md5": "dc1280730f8f8ba561d4c36e3de1d733",
                "sha256": "7b6897b36f91dc5b39cf2be4365b1a7f9c77f8994834fbcfec14567747eb4f20"
            },
            "downloads": -1,
            "filename": "deepsparse-1.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "dc1280730f8f8ba561d4c36e3de1d733",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": "<3.12,>=3.8",
            "size": 47373867,
            "upload_time": "2024-07-19T16:27:27",
            "upload_time_iso_8601": "2024-07-19T16:27:27.265503Z",
            "url": "https://files.pythonhosted.org/packages/07/c7/870e6c8f06cb99d83a16c19f2d44eaf4ce3e3ad021ab4412f488dd5df57b/deepsparse-1.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "baa63848fe29220cbcd25ed374168b5530c764f2cf68d64cc21ca5627bebf164",
                "md5": "6d20ba34af3e6829a9b944e4b6535b5c",
                "sha256": "30d075dde69782cf3ce3cd673c3da2c76407814133f3c3cb4f2cffaf54b7d3b6"
            },
            "downloads": -1,
            "filename": "deepsparse-1.8.0-cp311-cp311-macosx_13_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "6d20ba34af3e6829a9b944e4b6535b5c",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<3.12,>=3.8",
            "size": 33514622,
            "upload_time": "2024-07-19T16:28:44",
            "upload_time_iso_8601": "2024-07-19T16:28:44.612650Z",
            "url": "https://files.pythonhosted.org/packages/ba/a6/3848fe29220cbcd25ed374168b5530c764f2cf68d64cc21ca5627bebf164/deepsparse-1.8.0-cp311-cp311-macosx_13_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "af11b1eda14e7a4744140d0c873166fbc90ab787861f882f303b490c6d06eaf2",
                "md5": "be4d4ccf10014fcee5f5099dd21d038b",
                "sha256": "687a6597c80389e9646b676d543870bc86cab3908088f41f769c00b0820fdf2d"
            },
            "downloads": -1,
            "filename": "deepsparse-1.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "be4d4ccf10014fcee5f5099dd21d038b",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<3.12,>=3.8",
            "size": 40537825,
            "upload_time": "2024-07-19T16:28:30",
            "upload_time_iso_8601": "2024-07-19T16:28:30.407497Z",
            "url": "https://files.pythonhosted.org/packages/af/11/b1eda14e7a4744140d0c873166fbc90ab787861f882f303b490c6d06eaf2/deepsparse-1.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dc5d898406918e97371292d6443a40fda176039135d738d8ab5202b2763fd729",
                "md5": "49947f7bf73ec6e23e95c725b1c0b61d",
                "sha256": "59a5ee321e93dbf05a9e8a91944daf7280409bfcdeb004253b018816d374261e"
            },
            "downloads": -1,
            "filename": "deepsparse-1.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "49947f7bf73ec6e23e95c725b1c0b61d",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": "<3.12,>=3.8",
            "size": 47373684,
            "upload_time": "2024-07-19T16:28:16",
            "upload_time_iso_8601": "2024-07-19T16:28:16.298821Z",
            "url": "https://files.pythonhosted.org/packages/dc/5d/898406918e97371292d6443a40fda176039135d738d8ab5202b2763fd729/deepsparse-1.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "80a2bdf1ed43f7eb69d90d2dbc569763eaa4b3d926bbca00172a36c6ad12e6ec",
                "md5": "c631a89f0ef39709e83f2787b0ac60de",
                "sha256": "0150074efa7436b608c0bdff95c3fa09f3d69a211b2d7a7c0ceacc10c7945d49"
            },
            "downloads": -1,
            "filename": "deepsparse-1.8.0-cp38-cp38-macosx_13_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "c631a89f0ef39709e83f2787b0ac60de",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "<3.12,>=3.8",
            "size": 33514279,
            "upload_time": "2024-07-19T16:26:19",
            "upload_time_iso_8601": "2024-07-19T16:26:19.686792Z",
            "url": "https://files.pythonhosted.org/packages/80/a2/bdf1ed43f7eb69d90d2dbc569763eaa4b3d926bbca00172a36c6ad12e6ec/deepsparse-1.8.0-cp38-cp38-macosx_13_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e3d40e8a42e29303985653d698d4e08f172d58d24a9f7ccea6d82056dc131904",
                "md5": "ff8a8be22133843a6a04d4955563dc51",
                "sha256": "ccd87ae53c524490836602034238a72617baed53ace844a3e3b166654f919ec7"
            },
            "downloads": -1,
            "filename": "deepsparse-1.8.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "ff8a8be22133843a6a04d4955563dc51",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "<3.12,>=3.8",
            "size": 40537297,
            "upload_time": "2024-07-19T16:26:02",
            "upload_time_iso_8601": "2024-07-19T16:26:02.343823Z",
            "url": "https://files.pythonhosted.org/packages/e3/d4/0e8a42e29303985653d698d4e08f172d58d24a9f7ccea6d82056dc131904/deepsparse-1.8.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "aaaa5249aa785dda4ef8a2bba8dbd6c9dad635bbd004884396464f9035026686",
                "md5": "c05fcefe4447fb3faa4576fe11bde643",
                "sha256": "9b8a028e00fe2d689a6927994674063e5120ee5e6237f0eee3b8f92ac8ddafac"
            },
            "downloads": -1,
            "filename": "deepsparse-1.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c05fcefe4447fb3faa4576fe11bde643",
            "packagetype": "bdist_wheel",
            "python_version": "cp38",
            "requires_python": "<3.12,>=3.8",
            "size": 47373852,
            "upload_time": "2024-07-19T16:25:40",
            "upload_time_iso_8601": "2024-07-19T16:25:40.619505Z",
            "url": "https://files.pythonhosted.org/packages/aa/aa/5249aa785dda4ef8a2bba8dbd6c9dad635bbd004884396464f9035026686/deepsparse-1.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8d4b461fa341c05368f21982aab3015876ff45d2062c99551ef221e57ce9e69d",
                "md5": "54667e8e1beaa73367b015ad7b63fc63",
                "sha256": "87dc731f118c3cd99e1ee8d81aa9f8ff97bacd66db42ac4c800b7c37b0d05cf6"
            },
            "downloads": -1,
            "filename": "deepsparse-1.8.0-cp39-cp39-macosx_13_0_arm64.whl",
            "has_sig": false,
            "md5_digest": "54667e8e1beaa73367b015ad7b63fc63",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<3.12,>=3.8",
            "size": 33514781,
            "upload_time": "2024-07-19T16:27:09",
            "upload_time_iso_8601": "2024-07-19T16:27:09.677684Z",
            "url": "https://files.pythonhosted.org/packages/8d/4b/461fa341c05368f21982aab3015876ff45d2062c99551ef221e57ce9e69d/deepsparse-1.8.0-cp39-cp39-macosx_13_0_arm64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "92c6308d5e4d7624bb76593580291ca4cd625a8403737212d73d4062f3b3199c",
                "md5": "30e7a8178208227ad8430d7e0ef56bfa",
                "sha256": "ae33d91510c52258cae3dcfebff6868ddf29962c975cb36fd4694db008b7ad33"
            },
            "downloads": -1,
            "filename": "deepsparse-1.8.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "has_sig": false,
            "md5_digest": "30e7a8178208227ad8430d7e0ef56bfa",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<3.12,>=3.8",
            "size": 40537811,
            "upload_time": "2024-07-19T16:26:54",
            "upload_time_iso_8601": "2024-07-19T16:26:54.807853Z",
            "url": "https://files.pythonhosted.org/packages/92/c6/308d5e4d7624bb76593580291ca4cd625a8403737212d73d4062f3b3199c/deepsparse-1.8.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cf774a49d5e75eb8ba69ce903b6d80c55ae44c7e78a6516655c90e2f370f3ea5",
                "md5": "eaef4888d23a9ae7515e9aa902460ca6",
                "sha256": "df19350ffc4728079b84b6e9c3cce3948b3566f0cab49190438a6f76a535e631"
            },
            "downloads": -1,
            "filename": "deepsparse-1.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "eaef4888d23a9ae7515e9aa902460ca6",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": "<3.12,>=3.8",
            "size": 47374912,
            "upload_time": "2024-07-19T16:26:39",
            "upload_time_iso_8601": "2024-07-19T16:26:39.394831Z",
            "url": "https://files.pythonhosted.org/packages/cf/77/4a49d5e75eb8ba69ce903b6d80c55ae44c7e78a6516655c90e2f370f3ea5/deepsparse-1.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6aff0c2015a12d571241e2a40c23106158c6e08e9e5b5a28a2015d2a4566d396",
                "md5": "f1ba806f19b5d955e2d6b45a0d050a93",
                "sha256": "461714d0d1118b0b318139bb0c2a7b5c9facde7ba68d19d3d18b34005792c198"
            },
            "downloads": -1,
            "filename": "deepsparse-1.8.0.tar.gz",
            "has_sig": false,
            "md5_digest": "f1ba806f19b5d955e2d6b45a0d050a93",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.12,>=3.8",
            "size": 46891951,
            "upload_time": "2024-07-19T16:29:01",
            "upload_time_iso_8601": "2024-07-19T16:29:01.013476Z",
            "url": "https://files.pythonhosted.org/packages/6a/ff/0c2015a12d571241e2a40c23106158c6e08e9e5b5a28a2015d2a4566d396/deepsparse-1.8.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-07-19 16:29:01",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "neuralmagic",
    "github_project": "deepsparse",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "deepsparse"
}
        
Elapsed time: 4.52328s