تخصصات التعلم العميق

التعلم العميق المتقدم والذكاء الاصطناعي التوليدي

الدرس الخامس: Advanced Deep Learning & Generative AI — التعلم العميق المتقدم والذكاء الاصطناعي التوليدي | دليل للمبتدئين
Deep Learning · الدرس 5

Advanced Deep Learning
& Generative AI

التعلم العميق المتقدم والذكاء الاصطناعي التوليدي — دليل عربي مفصّل للمبتدئين يشرح كيف «تولّد» الآلة صورًا ونصوصًا وأفكارًا جديدة: من Autoencoder وVAE وGAN، إلى Diffusion وStable Diffusion، ثم Multimodal وRLHF وFine-Tuning، وصولًا إلى نشر النماذج والمشاريع النهائية — بتشبيهات من الحياة وأمثلة بسيطة.

✍ عبدالرحمن الرفاعي
9 محاور
Autoencoder → Diffusion
أمثلة بسيطة
Autoencoder VAE GAN Diffusion Multimodal RLHF Fine-Tune Deploy Projects
01 المحور الأول

Autoencoders — المُرمّز التلقائي

حتى الآن تعلّمنا شبكات تُصنّف أو تتنبّأ. لكن ماذا لو أردنا أن نضغط معلومات ثم نعيد بناءها؟ هذا بالضبط ما يفعله Autoencoder — وهو أول خطوة لفهم «التوليد» في الذكاء الاصطناعي.

تشبيه: ملخّص المحاضرة

تستمع لمحاضرة ساعتين، وتكتب ملخّصًا من صفحة واحدة (ضغط). لاحقًا تقرأ الملخّص وتحاول تخمين أهم النقاط (إعادة بناء). إن كان الملخّص جيدًا، تستطيع استرجاع الفكرة الأساسية رغم فقدان التفاصيل الدقيقة.

Encoder — المُرمّز

الـ Encoder يأخذ المدخل (صورة، صوت، نص كمتجهات…) ويُحوّله إلى تمثيل أصغر بكثير يسمّى Latent Representation. مثل أنك تلتقط صورة بكاميرا عالية الدقة ثم تحفظ نسخة مضغوطة JPEG — الملف أصغر، لكنه يحتفظ بجوهر الصورة.

مثال رقمي بسيط

صورة 28×28 = 784 بكسل → Encoder يُنتج متجهًا من 32 رقمًا فقط. هل 32 رقمًا يكفي لكل التفاصيل؟ لا — لكنه يكفي للشكل العام: «هذه رقم 7».

Decoder — فك الترميز

الـ Decoder يأخذ المتجه المضغوط ويحاول إعادة بناء المدخل الأصلي. الهدف التدريبي: الفرق بين الأصل والنسخة المعاد بناؤها يكون أصغر ما يمكن (Reconstruction Loss).

مدخل Encoder Latent Space Decoder إخراج
ضغط → فضاء كامن → إعادة بناء

Latent Space — الفضاء الكامن

Latent Space هو «خريطة» الأرقام المخفية. كل نقطة فيه تمثّل نوعًا من البيانات. الأرقام المتشابهة (7 و7) تكون قريبة؛ الأرقام المختلفة (7 و3) بعيدة. هذا الفضاء مهم لأننا لاحقًا نولّد بيانات جديدة باختيار نقاط منه.

المكوّندوره بكلمات بسيطةتشبيه
Encoderيضغط المدخلملخّص المحاضرة
Latent Spaceمكان الأفكار المضغوطةدفتر الملاحظات
Decoderيعيد البناءطالب يعيد شرح المحاضرة

Denoising Autoencoder — إزالة الضوضاء

نُدخل للشبكة صورة مشوّهة (ضوضاء، تشويش، بكسلات عشوائية) ونطلب منها إعادة الصورة النظيفة. هكذا تتعلّم «ما هو المهم» في البيانات وليس التفاصيل العشوائية — مهارة مفيدة جدًا في معالجة الصور والصوت.

مثال من الحياة

تسمع صوت صديقك في مقهى صاخب (ضوضاء). دماغك «يفلتر» الصوت وتفهم الكلمات. Denoising Autoencoder يتعلّم نفس الفكرة: يتجاهل الضوضاء ويحافظ على الشكل الحقيقي.

