Home
Login

Runtime de inferência de aprendizado profundo com reconhecimento de esparsidade projetado especificamente para CPUs

NOASSERTIONPython 3.2kneuralmagicdeepsparse Last Updated: 2025-06-02

DeepSparse - Motor de Inferência de Aprendizado Profundo com Percepção de Esparsidade Projetado para CPU

Visão Geral do Projeto

DeepSparse é um runtime de inferência de CPU revolucionário desenvolvido pela Neural Magic, projetado especificamente para aproveitar a esparsidade de redes neurais para acelerar o processo de inferência de modelos de aprendizado profundo. O projeto alcança um desempenho de inferência excepcional em hardware de CPU, combinando-o com a biblioteca de otimização SparseML.

Atualização Importante: Em janeiro de 2025, a Neural Magic foi adquirida pela Red Hat, e a versão da comunidade DeepSparse será descontinuada e desativada em 2 de junho de 2025. A equipe fará a transição para soluções comerciais e de código aberto baseadas em vLLM.

Principais Características

1. Otimização de Esparsidade

  • Suporte a Kernel Esparso: Aceleração e economia de memória por meio de pesos esparsos não estruturados
  • Quantização de 8 bits: Suporte para quantização de 8 bits de pesos e ativações
  • Otimização de Cache: Utilização eficiente de pares de chave-valor de atenção em cache, minimizando o movimento de memória

2. Suporte a Grandes Modelos de Linguagem (LLM)

DeepSparse oferece suporte inicial para inferência de grandes modelos de linguagem, incluindo:

  • Técnicas de ajuste fino esparso para modelos MPT-7B
  • Desempenho de aceleração 7 vezes maior do que as linhas de base densas (modelos esparsos-quantizados)
  • Suporte para modelos com até 60% de esparsidade sem perda de precisão

3. Amplo Suporte a Modelos

  • Visão Computacional: ResNet, EfficientNet, YOLOv5/8, ViT, etc.
  • Processamento de Linguagem Natural: BERT, variantes de Transformer, etc.
  • Modelos Multimodais: Suporte para várias arquiteturas CNN e Transformer

Requisitos de Sistema

Suporte de Hardware

  • Arquitetura x86: AVX2, AVX-512, AVX-512 VNNI
  • Arquitetura ARM: v8.2+

Ambiente de Software

  • Sistema Operacional: Linux
  • Versão do Python: 3.8-3.11
  • Suporte ONNX: Versão 1.5.0-1.15.0, conjunto de operações versão 11 ou superior

Nota: Usuários de Mac e Windows são aconselhados a usar contêineres Docker Linux

Métodos de Instalação

Versão Estável

pip install deepsparse

Versão Noturna (contém os recursos mais recentes)

pip install deepsparse-nightly

Versão com Suporte a LLM

pip install -U deepsparse-nightly[llm]

Instalação a partir do Código Fonte

pip install -e path/to/deepsparse

Três APIs de Implantação

1. Engine API (API de Nível Inferior)

A API de nível mais baixo, compila diretamente modelos ONNX e lida com entradas e saídas de tensores.

from deepsparse import Engine

# Baixar e compilar o modelo
zoo_stub = "zoo:nlp/sentiment_analysis/obert-base/pytorch/huggingface/sst2/pruned90_quant-none"
compiled_model = Engine(model=zoo_stub, batch_size=1)

# Executar a inferência
inputs = compiled_model.generate_random_inputs()
output = compiled_model(inputs)

2. Pipeline API (API de Nível Médio)

Empacota o Engine e adiciona recursos de pré-processamento e pós-processamento, pode lidar diretamente com dados brutos.

from deepsparse import Pipeline

# Configurar o pipeline
sentiment_analysis_pipeline = Pipeline.create(
    task="sentiment-analysis",
    model_path="zoo:nlp/sentiment_analysis/obert-base/pytorch/huggingface/sst2/pruned90_quant-none"
)

# Executar a inferência
prediction = sentiment_analysis_pipeline("I love using DeepSparse Pipelines")
print(prediction)
# Saída: labels=['positive'] scores=[0.9954759478569031]

3. Server API (API de Nível Superior)

Empacota o Pipeline com base no FastAPI, fornecendo um serviço de API REST.

# Iniciar o servidor
deepsparse.server \
    --task sentiment-analysis \
    --model_path zoo:nlp/sentiment_analysis/obert-base/pytorch/huggingface/sst2/pruned90_quant-none
# Enviar a solicitação
import requests

url = "http://localhost:5543/v2/models/sentiment_analysis/infer"
obj = {"sequences": "Snorlax loves my Tesla!"}
response = requests.post(url, json=obj)
print(response.text)
# Saída: {"labels":["positive"],"scores":[0.9965094327926636]}

Exemplo de Grande Modelo de Linguagem

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:
"""

result = pipeline(prompt, max_new_tokens=75)
print(result.generations[0].text)

Vantagens Técnicas

1. Técnicas de Ajuste Fino Esparso

  • Tecnologia inovadora desenvolvida em colaboração com o IST Austria
  • Poda o MPT-7B para 60% de esparsidade durante o processo de ajuste fino
  • Aceleração significativa sem perda de precisão

2. Otimização de Desempenho

  • Alcança desempenho de inferência em nível de GPU em CPUs
  • Reduz drasticamente o uso de memória
  • Suporta modelos esparsos-quantizados altamente otimizados

3. Integração do Ecossistema

  • Integração perfeita com a biblioteca de otimização SparseML
  • A biblioteca de modelos SparseZoo fornece modelos pré-otimizados
  • Suporta vários cenários de implantação

Casos de Uso

  • Computação de Borda: Implantação de modelos de IA de alto desempenho em ambientes com recursos limitados
  • Inferência na Nuvem: Redução de custos de computação em nuvem, melhorando a eficiência da inferência
  • Aplicações em Tempo Real: Aplicações de IA em tempo real que exigem baixa latência
  • Implantação em Larga Escala: Ambientes de produção que precisam lidar com solicitações de inferência de alta simultaneidade

Privacidade e Análise

DeepSparse coleta dados básicos de telemetria de uso para análise de uso do produto. Os usuários podem desativar definindo uma variável de ambiente:

export NM_DISABLE_ANALYTICS=True

Citações Acadêmicas

O projeto é baseado em vários artigos acadêmicos importantes, incluindo:

  • Sparse Fine-Tuning for Inference Acceleration of Large Language Models (2023)
  • The Optimal BERT Surgeon: Scalable and Accurate Second-Order Pruning (2022)
  • Inducing and Exploiting Activation Sparsity for Fast Inference (ICML 2020)

Resumo

DeepSparse representa um avanço significativo no campo da otimização de inferência de CPU, alcançando um desempenho de inferência de aprendizado profundo sem precedentes em hardware de CPU comum por meio de técnicas inovadoras de utilização de esparsidade. Embora a versão da comunidade esteja prestes a ser descontinuada, suas inovações e conceitos técnicos continuarão a evoluir com o apoio da Red Hat, contribuindo ainda mais para o campo da otimização de inferência de IA.

Star History Chart