فاستاي | كيف تبدأ ؟

لماذا هذا السؤال ؟

قد يبدو السؤال "كيف تبدأ بـ Fastai؟" غير منطقي.

مجرد مشاهدة الفيديو الأول ، أليس كذلك؟ لا.

لدي تجربة مزدوجة مع Fastai. كنت أول عضو في برنامج الزمالة الدولية (الجزءان 1 و 2) كطالب من أكتوبر 2017. ثم ، مع زملائي الآخرين ، أطلقت في عام 2018 أول مجموعة دراسة للتعلم العميق في برازيليا باستخدام دورة Fastai (الجزء 1 ، ثم اليوم جزء 2 وكذلك واحد حول ML). لذلك أصبحت أيضًا مدربًا باستخدام محتوى Fastai.

بناءً على هذه التجربة المزدوجة مع Fastai ، قمت بنشر دليل التشغيل هذا للمشاركين الجدد في الدورة التدريبية لدينا في برازيليا وكذلك لجميع أولئك الذين يرغبون في بدء رحلتهم إلى الذكاء الاصطناعي (AI) باستخدام مكتبة فاستاي.

آلة التعلم في بضع كلمات

اليوم الذي سيأتي فيه الطفل الأول ذي الذكاء الاصطناعي إلى العالم ليس ليوم غد. في الوقت الحالي ، يجب إنشاء كل الذكاء الاصطناعي من قبل الإنسان ... ونحن بحاجة إلى رمز لذلك!

خارج الروبوت والمعالجة الوراثية ، يأخذ الذكاء الاصطناعي شكل خوارزمية يجب تدريبها على التعلم (غالبًا نموذج للشبكات العصبية الاصطناعية).

في الممارسة العملية ، تحتوي معلمات الخوارزمية (وتسمى أيضًا الأوزان) في البداية على قيم عشوائية يتم تحديثها باستخدام الملاحظات (وتسمى أيضًا الأمثلة) التي يتم توفيرها للخوارزمية. تسمى هذه الطريقة "التعلم من مجموعة بيانات" أو "التعلم الآلي" (أساليب التعلم العميق حاليًا وشائعة الاستخدام على نطاق واسع هي "التعلم الآلي" بعمق كبير من العمليات الحسابية).

في الواقع ، فإن كل ملاحظة يتم تقديمها للخوارزمية تسمح لها بحساب نتيجة تنبؤية (غالباً ما تكون احتمالية) لطبيعة هذه الملاحظة ، عبر عمليات رياضية يتم إجراؤها بمعلماتها (على سبيل المثال ، إذا كانت الملاحظة عبارة عن صورة للقط ، فإن التنبؤ يجب أن تشير النتيجة إلى الفئة المتوافقة مع قطة). الخطأ فيما يتعلق بالقيمة الحقيقية للرصد ثم يسمح بتحديث قيم المعلمات (في كثير من الأحيان عن طريق استخدام طريقة BackPropagation من التدرج من الخطأ).

سوف يستمر التدريب بعد ذلك مع ملاحظة جديدة وما إلى ذلك.

مكتبات لتنفيذ تعلم الآلة

وبالتالي ، فإن التعلم الآلي (ML) هو الحصول على البيانات ، والقدرة الحسابية ... والخوارزميات. لذلك يجب علينا استخدام لغة للترميز من أجل تنفيذ هذه الخوارزميات ، وتدريبها ، واختبارها ثم استخدامها في الإنتاج.

منذ بداية 2010 ، وهو التاريخ الذي يصادف بداية الاستخدام الواسع النطاق لـ AI ، أصبحت لغة Python هي اللغة المستخدمة لتطوير خوارزميات ML و Deep Learning (DL) في دفاتر Jupyter.

نظرًا لأن هياكل هذه الخوارزميات على وشك التوحيد ، فقد تم تطوير المكتبات لتسهيل استخدامها كـ TensorFlow (Google) مع Keras ، ثم PyTorch (Facebook) مع Fastai.

فاستاي ، أكثر من مكتبة

Fastai عبارة عن مكتبة تنفيذ لخوارزميات ML و DL وأيضًا عنوان الدورة التي بدأت في معهد البيانات بجامعة سان فرانسيسكو وهي الآن متوفرة عبر الإنترنت (دورة تدريبية واحدة حول دورة ML و 2 دورة حول DL).

