DeepSparse هو وقت تشغيل استدلال CPU ثوري تم تطويره بواسطة Neural Magic، وهو مصمم خصيصًا للاستفادة من تخفيف الشبكات العصبية لتسريع عملية استدلال نماذج التعلم العميق. يحقق هذا المشروع أداء استدلال فائقًا على أجهزة CPU من خلال الجمع بين مكتبة تحسين SparseML.
تحديث مهم: في يناير 2025، استحوذت Red Hat على Neural Magic، وسيتم إيقاف صيانة وإلغاء إصدار مجتمع DeepSparse في 2 يونيو 2025. سينتقل الفريق إلى حلول تجارية ومفتوحة المصدر تعتمد على vLLM.
يوفر DeepSparse دعمًا أوليًا لاستدلال نماذج اللغة الكبيرة، بما في ذلك:
ملاحظة: يوصى مستخدمو Mac و Windows باستخدام حاويات Docker Linux
pip install deepsparse
pip install deepsparse-nightly
pip install -U deepsparse-nightly[llm]
pip install -e path/to/deepsparse
أقل مستوى من واجهة برمجة التطبيقات، يقوم بتجميع نماذج ONNX مباشرةً ومعالجة مدخلات ومخرجات الموتر.
from deepsparse import Engine
# تنزيل وتجميع النموذج
zoo_stub = "zoo:nlp/sentiment_analysis/obert-base/pytorch/huggingface/sst2/pruned90_quant-none"
compiled_model = Engine(model=zoo_stub, batch_size=1)
# تشغيل الاستدلال
inputs = compiled_model.generate_random_inputs()
output = compiled_model(inputs)
تغليف Engine وإضافة وظائف المعالجة المسبقة واللاحقة، ويمكنه معالجة البيانات الأولية مباشرة.
from deepsparse import Pipeline
# إعداد خط الأنابيب
sentiment_analysis_pipeline = Pipeline.create(
task="sentiment-analysis",
model_path="zoo:nlp/sentiment_analysis/obert-base/pytorch/huggingface/sst2/pruned90_quant-none"
)
# تشغيل الاستدلال
prediction = sentiment_analysis_pipeline("I love using DeepSparse Pipelines")
print(prediction)
# الإخراج: labels=['positive'] scores=[0.9954759478569031]
تغليف Pipeline استنادًا إلى FastAPI، وتوفير خدمة REST API.
# تشغيل الخادم
deepsparse.server \
--task sentiment-analysis \
--model_path zoo:nlp/sentiment_analysis/obert-base/pytorch/huggingface/sst2/pruned90_quant-none
# إرسال الطلب
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)
# الإخراج: {"labels":["positive"],"scores":[0.9965094327926636]}
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)
يجمع DeepSparse بيانات القياس عن بعد الأساسية للاستخدام لتحليل استخدام المنتج. يمكن للمستخدمين تعطيل ذلك عن طريق تعيين متغير البيئة:
export NM_DISABLE_ANALYTICS=True
يعتمد هذا المشروع على العديد من الأوراق الأكاديمية الهامة، بما في ذلك:
يمثل DeepSparse اختراقًا كبيرًا في مجال تحسين استدلال وحدة المعالجة المركزية، حيث يحقق أداء استدلال للتعلم العميق غير مسبوق على أجهزة CPU عادية من خلال تقنيات مبتكرة لاستغلال التخفيف. على الرغم من أن إصدار المجتمع على وشك التوقف عن الصيانة، إلا أن ابتكاراته التقنية ومفاهيمه ستستمر في التطور بدعم من Red Hat، مما يساهم بشكل أكبر في مجال تحسين استدلال الذكاء الاصطناعي.