كيفية إنشاء حلقة بحث ذاتية التعلم الآلي في Google Colab
تعلم كيفية إنشاء حلقة بحث ذاتية باستخدام إطار AutoResearch في Google Colab لتجربة وتعديل القيم الفائقة بسهولة.
في هذا المقال، نستعرض كيفية إنشاء حلقة بحث ذاتية باستخدام إطار عمل AutoResearch الذي اقترحه أندريه كارباتي. سنقوم بتطبيق نسخة جاهزة للاستخدام في Google Colab لبناء خط أنابيب تجريبي آلي، بحيث يتمكن الباحثون من تعديل القيم الفائقة (hyperparameters) وتتبع التجارب بسهولة.
ما هو إطار AutoResearch؟
يعتبر AutoResearch إطار عمل حديث يهدف إلى تسهيل تجارب التعلم الآلي من خلال أتمتة عملية تعديل القيم الفائقة وتقييم أداء النماذج. يوفر هذا الإطار آلية لتسجيل النتائج في جدول منظم، مما يسمح للمستخدمين بمقارنة التجارب المختلفة.
خطوات إعداد تجربة آلية في Google Colab
للبدء، سنقوم بإنشاء بيئة تدريب خفيفة ونقوم بتحميل مستودع AutoResearch من GitHub. إليك خطوات الإعداد:
- استيراد المكتبات الأساسية:
import os
import sys
import subprocess
if not os.path.exists("autoresearch"):
subprocess.run(["git", "clone", "https://github.com/karpathy/autoresearch.git"])
- تثبيت الحزم المطلوبة:
!pip install numpy pandas pyarrow requests
- تهيئة مفتاح API الخاص بـ OpenAI:
OPENAI_API_KEY = os.environ.get("OPENAI_API_KEY")
بهذه الخطوات، نكون قد أعددنا البيئة بشكل صحيح وجاهز لتشغيل التجارب.
تعديل القيم الفائقة وتجربة الأساس
بعد إعداد البيئة، نقوم بتعديل بعض القيم الفائقة في ملف train.py، مثل حجم الدفعة وعدد خطوات التدريب. ثم نقوم بتشغيل تجربة الأساس لجمع النتائج الأولية:
subprocess.run("python train.py > baseline.log 2>&1", shell=True)
بعد تشغيل تجربة الأساس، نستخرج القيم المهمة مثل معدل البت لكل بايت (val_bpb) ووقت التدريب. نقوم بتخزين هذه القيم في جدول النتائج لنتمكن من مقارنتها فيما بعد.
إنشاء حلقة البحث الذاتية
الآن، يمكننا إنشاء حلقة بحث ذاتية تقوم بتجربة مجموعة من القيم الفائقة بشكل آلي. نحدد مجموعة من القيم الفائقة القابلة للتجربة ونقوم ببرمجة النظام لاختيار قيم عشوائية وتطبيقها:
SEARCH_SPACE = {
"WINDOW_PATTERN": ["L", "SSSL"],
"TOTAL_BATCH_SIZE": ["2**16", "2**17", "2**18"],
}
نقوم بتطبيق القيم الفائقة المختارة على ملف التدريب ونشغل التجربة، ثم نقوم بتسجيل النتائج:
metrics = run_experiment(tag)
بعد كل تجربة، نقوم بمقارنة النتائج مع أفضل النتائج السابقة، وإذا كانت أفضل، نقوم بتحديث النسخة الاحتياطية من ملف التدريب.
عرض النتائج النهائية
بعد إجراء مجموعة من التجارب، يمكننا عرض النتائج النهائية من خلال قراءة جدول النتائج الذي يحتوي على كل القيم الفائقة المستخدمة وأداء النماذج:
print(df.sort_values("val_bpb"))
تظهر هذه النتائج كيفية أداء النماذج بناءً على القيم الفائقة المختلفة التي تم تجربتها. مع هذه الطريقة، يمكن للباحثين إجراء تجارب معقدة دون الحاجة إلى بنية تحتية مكلفة أو معدات متخصصة.
خاتمة
تساعدنا هذه العملية في تبسيط أبحاث التعلم الآلي، مما يجعلها أكثر كفاءة وفعالية. بفضل إطار AutoResearch، يمكن للباحثين التركيز على تحسين النماذج بدلاً من إدارة العملية التجريبية. باستخدام Google Colab، يصبح الوصول إلى هذه الأدوات أكثر سهولة، مما يساهم في تعزيز الابتكار في مجال التعلم الآلي.
المصدر: MarkTechPost