Trackio: مكتبة بايثون مفتوحة المصدر لتتبع التجارب في تعلم الآلة
تُعدّ عملية تتبع التجارب عنصرًا أساسيًا في تدفقات عمل تعلم الآلة الحديثة. سواء كنت تُعدّل المعلمات التشغيلية، أو تُراقب مقاييس التدريب، أو تتعاون مع الزملاء، فمن الضروري وجود أدوات قوية ومرنة تجعل تتبع التجارب بسيطًا وذو رؤى ثاقبة. ومع ذلك، تتطلب العديد من حلول تتبع التجارب الموجودة إعدادًا معقدًا، وتأتي برسوم ترخيص، أو تُقفل بيانات المستخدم في تنسيقات خاصة، مما يجعلها أقل سهولة للباحثين الأفراد والفرق الصغيرة.
مقدمة إلى Trackio
يسرّنا أن نُقدّم لكم Trackio، وهي مكتبة تتبع تجارب مفتوحة المصدر جديدة طورتها Hugging Face و Gradio. Trackio هي أداة خفيفة الوزن، مجانية تمامًا، مصممة خصيصًا لبيئات البحث السريعة الحركة والتعاون المفتوح.
ما هو Trackio؟
Trackio هي حزمة بايثون مصممة كبديل مباشر للمكتبات المستخدمة على نطاق واسع مثل wandb، مع توافق مع مكالمات واجهة برمجة التطبيقات الأساسية (wandb.init، wandb.log، wandb.finish). هذا يضع Trackio في مستوى حيث يتطلب التبديل أو تشغيل البرامج النصية القديمة القليل جدًا أو معدومًا من تغييرات التعليمات البرمجية – ما عليك سوى استيراد Trackio كـ wandb ومواصلة العمل كما كان من قبل.
الميزات الرئيسية لـ Trackio
- تصميم محلي أولًا: بشكل افتراضي، يتم تشغيل التجارب والاحتفاظ بها محليًا، مما يوفر الخصوصية والوصول السريع. المشاركة اختيارية، وليست افتراضية.
- مفتوحة المصدر ومجانية: لا توجد جدران دفع ولا قيود على الميزات – كل شيء، بما في ذلك التعاون ولوحات التحكم عبر الإنترنت، متاح للجميع مجانًا.
- خفيفة الوزن وقابلة للتوسيع: تبلغ مساحة قاعدة التعليمات البرمجية بأكملها أقل من 1000 سطر من Python، مما يضمن سهولة مراجعتها أو توسيعها أو تكييفها.
- متكاملة مع نظام Hugging Face البيئي: يدعم Trackio Transformers و Sentence Transformers و Accelerate، مما يسمح للمستخدمين بالبدء في تتبع المقاييس بأقل قدر من الإعداد.
- إمكانية نقل البيانات: على عكس بعض أدوات التتبع الراسخة، تجعل Trackio جميع بيانات التجارب قابلة للتصدير والوصول إليها بسهولة، مما يُمكّن من إجراء تحليلات مخصصة ودمج سلس في خطوط أنابيب البحث.
تتبع التجارب بسلاسة: محليًا أو مُشاركًا
من أبرز ميزات Trackio إمكانية مشاركة النتائج. يمكن للباحثين مراقبة المقاييس على لوحة تحكم محلية تعمل بواسطة Gradio، أو، من خلال المزامنة مع Hugging Face Spaces، نقل لوحة تحكم عبر الإنترنت لمشاركتها مع الزملاء (أو الجمهور، إذا رغبت). يمكن تعيين Spaces خاصة أو عامة – لا يتطلب ذلك مصادقة أو انضمام معقد للمشاهدين.
- عرض لوحة تحكم التجارب محليًا:
trackio show
أو من Python:
import trackio trackio.show()
- إطلاق لوحات التحكم على Spaces: قم بمزامنة سجلاتك مع Hugging Face Spaces وشارك أو قم بتضمين لوحات تحكم التجارب على الفور باستخدام عنوان URL بسيط. من المهم أن Trackio، عند التشغيل على Spaces، يقوم تلقائيًا بنسخ احتياطي للمقاييس من قاعدة بيانات Sqlite المؤقتة إلى مجموعة بيانات Hugging Face (كملفات Parquet) كل 5 دقائق، مما يضمن عدم فقدان بيانات تجاربك – حتى إذا تم إعادة تشغيل Space العام.
التكامل السلس مع سير عمل تعلم الآلة الخاص بك
يتمثل التكامل مع نظام Hugging Face البيئي في بساطته: باستخدام transformers.Trainer أو accelerate، يمكنك تسجيل المقاييس وتصورها عن طريق تحديد Trackio كمسجل لك. على سبيل المثال، باستخدام Accelerate:
from accelerate import Accelerator
accelerator = Accelerator(log_with="trackio")
accelerator.init_trackers("my-experiment")
...
accelerator.log({"training_loss": loss}, step=step)
هذا النهج المنخفض الاحتكاك يعني أن أي شخص يستخدم Transformers أو Sentence Transformers أو Accelerate يمكنه البدء على الفور في تتبع التجارب ومشاركتها بدون أي إعداد إضافي.
الشفافية والاستدامة وحرية البيانات
يتجاوز Trackio المقاييس القياسية، حيث يشجع على الشفافية في استخدام الموارد الحاسوبية. وهو يدعم تتبع مقاييس مثل استخدام طاقة وحدة معالجة الرسومات (GPU) (من خلال القراءة من nvidia-smi)، وهي ميزة تتماشى مع تركيز Hugging Face على المسؤولية البيئية وإمكانية التكرار في توثيق بطاقة النموذج. على عكس المنصات المغلقة، بياناتك دائمًا في متناول يدك: يتم تخزين سجلات Trackio بتنسيقات قياسية، ويتم إنشاء لوحات التحكم باستخدام أدوات مفتوحة مثل Gradio و Hugging Face Datasets، مما يجعل كل شيء سهلًا لإعادة مزجه أو تحليله أو مشاركته.
البدء السريع
للبدء:
pip install trackio # أو conda install -c conda-forge trackio
أو، استبدل الاستيراد في قاعدة التعليمات البرمجية الخاصة بك:
import trackio as wandb
الخاتمة
يُعد Trackio مُمكّنًا للباحثين الأفراد والتعاون المفتوح في مجال تعلم الآلة من خلال توفير أداة تتبع تجارب شفافة ومجانية تمامًا. فهو محلي أولًا بشكل افتراضي، وسهل المشاركة، ومتكامل بشكل وثيق مع أدوات Hugging Face، ويُحقق وعدًا بالتتبع القوي بدون احتكاك أو تكلفة الحلول التقليدية. راجع التفاصيل التقنية وصفحة GitHub. لا تتردد في زيارة صفحة GitHub الخاصة بنا للحصول على الدروس التعليمية والرموز ودفاتر الملاحظات. كما يمكنك متابعتنا على Twitter والانضمام إلى مجتمعنا ML SubReddit و الاشتراك في قائمتنا البريدية.
اترك تعليقاً