# فكرة Denoising Autoencoder (PyTorch مبسّط)
noisy = image + 0.3 * torch.randn_like(image)
latent = encoder(noisy)
reconstructed = decoder(latent)
loss = MSE(reconstructed, image) # قارن بالصورة الأصلية النظيفة
استخدامات: ضغط بيانات، كشف شذوذ (Anomaly Detection)، تمهيد لـ VAE وGAN.
حدود: Autoencoder عادي لا «يخترع» بسهولة — يعيد ما تعلّمه فقط.
02 المحور الثاني

Variational Autoencoders — المُرمّز التبايني

VAE يأخذ فكرة Autoencoder خطوة أبعد: بدل نقطة واحدة في Latent Space، يتعلّم توزيعًا احتماليًا. هذا يسمح بتوليد بيانات جديدة بأخذ عينات عشوائية من ذلك التوزيع.

تشبيه: وصف الشخص

بدل أن تقول «طوله 175 سم بالضبط»، تقول «طوله حوالي 170–180 سم». هذا «نطاق» وليس رقمًا واحدًا. VAE يخزّن المتوسط والتشتت (mean & variance) لكل بعد في الفضاء الكامن.

Latent Variables — المتغيّرات الكامنة

المتغيّرات الكامنة (z) هي الأرقام المخفية التي تمثّل «جوهر» البيانات. في VAE، الـ Encoder لا يُخرج z مباشرة، بل يُخرج:

  • μ (mu): المتوسط — أين مركز التوزيع؟
  • σ (sigma): التشتت — كم «انتشار» حول المركز؟

ثم نأخذ عينة: z = μ + σ × ε حيث ε عشوائي من توزيع طبيعي.

Sampling — أخذ العينات

أثناء التدريب نأخذ عينة عشوائية من التوزيع (Reparameterization Trick) حتى يمكن حساب المشتقات. أثناء التوليد: نأخذ z عشوائيًا من توزيع قياسي N(0,1) ونمرّره للـ Decoder — فيخرج وجه جديد، أو رقم جديد، أو شكل لم نره بالضبط من قبل.

مثال توليد وجوه

بعد تدريب VAE على آلاف الوجوه: z = [0.2, -1.1, 0.8, …] → Decoder → وجه جديد «يشبه» التدريب لكنه ليس نسخة لأحد.

KL Loss — خسارة KL

VAE له خسارتان:

  1. Reconstruction Loss: هل أعدنا بناء المدخل جيدًا؟
  2. KL Divergence: هل التوزيع الذي تعلّمه Encoder قريب من توزيع «عادي» بسيط؟

KL Loss تمنع Encoder من «تخزين كل شيء في نقطة واحدة» — تجبر الفضاء الكامن أن يكون منظمًا وسلسًا، فيمكنك التجول فيه وتوليد أمثلة متنوعة.

Loss = Reconstruction + β × KL(q(z|x) || p(z))

Autoencoder

نقطة ثابتة في Latent — إعادة بناء فقط.

VAE

توزيع في Latent — إعادة بناء + توليد جديد.

قوة VAE: توليد سلس، فضاء كامن منظم، أساس لنماذج أكثر (مثل Diffusion لاحقًا).
ضعف VAE: الصور المولّدة أحيانًا «ضبابية» مقارنة بـ GAN.
03 المحور الثالث

GANs — الشبكات التوليدية التنافسية

GAN (Generative Adversarial Network) فكرتها مثل لعبة بين فريقين: واحد يزوّر لوحات فنية، والآخر يحاول كشف التزوير. مع الوقت، المزوّر يصبح بارعًا جدًا — والنتيجة: صور واقعية مذهلة.

Generator — المُولّد

يأخذ ضجيجًا عشوائيًا (noise) — متجه أرقام عشوائية — ويحوّله إلى صورة (أو صوت، أو أي بيانات). في البداية ينتج «هراء»؛ مع التدريب يتعلّم أشكالًا مقنعة.

Discriminator — المُميّز

شبكة تصنيف: «هل هذه صورة حقيقية أم مزيفة؟» يُعرَض عليها صور حقيقية من البيانات + صور من Generator. إذا كشف التزوير بسهولة، Generator يحتاج التحسّن. إذا خُدع، Discriminator يحتاج التحسّن.

Noise z Generator صورة مزيفة Discriminator Real / Fake صورة حقيقية
Generator يزوّر — Discriminator يحكم
تشبيه: تزوير العملة

