13 KiB
AGENTS.md
نظرة عامة على المشروع
"الذكاء الاصطناعي للمبتدئين" هو منهج شامل لمدة 12 أسبوعًا يتضمن 24 درسًا يغطي أساسيات الذكاء الاصطناعي. يحتوي هذا المستودع التعليمي على دروس عملية باستخدام Jupyter Notebooks، اختبارات قصيرة، ومختبرات تطبيقية. يغطي المنهج:
- الذكاء الاصطناعي الرمزي مع تمثيل المعرفة وأنظمة الخبراء
- الشبكات العصبية والتعلم العميق باستخدام TensorFlow وPyTorch
- تقنيات وهياكل الرؤية الحاسوبية
- معالجة اللغة الطبيعية (NLP) بما في ذلك المحولات وBERT
- مواضيع متخصصة: الخوارزميات الجينية، التعلم المعزز، أنظمة متعددة الوكلاء
- أخلاقيات الذكاء الاصطناعي ومبادئ الذكاء الاصطناعي المسؤول
التقنيات الرئيسية: Python 3، Jupyter Notebooks، TensorFlow، PyTorch، Keras، OpenCV، Vue.js (لتطبيق الاختبارات)
الهيكلية: مستودع محتوى تعليمي يحتوي على Jupyter Notebooks منظمة حسب مجالات الموضوعات، مدعومة بتطبيق اختبارات يعتمد على Vue.js ودعم متعدد اللغات بشكل واسع.
أوامر الإعداد
بيئة التطوير الأساسية (Python/Jupyter)
تم تصميم المنهج للعمل باستخدام Python وJupyter Notebooks. الطريقة الموصى بها هي استخدام miniconda:
# Clone the repository
git clone https://github.com/microsoft/ai-for-beginners
cd ai-for-beginners
# Create and activate conda environment
conda env create --name ai4beg --file environment.yml
conda activate ai4beg
# Start Jupyter Notebook
jupyter notebook
# OR
jupyter lab
البديل: استخدام devcontainer
# Open in VS Code and select "Reopen in Container" when prompted
# The devcontainer will automatically set up the environment
إعداد تطبيق الاختبارات
تطبيق الاختبارات هو تطبيق Vue.js منفصل موجود في etc/quiz-app/:
cd etc/quiz-app
npm install
npm run serve # Development server
npm run build # Production build
npm run lint # Lint and fix files
سير العمل التطويري
العمل مع Jupyter Notebooks
-
التطوير المحلي:
- تفعيل بيئة conda:
conda activate ai4beg - بدء Jupyter:
jupyter notebookأوjupyter lab - الانتقال إلى مجلدات الدروس وفتح ملفات
.ipynb - تشغيل الخلايا بشكل تفاعلي لمتابعة الدروس
- تفعيل بيئة conda:
-
VS Code مع إضافة Python:
- فتح المستودع في VS Code
- تثبيت إضافة Python
- يقوم VS Code بالكشف تلقائيًا واستخدام بيئة conda
- فتح ملفات
.ipynbمباشرة في VS Code
-
التطوير السحابي:
- GitHub Codespaces: انقر على "Code" → "Codespaces" → "Create codespace on main"
- Binder: استخدم شارة Binder في README لتشغيله في المتصفح
- ملاحظة: Binder لديه موارد محدودة وبعض قيود الوصول إلى الويب
دعم GPU للدروس المتقدمة
تستفيد الدروس المتأخرة بشكل كبير من تسريع GPU:
- Azure Data Science VM: استخدم VMs من سلسلة NC مع دعم GPU
- Azure Machine Learning: استخدم ميزات الدفاتر مع حساب GPU
- Google Colab: قم بتحميل الدفاتر بشكل فردي (يدعم GPU مجانًا)
تطوير تطبيق الاختبارات
cd etc/quiz-app
npm run serve # Hot-reload development server at http://localhost:8080
تعليمات الاختبار
هذا مستودع تعليمي يركز على محتوى التعلم بدلاً من اختبار البرمجيات. لا توجد مجموعة اختبارات تقليدية.
طرق التحقق:
- Jupyter Notebooks: قم بتنفيذ الخلايا بشكل متسلسل للتحقق من عمل أمثلة الكود
- اختبار تطبيق الاختبارات: اختبار يدوي عبر خادم التطوير
- التحقق من الترجمة: تحقق من المحتوى المترجم في مجلد
translations/ - Linting لتطبيق الاختبارات:
npm run lintفيetc/quiz-app/
تشغيل أمثلة الكود:
# Activate environment first
conda activate ai4beg
# Run Python scripts directly
python lessons/4-ComputerVision/07-ConvNets/pytorchcv.py
# Or execute notebooks
jupyter notebook lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb
أسلوب كتابة الكود
أسلوب كتابة كود Python
- اتفاقيات Python القياسية للكود التعليمي
- كود واضح وقابل للقراءة يركز على التعلم بدلاً من التحسين
- تعليقات تشرح المفاهيم الرئيسية
- مناسب لـ Jupyter Notebook: يجب أن تكون الخلايا مكتفية ذاتيًا قدر الإمكان
- لا توجد متطلبات صارمة لـ linting لمحتوى الدروس
JavaScript/Vue.js (تطبيق الاختبارات)
- تكوين ESLint في
etc/quiz-app/package.json - تشغيل
npm run lintللتحقق من المشكلات وإصلاحها تلقائيًا - اتفاقيات Vue 2.x
- هيكلية تعتمد على المكونات
تنظيم الملفات
lessons/
├── 0-course-setup/ # Setup instructions
├── 1-Intro/ # Introduction to AI
├── 2-Symbolic/ # Symbolic AI
├── 3-NeuralNetworks/ # Neural Networks basics
├── 4-ComputerVision/ # Computer Vision
├── 5-NLP/ # Natural Language Processing
├── 6-Other/ # Other AI techniques
├── 7-Ethics/ # AI Ethics
└── X-Extras/ # Additional content
etc/
├── quiz-app/ # Vue.js quiz application
└── quiz-src/ # Quiz source files
translations/ # Multi-language translations
البناء والنشر
محتوى Jupyter
لا توجد عملية بناء مطلوبة - يتم تنفيذ Jupyter Notebooks مباشرة.
تطبيق الاختبارات
cd etc/quiz-app
# Development
npm run serve
# Production build
npm run build # Outputs to etc/quiz-app/dist/
# Deploy to Azure Static Web Apps
# Azure automatically creates GitHub Actions workflow
# See etc/quiz-app/README.md for detailed deployment instructions
موقع التوثيق
يستخدم المستودع Docsify للتوثيق:
index.htmlيعمل كنقطة دخول- لا توجد عملية بناء مطلوبة - يتم تقديمه مباشرة عبر GitHub Pages
- الوصول عبر: https://microsoft.github.io/AI-For-Beginners/
إرشادات المساهمة
عملية طلب السحب
- تنسيق العنوان: عناوين واضحة وواصفة تصف التغيير
- متطلب CLA: يجب توقيع CLA الخاص بـ Microsoft (فحص تلقائي)
- إرشادات المحتوى:
- الحفاظ على التركيز التعليمي ونهج مناسب للمبتدئين
- اختبار جميع أمثلة الكود في الدفاتر
- التأكد من تشغيل الدفاتر من البداية إلى النهاية
- تحديث الترجمات إذا تم تعديل المحتوى الإنجليزي
- تغييرات تطبيق الاختبارات: تشغيل
npm run lintقبل الالتزام
مساهمات الترجمة
- تتم الترجمات تلقائيًا عبر GitHub Actions باستخدام co-op-translator
- الترجمات اليدوية توضع في
translations/<language-code>/ - ترجمات الاختبارات في
etc/quiz-app/src/assets/translations/ - اللغات المدعومة: أكثر من 40 لغة (راجع README للحصول على القائمة الكاملة)
مجالات المساهمة النشطة
راجع etc/CONTRIBUTING.md للاحتياجات الحالية:
- أقسام التعلم المعزز العميق
- تحسينات الكشف عن الكائنات
- أمثلة التعرف على الكيانات المسماة
- عينات تدريب التضمين المخصص
تكوين البيئة
التبعيات المطلوبة
# Core Python packages (from requirements.txt)
tensorflow==2.17.0
torch (via conda)
torchvision (via conda)
keras==3.5.0
opencv (via conda)
scikit-learn
numpy==1.26
pandas==2.2.2
matplotlib==3.9
jupyter
متغيرات البيئة
لا توجد متغيرات بيئة خاصة مطلوبة للاستخدام الأساسي.
لعمليات نشر Azure (تطبيق الاختبارات):
AZURE_STATIC_WEB_APPS_API_TOKEN(يتم تعيينه تلقائيًا بواسطة Azure)
التصحيح واستكشاف الأخطاء
المشكلات الشائعة
المشكلة: فشل إنشاء بيئة Conda
- الحل: تحديث conda أولاً:
conda update conda -y - التأكد من وجود مساحة كافية على القرص (يوصى بـ 50GB)
المشكلة: لم يتم العثور على نواة Jupyter
- الحل:
conda activate ai4beg python -m ipykernel install --user --name ai4beg
المشكلة: لم يتم اكتشاف GPU في الدفاتر
- الحل:
- التحقق من تثبيت CUDA:
nvidia-smi - التحقق من GPU في PyTorch:
python -c "import torch; print(torch.cuda.is_available())" - التحقق من GPU في TensorFlow:
python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"
- التحقق من تثبيت CUDA:
المشكلة: تطبيق الاختبارات لا يبدأ
- الحل:
cd etc/quiz-app rm -rf node_modules package-lock.json npm install npm run serve
المشكلة: Binder ينتهي أو يحظر التنزيلات
- الحل: استخدم GitHub Codespaces أو الإعداد المحلي للحصول على موارد أفضل
مشكلات الذاكرة
تتطلب بعض الدروس ذاكرة كبيرة (يوصى بـ 8GB+):
- استخدم VMs السحابية للدروس التي تتطلب موارد مكثفة
- أغلق التطبيقات الأخرى عند تدريب النماذج
- قلل أحجام الدفعات في الدفاتر إذا نفدت الذاكرة
ملاحظات إضافية
للمدربين
- راجع
lessons/0-course-setup/for-teachers.mdللحصول على إرشادات التدريس - الدروس مكتفية ذاتيًا ويمكن تدريسها بالتسلسل أو اختيارها بشكل فردي
- الوقت المقدر: 12 أسبوعًا بمعدل درسين في الأسبوع
الموارد السحابية
- Azure للطلاب: اعتمادات مجانية متاحة للطلاب
- Microsoft Learn: مسارات تعلم إضافية مرتبطة طوال الدورة
- Binder: مجاني ولكن بموارد محدودة وبعض قيود الشبكة
خيارات تنفيذ الكود
- محلي (موصى به): تحكم كامل، أفضل أداء، دعم GPU
- GitHub Codespaces: VS Code قائم على السحابة، جيد للوصول السريع
- Binder: Jupyter قائم على المتصفح، مجاني ولكن محدود
- دفاتر Azure ML: خيار مؤسسي مع دعم GPU
- Google Colab: تحميل الدفاتر بشكل فردي، طبقة GPU مجانية متاحة
العمل مع الدفاتر
- تم تصميم الدفاتر ليتم تشغيلها خلية بخلايا للتعلم
- العديد من الدفاتر تقوم بتنزيل مجموعات البيانات عند التشغيل الأول (قد يستغرق وقتًا)
- تتطلب بعض النماذج GPU لأوقات تدريب معقولة
- يتم استخدام النماذج المدربة مسبقًا حيثما أمكن لتقليل متطلبات الحوسبة
اعتبارات الأداء
- تستفيد دروس الرؤية الحاسوبية المتأخرة (CNNs، GANs) من GPU
- دروس محولات NLP قد تتطلب ذاكرة كبيرة
- التدريب من الصفر تعليمي ولكنه يستغرق وقتًا طويلاً
- أمثلة التعلم بالنقل تقلل من وقت التدريب
إخلاء المسؤولية:
تم ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي Co-op Translator. بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي. للحصول على معلومات حاسمة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة ناتجة عن استخدام هذه الترجمة.