لكن المبدعين جيريمي هوارد وريتشيل توماس ذهب أبعد من ذلك. إنها أيضًا طريقة تعلم جديدة من أعلى إلى أسفل تسمح بالتعلم بالممارسة ، بالإضافة إلى مجتمع يضم أكثر من 10000 شخص اليوم (اقرأ "إطلاق سريع .ai" من Jeremy Howard ، أكتوبر 2016).

تحتوي كل دورة تدريبية على مقاطع فيديو قابلة للتنزيل بحرية وخيط المنتدى ودفاتر jupyter التي تعمل من خلال مكتبة fastai.

كيف تبدأ مع فاستاي؟ الدليل في 4 خطوات

لقد رأيت عددًا كبيرًا جدًا من المشاركين في الدورة التدريبية في برازيليا إما التوقف أو عدم القدرة على الاستفادة من الدورة التدريبية بسبب أربعة أسباب رئيسية: python و Jupyter notebooks و GPU والواجب المنزلي.

1) بيثون

Python هي لغة البرمجة المستخدمة في دورة Fastai وأجهزة الكمبيوتر المحمولة الخاصة بها. إذا لم يكن من الضروري أن تكون متخصصًا في بيثون لمتابعة دورة فاستاي ، فمن الضروري أن يكون لديك الحد الأدنى من الممارسة.

دروس مباشرة على الإنترنت:

  • أول دفتر بيثون
  • بيثون علوم البيانات التعليمية
  • دورات بايثون على كورسيرا
  • كتاب: التعلم العميق مع بيثون (فرانسوا شوليت)

يتم استخدام مكتبات Python التالية تمامًا في دفاتر Fastai ، ولكن يمكنك تعلمها أثناء الدورة (فهي ليست متطلبات مسبقة).

نمباي

NumPy هي الحزمة الأساسية للحوسبة العلمية مع بيثون. إنها تسمح بعمليات رياضية على المصفوفات ، المصفوفات ، المتجهات والتنسورات عالية الأبعاد كما لو كانت متغيرات بايثون.

الدورات عبر الإنترنت: Numpy Tutorial و Python Numpy Tutorial.

الباندا

تعد Pandas مكتبة مفتوحة المصدر ومرخصة من قبل BSD توفر هياكل بيانات عالية الأداء وسهلة الاستخدام (مثل: ملفات CSV) وأدوات تحليل البيانات الخاصة بلغة برمجة Python. الباندا يعمل بشكل جيد للغاية مع NumPy.

  • Curso de Introdução a Análise de Dados (em português)
  • دورات عبر الإنترنت: قائمة بالدروس حول الباندا.

2) دفتر Jupyter

يوجد Project Jupyter لتطوير برمجيات مفتوحة المصدر ومعايير مفتوحة وخدمات للحوسبة التفاعلية عبر عشرات لغات البرمجة وخاصة بيثون. ستستخدم دفتر ملاحظات Jupyter لتنفيذ جميع خوارزميات ML أو DL.

دروس مباشرة على الإنترنت :

  • 1: 30: 521: مقدمة إلى دفاتر Jupyter
  • Jupyter Notebook أوامر واختصارات
    - Jupyter Notebook أوامر واختصارات 1
    - 28 تلميح Jupyter مفكرة ، والحيل ، والاختصارات
  • Usar "خلايا jupyter القابلة للطي / القابلة للتوسيع" em seus jupyter notebooks
  • معرض يحتوي على دفاتر Jupyter المثيرة للاهتمام: https://github.com/jupyter/jupyter/wiki/A-gallery-of-interesting-Jupyter-Notebooks1

3) GPU

بمجرد معرفة Python على الأقل ومعرفة كيفية استخدام دفتر ملاحظات Jupyter ، تحتاج إلى تثبيت مكتبة Fastai وأجهزة الكمبيوتر المحمولة الخاصة به على خادم مع GPU.

ملاحظة: إذا لم يكن لديك GPU NVIDIA محلي وإذا كنت لا ترغب في استخدام واحد على الإنترنت ، يمكنك تثبيت Fastai على جهاز الكمبيوتر الخاص بك واستخدام وحدة المعالجة المركزية الخاصة بك فقط ولكن بعد ذلك ، قد يستغرق الأمر بعض الوقت للحصول على نتيجة التدريب من ML الخاص بك / نموذج DL ...

لماذا GPU؟ كنت في حاجة إليها عند تدريب خوارزمية ML أو DL لتقليل وقت التدريب. بدون وحدة معالجة الرسومات ، لن تتمكن من تدريب "بسهولة" على خوارزمية ML أو DL مع ملايين البيانات.

بصرف النظر عن تركيب وحدة المعالجة المركزية المحلية ، لديك احتمالان: إما تكوين وحدة معالجة الرسومات المحلية الخاصة بك إذا كان جهاز الكمبيوتر الخاص بك يحتوي على واحد مثل NVIDIA GPU ، أو يمكنك استئجار واحدة عبر الإنترنت باستخدام Google Cloud أو Google Colab أو PaperSpace أو AWS أو غيرها.

أدلة على الإنترنت: اقرأ الفقرة "GPU (وحدات معالجة الرسومات)" من مقالة "التعلم العميق برازيليا - Revisão" ou links seguintes.

وحدة المعالجة المركزية المحلية

اقرأ المستند README.md ولكن اتبع الخطوات أدناه:

  1. تثبيت اناكوندا ويندوز
  2. يفتح محطة "Anaconda Prompt" (التي تم تثبيتها بواسطة Anaconda) ورقم الأوامر التالية في هذه المحطة.
  3. mkdir fastai (لإنشاء مجلد fastai)
  4. قرص fastai (لإدخال مجلد fastai)
  5. git clone https://github.com/fastai/fastai.git (لتنزيل الملفات ، يتضمن Fastai دفاتر الملاحظات والملفات لتثبيت البيئة الافتراضية من fastai-cpu: pytorch ، المكتبات غير المضرة ، pandas ، bcolz ، إلخ.)
  6. conda env update -f environment-cpu.yml (هام: استخدم ملف environment-cpu.yml لأنك تريد استخدام وحدة المعالجة المركزية ، وليس وحدة معالجة الرسومات)
  7. كوندا تفعيل fastai-cpu (لتفعيل البيئة الافتراضية fastai-cpu)
  8. دورات cd \ ml1 (أدخل في المجلد ml1 على سبيل المثال)
  9. del fastai (احذف symlink fastai الذي تم إنشاؤه للتشغيل في بيئة bash)
  10. mklink / d fastai .. \ .. \ fastai (قم بإنشاء fastlink windows fastai إلى المجلد fastai الذي يحتوي على ملفات من Fastai المكتبة)
  11. cd .. \ .. (قم بإنهاء المجلد ml1 للعودة إلى جذر المجلد الذي تم إنشاؤه في الخطوة 3)
  12. jupyter notebook (قم بتشغيل دفتر jupyter الذي سيفتح في متصفح الويب)

"Et voilà": لديك مكتبة Fastai (وأجهزة الكمبيوتر المحمولة الخاصة بها) مثبتة على جهاز الكمبيوتر الخاص بك باستخدام وحدة المعالجة المركزية ويمكنك تشغيل جميع دفاتر ملاحظات المجلد ml1.

GPU المحلية

  • Howto: التثبيت على ويندوز

GPU على الانترنت

  • Google Cloud Platform (رصيد قدره 300 دولار)
  • مساحة الأوراق (بقيمة 15 دولار)
  • Clouderizer + Google Colab (مجانًا !!!)
  • خدمات أمازون على الويب (AWS)
  • Crestle

لا تنسَ أن تغلق جهازك الظاهري !!!

4) الواجبات المنزلية

يتحدث جيريمي هوارد عن 10 ساعات من العمل الشخصي لكل فيديو من فصله ... وهو على حق!

في الواقع ، إذا كنت ترغب في معرفة كيفية القيام ML و DL وليس فقط فهم المبادئ ، يجب عليك الممارسة.

تعتبر العناصر المذكورة أعلاه (باختصار ، معرفة لغة الثعبان وكيفية استخدام دفتر ملاحظات Jupyter ، ولتثبيت مكتبة Fastai على وحدة معالجة الرسومات) متطلبات أساسية ضرورية ولكنها ليست كافية.

لتتعلم حقًا ، عليك مشاهدة مقاطع الفيديو عدة مرات ، وتشغيل دفاتر Fastai ، ودراسة سطور الرموز ، وطرح الأسئلة في منتدى Fastai عندما لا تفهم ، والإجابة على الأسئلة التي طرحها الآخرون ، ونشر المقالات لتحسين فهمك. هذا هو التعلم الحقيقي!

كلمة واحدة أخرى: استمتع! :-)