أبسط طريقة لخدمة نماذج AI/ML في الإنتاج
الكتابة مرة واحدة، والتشغيل في أي مكان: قم بتعبئة واختبار كود النموذج والأوزان والتبعيات باستخدام خادم نموذجي يتصرف بنفس الطريقة في التطوير والإنتاج.
حلقة مطور سريعة: قم بتنفيذ النموذج الخاص بك من خلال تعليقات سريعة من خادم إعادة التحميل المباشر، وتخطي تكوين Docker وKubernetes من خلال بيئة تقديم النماذج المضمنة بالبطاريات.
دعم جميع أطر عمل Python : من transformers
diffusers
إلى PyTorch
و TensorFlow
إلى TensorRT
و Triton
، تدعم Truss النماذج التي تم إنشاؤها وتقديمها مع أي إطار عمل.
انظر الجمالونات للنماذج الشائعة بما في ذلك:
اللاما 2 7ب (13ب) (70ب)
انتشار مستقر XL
الهمس
وعشرات الأمثلة الأخرى.
تثبيت الجمالون مع:
pip install --upgrade truss
وكمثال سريع، سنقوم بحزم مسار تصنيف النص من حزمة transformers
مفتوحة المصدر.
للبدء، قم بإنشاء Truss باستخدام الأمر الطرفي التالي:
الجمالون الحرف الأول من تصنيف النص
عندما يُطلب منك ذلك، قم بتسمية Truss الخاص بك مثل Text classification
.
ثم انتقل إلى الدليل الذي تم إنشاؤه حديثًا:
تصنيف نص القرص المضغوط
أحد الملفين الأساسيين في Truss هو model/model.py
. في هذا الملف، تكتب فئة Model
: واجهة بين نموذج ML الذي تقوم بتعبئته وخادم النموذج الذي تقوم بتشغيله عليه.
هناك وظيفتان للأعضاء يجب عليك تنفيذهما في فئة Model
:
load()
بتحميل النموذج على خادم النموذج. يتم تشغيله مرة واحدة بالضبط عند تشغيل الخادم النموذجي أو تصحيحه.
predict()
يعالج الاستدلال النموذجي. يتم تشغيله في كل مرة يتم فيها استدعاء الخادم النموذجي.
إليك model/model.py
الكامل لنموذج تصنيف النص:
من المحولات استيراد فئة خط الأنابيب Model:def __init__(self, **kwargs):self._model = Nonedef Load(self):self._model = Pipeline("text-classification")def توقع(self, model_input):return self._model (model_input)
الملف الأساسي الآخر في Truss هو config.yaml
، الذي يقوم بتكوين بيئة عرض النموذج. للحصول على قائمة كاملة بخيارات التكوين، راجع مرجع التكوين.
يعتمد نموذج خط الأنابيب على Transformers وPyTorch. يجب تحديد هذه التبعيات في تكوين Truss.
في config.yaml
، ابحث عن requirements
السطر. استبدل القائمة الفارغة بما يلي:
متطلبات: - الشعلة==2.0.1 - المحولات==4.30.0
ليس هناك حاجة إلى تكوين آخر.
تتم صيانة Truss بواسطة Baseten، التي توفر البنية التحتية لتشغيل نماذج ML في الإنتاج. سنستخدم Baseten باعتباره المضيف البعيد لنموذجك.
ستتوفر أجهزة تحكم عن بعد أخرى قريبًا، بدءًا من AWS SageMaker.
لإعداد جهاز التحكم عن بعد Baseten، ستحتاج إلى مفتاح Baseten API. إذا لم يكن لديك حساب Baseten، فلا داعي للقلق، فقط قم بالتسجيل للحصول على حساب وسيتم إصدار الكثير من الأرصدة المجانية لتبدأ.
truss push
عندما يكون مفتاح Baseten API الخاص بك جاهزًا للصقه عند المطالبة، يمكنك نشر النموذج الخاص بك:
دفع الجمالون
يمكنك مراقبة نشر النموذج الخاص بك من لوحة معلومات النموذج الخاصة بك على Baseten.
بعد الانتهاء من نشر النموذج، يمكنك استدعاؤه من الوحدة الطرفية.
الاحتجاج
توقع الجمالون -d ''"تروس رائع!"''
إجابة
[ {"التسمية": "إيجابية"، "النتيجة": 0.999873161315918 } ]
يتم دعم Truss بواسطة Baseten وتم تصميمه بالتعاون مع مهندسي ML في جميع أنحاء العالم. شكر خاص لستيفان أورهان @Stability.ai ودانيال سارفاتي @ Salad Technologies على مساهماتهم.
نحن نرحب بشدة بالمساهمات وفقًا لدليل المساهمين لدينا ومدونة قواعد السلوك.