السلام عليكم،
بحاول أعطي roadmap للشخص اللي يبغا يدخل في الـ AI ويمشي فيه كـ career رئيسي، فيها بعض الفيديوهات سجلتها، والبعض الآخر كورسات معروفة، والبعض الآخر بعطيك الموضوع وانت ممكن تفتش المصادر اللي تبغاها له.
اعتقد التشتت في كثرة الكورسات والمواضيع شيء موجود في الـ AI عموماً، فبقدر الإمكان تركيزي هنا بيكون على الأشياء اللي انا استفدت منها. الهدف من الـ roadmap انها تعطيك بداية الطريق، ما حتغطي لك كل شيء في الـ AI لكن على الأغلب لو وصلت إلين نهايتها حتكون أنت بنفسك عارف ايش الأشياء اللي تنقصك وتقدر تكمل باقي الطريق بنفسك.
المتطلبات الأساسية
الـ Roadmap بتفترض عندك:
- خلفية في الماث (Calculus, Linear Algebra, Probability & Statistics) حق أول سنتين/ثلاثة من الـ undergraduate study.
- خلفية برمجية جيدة عموماً في أي لغة ومهارات problem solving (على الأقل تعاملت من قبل مع algorithms & data structures وشوية competitive programming).
أتوقع الـ Roadmap هذي تأخذ منك من 3-6 شهور (حسب اجتهادك)، وبعدها ممكن تشوف مجالات الـ AI المتقدمة وتحاول تدخل في التفاصيل حقتها. الـ AI مجال بيتطور مرة سريع، فلو ما بتحب فكرة انك كل فترة وفترة بتحتاج تتعلم أشياء جديدة في مجالك فما أتوقع بيناسبك، But for me I find this is exactly the fun part in AI :)
أولاً: الأساسيات
أساسيات بايثون حوالي أسبوع
ابدأ بأي كورس بايثون من اليوتيوب يعطيك الأساسيات حقت اللغة، مفروض لو عندك خلفية برمجية سابقة ما تأخذ معك بايثون أكثر من أسبوع كذا.
مكتبات تحليل البيانات حوالي 3 أيام
مفروض تتعلم كيف تتعامل مع الداتا، بتحتاج تتعلم 3 مكتبات:
- Numpy: للمصفوفات.
- Pandas: مبنية فوق numpy، وهي الأساسية في التعامل مع الداتا.
- Matplotlib: لرسم الـ figures والـ plots عموماً.
شوف الفيديو اللي تحت هذا (او ممكن اي شرح من اليوتيوب اذا ما عجبك الفيديو هذا) كلما تشتغل projects أكثر حتعرف تتعامل مع المكتبات هذي أفضل وحتعرف تكتب كود أحسن.
أنا برضو قدمت شرح مختصر لها أثناء كورس مصغر في جامعتي اذا يناسبك:
أساسيات الـ ML (الثيوري) حوالي 3 أيام
شوف الفيديو هذا، كنت شرحته قبل فترة، هو جزء من برنامج الـ AI المقدم من KAUST Academy:
فيديو: ملخص ثيوري الـ ML والـ DL
بيلخص لك اغلب الثيوري اللي تحتاجه مبدئياً في الـ ML وشوية DL (فيديو ساعتين غالبا لو فهمته كويس حيلخص لك كورسات كاملة ويوفر لك وقتك). السلايدات واللابات بتلقاها هنا:
تعلم مكتبة Sklearn حوالي 3 أيام
شوف الفيديو هذا وطبق معاه الى الدقيقة 1:24:49، المكتبة هذي أساسية في الـ ML، حتلقى فيها اغلب المودلز + الـ metrics وأدوات الـ preprocessing.
كتاب Hands-On Machine Learning حوالي 3 أيام
اقرا أول شابترين من الكتاب هذا بتلقاه متوفر في الإنترنت: Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow
- الشابتر الأول مقدمة، والشابتر الثاني بيوريك كيف تتعامل مع ML problem من الألف إلى الياء.
تطبيق عملي (ML) و Kaggle حوالي 3 أسابيع
شوف فيديو الـ code الاول هنا: رابط البلاي ليست
وحاول تعيد كتابة الأكواد معه سطر سطر ولا تكتب شيء مو فاهمه، اسال GPT اذا في شيء ما فهمته. طبعاً كذا مفروض يكون عندك شوية معرفة كيف تطبق ML مودل على problem، فممكن تروح لموقع Kaggle تأخذ منه داتا وتجرب بنفسك، حاول تشتغل أقل شيء على 4-5 datasets مختلفة قبل تروح للخطوة الجاية.
وحاول خزن الأكواد اللي بتسويها، وحاول اقرا حلول الناس الثانية لنفس الداتا وتعلم منهم اشياء جديدة، في افكار مرة مرة كثيرة حتلاقيك في Kaggle عن الـ preprocessing والـ feature engineering والـ models، حاول اقرا هناك كثير، الوقت اللي بتمضيه في Kaggle بيفرق معك مرة.
(اذا ودك تعمل practice، ممكن تشوف قائمة المسابقات المقترحة في نهاية الصفحة)
مكتبة Pytorch (أساسيات Deep Learning) حوالي أسبوع
من نفس الـ playlist اللي فوق شوف فيديو الكود الثاني، حيبدأ لك مكتبة Pytorch وهي مكتبة حقت الـ deep learning، بعدها شوف إلين الدقيقة 40 من الفيديو هذا حتعطيك الـ basics بشكل احسن.
الأكواد حتلقاها في نفس الـ repository حقت github اللي فوق. حاول تعيد كتابة الأكواد اللي في الفيديو سطر سطر.
التدريب وتطبيق Pytorch حوالي أسبوع
وقت التدريب، شوف أول جزء من المقطع هذا. بيحاول يطبق project على داتا tabular باستخدام pytorch، اكتب معه الكود سطر سطر ولا تكتب شيء مو فاهمه. بعدها روح على الـ 4-5 datasets اللي اشتغلتهم من قبل، واشتغل عليهم مرة ثانية لكن بـ pytorch المرة هذي.
التعامل مع الصور (Computer Vision) حوالي شهر
الـ playlist هذي بتغطي لك كل شيء تحتاجه من ناحية ثيوري ومن ناحية براكتيكال.
بعد ما تخلصها، المطلوب منك لكل واحد من التاسكات (Classification, Segmentation, Detection) تشتغل على 3 datasets من Kaggle على الأقل.
وحاول شوف الفيديو هذا بيوريك كيف تقرأ أكواد Pytorch المعقدة شوي:
KAUST Academy SS 25: How to understand complex Pytorch code
وبعدها شوف الفيديو هذا بيعلمك tricks كثيرة من ناحية الhyperparameters, losses curves,...
KAUST Academy SS 25: The Art of Training Deep NN
(اذا ودك تعمل practice، ممكن تشوف قائمة المسابقات المقترحة في نهاية الصفحة)
ثانياً: المسارات المتقدمة
لو وصلت إلين هنا فالأساسيات انتهت، بعد كذا الخطة بتتفرع لعدة تفرعات وبتبدأ تبقى ثقيلة شوي من ناحية ماث في الثيوري. تقدر تختار المسار اللي تبغاه ومو ضروري تخلصهم كلهم، لكن نصيحتي حاول بقدر الإمكان تتعلم الاساسيات حقت كل مسار، وفي نفس الوقت حاول *تغوص* في واحد منهم.
المسارات هي:
- Generative AI for Computer Vision
- Natural Language Processing (NLP)
- Reinforcement Learning (RL)
- وفي أشياء ثانية لكن أصغر حجماً ومحتوىً، مثل الـ Time series forecasting والـ Recommendation Systems والـ Audio وغيرهم.
المواضيع هذي أنا اغلبها تعلمتها عن طريق الـ practical صراحة، ما شفت لها كورسات كثير، لكن بحاول بعطي شوية اقتراحات تحت، لكن خذ راحتك واختار اي محتوى يناسبك.
11. الـ Generative for Vision حوالي 3 أسابيع
هذا كأنه مواصلة للـ Computer Vision العادي، الماث حقه ثقيل شوي، فيه موضوع توليد الصور عموماً مثل نماذج Dalle وImagen وغيرهم. هو رهيب كـ research لكن مو مرة مفيد كـ industry، لكن بنصح يكون عندك عنه خلفية اذا امكن.
في 4 نماذج حاول اتعلمها من أي مصادر على الترتيب، هي الـ: VAE, Normalizing Flow, GANs, Diffusion Models.
الـ diffusions هي أحدث شيء وهي اللي مستخدمة في اغلب برامج توليد الصور حالياً، لو اتعلمت الـ 4 هذي فهي كافية، اذا تبغى تتبحر زيادة انت حر.
اختار أي كورس او كتاب او شرح يعجبك، هذا مثال لكورس من ستانفورد لكنه طويل شوي: كورس ستانفورد.
واكاديمية كاوست موفرين في الـ repository حقتهم برضو Resource للاشياء هذي: KAUST Academy Resources.
12. الـ Natural Language Processing (NLP) حوالي شهرين
اللي هي معالجة النصوص عموماً. بيبدأ معك من أشياء مثل كيف تبني نماذج لتصنيف النصوص إلين توصل أشياء متقدمة مثل الـ Transformers والـ LLMs والـ RAG وChatGPT والاشياء هذي.
في الفترة الحالية أتوقع هذا اكثر مجال موجود في السوق والـ research، وبرضو أتوقع أثقل مجال من ناحية الأشياء اللي تحتاج تتعلمها لانه هو بالذات بيتطور كل يوم، مو صعب، والمفاهيم حقته سهلة نسبياً، لكن بس شوي كثير.
المصادر له مرة كثيرة في الانترنت مثل كورسات deeplearning.ai و MIT و غيرهم، اختار اللي يعجبك، انا بس بحاول اعطيك المواضيع اللي تحاول تغطيها على الترتيب:
Text Representations (count, tfidf, embeddings) -> RNN/LSTM -> Transformers & Attention -> LLMs
هذي أساس الـ NLP، احتمال تلقى كورس واحد يغطيها كلها. بعد كذا في أشياء موجودة في الـ industry/research مبنية فوق الاساس هذا، هي الـ: RAG والـ Agents والـ LLM APIs و QLoRA والـ RL LLMs Finetuning والـ Prompt Engineering والـ Audio والتحويل من صوت الى نص والعكس. اغلبها بتلقى لها كورسات قصيرة في اليوتيوب. أهم شيء تحاول تشتغل عليها مشاريع وتطبق.
مؤخراً المجال رايح على بناء نماذج تقدر تستقبل كل أنواع الداتا في نفس الوقت (Multimodal)، مثل GPT الحين تقدر ترسل له نص وصورة واشياء ثانية، فلو تبحرت زيادة حتسمع بأشياء مثل الـ Vision Language Models وغيرهم.
13. الـ Reinforcement Learning (RL) حوالي شهر
فكرته انك تعطي النموذج حقك بيئة وتخليه يتعلم عن طريق تفاعله معها. بيستخدموه في الروبوتات والعاب الفيديو وكم شيء ثاني، لكن مؤخرا ظهر استخدام رهيب له اللي هو في الـ Finetuning حق الـ LLMs بخوارزميات مثل PPO وGRPO، وهي الفكرة اللي جابت لنا ChatGPT وجابت لنا الـ Reasoning Models.
عموماً خلفيتي فيه شوي ضعيفة صراحة، لكن بس الماث حقه مرة ثقيل. الكورس هذا من Google Deepmind اشوف بينصحوا به كثير.
وممكن تبحث عن شيء مثل "Reinforcement Learning for LLMs" اذا مهتم بجزئية الـ NLP فقط.
طيب عندي الأساس، كيف أحل مشاكل في العالم الحقيقي؟
الفيديو هذا حاولت الخص فيه أشياء كثيرة ممكن تحتاج تفهمها وانت بتطبق في مسائل حقيقية ، معه عدد من التجارب الشخصية.
KAUST Academy SS 25: From AI Foundations to Real World Practices
كيف تطور نفسك وتكتسب خبرة؟
- Kaggle is a great place to practice data preprocessing, modeling, and evaluation on real datasets.
- Hackathons are a good way to build small, end-to-end prototypes and sometimes handle business-related aspects.
- Internships at companies are an excellent way to gain experience in a real-world environment.
- Teaching, giving sessions, and sharing your experience are great ways to deepen your understanding of any AI topic and build strong connections.
- Reading papers and being active in AI communities will keep you up-to-date.
- Doing research and writing papers is a good way to build a strong AI-focused CV.
- Personal projects (scraping data yourself or using APIs), freelancing, and contributing to open-source projects are also great ways to improve your end-to-end skills and build a strong GitHub portfolio.
ملاحظات هامة
انا طريقتي في تعلم الـ AI أني أول الشيء ببدأ بالكود وبعتبر كل شيء فيه كأنه blackbox، بعدها بروح اتعلم الثيوري حقه، الشيء ذا احسه مرة افادني ووفر علي وقت في نقطة أني اعرف ايش بالتحديد اللي ابغى ادرسه في الثيوري وايش اللي ما ابغاه.
شهادات الكورسات ما بتفيدك كثير لكن البروجكتس اللي تشتغلها هي اللي بتفيدك، حاول تجمعها وتحطها في Github repository أو مكان كويس.
حاول تكون فضولي شوي واقرا كثير وتطبق في Kaggle/papers/blogs/codes/repositories حاول كل شوي تتعلم tricks جديدة أو افكار جديدة، كلما كنت فضولي أكثر كلما تعلمت اشياء unique أكثر.
التدوين: أي شي ما بتكتبه حتنساه وما حتستفيد منه. حاول اعمل لك ملف word لكل كورس او شيء تدرسه وانسخ فيه الأشياء اللي تعلمتها... المهم لازم يكون عندك ملفات مثل كذا، لأنك لو رجعت بعد كم شهر مثلاً وتبغى تراجع concept معين حتراجع ملفاتك، مو الكورسات! ولا كذا انت ضيعت وقتك بالفاضي. النقطة هذي مرة مهمة، وبتفرق معك على المدى الطويل.
كتابة الكود: أي كود ما بتكتبه بيدك وحتشوفه فيديو بس فمبروك انت كذا الساعات اللي شاهدت فيها الفيديو هذي راحت هباءاً منثوراً من حياتك. اكتب حتى لو الموضوع اخذ منك ساعات. تبغى تتقن مكتبة معينة؟ لا تروح تكتب الـ functions في ورقة وتقعد تسمعهم، روح اشتغل لك في projects من الانترنت بتستخدم المكتبات هذي، كلما استخدمتها اكثر اتقنتها اكثر.
استخدام GPT: هل أستخدم GPT ولا لا في الأكواد؟ الإجابة: استخدمه وبكثرة كمان لكن بشرطين: 1- لا تنسخ منه، اكتب منه سطر سطر وكلمة كلمة. 2- لا تكتب شيء مو فاهمه حرف حرف! اسال GPT إلين تفهمه، كذا حتستفيد، غير كذا لا تضيع وقتك في الـ roadmap هذي صراحة.
مصادر إضافية
Kaggle
هو اكبر موقع حق community حق AI، بتلقى فيه شروحات لكل شيء تبغاه، وداتا ومودلز مدربة، وأهم شيء: المسابقات. انا صراحة ما اتوقع استفدت في الـ career حقي من شيء اكثر من الوقت اللي كنت بقعده في المسابقات هذي، غير انها ممتعة، بتلقى نفسك بتتعلم اشياء مرة كثيرة ومفيدة وكلها اشياء حديثة وفي نفس الوقت بتنافس على مستوى العالم، هي في البداية بتظهر كأنها مرة صعبة لكن لو قعدت لها شوي حتدمن :)
أدوات مجانية (GPU)
الـ AI عموماً بيحتاج اجهزة كويسة، خصوصاً كروت الشاشة. طيب هذا معناه انك تروح تشتري جهاز بـ 15 الف؟ nah.
Google وKaggle موفرين في منصاتهم resources مجانية تقدر تستخدمها، ومرة كويسة. في الأغلب في دراستك للأشياء اللي فوق هذي ما حتحتاج غيرهم:
TowardsDataScience
الموقع هذا حتلقى فيه شروحات لأي شيء تبغاه تقريباً في مجال الـ AI و الـ Data Science. فيه مقالات عملية عن Machine Learning، Deep Learning، MLOps، Data Engineering، ومواضيع متقدمة زي LLMs، RAG، والـ Production Systems.
تقدر تستخدمه كـ reference سريع لفهم فكرة جديدة، أو لاكتشاف best practices في المشاريع الحقيقية، أو حتى لقراءة كود جاهز وتحليل أسلوب الناس اللي عندهم خبرة أكثر.
مسابقات Kaggle مقترحة
هذي قائمة مقترحة لمسابقات Kaggle تقدر تبدأ فيها، حاول تبدأ بالسهل وتتدرج. كل المسابقات اللي هنا انتهت ، هدفك لما تدخلها انك تكتب كود كامل من قراءة الداتا حتى انتاج التوقعات للtest وتعمل submission.
ممكن تشوف اول نص ساعة من الفيديو هذا بيشرح لك ايش هي مسابقات كاقل ،، باقي الفيديو بيشرح لك الbest practices في انواع الداتا المختلفة:
KAUST Academy SS 25: How to Win a Data Science Competition
1. بيانات مجدولة (Tabular Data)
- Titanic - Easy - Link
- House Prices Prediction - Easy - Link
- Playground Competitions - Easy - Link
- Insurance Claim Prediction - Medium - Link
- Predict Student Performance from Game Play - Hard - Link
- Predict Essay Quality - Hard - Link
- Predict Agents Performance Against Each Other - Hard - Link
- Predict Credit Default - Hard - Link
2. رؤية الحاسب (Computer Vision)
- Digit Recognizer - Easy - Link
- Sheep Classification Challenge - Easy - Link
- Dates Types Classification - Easy - Link
- Leaf Disease Classification - Medium - Link
- Plant Seedlings Classification - Medium - Link
- Dog Breed Identification - Medium - Link
- Brain Tumor Radiogenomic Classification - Medium - Link
- Harmful Brain Activity Classification - Hard - Link
- Contrails Segmentation - Hard - Link
- Bacteria Motors 3D Detection - Hard - Link
- Ink Segmentation from 3D X-Ray Scans - Hard - Link
- Blood Vessel Segmentation - I Hope you survive :) - Link
3. معالجة اللغات الطبيعية (NLP)
- Classify Tweets - Easy - Link
- Arabic Poem Classification - Easy - Link
- Essay Score Classification - Easy - Link
- Evaluate Students’ Summaries - Medium - Link
- Predict Code Order - Hard - Link
- Identify Key Phrases in Patient Notes - Hard - Link
- Answer Science MCQs (LLM Competition) - Hard - Link
- Predict Students' Misconceptions (LLM Competition) - Hard - Link
- Predict Human Preference (LLM Competition) - Hard - Link
حتلقى داخل كل مسابقة حلول جاهزة في قسم Code ممكن تستعين بها. برضو أنا مخزن الحلول حقتي لمسابقات كثيرة هنا: