نظرة عامة على مشروع OpenVINO™
ملخص
OpenVINO™ (تحسين الاستدلال البصري المفتوح وتحسين الشبكات العصبية) عبارة عن مجموعة أدوات مفتوحة المصدر لتحسين استدلال التعلم العميق تم تطويرها بواسطة Intel. يركز المشروع على تحسين أداء استدلال نماذج الذكاء الاصطناعي على مختلف منصات الأجهزة، وخاصة في مجالات مثل رؤية الكمبيوتر، والتعرف التلقائي على الكلام، والذكاء الاصطناعي التوليدي، ومعالجة اللغة الطبيعية.
تتمثل الفكرة الأساسية لـ OpenVINO™ في تمكين المطورين من نشر نماذج التعلم العميق المدربة بسهولة في بيئات الإنتاج، سواء كانت أجهزة طرفية أو خوادم سحابية، لتحقيق أفضل أداء استدلال.
الوظائف والميزات الأساسية
1. تحسين الاستدلال
- تحسين أداء التعلم العميق: مُحسَّن خصيصًا لمهام رؤية الكمبيوتر والتعرف التلقائي على الكلام والذكاء الاصطناعي التوليدي ومعالجة اللغة الطبيعية.
- دعم نماذج اللغة الكبيرة: يدعم الاستدلال الفعال لنماذج اللغة الكبيرة والصغيرة.
- تحسين المهام المتعددة: يغطي مجموعة متنوعة من سيناريوهات تطبيقات الذكاء الاصطناعي الشائعة.
2. دعم مرن للنماذج
- توافق متعدد الأطر: يدعم أطر التعلم العميق الرئيسية مثل PyTorch و TensorFlow و ONNX و Keras و PaddlePaddle و JAX/Flax.
- تكامل Hugging Face: يتكامل مباشرة مع نماذج المحولات والناشرات من Hugging Face Hub عبر Optimum Intel.
- لا حاجة إلى الإطار الأصلي: يمكنه تحويل النماذج ونشرها في بيئات بدون إطار التدريب الأصلي.
3. توافق واسع مع المنصات
- دعم وحدة المعالجة المركزية (CPU): تحسين وحدات المعالجة المركزية x86 و ARM.
- دعم وحدة معالجة الرسومات (GPU): بطاقات رسومات Intel المدمجة والمنفصلة.
- مسرعات الذكاء الاصطناعي: وحدة معالجة الشبكات العصبية (NPU) من Intel.
- من الحافة إلى السحابة: دعم النشر الشامل من الأجهزة الطرفية إلى الخوادم السحابية.
4. واجهات برمجة تطبيقات (APIs) وأدوات غنية
- واجهات برمجة تطبيقات متعددة اللغات: يوفر واجهات برمجة تطبيقات بلغات برمجة متعددة مثل C++ و Python و C و NodeJS.
- واجهة برمجة تطبيقات GenAI: واجهة برمجة تطبيقات مُحسَّنة خصيصًا للذكاء الاصطناعي التوليدي.
- أدوات تحويل النماذج: أدوات سهلة لتحويل تنسيق النموذج وتحسينه.
المكونات الرئيسية والنظام البيئي
الأدوات والمكتبات الأساسية
- إطار عمل ضغط الشبكة العصبية (NNCF): تقنيات متقدمة لتحسين النموذج، بما في ذلك التكميم والتقليم والتثنائية والتخفيف.
- OpenVINO GenAI: موارد وأدوات مُصمَّمة خصيصًا لتطبيقات الذكاء الاصطناعي التوليدي.
- OpenVINO Tokenizers: أدوات الترميز لتطوير وتحسين تطبيقات الذكاء الاصطناعي التوليدي.
الخدمات والمنصات
- OpenVINO™ Model Server (OVMS): حل خدمة نماذج عالي الأداء وقابل للتطوير.
- Intel® Geti™: أداة تفاعلية لتعليق الفيديو والصور.
التكامل والشركاء
- 🤗Optimum Intel: تكامل عميق مع واجهة برمجة تطبيقات Hugging Face.
- Torch.compile: يدعم تحسين تجميع JIT لتطبيقات PyTorch الأصلية.
- تكامل vLLM: يعزز قدرات خدمة النموذج السريع لـ vLLM.
- ONNX Runtime: يعمل كموفر تنفيذ لـ ONNX Runtime.
- LlamaIndex و LangChain: تكامل عميق مع أطر عمل الذكاء الاصطناعي الرئيسية.
- Keras 3: يدعم إطار عمل التعلم العميق متعدد الخلفيات Keras 3.
مثال البدء السريع
استدلال نموذج PyTorch
import openvino as ov
import torch
import torchvision
# تحميل نموذج PyTorch في الذاكرة
model = torch.hub.load("pytorch/vision", "shufflenet_v2_x1_0", weights="DEFAULT")
# تحويل النموذج إلى نموذج OpenVINO
example = torch.randn(1, 3, 224, 224)
ov_model = ov.convert_model(model, example_input=(example,))
# تجميع النموذج لجهاز وحدة المعالجة المركزية (CPU)
core = ov.Core()
compiled_model = core.compile_model(ov_model, 'CPU')
# استدلال النموذج على بيانات عشوائية
output = compiled_model({0: example.numpy()})
استدلال نموذج TensorFlow
import numpy as np
import openvino as ov
import tensorflow as tf
# تحميل نموذج TensorFlow في الذاكرة
model = tf.keras.applications.MobileNetV2(weights='imagenet')
# تحويل النموذج إلى نموذج OpenVINO
ov_model = ov.convert_model(model)
# تجميع النموذج لجهاز وحدة المعالجة المركزية (CPU)
core = ov.Core()
compiled_model = core.compile_model(ov_model, 'CPU')
# استدلال النموذج على بيانات عشوائية
data = np.random.rand(1, 224, 224, 3)
output = compiled_model({0: data})
موارد التعلم
الوثائق والبرامج التعليمية الرسمية
أمثلة عملية
- OpenVINO Notebooks: مجموعة غنية من البرامج التعليمية لـ Jupyter Notebook.
- إنشاء روبوت محادثة LLM
- تحسين YOLOv11
- إنشاء نص إلى صورة
- تطوير مساعد متعدد الوسائط
- تطبيق التعرف على الكلام
موارد المجتمع
المزايا التقنية
تحسين الأداء
- مُحسَّن بعمق خصيصًا لبنية أجهزة Intel.
- يدعم تقنيات تسريع الأجهزة المتعددة.
- يوفر بيانات معيارية تفصيلية للأداء.
سهولة الاستخدام
- عملية تثبيت بسيطة:
pip install -U openvino
- أمثلة تعليمات برمجية وبرامج تعليمية غنية.
- وثائق شاملة ودعم المجتمع.
المرونة
- يدعم أطر عمل التعلم العميق المتعددة.
- قدرات النشر عبر الأنظمة الأساسية.
- تصميم معماري قابل للتطوير.
التثبيت ومتطلبات النظام
التثبيت السريع
pip install -U openvino
متطلبات النظام
المجتمع والدعم
الحصول على المساعدة
دليل المساهمة
الترخيص والخصوصية
الترخيص
تستخدم مجموعة أدوات OpenVINO™ ترخيص المصدر المفتوح Apache License Version 2.0.
جمع البيانات
تجمع OpenVINO™ بيانات أداء البرامج واستخدامها لتحسين الأدوات، ويمكنك إلغاء الاشتراك باستخدام الأمر التالي:
opt_in_out --opt_out
ملخص
OpenVINO™ عبارة عن مجموعة أدوات قوية وسهلة الاستخدام ومفتوحة المصدر لتحسين استدلال الذكاء الاصطناعي، وهي توفر للمطورين حلاً كاملاً من تدريب النموذج إلى النشر في الإنتاج. تشمل مزاياه الرئيسية ما يلي:
- دعم شامل للأطر: متوافق مع جميع أطر عمل التعلم العميق الرئيسية.
- أداء ممتاز: مُحسَّن بعمق لأجهزة Intel، مما يوفر أداء استدلاليًا فائقًا.
- نطاق واسع من حالات الاستخدام: يغطي مجالات متعددة مثل رؤية الكمبيوتر ومعالجة اللغة الطبيعية والذكاء الاصطناعي التوليدي.
- نظام بيئي غني: تكامل عميق مع المنصات الرئيسية مثل Hugging Face و PyTorch و TensorFlow.
- مجتمع نشط: وثائق شاملة وبرامج تعليمية ودعم المجتمع.