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 لمهام التقييم الشائعة. :::

اختبار

الوحدة 4: MLflow لتقييم LLM

خذ الاختبار