MLflow لتقييم LLM
إعداد MLflow GenAI
3 دقيقة للقراءة
MLflow هي منصة مفتوحة المصدر لإدارة دورة حياة تعلم الآلة. وحدة GenAI الخاصة بها توفر أدوات قوية لتقييم تطبيقات LLM مع تتبع التجارب مدمج.
لماذا MLflow لتقييم LLM؟
| الميزة | الفائدة |
|---|---|
| مفتوح المصدر | لا قيود بائع، قابل للاستضافة الذاتية |
| تتبع التجارب | مقارنة التشغيلات والمعاملات والمقاييس |
| مسجلون مدمجون | مقاييس جودة جاهزة للاستخدام |
| حكام مخصصون | إنشاء مقيّمين خاصين بالمجال |
| سجل النماذج | إصدار ونشر النماذج |
التثبيت
ثبّت MLflow مع دعم GenAI:
pip install mlflow>=2.10.0 openai
ملاحظة: لوظيفة
make_judge، استخدم MLflow 3.4.0 أو أحدث.
إعداد خادم التتبع
الخيار 1: التتبع المحلي (التطوير)
import mlflow
# استخدم التخزين المحلي
mlflow.set_tracking_uri("file:./mlruns")
mlflow.set_experiment("llm-evaluation")
الخيار 2: خادم تتبع بعيد
# ابدأ خادم تتبع
mlflow server --host 0.0.0.0 --port 5000
import mlflow
# اتصل بالخادم البعيد
mlflow.set_tracking_uri("http://localhost:5000")
mlflow.set_experiment("llm-evaluation")
تسجيل التجارب الأساسي
سجّل تشغيلات LLM الخاصة بك مع المعاملات والمقاييس:
import mlflow
with mlflow.start_run():
# سجّل المعاملات
mlflow.log_param("model", "gpt-4o-mini")
mlflow.log_param("temperature", 0.7)
mlflow.log_param("prompt_version", "v2.1")
# منطق LLM الخاص بك هنا
response = call_llm(prompt, model="gpt-4o-mini")
# سجّل المقاييس
mlflow.log_metric("latency_ms", response.latency)
mlflow.log_metric("tokens_used", response.token_count)
mlflow.log_metric("quality_score", evaluate(response))
فهم مفاهيم MLflow
التجارب
جمّع التشغيلات ذات الصلة معاً:
التجربة: "customer-support-bot"
├── تشغيل 1: gpt-4o، موجه v1
├── تشغيل 2: gpt-4o، موجه v2
├── تشغيل 3: gpt-4o-mini، موجه v2
└── تشغيل 4: claude-3، موجه v2
التشغيلات
كل تشغيل يلتقط:
- المعاملات: الإعدادات (النموذج، الحرارة، إلخ.)
- المقاييس: النتائج الرقمية (الدرجة، زمن الاستجابة، التكلفة)
- القطع الأثرية: الملفات (الموجهات، المخرجات، السجلات)
- الوسوم: البيانات الوصفية (المؤلف، الإصدار، البيئة)
القطع الأثرية
خزّن قطع التقييم:
with mlflow.start_run():
# سجّل ملفات نصية
mlflow.log_text(prompt, "prompt.txt")
mlflow.log_text(response, "response.txt")
# سجّل بيانات منظمة
mlflow.log_dict(evaluation_results, "eval_results.json")
عرض النتائج
الوصول إلى واجهة MLflow:
mlflow ui --port 5000
الواجهة تُظهر:
- قائمة التجارب مع جميع التشغيلات
- مقارنات المعاملات والمقاييس
- التصورات والرسوم البيانية
- متصفح القطع الأثرية
متغيرات البيئة
إعداد MLflow بمتغيرات البيئة:
export MLFLOW_TRACKING_URI=http://your-server:5000
export OPENAI_API_KEY=your-openai-key
نصيحة: للإنتاج، استخدم خادم تتبع بعيد مع واجهة قاعدة بيانات (PostgreSQL، MySQL) لأداء أفضل وتعاون الفريق.
التالي، سنستكشف مسجلي LLM المدمجين في MLflow لمهام التقييم الشائعة. :::