الانتقال إلى المحتوى الرئيسي
فصول دليل التدريب جميع الوثائق

أنشئ مشروع تدريب وشغّله

ثبّت SDK 0.2.0 وأعدّ المشروع وراجع خطته ودرّب نموذجًا محليًا.

تبقى الأوامر والشفرة بالإنجليزية في جميع اللغات. استبدل العناصر النائبة المكتوبة بالأحرف الكبيرة بقيم من حسابك والمهمة المدفوعة؛ ولا تضع مفاتيح حقيقية في دفاتر ملاحظات أو سجلات مشتركة.

أنشئ مشروع تدريب وشغّله

راجع الخطة والتقييم قبل استخدام الملف الناتج محليًا.
  1. التثبيت بيئة Python
  2. الإعداد النموذج والبيانات ومعيار التقييم
  3. الخطة التوافق والميزانيات
  4. التدريب تحسين محلي
  5. الفحص التقييم والملف الناتج

التثبيت: بيئة Python. الإعداد: النموذج والبيانات ومعيار التقييم. الخطة: التوافق والميزانيات. التدريب: تحسين محلي. الفحص: التقييم والملف الناتج

جهّز بيئتك

استخدم Python 3.10 أو أحدث في بيئة افتراضية مخصصة. ثبّت إضافة التدريب وبناء PyTorch متوافقًا مع بيئة التشغيل. يستخدم TrainingProject موائم نماذج اللغة السببية في Transformers مع فحوص قدرات SFT وLoRA وQLoRA. تحتاج إلى مفتاح API للحساب وصلاحية مدفوعة لعمليات المعلّم ونموذج محلي متوافق وبيانات معتمدة ومساحة كافية. اختيار بيئة تشغيل لا يوفّر عتادًا.

  • توفر الحزمة الأساسية TrainingClient وواجهة المشروع؛ وتثبت إضافة train تبعيات تدريب النماذج محليًا.
  • احتفظ بمفاتيح API في أسرار بيئة التشغيل، لا في ملفات المشروع أو وسيطات الأوامر.
  • تتطلب QLoRA بيئة CUDA متوافقة وتبعيات التكميم.
مثال · bash
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
# Install the GPU-compatible PyTorch build for your runtime first.
python -m pip install 'fusionpointai-training[train] @ https://fusionpointai.com/downloads/fusionpointai-training.zip'
# API-only use without local training dependencies:
# python -m pip install 'fusionpointai-training @ https://fusionpointai.com/downloads/fusionpointai-training.zip'

أعدّ المشروع وراجع الخطة

أنشئ مجلدًا للمشروع وجهّز ملفات JSONL للتدريب والتحقق والاختبار النهائي، ثم عدّل training.json وrubric.json. حدد مسار نموذج المتعلّم المحلي والمزوّد وreference_model_id المشمول. تتحقق الخطة من الإعداد وتوافق النموذج وبصمات البيانات وسياسة المشاركة والميزانيات والمخرجات، من دون تغيير الأوزان أو الاتصال بالمعلّم.

  • استخدم schema_version بالقيمة 1.0؛ فهذا إصدار المخطط وليس إصدار الحزمة.
  • استخدم مسارات نسبية داخل جذر المشروع.
  • يحتاج كل تشغيل إلى مجلد مخرجات جديد؛ والاستئناف عملية منفصلة بفحوص بصمات صارمة.
مثال · bash
# Enter the key using a secure runtime secret facility or this history-safe prompt.
read -rs -p 'FusionPointAI API key: ' FUSIONPOINTAI_API_KEY
export FUSIONPOINTAI_API_KEY
printf '\n'
python --version
fpai-training --version
# After the project run, clear the shell value: unset FUSIONPOINTAI_API_KEY
مثال · json
{
  "schema_version": "1.0",
  "mode": "automatic",
  "objective": "Classify support messages as billing, account_access or technical_issue.",
  "model": {"path": "./models/student", "adapter": "transformers-causal-lm", "revision": null},
  "teacher": {"provider": "openai", "reference_model_id": 123},
  "data": {
    "sources": ["./data/train.jsonl"], "teacher_sharing": "none",
    "validation_path": "./data/validation.jsonl", "test_path": "./data/test.jsonl",
    "deduplicate": true, "seed": 42
  },
  "runtime": {"target": "customer_datacenter", "devices": "auto"},
  "training": {"method": "auto"},
  "curriculum": {"topics": ["intent", "ambiguous_requests", "class_balance"], "max_improvement_cycles": 3, "stop_on_regression": true},
  "budgets": {"max_training_minutes": 120, "max_teacher_requests": 1000, "max_storage_gib": 20},
  "checkpoints": {"keep_last": 3},
  "evaluation": {"rubric": "./rubric.json", "baseline_required": true},
  "output": {"directory": "./runs/german-001", "format": "safetensors"}
}
مثال · python
import os
from fusionpointai_training import TrainingProject

project = TrainingProject.from_file(
    "./support-project/training.json",
    api_key=os.environ["FUSIONPOINTAI_API_KEY"],
)
plan = project.plan(dry_run=True)
print("Topics:", plan["topics"], "Budgets:", plan["budgets"])
result = project.run()
print("Run:", result["run_id"], result["status"], result["stop_reason"])
evaluation = project.evaluate(split="test")
print("Accepted:", evaluation["accepted"], evaluation["report_path"])
artifact = project.export(format="safetensors")
print("Artifact:", artifact["artifact_path"], artifact["sha256"])

راجع التقييم والملف المحلي

يقيس التدريب خط أساس للنموذج غير المعدّل ويجري تقييمًا نهائيًا على صفوف محلية محجوبة. تسجل التقارير المعايير المقاسة والتراجعات والبصمات والميزانيات والمتطلبات غير المستوفاة. يتحقق التصدير من نموذج محلي بصيغة safetensors أو حزمة موائم وينشئ ملف بيان. يحتاج الموائم إلى النموذج الأساسي ومجزّئ الرموز المثبّتين نفسيهما. ولا يضمن نجاح التشغيل جودة تتجاوز معيار التقييم المقاس.

  • افصل ملفات خط الأساس والاختبار النهائي عن بيانات التدريب وطلبات المعلّم.
  • راجع evaluation-report.json وartifact-manifest.json قبل استخدام المخرجات.
  • لا يرفع التصدير نموذجًا ولا ينشر استدلال الإنتاج.
مثال · bash
cat ./support-project/runs/support-001/training-report.json
cat ./support-project/runs/support-001/evaluation-report.json
cat ./support-project/runs/support-001/artifact-manifest.json
sha256sum ./support-project/runs/support-001/exports/safetensors/artifact-manifest.json
# Compare the digest with the value returned by project.export().
# Adapter exports also require the matching base model and tokenizer.