المزوّر (Generator) يطبع نقودًا. الشرطة (Discriminator) تفحص. كلما أصبحت النقود أدق، الشرطة تتعلّم فحصًا أدق. في النهاية: تزوير شبه لا يُميّز — وهذا «توليد» واقعي.

DCGAN — GAN للصور العميقة

DCGAN يستخدم طبقات Convolution بدل Fully Connected — مناسب للصور. قواعد عملية ساعدت الاستقرار: BatchNorm، لا Pooling بل Stride، Generator يستخدم ConvTranspose.

CycleGAN — الترجمة بين مجالات بدون أزواج

تحويل صورة حصان → زebra بدون أزواج «هذا الحصان = هذا الحمار المخطّط». فكرة Cycle Consistency: حصان → زebra → حصان يجب أن يعود قريبًا من الأصل. تطبيقات: صيف/شتاء، رسم/photo، MRI modalities.

StyleGAN — التحكم بالأسلوب

StyleGAN (NVIDIA) يولّد وجوه بجودة عالية مع تحكم دقيق: شكل الوجه، لون الشعر، تعبير… عبر Style Mixing — تخلط أنماطًا من latent vectors مختلفة. أساس كثير من «Deepfakes» الأكاديمية وصور AI الشهيرة.

النوعماذا يفعل؟مثال
DCGANصور من ضجيجأرقام MNIST، وجوه
CycleGANتحويل نمط/مجالصورة → لوحة فنية
StyleGANصور عالية الدقة + تحكمthispersondoesnotexist.com
قوة GAN: صور حادة وواقعية، نتائج مبهرة بصريًا.
تحدّيات: تدريب غير مستقر (Mode Collapse)، يحتاج خبرة وضبط.
04 المحور الرابع

Diffusion Models — نماذج الانتشار

Diffusion Models هي التقنية وراء Stable Diffusion وMidjourney وDALL·E 3 (جزئيًا). الفكرة: نُفسد الصورة تدريجيًا بالضوضاء، ثم نعلّم شبكة عكس العملية — من ضوضاء إلى صورة.

تشبيه: إذابة تمثال ثم إعادة تشكيله

تخيّل تمثالًا من الشمع. كل يوم تُسخّنه قليلًا حتى يصبح بلا شكل (Forward). ثم تتعلّم، خطوة بخطوة، كيف «تبرّده وتشكّله» من جديد (Reverse). بعد آلاف التمارين، تستطيع تشكيل تماثيل جديدة من شمع عشوائي.

Forward Process — العملية الأمامية

نبدأ بصورة حقيقية x₀. في كل خطوة t نضيف قليلًا من الغاوسian noise:

xₜ = √αₜ · xₜ₋₁ + √(1−αₜ) · ε

بعد T خطوة (مثلاً 1000)، الصورة تصبح ضجيجًا كاملًا. هذه العملية ثابتة — لا نتعلّمها، نطبّقها فقط على بيانات التدريب.

Reverse Process — العملية العكسية

شبكة U-Net (غالبًا) تتعلّم: «إgiven صورة مشوّشة في الخطوة t، ما الضوضاء التي أُضيفت؟» — أي تتنبّأ بـ ε. نكرّر من t=T إلى t=0، نزيل الضوضاء تدريجيًا، فنحصل على صورة جديدة.

مثال توليد

1) ابدأ بضجيج عشوائي 512×512
2) كرّر 50–1000 خطوة «denoise»
3) النتيجة: «قطة ترتدي نظارات على شاطئ عند الغروب» — حسب النص إن وُجد (Conditional Diffusion)

Stable Diffusion — الانتشار المستقر

بدل العمل على pixels كاملة (بطيء)، Stable Diffusion يعمل في Latent Space مضغوط (VAE encoder). أسرع وأخف. يدمج:

  • Text Encoder (CLIP): يحوّل وصفك النصي إلى متجه.
  • U-Net + Cross-Attention: يربط النص بالصورة أثناء Denoising.
  • VAE Decoder: يحوّل latent إلى صورة نهائية.
# توليد بـ Stable Diffusion (Hugging Face Diffusers)
from diffusers import StableDiffusionPipeline
pipe = StableDiffusionPipeline.from_pretrained("runwayml/stable-diffusion-v1-5")
image = pipe("قطة على شاطئ، غروب، أسلوب watercolor").images[0]

GAN

تنافس مباشر — سريع لكن غير مستقر أحيانًا.

Diffusion

خطوات denoise — أبطأ لكن جودة وتنوع أعلى غالبًا.

Stable Diffusion

Diffusion في latent + نص — يعمل على GPU متوسطة.

05 المحور الخامس

Multimodal AI — الذكاء متعدد الوسائط

Multimodal يعني أن النموذج يفهم أكثر من نوع بيانات معًا: صورة + نص، صوت + فيديو، مستند + جدول… العالم الحقيقي multimodal — والنماذج الحديثة تتجه هناك.

تشبيه: طفل يتعلّم اللغة

تُري الطفل «تفاحة» 🍎 وتقول الكلمة. يربط الشكل بالصوت والكلمة. Multimodal AI يربط pixels بـ tokens في فضاء مشترك.

Vision + Language — الرؤية واللغة

المهام الشائعة:

  • Image Captioning: صورة → وصف نصي.
  • VQA: سؤال عن الصورة → إجابة.
  • Text-to-Image: وصف → صورة (Stable Diffusion).
  • Image Search: ابحث بصورة أو بجملة.

CLIP — Contrastive Language-Image Pre-training

OpenAI CLIP يدرّب على ملايين أزواج (صورة، نص). يتعلّم أن «قطة» قريبة من صور القطط في فضاء embedding مشترك. الاستخدامات:

  • تصنيف zero-shot (بدون تدريب على فئات محددة).
  • محرك بحث: «كلب يلعب كرة» → يجد صور مشابهة.
  • أساس Stable Diffusion (text encoder).
مثال CLIP zero-shot

Labels: ["قطة", "كلب", "سيارة"] + صورة → CLIP يحسب تشابه كل label → الأعلى = «قطة». لم «يُدرَّب» على العربية بالضرورة، لكن Multilingual CLIP/OpenCLIP يدعم لغات أكثر.

BLIP — Bootstrapping Language-Image Pre-training

BLIP/BLIP-2 يجمع بين فهم الصورة وتوليد النص. يولّد captions، يجيب أسئلة، ويربط مع LLM (مثل Flan-T5 أو Llama) لقدرات أقوى. مناسب لـ VQA و chatbot يرى الصور.

Florence — نموذج Microsoft للرؤية

Florence (وFlorence-2) نموذج foundation للرؤية: captioning، detection، segmentation، OCR… بprompt نصي واحد. فكرة «الأمر باللغة الطبيعية للصورة» — مثل GPT لكن للـ vision tasks.

النموذجنقطة القوةمثال استخدام
CLIPربط صورة↔نص، zero-shotبحث صور، فلترة محتوى
BLIP-2caption + VQA + LLM«ماذا يحدث في هذه الصورة؟»
Florence-2مهام vision متعددة بـ promptOCR، detection، caption
06 المحور السادس

RLHF — التعلّم المعزّز من تغذية بشرية

LLM بعد التدريب على الإنternet يعرف «إكمال النص» — لكن قد يكون وقحًا أو خطيرًا أو غير مفيد. RLHF يعلّمه ما يفضّله البشر: إجابات مفيدة، آمنة، واضحة — كما في ChatGPT.

تشبيه: تدريب موظف جديد

الموظف قرأ كل الكتب (Pre-training). ثم تدرّبه زميل (Fine-tuning على تعليمات). ثم المدير يقيّم ردوده ويعطيه «نجومًا» (Reward) — فيتحسّن ليرضي العملاء (Human Feedback).

Reward Model — نموذج المكافأة

نجمع مقارنات بشرية: «الرد A أفضل من B» لنفس السؤال. ندرّب شبكة تُعطي درجة لكل رد — كلما كان أقرب لتفضيلات البشر، كلما ارتفعت الدرجة. هذا Reward Model يصبح «المدرّب الآلي».

PPO — Proximal Policy Optimization

PPO خوارزمية Reinforcement Learning تُحدّث LLM بحذر: تولّد ردودًا، Reward Model يقيّم، نعدّل أوزان النموذج لزيادة المكافأة — دون تغيير جذري يُفسد ما تعلّمه (KL penalty يبقيه قريبًا من النموذج الأصلي).

مثال مقارنة بشرية

سؤال: «كيف أتعلّم Python؟»
رد A: خطة 4 أسابيع + موارد
رد B: «Python لغة» فقط
المقيّم: A أفضل → Reward Model يتعلّم إعطاء A درجة أعلى

Preference Optimization — تحسين التفضيلات

بدل RL معقد، طرق أحدث تُحسّن النموذج مباشرة من بيانات التفضيل (A أفضل من B) بدون loop توليد طويل.

DPO — Direct Preference Optimization

DPO (Stanford) يحوّل مشكلة RLHF إلى loss بسيط شبيه بالتصنيف: يزيد احتمال الرد المفضّل ويقلّل غير المفضّل — بدون Reward Model منفصل أحيانًا. أسرع وأبسط للتطبيق — يُستخدم في Llama 2/3 و Mistral tuning.

SFT

تعليمات + إجابات جيدة (Supervised).

Reward Model

يتعلّم «ما هو رد جيد؟»

PPO

RL لتحسين LLM

DPO

تفضيلات مباشرة — أبسط

Pre-train SFT Reward / DPO ChatGPT-like
07 المحور السابع

Fine-Tuning LLMs — ضبط نماذج اللغة

نموذج عام (GPT، Llama، Mistral) يعرف الكثير — لكنك تريده خبيرًا في مجالك: طب، قانون، دعم عملاء، لهجتك… Fine-Tuning = مواصلة التدريب على بياناتك.

تشبيه: طبيب عام → أخصائي

طبيب عام يعرف أساسيات كل التخصصات. بعد residency في القلب، يصبح أدق في cardiology. Fine-Tuning = «residency» على بياناتك.

Full Fine-Tuning — الضبط الكامل

نحدّث كل أوزان النموذج. أقوى تعبيرًا عن بياناتك، لكن:

  • يحتاج GPU كبيرة (70B = عشرات GB VRAM).
  • خطر «نسيان» القديم (Catastrophic Forgetting).
  • تكلفة عالية.

PEFT — Parameter-Efficient Fine-Tuning

PEFT = نحدّث جزءًا صغيرًا فقط من المعاملات. النموذج الأصلي «مجمّد»، نضيف طبقات أو adapters صغيرة. أرخص وأسرع — مناسب لمعظم المشاريع.

LoRA — Low-Rank Adaptation

LoRA يضيف مصفوفتين صغيرتين (A و B) بجانب طبقة Attention: W' = W + A×B. Rank صغير (r=8 أو 16) — ملايين parameters بدل مليارات. ملف LoRA قد يكون 50–200 MB فقط!

W' = W + (α/r) · A · B

QLoRA — LoRA + Quantization

QLoRA ي quantize النموذج الأساسي إلى 4-bit (NF4) — فيدخل Llama 7B في GPU 16GB. LoRA adapters تبقى fp16. هذا ما جعل fine-tune LLM على Colab ممكنًا للكثيرين.

# فكرة QLoRA (Hugging Face + PEFT)
from peft import LoraConfig, get_peft_model
config = LoraConfig(r=16, lora_alpha=32, target_modules=["q_proj","v_proj"])
model = get_peft_model(base_model_4bit, config)
# درّب على JSON: {"instruction": "...", "output": "..."}
الطريقةVRAM تقريبي (7B)متى؟
Full Fine-Tune80GB+ميزانية كبيرة، تحكم كامل
LoRA24–48GBمعظم حالات المجال
QLoRA12–16GBGPU واحدة، تجارب، startups
مثال مشروع

500 سؤال/جواب لدعم عملاء متجرك → QLoRA على Mistral-7B → نموذج يرد بأسلوب شركتك ويعرف منتجاتك — دون تدريب 7B parameters كلها.

08 المحور الثامن

نشر النماذج — Model Deployment

بعد التدريب، النموذج على Jupyter لا يكفي — تحتاج تشغيله في الإنتاج: سريع، مستقر، على CPU أو GPU أو edge. كل أداة لها دور.

تشبيه: من المطبخ إلى المطعم

التدريب = تجربة وصفات في مطبخك. النشر = فتح فرع يخدم آلاف الزبائن بسرعة — تحتاج وصفة موحّدة (format)، طهاة مدربين (runtime)، وطابور طلبات (serving).

ONNX — تنسيق موحّد

