مشاركة عبر


تتبع MLflow للوكلاء

هام

هذه الميزة في المعاينة العامة.

توضح هذه المقالة تتبع MLflow والسيناريوهات التي يكون فيها مفيدا لتقييم تطبيقات الذكاء الاصطناعي التوليدية في نظام الذكاء الاصطناعي الخاص بك.

في تطوير البرامج، يتضمن التتبع تسجيل تسلسلات الأحداث مثل جلسات المستخدم أو تدفقات الطلب. في سياق أنظمة الذكاء الاصطناعي، غالبا ما يشير التتبع إلى التفاعلات التي لديك مع نظام الذكاء الاصطناعي. قد يبدو مثال تتبع نظام الذكاء الاصطناعي مثل وضع علامة على المدخلات والمعلمات لتطبيق RAG الذي يتضمن رسالة مستخدم مع مطالبة، والبحث عن متجه، وواجهة مع نموذج الذكاء الاصطناعي التوليدي.

ما هو تتبع MLflow؟

باستخدام تتبع MLflow، يمكنك تسجيل التتبعات وتحليلها ومقارنتها عبر إصدارات مختلفة من تطبيقات الذكاء الاصطناعي التوليدية. يسمح لك بتصحيح الذكاء الاصطناعي التعليمات البرمجية ل Python الخاصة بك وتعقب المدخلات والاستجابات. يمكن أن يساعدك القيام بذلك على اكتشاف الشروط أو المعلمات التي تساهم في ضعف أداء التطبيق الخاص بك. يتم دمج MLflow Tracing بإحكام مع أدوات Databricks والبنية الأساسية، مما يسمح لك بتخزين وعرض جميع آثارك في دفاتر ملاحظات Databricks أو واجهة مستخدم تجربة MLflow أثناء تشغيل التعليمات البرمجية الخاصة بك.

عند تطوير أنظمة الذكاء الاصطناعي على Databricks باستخدام مكتبات مثل LangChain أو LlamaIndex أو OpenAI أو PyFunc المخصص، يسمح لك MLflow Tracing برؤية جميع الأحداث والمخرجات الوسيطة من كل خطوة من خطوات وكيلك. يمكنك بسهولة رؤية المطالبات، والنماذج والمستردات التي تم استخدامها، والمستندات التي تم استردادها لزيادة الاستجابة، والمدة التي استغرقتها الأشياء، والإخراج النهائي. على سبيل المثال، إذا كان النموذج الخاص بك هلوسات، يمكنك فحص بسرعة كل خطوة أدت إلى الهلوسة.

لماذا تستخدم تتبع MLflow؟

يوفر MLflow Tracing العديد من الفوائد لمساعدتك في تتبع سير عمل التطوير الخاص بك. على سبيل المثال، يمكنك:

  • راجع تصور التتبع التفاعلي واستخدم أداة التحقيق لتشخيص المشكلات في التطوير.
  • تحقق من أن قوالب المطالبة وعلامات الحماية تنتج نتائج معقولة.
  • استكشاف وتقليل تأثير زمن الانتقال لأطر العمل المختلفة والنماذج وأحجام المجموعات وممارسات تطوير البرامج.
  • قياس تكاليف التطبيق عن طريق تتبع استخدام الرمز المميز بواسطة نماذج مختلفة.
  • إنشاء مجموعات بيانات قياسية ("ذهبية") لتقييم أداء الإصدارات المختلفة.
  • تخزين التتبعات من نقاط نهاية نموذج الإنتاج إلى تصحيح المشكلات، وإجراء المراجعة والتقييم دون اتصال.

تثبيت تتبع MLflow

يتوفر تتبع MLflow في إصدارات MLflow 2.13.0 والإصدارات الأحدث.

%pip install mlflow>=2.13.0 -qqqU
%restart_python

بدلا من ذلك، يمكنك %pip install databricks-agents تثبيت أحدث إصدار من databricks-agents ذلك يتضمن إصدار MLflow متوافقا.

استخدام تتبع MLflow في التطوير

يساعدك MLflow Tracing على تحليل مشكلات الأداء وتسريع دورة تطوير العامل. تفترض الأقسام التالية أنك تجري تطوير عامل وتتبع MLflow من دفتر ملاحظات.

إشعار

في بيئة دفتر الملاحظات، قد يضيف MLflow Tracing ما يصل إلى بضع ثوان من الحمل إلى وقت تشغيل العامل. يأتي هذا في المقام الأول من زمن انتقال تتبعات التسجيل إلى تجربة MLflow. في نقطة نهاية نموذج الإنتاج، يكون ل MLflow Tracing تأثير أصغر بكثير على الأداء. راجع استخدام تتبع تدفق MLflow في الإنتاج.

إشعار

اعتبارا من Databricks Runtime 15.4 LTS ML، يتم تمكين تتبع MLflow بشكل افتراضي داخل دفاتر الملاحظات. لتعطيل التتبع، على سبيل المثال باستخدام LangChain، يمكنك التنفيذ mlflow.langchain.autolog(log_traces=False) في دفتر الملاحظات.

إضافة تتبعات إلى وكيلك

يوفر تتبع MLflow ثلاث طرق مختلفة لاستخدام التتبعات مع تطبيق الذكاء الاصطناعي التوليدي مع التتبعات. راجع إضافة تتبعات إلى عواملك للحصول على أمثلة لاستخدام هذه الأساليب. للحصول على تفاصيل مرجع واجهة برمجة التطبيقات، راجع وثائق MLflow.

