Git لمشاريع الذكاء الاصطناعي
استخدام git init و.gitignore للبيانات والنماذج، وإيداع الدفاتر، وDVC لإصدار البيانات.
Git لمشاريع الذكاء الاصطناعي درس مجاني في Learn AI with Python على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Learn AI with Python، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Learn AI with Python 4 دروس في المجموع.
Git في مشاريع الذكاء الاصطناعي
يتتبّع Git التغييرات التي تطرأ على الكود، حتى تتمكن من التعاون والتراجع عن الأخطاء ومراجعة السجل. لكن مشاريع الذكاء الاصطناعي تضيف تحديًا: لا مكان لملفات البيانات الضخمة والنماذج الثنائية في Git.
يغطي هذا الدرس إعداد .gitignore مناسبًا واستخدام DVC لإدارة إصدارات البيانات.
ما الذي يتتبعه Git جيدًا؟
يتفوّق Git مع النصوص: شفرة المصدر وملفات الإعداد ودفاتر الملاحظات (بعد مسح مخرجاتها) والمستندات. فهو يخزّن الفروقات بكفاءة لملفات النصوص.
لكنه يتعامل مع الملفات الثنائية الكبيرة بشكل سيئ؛ إذ تُخزّن كل نسخة كاملة، ما يؤدي إلى تضخيم المستودع إلى الأبد.
لماذا لا نضمّن البيانات والنماذج؟
يؤدي تضمين مجموعة بيانات بحجم 2 GB أو نموذج بحجم 500 MB إلى ما يلي:
- تضخيم المستودع وإبطاء كل عملية استنساخ
- استحالة إجراء فروقات مفيدة عليها
- بقاؤها في السجل إلى الأبد، حتى بعد حذفها
الحل: تجاهلها في Git وإدارة إصداراتها باستخدام أداة مخصصة.
ملف .gitignore
يسرد .gitignore الأنماط التي ينبغي ألا يتتبعها Git. أنشئه في جذر المشروع. وكل سطر فيه هو نمط glob.
# .gitignore
*.pkl
*.joblib
*.h5
data/raw/*
data/processed/*
models/*
__pycache__/
*.pyc
.ipynb_checkpoints/
.envتجاهل ملفات النماذج وذاكرة التخزين المؤقت
أنماط التجاهل الشائعة في مشاريع الذكاء الاصطناعي:
*.pklو*.joblibو*.h5— النماذج المتسلسلة__pycache__/و*.pyc— الرمز الثانوي لـ Python.ipynb_checkpoints/— الحفظ التلقائي لـ Jupyter.env— الأسرار ومفاتيح API (لا تضعها في المستودع مطلقًا!)
الحفاظ على المجلدات الفارغة باستخدام .gitkeep
يتجاهل Git المجلدات الفارغة. للحفاظ على data/raw/ ضمن هيكل المستودع مع تجاهل محتوياته، أضف ملف .gitkeep فارغًا ونمط نفي.
# .gitignore
data/raw/*
!data/raw/.gitkeepالتعريف بـ DVC
يدير DVC (Data Version Control) إصدارات البيانات والنماذج الكبيرة إلى جانب Git. يتتبّع Git ملفات مؤشرات صغيرة بامتداد .dvc، بينما تُخزّن البيانات الفعلية في وحدة تخزين بعيدة (مثل S3 وGCS وغيرهما).
وبذلك تحصل على إصدارات بيانات قابلة لإعادة الإنتاج من دون تضخيم مستودع Git.
dvc init
يهيّئ DVC داخل مستودع Git موجود. وينشئ مجلد .dvc/ وملف إعداد تلتزم بهما في Git.
# in your git repo
dvc init
git add .dvc .gitignore
git commit -m "Initialize DVC"dvc add — تتبّع البيانات
يبدأ dvc add تتبّع ملف أو مجلد. وينقل DVC البيانات إلى ذاكرة التخزين المؤقت الخاصة به، وينشئ ملف مؤشر صغيرًا بامتداد .dvc. تلتزم بملف المؤشر في Git، لا بالبيانات.
dvc add data/raw/dataset.csv
# creates data/raw/dataset.csv.dvc
git add data/raw/dataset.csv.dvc data/raw/.gitignore
git commit -m "Track dataset with DVC"dvc push وdvc pull
اضبط وحدة تخزين بعيدة، ثم يرفع dvc push البيانات إليها، بينما ينزّل dvc pull الإصدار المطابق لالتزام Git الحالي. هكذا يتشارك أعضاء الفريق البيانات.
dvc remote add -d storage s3://my-bucket/dvcstore
dvc push # upload data to the remote
# teammate after git clone + git checkout:
dvc pull # fetch the matching data versionسير عمل الفريق
تربط دورة Git + DVC بين إصدارات الكود والبيانات:
- استخدم
git pullللحصول على أحدث كود ومؤشرات.dvc - استخدم
dvc pullلجلب البيانات والنماذج المطابقة - اعمل، ثم استخدم
dvc addوgit commitوdvc push
يؤدي الانتقال إلى التزام قديم ثم تشغيل dvc pull إلى إعادة إنشاء تلك الحالة بالضبط.
اختبار سريع: الملفات الكبيرة
يحتوي مشروعك على مجموعة بيانات تدريب بحجم 1 GB وملف نموذج بحجم 300 MB.
مراجعة: Git لمشاريع الذكاء الاصطناعي
لقد تعلّمت التحكم في الإصدارات بما يناسب الذكاء الاصطناعي:
- استخدم Git للنصوص (الكود وملفات الإعداد ودفاتر الملاحظات)، لا للملفات الثنائية الكبيرة
- استخدم
.gitignoreمن أجل*.pklوdata/raw/*و__pycache__و.env - استخدم
.gitkeepللحفاظ على المجلدات الفارغة - DVC: استخدم
dvc initوdvc addوdvc push/pullلإدارة إصدارات البيانات والنماذج - يحافظ سير عمل Git + DVC على تزامن الكود والبيانات
التالي: جعل التجارب قابلة لإعادة الإنتاج.
الأسئلة الشائعة
هل درس «Git لمشاريع الذكاء الاصطناعي» مجاني؟
نعم — نص درس «Git لمشاريع الذكاء الاصطناعي» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Learn AI with Python، انتقل إلى CoddyKit PRO. تتضمن دورة Learn AI with Python 4 دروس في المجموع.
ماذا ستتعلم في «Git لمشاريع الذكاء الاصطناعي»؟
استخدام git init و.gitignore للبيانات والنماذج، وإيداع الدفاتر، وDVC لإصدار البيانات. تتمرن على Learn AI with Python مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Learn AI with Python؟
لا تُشترط خبرة سابقة. Learn AI with Python على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «Git لمشاريع الذكاء الاصطناعي»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Learn AI with Python هذا؟
نعم. كل درس في Learn AI with Python يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- هيكل أدلة مشاريع الذكاء الاصطناعي الاحترافية
- Git لمشاريع الذكاء الاصطناعي
- قابلية إعادة الإنتاج: البذور والإعدادات والبيئات
- أفضل ممارسات دفاتر Jupyter