Open Neural Network Exchange: تحويل نموذج PyTorch/TensorFlow إلى ملف .onnx يعمل على ONNX Runtime — cross-platform، أحيانًا أسرع، يدعم CPU/GPU/Edge.

TensorRT — تسريع NVIDIA

مُحسّن من NVIDIA للـ inference على GPU: fusion، precision (FP16/INT8)، latency منخفض — مثالي للإنتاج على خوادم NVIDIA.

TorchScript — PyTorch للإنتاج

تصدير نموذج PyTorch إلى TorchScript (trace أو script) — يعمل بدون Python كامل أحيانًا، أو عبر LibTorch في C++.

GGUF — لنماذج LLM على CPU

صيغة llama.cpp: نماذج quantize (Q4_K_M، Q8…) — تشغيل Llama/Mistral على laptop بدون GPU. ملف واحد، سهل المشاركة.

llama.cpp

محرك C++ لتشغيل LLM محليًا. الأمر: ./main -m model.gguf -p "مرحبا". أساس Ollama وKoboldCpp وغيرها.

vLLM — inference سريع للـ LLM

مكتبة serving مع PagedAttention — throughput عالي لAPIs: آلاف الطلبات المتوازية على GPU. للإنتاج السحابي (Chatbot API).

Ollama — تشغيل محلي بسيط

ollama run llama3 — يحمّل النموذج ويُشغّله. مثالي للمطورين والتجربة على Mac/Windows/Linux.

TensorFlow Serving

نظام Google لنشر نماذج TensorFlow: REST/gRPC، versioning، A/B testing — للشركات على بنية TF.

الأداةالاستخدام الرئيسي
ONNXتصدير عام، vision/classification
TensorRTGPU inference سريع
GGUF + llama.cppLLM على CPU محلي
vLLMAPI production للـ LLM
Ollamaتجربة وتطوير محلي سهل
# Ollama API محلي
curl http://localhost:11434/api/generate -d '{
"model": "llama3",
"prompt": "اشرح Autoencoder بجملتين"
}'
09 المحور التاسع

المشاريع النهائية — من الفكرة إلى التطبيق

هنا نربط كل ما سبق بمشاريع واقعية يمكنك البدء بها كمبتدئ — مع مسار تعلّم واضح لكل مشروع.

بناء ChatGPT محلي

الفكرة: LLM + واجهة محادثة على جهازك.

  1. ثبّت Ollama أو lmstudio.
  2. حمّل Llama 3 أو Mistral (7B Q4).
  3. واجهة: Open WebUI، أو Streamlit بسيط.
  4. اختياري: LoRA adapter لمجالك.
# Streamlit chatbot بسيط
import streamlit as st, ollama
prompt = st.chat_input("اكتب رسالتك")
if prompt:
r = ollama.chat(model="llama3", messages=[{"role":"user","content":prompt}])
st.write(r["message"]["content"])

Image Generator — مولّد صور

Stable Diffusion عبر Diffusers أو Automatic1111/ComfyUI. ابدأ بـ prompts بسيطة، جرّب negative prompt، ControlNet لاحقًا للتحكم بالpose.

prompt مبتدئ

«منظر طبيعي لجبال عند شروق الشمس، أسلوب watercolor، تفاصيل عالية»
negative: « blurry, low quality, text »

RAG System — استرجاع ثم توليد

RAG = Retrieval-Augmented Generation. بدل أن يعتمد LLM على ذاكرته فقط، يبحث في مستنداتك (PDF، wiki، قاعدة معرفة) ثم يجيب.

  1. قسّم المستندات → chunks.
  2. Embedding (OpenAI / sentence-transformers).
  3. Vector DB (Chroma، FAISS، Pinecone).
  4. عند السؤال: ابحث عن chunks ذات صلة → ألحقها للـ prompt → LLM يجيب.
# مسار RAG مبسّط
chunks = split_documents("company_handbook.pdf")
vectors = embed(chunks)
store = VectorDB(vectors, chunks)
context = store.search(user_question, k=3)
answer = llm(f"Context: {context}\nQuestion: {user_question}")

AI Agent — وكيل ذكي

LLM + أدوات (Tools): بحث، calculator، API، كتابة ملفات. يخطّط خطوات وينفّذ — LangChain، LlamaIndex، أو OpenAI Assistants API.

مثال agent