واجهة برمجة التطبيقات (API) حالة الاستخدام الموصى بها ‏‏الوصف
التسجيل التلقائي ل MLflow التطوير على مكتبات GenAI المتكاملة يؤدي التسجيل التلقائي تلقائيا إلى تتبعات لأطر عمل مصدر مفتوح الشائعة مثل LangChain و LlamaIndex وOpenAI. عند إضافة mlflow.<library>.autolog() في بداية دفتر الملاحظات، يقوم MLflow تلقائيا بتسجيل التتبعات لكل خطوة من خطوات تنفيذ العامل.
واجهات برمجة التطبيقات بطلاقة عامل مخصص مع Pyfunc واجهات برمجة التطبيقات ذات التعليمات البرمجية المنخفضة للأجهزة الذكاء الاصطناعي الأنظمة دون القلق بشأن بنية شجرة التتبع. يحدد MLflow بنية الشجرة الأصل-التابعة المناسبة (امتدادات) استنادا إلى مكدس Python.
واجهات برمجة تطبيقات عميل MLflow حالات الاستخدام المتقدمة مثل مؤشرات الترابط المتعددة MLflowClient ينفذ واجهات برمجة تطبيقات أكثر دقة وأمانا لحالات الاستخدام المتقدمة. لا تدير واجهات برمجة التطبيقات هذه العلاقة بين الأصل والتابع للامتدادات، لذلك تحتاج إلى تحديدها يدويا لإنشاء بنية التتبع المطلوبة. يتطلب هذا المزيد من التعليمات البرمجية ولكنه يمنحك تحكما أفضل في دورة حياة التتبع، خاصة لحالات الاستخدام متعددة مؤشرات الترابط.

يوصى به لحالات الاستخدام التي تتطلب المزيد من التحكم، مثل التطبيقات متعددة مؤشرات الترابط أو الأجهزة المستندة إلى رد الاتصال.

مراجعة التتبعات

بعد تشغيل العامل الذي تم تجهيزه، يمكنك مراجعة التتبعات التي تم إنشاؤها بطرق مختلفة:

  • يتم عرض مرئيات التتبع مضمنة في إخراج الخلية.
  • يتم تسجيل التتبعات إلى تجربة MLflow الخاصة بك. يمكنك مراجعة القائمة الكاملة للتتبعات التاريخية والبحث عنها في Traces علامة التبويب في صفحة التجربة. عند تشغيل العامل ضمن تشغيل MLflow نشط، يمكنك أيضا العثور على التتبعات في صفحة Run.
  • استرداد التتبعات برمجيا باستخدام search_traces() API.

استخدام تتبع MLflow في الإنتاج

كما تم دمج MLflow Tracing مع الفسيفساء الذكاء الاصطناعي Model Serving، مما يسمح لك بتصحيح المشكلات بكفاءة ومراقبة الأداء وإنشاء مجموعة بيانات ذهبية للتقييم دون اتصال. عند تمكين تتبع MLflow لنقطة نهاية العرض، يتم تسجيل التتبعات في جدول استدلال أسفل response العمود.

لتمكين تتبع MLflow لنقطة نهاية العرض، يجب تعيين ENABLE_MLFLOW_TRACING متغير البيئة في تكوين نقطة النهاية إلى True. راجع إضافة متغيرات بيئة نص عادي لمعرفة كيفية نشر نقطة نهاية مع متغيرات البيئة المخصصة. إذا قمت بنشر عاملك باستخدام deploy() واجهة برمجة التطبيقات، يتم تسجيل التتبعات تلقائيا في جدول استدلال. راجع نشر عامل لتطبيق الذكاء الاصطناعي التوليدي.

إشعار

تتم كتابة تتبعات إلى جدول استدلال بشكل غير متزامن، لذلك لا تضيف نفس الحمل كما هو الحال في بيئة دفتر الملاحظات أثناء التطوير. ومع ذلك، قد لا يزال يقدم بعض النفقات العامة لسرعة استجابة نقطة النهاية، خاصة عندما يكون حجم التتبع لكل طلب استدلال كبيرا. لا تضمن Databricks أي اتفاقية على مستوى الخدمة (SLA) لتأثير زمن الانتقال الفعلي على نقطة نهاية النموذج، لأنها تعتمد بشكل كبير على البيئة وتنفيذ النموذج. توصي Databricks باختبار أداء نقطة النهاية واكتساب رؤى حول حمل التتبع قبل النشر إلى تطبيق إنتاج.

يوفر الجدول التالي إشارة تقريبية للتأثير على زمن انتقال الاستدلال لأحجام تتبع مختلفة.

حجم التتبع لكل طلب التأثير على زمن الانتقال (مللي ثانية)
~10 كيلوبايت ~ 1 مللي ثانية
~ 1 ميغابايت 50 ~ 100 مللي ثانية
10 ميغابايت 150 مللي ثانية ~

القيود

  • يتوفر تتبع MLflow في دفاتر ملاحظات Databricks ووظائف دفتر الملاحظات وخدمة النموذج.

  • قد لا يدعم التسجيل التلقائي في LangChain جميع واجهات برمجة التطبيقات للتنبؤ LangChain. يرجى الرجوع إلى وثائق MLflow للحصول على القائمة الكاملة لواجهات برمجة التطبيقات المدعومة.