
بناء وإدارة بيانات التدريب برمجيا
يركز فريق Snorkel الآن جهوده على تدفق الغطس ، وهي منصة لتطوير تطبيقات الذكاء الاصطناعي من طرف إلى طرف تعتمد على الأفكار الأساسية وراء Snorkel-يمكنك التحقق من ذلك هنا أو الانضمام إلينا في بنائها!
بدأ مشروع Snorkel في ستانفورد في عام 2015 برهان تقني بسيط: أنه سيكون على نحو متزايد بيانات التدريب ، وليس النماذج أو الخوارزميات أو البنية التحتية ، التي قررت ما إذا كان مشروع التعلم الآلي قد نجح أو فشل. بالنظر إلى هذه الفرضية ، شرعنا في استكشاف الفكرة الجذرية التي يمكنك من خلالها إحضار بنية الرياضيات والأنظمة إلى العملية الفوضوية وغالبًا ما تكون يدويًا تمامًا لإنشاء بيانات تدريب وإدارة بيانات ، وبدء تمكين المستخدمين من تسمية بيانات التدريب وبناء وإدارة برمجيًا .
إن القول بأن مشروع الغطس نجح وتوسيع ما وراء ما توقعناه على الإطلاق سيكون بخس. تتمثل الأهداف الأساسية لإثبات البحث مثل Snorkel في توفير إطار أدنى قابلة للحياة لاختبار الفرضيات والتحقق من صحتها. بعد مرور أربع سنوات ، كنا محظوظين لأنه لا نفعل هذا فقط ، ولكن لتطوير ونشر الإصدارات المبكرة من Snorkel بالشراكة مع بعض المنظمات الرائدة في العالم مثل Google و Intel و Stanford Medicine وغيرها الكثير ؛ المؤلف أكثر من ستين منشورات التي استعرضها الأقران حول النتائج التي توصلنا إليها حول Snorkel والابتكارات ذات الصلة في نمذجة الإشراف الضعيفة ، وزيادة البيانات ، والتعلم متعدد المهام ، والمزيد ؛ يتم تضمينها في الدورات في الجامعات العليا ؛ دعم عمليات نشر الإنتاج في الأنظمة التي من المحتمل أن تستخدمها في الساعات القليلة الماضية ؛ والعمل مع مجتمع مذهل من الباحثين والممارسين من الصناعة والطب والحكومة والأوساط الأكاديمية وما وراءها.
ومع ذلك ، أدركنا بشكل متزايد - من المحادثات مع المستخدمين في ساعات العمل الأسبوعية وورش العمل والمناقشات عبر الإنترنت وشركاء الصناعة - أن مشروع الغطس كان مجرد خطوة أولى. الأفكار وراء Snorkel ليس فقط كيفية تسمية البيانات التدريبية ، ولكن الكثير من دورة الحياة بالكامل وخط أنابيب بناء ونشر وإدارة ML: كيفية حقن المستخدمين معارفهم ؛ كيف يتم بناء النماذج وتدريبها وتفتيشها ونسخها ومراقبتها ؛ كيف يتم تطوير خطوط الأنابيب بأكملها بشكل متكرر. وكيف يتم دمج المجموعة الكاملة من أصحاب المصلحة في أي نشر ML ، من خبراء الموضوع إلى مهندسي ML ، في هذه العملية.
خلال العام الماضي ، قمنا ببناء المنصة لدعم هذه الرؤية الأوسع: Snorkel Flow ، منصة التعلم الآلي الشامل لتطوير تطبيقات الذكاء الاصطناعي ونشرها. يشتمل تدفق الغطس على العديد من مفاهيم مشروع Snorkel مع مجموعة من التقنيات الأحدث حول نمذجة الإشراف الضعيفة ، وتكبير البيانات ، والتعلم متعدد المهام ، وتقطيع البيانات ، والإنشاء ، والمراقبة ، والمزيد ، وكلها تتكامل بطريقة ما بطريقة ما أكبر من مجموع أجزائها - ونحن نعتقد أن ML يجعل ML أسرع حقًا وأكثر مرونة وأكثر عملية من أي وقت مضى.
المضي قدما ، سوف نركز جهودنا على تدفق الغطس. نحن ممتنون للغاية لكم جميعًا الذين ساهموا في مشروع Snorkel ، ونحن متحمسون لك للتحقق من الفصل التالي هنا.
إن أسرع طريقة للتعرف على مكتبة Snorkel هي السير عبر صفحة Get Sential على موقع Snorkel ، تليها البرامج التعليمية الكاملة في مستودع دروس Snorkel. توضح هذه البرامج التعليمية مجموعة متنوعة من المهام والمجالات وتقنيات وضع العلامات والتكامل التي يمكن أن تكون بمثابة قوالب أثناء تطبيق Snorkel على تطبيقاتك الخاصة.
يتطلب Snorkel Python 3.11 أو أحدث. لتثبيت Snorkel ، نوصي باستخدام pip :
pip install snorkel أو conda :
conda install snorkel -c conda-forgeللحصول على معلومات حول التثبيت من المصدر والمساهمة في Snorkel ، راجع إرشاداتنا المساهمة.
يعطي أوامر المثال التالي بعض الألوان على التثبيت مع conda . تفترض هذه الأوامر أن تثبيت conda الخاص بك هو Python 3.11 ، وأنك تريد استخدام بيئة افتراضية تسمى snorkel-env .
# [OPTIONAL] Activate a virtual environment called "snorkel"
conda create --yes -n snorkel-env python=3.11
conda activate snorkel-env
# We specify PyTorch here to ensure compatibility, but it may not be necessary.
conda install pytorch==1.1.0 -c pytorch
conda install snorkel==0.9.0 -c conda-forgeإذا كنت تستخدم Windows ، فنحن نوصي بشدة باستخدام Docker (يمكنك العثور على مثال في برنامجنا التعليمي) أو نظام Linux الفرعي. لقد أجرينا اختبارات محدودة على Windows ، لذلك إذا كنت ترغب في المساهمة في التعليمات أو التحسينات ، فلا تتردد في فتح العلاقات العامة!
نحن نستخدم مشكلات GitHub لنشر الأخطاء وطلبات الميزات-أي شيء يتعلق بالرمز. فقط تأكد من البحث عن المشكلات ذات الصلة أولاً واستخدم قوالب المشكلات لدينا. قد نطلب المساهمات إذا كان الإصلاح الموجهة لا يتناسب مع خريطة الطريق الفورية لفريق التطوير الأساسي.
نرحب بالمساهمات من مجتمع Snorkel! من المحتمل أن تكون هذه أسرع طريقة للحصول على تغيير ترغب في رؤيته في المكتبة.
يمكن تقديم مساهمات صغيرة مباشرة في طلب سحب (PR). إذا كنت ترغب في المساهمة بميزة أكبر ، فإننا نوصي أولاً بإنشاء مشكلة مع تصميم مقترح للمناقشة. للحصول على أفكار حول ما يجب العمل عليه ، قمنا بتسمية مشكلات محددة على أنها help wanted .
لإعداد بيئة تطوير للمساهمة في العودة إلى Snorkel ، راجع إرشاداتنا المساهمة. يجب على جميع PRS اجتياز اختبارات التكامل المستمر والحصول على موافقة من أحد أعضاء فريق تطوير Snorkel قبل دمجها.
للحصول على أسئلة وأجوبة أوسع ، استخدم المناقشات حول استخدام الغطس ، وطلبات البرنامج التعليمي ، وما إلى ذلك ، منتدى مجتمع Snorkel الذي تم استضافته على Spectrum. نأمل أن يكون هذا مكانًا لك للتفاعل مع مستخدمي الغطس الآخرين - من فضلك لا تخجل من النشر!
للبقاء على اطلاع على الإعلانات المتعلقة بالغطس (EG إصدارات الإصدار ، ورش العمل القادمة) ، والاشتراك في القائمة البريدية للغطس. نعد باحترام صناديق البريد الوارد الخاصة بك - سيكون التواصل متناثرًا!
تابعنا على TwitterSnorkelai.