لماذا يهم MLOps
بناء نموذج هو الجزء السهل. نشره، مراقبته، إعادة تدريبه، وإدارته - هذا هو حيث يأتي MLOps. بدون MLOps المناسب، يتراجع النماذج سكوتاً ويفقد دقة الوقت.
مجموعة MLOps التي نستخدمها
بيئة البيانات
- إدارة الإصدارات: DVC لمراقبة إصدارات البيانات جنبًا إلى جنب مع الكود
- مخزن الميزات: Feast لمراقبة وإدارة الميزات المركزية والتعاونية
- إصدار البيانات: Great Expectations لمراجعة الجودة التلقائية
خدمة النموذج
- مخدمة الاستدلال: NVIDIA Triton لخدمة الاستدلال المتميزة
- بوابة الخدمة: Kong لتنسيق، وتحديد الحد الأقصى، والتوثيق
- إرسال الحواف: ONNX Runtime لاستدلال خفيف على أجهزة الحواف
اختبار A/B للنماذج
نقوم بتوجيه المرور بين أوراق النماذج المتعددة باستخدام مروّع قائم على الهاش الذي يضمن تجربة مستخدم متسقة.
class مروّع_النموذج:
def __init__(self، النماذج، قسم_المرور):
self.النماذج = النماذج
self.قسم_المرور = قسم_المرور
def استدلال(self، الطلب):
هاش_المستخدم = هاش(طلب.المستخدم_الاي دي) % 100
المجمّع = 0
for المتغير، قسم في قسم_المرور.الآيات:
المجمّع += قسم * 100
إذا (هاش_المستخدم < المجمّع):
العودة self.النماذج[المتغير].استدلال(طلب.الميزات)مراقبة المعدّلات الرئيسية
| المعدّل | الحد الأقصى للتحذير | الإجراء |
|---|---|---|
| أنتقالات الاستدلال | > 200ms p95 | توسيع الخدمات الاستدلالية |
| نسبة الخطأ | > 1% | تحذير المهندس المسؤول |
| معدّل التغيير | PSI > 0.25 | إعادة تدريب النموذج |
| توزيع الاستدلال | KL > 0.1 | تحقيق في بيئة البيانات |
النهاية
يعد MLOps ممارسة تطورية. تبدأ بمراقبة التجارب الأساسية وإدارة الإصدارات، ثم تُضاف مراقبة وتعديل تلقائي النماذج تدريجيًا مع نمو أنظمة ML.