«ما سعر BTC اليوم وكم 1000$ بالريال؟» → Agent يستدعي API crypto + API forex → يجمع الإجابة.

Vision Language Model — يرى ويتكلم

LLaVA، GPT-4V، Qwen-VL: ترفع صورة + تسأل. مشروع: «مساعد مطبخ» — صورة ثلاجة → وصفات مقترحة.

Medical AI — ذكاء طبي (بحذر)

تصنيف أشعة (CNN)، segmentation أورام (U-Net)، أو LLM لملخصات (مع تحذير: ليس بديلاً عن الطبيب). ابدأ بمجموعات عامة: ChestX-ray، ISIC skin lesions — مع أخلاقيات وخصوصية.

Recommendation System — نظام توصية

Collaborative filtering + embeddings، أو Two-Tower model (user/item). Netflix/Spotify spirit: «من شاهد X شاهد أيضًا Y». يمكن دمج LLM لوصف المحتوى.

Time Series Forecasting — تنبؤ السلاسل الزمنية

LSTM/Transformer للأسعار، الطلب، الطاقة. مشروع: توقع مبيعات شهرية من CSV — أو نماذج جاهزة: Prophet، Temporal Fusion Transformer.

ChatGPT محلي

Ollama + Open WebUI · أسبوع 1

مولّد صور

Stable Diffusion · أسبوع 2

RAG

PDF + Chroma + Llama · أسبوع 3–4

Agent

LangChain tools · أسبوع 5

Vision+LLM

LLaVA / API · أسبوع 6

تنبؤ

LSTM على CSV · أسبوع 7

خطة 8 أسابيع للمبتدئ
  1. أسبوع 1: Autoencoder يدويًا على MNIST (PyTorch tutorial).
  2. أسبوع 2: جرّب Stable Diffusion محليًا — 20 صورة ب prompts مختلفة.
  3. أسبوع 3: Ollama + محادثة — افهم limits النموذج الصغير.
  4. أسبوع 4: RAG على 10 صفحات PDF (LangChain + Chroma).
  5. أسبوع 5: QLoRA fine-tune صغير على 100 مثال instruction.
  6. أسبوع 6: CLIP zero-shot على صورك — أو VLM جاهز.
  7. أسبوع 7: Agent بسيط بـ 2 tools (calculator + search).
  8. أسبوع 8: مشروع نهائي واحد + README + demo فيديو قصير.
FAQ أسئلة

أسئلة شائعة عن Generative AI

ما الفرق بين Autoencoder وVAE وGAN؟
Autoencoder يضغط ويعيد البناء — لا يولّد بسهولة. VAE يضيف توزيعًا احتماليًا في latent فيمكن أخذ عينات. GAN يتنافس مولّد ومميّز لصور حادة — Diffusion اليوم غالبًا أفضل للتنوع والاستقرار.
هل أحتاج GPU لتعلّم Generative AI؟
للتعلّم والتجربة: Autoencoder/VAE صغير على CPU أو Colab مجاني. Stable Diffusion وFine-tune LLM: GPU مفيد (16GB+ للـ QLoRA). للاستخدام فقط: Ollama على CPU ممكن لنماذج quantize.
Stable Diffusion vs Midjourney؟
Stable Diffusion مفتوح المصدر — تشغّله محليًا وتعدّله. Midjourney خدمة سحابية مغلقة — أسهل للمبتدئ بدون إعداد، لكن أقل تحكمًا في البنية.
ما هو RLHF بجملة واحدة؟
تعليم LLM أن يردّ كما يفضّل البشر — عبر مقارنات (A أفضل من B) وReward Model أو DPO — ليصبح مساعدًا مفيدًا لا «مكمّل نص عشوائي».
LoRA أم Full Fine-Tune؟
ابدأ دائمًا بـ LoRA/QLoRA — 90% من حالات المجال تكفي. Full Fine-Tune للفرق الكبيرة والميزانية الضخمة فقط.
كيف أبدأ مشروع RAG؟
10–50 صفحة PDF → chunk → embed → Chroma → Llama عبر Ollama → اسأل أسئلة عن المحتوى. LangChain docs فيها template جاهز.
ما الخطوة التالية بعد هذا الدرس؟
راجع الدرس الرابع (LLM أساس) إن فاتك، ثم اختر مشروعًا واحدًا من المحور التاسع ونفّذه خلال شهر — GitHub + README.