تبقى الأوامر والشفرة بالإنجليزية في جميع اللغات. استبدل العناصر النائبة المكتوبة بالأحرف الكبيرة بقيم من حسابك والمهمة المدفوعة؛ ولا تضع مفاتيح حقيقية في دفاتر ملاحظات أو سجلات مشتركة.
من الإعداد إلى تشغيل قابل لإعادة الإنتاج
- صِف النموذج والمعلّم والهدف
- ضع القيود البيانات والخصوصية والميزانيات
- تحقق توافق المحوّل وبيئة التشغيل
- ثبّت الخطة الإعدادات المحسومة والبصمات
- نفّذ المشروع الذي خضع للمراجعة فقط
صِف: النموذج والمعلّم والهدف. ضع القيود: البيانات والخصوصية والميزانيات. تحقق: توافق المحوّل وبيئة التشغيل. ثبّت الخطة: الإعدادات المحسومة والبصمات. نفّذ: المشروع الذي خضع للمراجعة فقط
أنشئ مشروعًا واحمِ بياناته
هذا عقد المشروع للمخطط 1.0. احفظ مثال Automatic باسم training.json. اجعل المسارات ضمن جذر المشروع، وحدد معرّف النموذج المرجعي المشمول، واحفظ مفتاح API في بيئة العملية. يختار الإعداد مرجع معلّم مدفوعًا ونموذجًا متعلّمًا قابلًا للتدريب بشكل مستقل؛ ولا ينزّل أوزان المعلّم.
- تُرفض المفاتيح غير المعروفة. يجب أن تبقى مسارات النموذج والبيانات ومعيار التقييم والمخرجات ضمن جذر المشروع.
- تقتصر مشاركة المعلّم على مصادر التدريب المعتمدة. وتبقى بيانات التحقق والاختبار النهائي محلية.
- يظل TrainingClient متاحًا لسير عمل الجلسات والمهام المدفوعة القائمة.
| الحقل أو الواجهة | النوع أو النتيجة | القيمة الافتراضية أو رمز الخروج | السلوك والتحقق |
|---|---|---|---|
schema_version |
string |
"1.0" |
استخدم 1.0 كما هي تمامًا. تُرفض إصدارات المخطط الأخرى إلى أن تُدعم صراحةً. |
mode |
enum |
مطلوب / بلا قيمة افتراضية | مطلوب: تلقائي أو متقدم. يحدد الوضع التلقائي القيم الافتراضية المتوافقة، بينما يتيح الوضع المتقدم عناصر تحكم صريحة. |
objective |
string |
مطلوب / بلا قيمة افتراضية | وصف المهمة مطلوب، بطول من 10 إلى 4000 محرف. اذكر الجمهور والقدرات والنتيجة المتوقعة. |
model.path |
string |
مطلوب / بلا قيمة افتراضية | مطلوب: مجلد نموذج محلي داخل جذر المشروع، أو معرّف مستودع مقترن بمراجعة ثابتة. لا تستخدم مطلقًا نقطة نهاية استدلال للمعلّم. |
model.adapter |
string |
مطلوب / بلا قيمة افتراضية | معرّف موائم مسجل مطلوب. يختار transformers-causal-lm موائم نماذج اللغة السببية في Transformers.
|
model.revision |
string | null |
null |
تُنشأ بصمة للنماذج المحلية. يجب إرفاق معرّف المستودع بمراجعة ثابتة من 40 أو 64 حرفًا. |
teacher.provider |
string |
مطلوب / بلا قيمة افتراضية | معرّف المزوّد ضمن خطتك المدفوعة النشطة مطلوب. ولا ينقل ملكية النموذج. |
teacher.reference_model_id |
integer |
مطلوب / بلا قيمة افتراضية | عدد صحيح موجب مطلوب من النماذج المشمولة في خطة ذلك المزوّد؛ استبدل القيم النائبة. |
| الحقل أو الواجهة | النوع أو النتيجة | القيمة الافتراضية أو رمز الخروج | السلوك والتحقق |
|---|---|---|---|
data.sources |
string[] |
[] |
مسارات مصادر تدريب محلية بصيغة JSONL تحتوي على حقل text. يمكن لدروس المعلّم أن تكملها مع سياسة المشاركة approved_only.
|
data.teacher_sharing |
enum |
"approved_only" |
تسمح approved_only بمحتوى التدريب الذي خضع للمراجعة؛ وتمنع none إرسال محتوى العملاء إلى المعلّم. وتُستبعد بيانات التقييم المخفية دائمًا.
|
data.validation_path |
string | null |
null |
ملف JSONL اختياري للتحقق المستقل. إن لم يُحدّد، تضع الخطة التي خضعت للمراجعة تقسيمًا ثابتًا قبل التدريب. |
data.test_path |
string |
مطلوب / بلا قيمة افتراضية | ملف اختبار نهائي مستقل مطلوب؛ ولا يُستخدم مطلقًا في إعداد المعلّم أو تحسين النموذج. |
data.deduplicate |
boolean |
true |
أزل الأمثلة المكررة والمتداخلة بين التقسيمات، وأبلغ عن المستبعد دون كشف النصوص الخاصة. |
data.seed |
integer |
42 |
عدد صحيح غير سالب لتقسيم ثابت وتهيئة قابلة لإعادة الإنتاج عندما يدعمها النظام الخلفي. |
{
"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"}
}
اختر التدريب التلقائي أو المتقدم
يحسم الوضع التلقائي الإعدادات المتوافقة ويسجلها في الخطة. أما الوضع المتقدم فيقبل إعدادات تدريب صريحة، ولا يعمل إلا مع توليفات متوافقة من البنية والطريقة والدقة والعتاد. القيم الافتراضية ليست ضمانًا عامًا لاستهلاك الذاكرة أو الأداء. وتُرفض التوليفة غير المدعومة في فحوص التوافق قبل تحديث الأوزان.
- طرق التدريب هي SFT وLoRA وQLoRA؛ ويمكن للوضع التلقائي أيضًا حسم قيمة الطريقة auto.
- في DDP الموزع، يوفّر المشغّل المعتمد رتب العقد وإعدادات rendezvous؛ ويتطلب التشغيل متعدد العقد بيئة torchrun موثوقة ومحددة صراحةً.
- تظل بنية النموذج ومقسّم الرموز وحدود السياق ملزمة. ولا يدعم الموائم كل عائلات النماذج.
| الحقل أو الواجهة | النوع أو النتيجة | القيمة الافتراضية أو رمز الخروج | السلوك والتحقق |
|---|---|---|---|
runtime.target |
enum |
مطلوب / بلا قيمة افتراضية | مطلوب: fusionpointai_hosting أو customer_datacenter أو colab. يختار بيئة تشغيل موجودة ولا يشتري عتادًا.
|
runtime.devices |
"auto" | integer[] |
"auto" |
تختار auto الأجهزة المعتمدة المتوافقة؛ أما القائمة المحددة فتضم أرقام GPU ظاهرة وفريدة وغير سالبة.
|
runtime.distributed.backend |
enum |
"none" |
none لعملية واحدة، أو ddp مع محوّل مدعوم ومشغّل معتمد لعدة عمال.
|
runtime.distributed.nodes |
integer |
1 |
عدد صحيح موجب. يتطلب استخدام أكثر من عقدة DDP وإمكانية وصول متفقًا عليها إلى العقد والرتب وrendezvous آمنًا؛ ولا توفر هذه القيمة أي سعة بحد ذاتها. |
| الحقل أو الواجهة | النوع أو النتيجة | القيمة الافتراضية أو رمز الخروج | السلوك والتحقق |
|---|---|---|---|
training.method |
enum |
"auto" |
إحدى القيم auto أو SFT أو LoRA أو QLoRA. يحسم الوضع التلقائي auto؛ ويتطلب الوضع المتقدم طريقة مدعومة محددة صراحةً. |
training.epochs |
number | "auto" |
"auto" |
عدد موجب محدود أو auto في الوضع التلقائي فقط؛ كما يظل عدد الخطوات الفعلي ضمن الوقت والموارد المعتمدين.
|
training.learning_rate |
number | "auto" |
"auto" |
عدد موجب محدود أقل من 1، أو auto في الوضع التلقائي فقط. قد تفرض سياسات المحوّل والتعاقد حدودًا أضيق.
|
training.batch_size |
integer | "auto" |
"auto" |
عدد صحيح موجب لكل جهاز أو auto في الوضع التلقائي فقط؛ ويُتحقق من ملاءمة الذاكرة قبل التنفيذ.
|
training.gradient_accumulation_steps |
integer | "auto" |
"auto" |
عدد صحيح موجب أو auto في الوضع التلقائي فقط. يشمل حجم الدفعة الفعلي عدد العمال والتجميع.
|
training.max_sequence_length |
integer | "auto" |
"auto" |
عدد صحيح موجب ضمن حدود مقسّم الرموز والنموذج، أو auto في الوضع التلقائي فقط؛ لا توسّع سياق النموذج بصمت مطلقًا.
|
training.precision |
enum |
"auto" |
auto أو fp32 أو fp16 أو bf16 وفق دعم العتاد والنظام الخلفي؛ ويُحدد صراحةً في الوضع المتقدم.
|
training.lora.rank |
integer |
16 |
رتبة موجبة للمحوّل. تُستخدم مع LoRA/QLoRA فقط للوحدات المستهدفة المؤهلة. |
training.lora.alpha |
number |
32 |
قيمة موجبة محدودة لضبط مقياس المحوّل. تُستخدم مع LoRA/QLoRA فقط. |
training.lora.dropout |
number |
0.05 |
قيمة محدودة من 0 شاملًا إلى 1 غير شامل. تُستخدم مع LoRA/QLoRA فقط. |
training.lora.target_modules |
"auto" | string[] |
"auto" |
تحدد auto أسماء الوحدات المدعومة ضمن الخطة، أو قدّم قائمة غير فارغة من الأسماء المؤهلة.
|
| الحقل أو الواجهة | النوع أو النتيجة | القيمة الافتراضية أو رمز الخروج | السلوك والتحقق |
|---|---|---|---|
curriculum.topics |
string[] |
[] |
أسماء موضوعات مرتبة. يتيح تركها فارغة للوضع التلقائي اقتراح المتطلبات السابقة؛ ويتطلب الوضع المتقدم تسلسلًا صريحًا خضع للمراجعة. |
curriculum.max_improvement_cycles |
integer |
3 |
عدد صحيح موجب، بحد أقصى 10. أوقف مبكرًا عند انطباق شروط الميزانية أو انعدام التقدم أو التراجع. |
curriculum.stop_on_regression |
boolean |
true |
عند true، أوقف التحسين عند تراجع محدد في معيار التقييم. وعند false، يظل التراجع إخفاقًا في القبول النهائي. |
{
"schema_version": "1.0",
"mode": "advanced",
"model": {"path": "./models/student", "adapter": "transformers-causal-lm", "revision": null},
"teacher": {"provider": "openai", "reference_model_id": 123},
"objective": "Classify support messages as billing, account_access or technical_issue.",
"data": {"sources": ["./data/train.jsonl"], "teacher_sharing": "none", "validation_path": "./data/validation.jsonl", "test_path": "./data/test.jsonl"},
"runtime": {"target": "customer_datacenter", "devices": [0, 1], "distributed": {"backend": "ddp", "nodes": 1}},
"training": {
"method": "LoRA",
"epochs": 3,
"learning_rate": 0.0002,
"batch_size": 1,
"gradient_accumulation_steps": 16,
"max_sequence_length": 2048,
"precision": "bf16",
"lora": {"rank": 16, "alpha": 32, "dropout": 0.05}
},
"curriculum": {
"topics": ["intent", "ambiguous_requests", "class_balance"],
"max_improvement_cycles": 3,
"stop_on_regression": true
},
"checkpoints": {"every_steps": 100, "keep_last": 3, "resume_validation": "strict"},
"budgets": {"max_training_minutes": 120, "max_teacher_requests": 1000, "max_storage_gib": 20},
"evaluation": {"rubric": "./rubric.json", "baseline_required": true},
"output": {"directory": "./runs/german-advanced-001", "format": "safetensors"}
}
حدّد ميزانيات واضحة ومعايير قبول قابلة للقياس
لكل مشروع ميزانيات محددة للوقت وطلبات المعلّم والتخزين. أوقف العمل عند استنفاد أول ميزانية، أو فشل فحص السلامة، أو ظهور تراجع، أو انعدام التقدم. احفظ حالة استرداد صالحة واشرح المعايير غير المستوفاة. يحدد معيار التقييم مهام قبول مستقلة؛ ولا يحوّل نتيجة المثال إلى نتيجة محققة.
- يستخدم معيار التقييم في المثال مقياسًا موحدًا من 0 إلى 1 ومعايير إلزامية منفصلة. يجب اجتياز جميع المعايير الإلزامية.
- يتطلب تغيير البيانات أو النموذج أو التقييم أو البنية الموزعة أو الميزانيات خطة جديدة خضعت للمراجعة، لا فرض استئناف غير متوافق.
- تتضمن الصادرات ملفات نموذج أو محوّل تم التحقق منها، ومقسّم الرموز وملفات البيان؛ ولا تتضمن بيانات اعتماد أو ملفات مؤقتة غير ذات صلة أو شيفرة نموذج لم تخضع للمراجعة.
| الحقل أو الواجهة | النوع أو النتيجة | القيمة الافتراضية أو رمز الخروج | السلوك والتحقق |
|---|---|---|---|
budgets.max_training_minutes |
number |
مطلوب / بلا قيمة افتراضية | ميزانية تنفيذ موجبة ومحدودة بالدقائق مطلوبة، وتشمل زمن التحضير والتقييم المنقضي بعد بدء التشغيل. |
budgets.max_teacher_requests |
integer |
مطلوب / بلا قيمة افتراضية | عدد صحيح موجب مطلوب؛ احتسب محاولات الإعداد والمراجعة وإعادة المحاولة. أوقف بأمان قبل تجاوز الحد. |
budgets.max_storage_gib |
number |
مطلوب / بلا قيمة افتراضية | ميزانية تخزين موجبة ومحدودة تملكها مطلوبة بوحدة GiB، وتشمل البيانات ونقاط التحقق والأصول؛ لا تحذف ملفات غير مرتبطة مطلقًا. |
checkpoints.every_steps |
integer |
100 |
فاصل نقاط تحقق بعدد صحيح موجب. واحفظ أيضًا نقطة تحقق ذرية صالحة عند نجاح الإيقاف المؤقت. |
checkpoints.keep_last |
integer |
3 |
عدد صحيح من 1 إلى 5. لا تحذف نقاط التحقق القديمة التي تملكها إلا بعد التحقق من نقطة أحدث. |
checkpoints.resume_validation |
enum |
"strict" |
القيمة strict فقط. ارفض تغيّر بصمات النموذج أو البيانات أو الإعداد أو المقيّم أو البنية الموزعة. |
evaluation.rubric |
string |
مطلوب / بلا قيمة افتراضية | مسار إلى معيار تقييم صالح ذي مقيّمين مثبتين ومعايير إلزامية قابلة للقياس مطلوب. |
evaluation.baseline_required |
boolean |
true |
القيمة true فقط في هذا العقد. قيّم خط الأساس دون تعديل قبل تحديث الأوزان. |
output.directory |
string |
مطلوب / بلا قيمة افتراضية | مجلد تشغيل جديد تملكه مطلوب. يمكن فحص عمليات التشغيل الموجودة أو استئنافها، لكن لا يستبدلها run مطلقًا. |
output.format |
enum |
"safetensors" |
safetensors أو adapters عند الدعم فقط. تتطلب صادرات المحوّل النموذج الأساسي ومقسّم الرموز المثبتين.
|
| الحقل أو الواجهة | النوع أو النتيجة | القيمة الافتراضية أو رمز الخروج | السلوك والتحقق |
|---|---|---|---|
schema_version |
string |
"1.0" |
مخطط معيار التقييم 1.0، وهو متميز عن إصدار الحزمة. |
name |
string |
مطلوب / بلا قيمة افتراضية | اسم غير فارغ لمعيار التقييم مطلوب لاستخدامه في التقارير. |
scale.minimum |
number |
0 |
الحد الأدنى للدرجة الموحدة: 0 في هذا المخطط. |
scale.maximum |
number |
1 |
الحد الأعلى للدرجة الموحدة: 1 في هذا المخطط. |
criteria |
object[] |
مطلوب / بلا قيمة افتراضية | قائمة غير فارغة. يجب اجتياز كل معيار إلزامي، ويجب أن تكون المعرّفات فريدة. |
criteria[].id |
string |
مطلوب / بلا قيمة افتراضية | معرّف ثابت للمعيار مطلوب، ويُحفظ في التقارير. |
criteria[].description |
string | null |
null |
نص توضيحي اختياري؛ والوصف ليس مقيّمًا دلاليًا بحد ذاته. |
criteria[].metric |
string |
مطلوب / بلا قيمة افتراضية | مقياس مسجل مطلوب: exact_match أو macro_f1 أو text_similarity أو chrf أو مقيّم مخصص مسجل.
|
criteria[].minimum_score |
number |
مطلوب / بلا قيمة افتراضية | حد أدنى محدود بين 0 و1 مطلوب. حد المثال ليس نتيجة مضمونة. |
regression.maximum_score_drop |
number |
0.02 |
الانخفاض المطلق المسموح به عن خط الأساس دون تعديل، من 0 إلى 1؛ ويُقيّم لكل معيار محتفظ به. |
final_test.path |
string |
مطلوب / بلا قيمة افتراضية | مطلوب؛ ويجب أن يحدد الملف المستقل نفسه المشار إليه في data.test_path. |
final_test.allow_training_use |
boolean |
false |
القيمة false فقط. ارفض الإعدادات التي تسمح بإدخال إجابات الاختبار المحجوبة في التدريب أو مدخلات المعلّم. |
SDK 0.2.0 CONFIGURATION RULES
Unknown fields, duplicate IDs, nonfinite numbers and unsafe paths are rejected.
All model, data, rubric and output paths must resolve inside the project root.
Automatic mode resolves "auto" once; save all resolved values in the plan manifest.
Advanced mode requires explicit method, epochs, learning_rate, batch_size,
gradient_accumulation_steps, max_sequence_length and precision.
SFT does not consume LoRA options. LoRA/QLoRA require a compatible adapter.
Model files and pinned revisions are verified within the project root.
Use the CLI for explicit GPU indexes; Python callers can set CUDA_VISIBLE_DEVICES
before starting Python and keep runtime.devices set to auto.
No automatic execution of untrusted model code, shell commands or plugins.
All three budgets must be finite, positive and explicitly supplied.
Storage includes owned checkpoints, datasets and artifacts, not unrelated files.
Held-out test data must not be sent to the teacher or used for weight updates.
CLI overrides are limited to the documented flags; never silently override a plan.
RUBRIC RULES
Every criterion requires a registered metric and minimum_score; descriptions are not semantic evaluators.
Built-in metrics: exact_match, macro_f1, text_similarity and chrf.
Custom deterministic scorers use register_evaluator(name, scorer, version="...").
Evaluator versions and scoring configuration are pinned in the plan.
0 <= minimum_score <= 1 for the example's normalized scale.
All required criteria must pass; do not average away a failed criterion.
The final_test.path must match data.test_path; allow_training_use must be false.
Scores and budgets in examples are requested settings, not measured results.