عن المشروع

Cog أداة مفتوحة المصدر تحزم نماذج تعلم الآلة في حاويات Docker قياسية وجاهزة للإنتاج. وهي تعالج صعوبة شائعة في نقل نماذج تعلم الآلة إلى الإنتاج، وذلك بإزالة الحاجة إلى كتابة ملفات Dockerfile يدويًا وإدارة توافق الاعتماديات. القدرات الرئيسية الموصوفة في ملف README: - إنشاء صور Docker من ملف إعداد بسيط بصيغة cog.yaml، مع تطبيق أفضل الممارسات مثل استخدام صور أساس من Nvidia، والتخزين المؤقت الفعّال للاعتماديات، وتثبيت إصدار Python محدد، وقيم افتراضية مناسبة لمتغيرات البيئة. - التعامل التلقائي مع توافق إصدارات CUDA وcuDNN وPyTorch وTensorFlow وPython، ما يجنّب الإدارة اليدوية لمصفوفة الإصدارات. - تعريف مدخلات النموذج ومخرجاته باستخدام أنواع Python القياسية عبر واجهة BaseRunner التي تتضمن الدالتين setup وrun، بينما يقوم Cog بإنشاء مخطط OpenAPI والتحقق من المدخلات والمخرجات. - خادم استدلال HTTP تلقائي: تولّد أنواع النموذج ديناميكيًا واجهة RESTful عبر خادم عالي الأداء مبني بـ Rust وAxum. - أوامر سطر الأوامر: cog run لتشغيل النموذج مع المدخلات، وcog build لإنشاء صورة Docker قابلة للنشر، وcog serve لدمج الإنشاء والتشغيل على منفذ محلي. - مرونة في النشر: تعمل صور Docker المُنشأة في أي مكان تعمل فيه صور Docker، سواء في بنية تحتية مستضافة ذاتيًا أو على منصة Replicate. - دعم المنصات: يعمل على macOS وLinux وWindows 11 عبر WSL 2. ويتطلب وجود Docker، بالإضافة إلى Buildx عند استخدام Docker Engine بدلًا من Docker Desktop. - التثبيت متاح عبر Homebrew أو سكربت تثبيت أو تنزيل الملف الثنائي يدويًا أو داخل صورة Docker. تُقدَّم الأداة كوسيلة تتيح للباحثين نقل النماذج إلى الإنتاج دون الحاجة إلى معرفة عميقة بـ Docker أو هندسة البنية التحتية، وهي من تطوير الفريق الذي يقف خلف Replicate.