شنو هو مشروع تصميم أنظمة الذكاء الاصطناعي؟
تصميم أنظمة الذكاء الاصطناعي هو دليل تعليمي مفتوح المصدر كيسهر عليه أمِت شيخار، مؤسس Outcome School. كيشرح كيفاش تصمّم النظام الكامل اللي داير بنموذج لغوي كبير، بلا ما تعتبر منتوج الذكاء الاصطناعي غير استدعاء واحد لـ API ديال نموذج.
الدليل كيربط مكوّنات معروفة فتصميم الأنظمة، بحال قواعد البيانات، والكاش، والطوابير، وموازنات الحمل، والبوابات، مع قيود خاصة بالذكاء الاصطناعي بحال وحدات معالجة الرسوميات، والتوكنات، والطلبات اللي كتطوّل، والمخرجات المتدفقة، والسلوك غير الحتمي، وتكلفة النموذج لكل طلب.
تصميم أنظمة الذكاء الاصطناعي هو تصميم الأنظمة العادي زائد القيود التشغيلية الجديدة اللي كتفرضها نماذج الذكاء الاصطناعي.
هاد المادة موجهة لمهندسي الذكاء الاصطناعي، ومهندسي LLM، ومهندسي الواجهة الخلفية، ومهندسي تعلّم الآلة، ومهندسي المنصات، والمعماريين، والطلبة، وأي واحد كيحضّر لمقابلة فتصميم أنظمة الذكاء الاصطناعي.
علاش تصميم أنظمة الذكاء الاصطناعي مهم؟
استدعاء API ديال LLM من سكريبت يقدر يحتاج غير لبضعة أسطر ديال الكود. ولكن تشغيل هاد الخاصية لعدد كبير من المستخدمين راه مشكل مختلف. الأنظمة فالإنتاج خاصها تتحكم فالكمون، ومعدل المعالجة، والموثوقية، والخصوصية، وجودة المخرجات، والتكلفة، وهي كتتعامل مع مطالبات طويلة وردود كتخرج توكن بتوكن.
مثلاً، مساعد ديال دعم الزبناء فالإنتاج يقدر يحتاج باش:
- يبدا يجاوب بسرعة، حتى ملي كيزيد الضغط.
- يبني الأجوبة على وثائق الشركة باستعمال الاسترجاع.
- يمنع تسرّب المعلومات الخاصة.
- يتعامل مع أعطاب النماذج، والمهل المنتهية، وحدود معدل الطلبات.
- يقيس جودة الأجوبة رغم أن المخرجات غير حتمية.
- يبقى داخل ميزانية محددة ديال التوكنات والبنية التحتية.
المستودع كينظّم اللبنات اللازمة لحل هاد المشاكل، وكيربط بزاف ديال المواضيع بمقالات تفسيرية معمّقة.
المواضيع والخصائص الرئيسية
أساسيات الاستدلال
الدليل كيبدا بالتوكنات، وخوادم الاستدلال، ومحركات الاستدلال، ومعدات الذكاء الاصطناعي بحال GPUs وTPUs وLPUs. وكيشرح أن LLM كيولّد النص بشكل تتابعي، بحيث كيتنبأ بتوكن واحد ومن بعد كيستعمل داك الناتج وهو كيتنبأ بالتوكن اللي من بعد.
وكيقدّم حتى المرحلتين الرئيسيتين ديال الاستدلال:
- Prefill: معالجة المطالبة المدخلة وبناء الحالة الداخلية اللازمة للتوليد.
- Decode: توليد الجواب توكن بواحد فكل مرة.
هاد المرحلتين كيأثرو على الوقت حتى يخرج أول توكن، وعدد التوكنات فالثانية، ومعدل المعالجة، واختيارات البنية التحتية. الدليل كيغطي حتى الـ prefill المجزأ، وفصل أحمال الـ prefill على أحمال الـ decode.
التوسّع والتوجيه والتخزين المؤقت
أقسام التوسّع كتهضر على التوسّع العمودي، والتوسّع الأفقي، والتوازي على مستوى الموترات، والتوازي على مستوى المراحل، والتوسّع التلقائي، وتقدير عدد GPUs، وتقدير التكلفة. ومن طرق موازنة الحمل الخاصة بـ LLM كاين التوجيه حسب أقل عدد من التوكنات العالقة، والتوجيه الواعي بالبادئة، والجلسات الثابتة.
محتوى التخزين المؤقت كيفرّق بين عدة طبقات:
- KV cache لإعادة استعمال مفاتيح وقيم الانتباه أثناء التوليد.
- Prompt cache للمقدمات المتكررة.
- Semantic cache للاستعلامات اللي عندها معاني متشابهة.
- Embedding cache باش ما نعاودوش نحسبو التضمينات.
وكيتم التطرق حتى لتوجيه النماذج، بما فيه التوجيه المعتمد على القواعد، وعلى المصنّفات، وعلى التضمينات، وعلى LLM، والتوجيه بالتدرّج.
الاسترجاع وتدبير السياق
الدليل كيشرح التضمينات، وقواعد البيانات المتجهية، وفهارس المتجهات، والتوليد المعزّز بالاسترجاع، اللي كيتسمّى غالباً RAG. ومسار الاسترجاع فيه تحليل الوثائق، والإدخال، والتقسيم، والبحث الهجين، وتحويل الاستعلام بـ HyDE، وإعادة الترتيب، وColBERT، وAgentic RAG، وGraphRAG، وRAG بلا متجهات.
وكيعالج حتى حدود نافذة السياق باستعمال الاقتطاع، والتلخيص، والنوافذ المنزلقة، والضغط، والذاكرة الهرمية. ومن المفاهيم المرتبطة بها تدهور السياق، وسلوك ضياع المعلومات فالوسط، واضمحلال RoPE، وهندسة السياق.
الوكلاء والأنظمة متعددة الوكلاء
أقسام الوكلاء كتناقش الأجزاء الأساسية ديال وكيل الذكاء الاصطناعي، ودورات الوكيل من البداية للنهاية، واستدعاء الأدوات، والمخرجات المهيكلة، والذاكرة، وأنماط الفشل الشائعة. وكتفرّق حتى بين تنسيق الذكاء الاصطناعي الحتمي والسلوك الأكثر استقلالية ديال الوكلاء.
ومن المواضيع الإضافية كاين Model Context Protocol أو MCP، وAgent Skills، ووكلاء استعمال الحاسوب، ووكلاء المتصفحات، وهندسة الحلقات، وهندسة الرسوم البيانية، والوكلاء الفرعيون، وأنماط التنسيق، وبروتوكول Agent2Agent.
العمليات فالإنتاج
المستودع كيتجاوز استدعاءات النماذج وكيغطي اهتمامات الإنتاج بحال:
- البث باستعمال Server-Sent Events أو WebSockets.
- المعالجة غير المتزامنة وطوابير الرسائل للمهام الطويلة.
- حدود المعدل المبنية على الطلبات، أو التوكنات، أو التزامن، أو التكلفة.
- بوابات الذكاء الاصطناعي والبنيات متعددة المستأجرين.
- الضوابط الوقائية، والدفاع ضد حقن المطالبات، والاختبار الهجومي للذكاء الاصطناعي.
- إخفاء المعلومات الشخصية، ومكان إقامة البيانات، وسجلات التدقيق، وبنود الامتثال.
- التتبّع، وقابلية المراقبة، والتقييم، وسير العمل ديال LLM كحَكَم.
- المهل المنتهية، وإعادة المحاولة مع التراجع التدريجي، والنماذج البديلة، والتدهور السلس.
وكيغطي حتى تحسينات الاستدلال بحال التكميم، والتجميع المستمر، وفك الترميز التخميني، وFlash Attention، ومزيج الخبراء، وتقطير النماذج، والانتباه المجمّع للاستعلامات.
التثبيت والإعداد
هاد المستودع دليل للتعلّم وماشي مكتبة برمجية، وبهذا ما كيحتاجش لتثبيت الحزم، ولا لمفتاح API، ولا لبيئة تشغيل. تقدر تقراه مباشرة فـ GitHub.
باش تحتافظ بنسخة محلية، نسخ المستودع باستعمال Git:
git clone https://github.com/amitshekhariitbhu/ai-system-design.git
cd ai-system-design
حلّ ملف README فعارض ديال Markdown ولا فمحرّر كيقدر يعرّض Markdown. حيث الدليل كيتوسّع باستمرار، حدّث النسخة المحلية ديالك من وقت لوقت:
git pull
ما كاين حتى أمر ديال البناء مذكور فـ README. المهمة الأساسية فالإعداد هي تختار مسار للتعلّم وتستعمل جدول المحتويات باش تتنقّل بين المفاهيم.
كيفاش تستعمل الدليل
الخيار 1: تبع مسار التعلّم كامل
إلى كنت جديد فتصميم أنظمة الذكاء الاصطناعي، قرا الدليل بالترتيب. التسلسل المفاهيمي المقترح هو:
- تعلّم التوكنات، وخوادم الاستدلال، وعتاد الذكاء الاصطناعي.
- فهم الـ prefill والـ decode والكمون ومعدّل الإنتاجية.
- درس التوسّع والتقدير وموازنة الحمل.
- قارن بين استراتيجيات التخزين المؤقت وتوجيه النماذج.
- تعلّم التضمينات وقواعد البيانات المتجهية وRAG.
- درس تدبير نافذة السياق.
- استكشف البثّ والطوابير وتحديد معدّل الطلبات والبوابات.
- تعلّم الوكلاء والأدوات وMCP والمخرجات المهيكلة والذاكرة.
- كمّل للأنظمة متعددة الوكلاء ومتعددة الوسائط وأنظمة الصوت.
- زِد ضوابط الحماية والخصوصية وقابلية المراقبة والتقييم.
- درس التحكّم فالتكلفة والبنية التحتية للضبط الدقيق وتحسين الاستدلال.
- طبّق إطار المستودع لحلّ مسائل تصميم الأنظمة.
الخيار 2: وجد راسك لمقابلة
فـ التحضير للمقابلة، بدا بالقسم اللي كيهضر على حلّ أي مسألة ديال تصميم نظام ذكاء اصطناعي. من بعد رجع للبنات التقنية اللي محتاجها لكل قرار فالتصميم. الإطار كيتبع ثمان مراحل:
- المتطلبات: حدّد المستخدمين والحجم وأهداف الكمون واحتياجات الخصوصية والقيود.
- الهدف ديال الذكاء الاصطناعي: حدّد شنو خاص النموذج ينجز.
- تحضير البيانات: حدّد كيفاش غادي تجمع وتفسّر وتنقّي وتفهرس البيانات المصدر.
- تصميم المعمارية: حدّد مواقع البوابات والخدمات والنماذج والاسترجاع والذاكرة المؤقتة والطوابير والتخزين.
- اختيار النموذج وهندسة المطالبات: اختار النماذج واستراتيجيات المطالبات حسب الجودة والكمون والتكلفة.
- التقييم: حدّد كيفاش غادي تقيس المخرجات وسلوك النظام.
- النشر والتقديم: خطّط للاستدلال والتوسّع والبثّ والمرونة.
- المراقبة: راقب الجودة والكمون والأخطاء واستهلاك التوكنات والتكلفة.
الخيار 3: استعملو كمرجع
إلى كنت أصلاً كتبني تطبيقات الذكاء الاصطناعي، استعمل جدول المحتويات كمرجع. مثلاً، رجع لأقسام التخزين المؤقت ملي بغيتي تنقص الحسابات المتكررة، ولأقسام RAG ملي تكون جودة الاسترجاع ضعيفة، ولا لأقسام قابلية المراقبة والتقييم ملي يكون النظام خدام تقنياً ولكن جودة الأجوبة ماشي واضحة.
مثال أساسي للاستعمال: تصميم مساعد للدعم
المستودع ماشي إطار قابل للتنفيذ، وداكشي علاش «الاستعمال» كيعني تطبيق المفاهيم ديالو على مسألة فالتصميم. خذ مثلاً مساعد لدعم الزبناء خاصو يجاوب على الأسئلة انطلاقاً من وثائق الشركة الخاصة.
1. حدّد المتطلبات
كتب المتطلبات الوظيفية والتشغيلية قبل ما تختار النموذج:
حالة الاستعمال: الإجابة على أسئلة دعم الزبناء
مصدر المعرفة: وثائق خاصة بالمنتج والسياسات
نمط الإجابة: نص متدفّق
متطلب الجودة: الأجوبة تكون مبنية على الوثائق المسترجعة
متطلب السلامة: ما يكون حتى تسرّب للبيانات الخاصة
الأهداف التشغيلية: كمون منخفض، تكلفة مضبوطة، تحمّل الأعطال
زِد حجم الترافيك المتوقع، وطول المطالبة، وطول المخرجات، وأقصى عدد ديال الطلبات المتزامنة، والكمون المقبول ملي تكون القياسات الحقيقية متوفرة. هاد القيم كتحرّك تقديرات التوكنات ووحدات GPU والإنتاجية والتكلفة.
2. رسم مسار الطلب
تصميم عام مركّب من اللبنات اللي كيغطيها الدليل يقدر يتمثّل هكا:
العميل
-> بوابة الذكاء الاصطناعي
-> المصادقة وتحديد معدّل الطلبات
-> ضوابط حماية المدخلات ومعالجة PII
-> خط أنابيب الاسترجاع
-> تضمين الاستعلام
-> بحث متجهي أو هجين
-> إعادة الترتيب
-> بناء المطالبة
-> موجّه النماذج أو خادم الاستدلال
-> التحقق من المخرجات وضوابط الحماية
-> إجابة متدفّقة
-> التتبّع والتقييم ومراقبة التكلفة
هاد الشي ورقة عمل للتصميم، وماشي كود مقدّم من المستودع. كل مكوّن كيقابل موضوع مغطّى فالدليل.
3. صمّم خط أنابيب الاسترجاع
فسّر الوثائق المصدر ودخّلها، وقسّمها لأجزاء مناسبة، وأنشئ التضمينات، وخزّن التمثيل القابل للبحث. وقت الاستعلام، رجّع الأجزاء المرتبطة وفكّر فالبحث الهجين ولا إعادة الترتيب ملي ما تكونش مشابهة المتجهات بوحدها كافية من ناحية الصلة.
خلّي السياق النهائي داخل نافذة السياق ديال النموذج. استراتيجيات تدبير السياق فالدليل تقدر تعاون ملي تكون المواد المسترجعة وتاريخ المحادثة والتعليمات كيتنافسو على المساحة.
4. خطّط للكمون والبثّ
قِس الوقت حتى لأول توكن بشكل منفصل على سرعة التوليد. الـ prefill كيأثر على السرعة اللي كيقدر بها التوليد يبدا، بينما الـ decode كيأثر على السرعة اللي كتوصل بها التوكنات الموالية. البثّ عبر SSE ولا WebSockets يقدر يحسّن الاستجابة اللي كيدركها المستخدم بلا ما ينقص من الحساب الأساسي ديال النموذج.
5. زِد الاعتمادية والسلامة
استعمل المهلات وإعادة المحاولة مع التراجع التدريجي والنماذج البديلة والتدهور المنظّم والتحقق من المخرجات. دير ضوابط حماية حول المدخلات والمخرجات ديال النموذج، وحمي النظام من حقن المطالبات، وحَيّد معلومات التعريف الشخصية ملي يكون هاد الشي مطلوب، واحتافظ بسجلات تدقيق مناسبة.
6. قيّم وراقب
تبّع الطلب كامل، وما تراقبش غير استدعاء النموذج. الأبعاد المفيدة اللي كيقترحها الدليل كتشمل الكمون والإنتاجية واستعمال التوكنات والتكلفة وسلوك الاسترجاع وجودة مخرجات النموذج وتنفيذ الأدوات وسلوك الوكلاء. حيث مخرجات LLM ماشي حتمية، فالتقييم كيحتاج أكثر من اختبارات الوحدات التقليدية ديال التطابق التام.
نصائح متقدمة
حسّن مرحلة الكمون المناسبة
ما تتعاملش مع كمون النموذج بحال إلا كان رقم واحد. حدّد واش عنق القنينة كاين فـ prefill ولا decode ولا الاسترجاع ولا الانتظار فالطابور ولا شي أداة خارجية. الوقت حتى كيوصل أول token وعدد الـ tokens فالثانية كيمثلو تجارب مختلفة للمستخدم، وقد يحتاجو تحسينات مختلفة.
وجّه الطلبات بلا ما تستعمل نموذج واحد لكلشي
الدليل كيقدّم بزاف ديال الاستراتيجيات لتوجيه النماذج. فتصميم مهيّأ للإنتاج، تقدر تصنّف الطلبات وتوجّه المهام البسيطة لنموذج أرخص، وتخلي النموذج الأقوى للحالات الصعيبة. التوجيه بالتدرّج يقدر يصعّد الطلب لنموذج آخر إلا ما كانتش الإجابة الأولى كافية.
طبّق التخزين المؤقت فالطبقة المناسبة
التخزين المؤقت ديال KV والـ prompt والدلالي وembeddings كيعالجو مشاكل مختلفة. فالأول حدّد شنو اللي كيتعاود: حالة التوليد، بدايات الـ prompt، الأسئلة المتكافئة دلالياً، ولا حساب الـ embedding. من بعد اختار الـ cache المناسب وخذ بعين الاعتبار الصحة، والحداثة، والخصوصية، والحدود بين المستعملين.
تعامل مع جودة الاسترجاع كمنظومة متكاملة
جودة RAG ما كتتعلّقش غير بقاعدة البيانات المتجهية. التحليل، والتقسيم، والـ embeddings، وتحويل الاستعلام، والبحث الهجين، وإعادة الترتيب، وتجميع السياق كاملين كيأثرو على الجواب النهائي. قيّم نتائج الاسترجاع الوسيطة قبل ما تلوم النموذج اللغوي.
استعمل الوكلاء غير ملي كيحتاجهم سير العمل
فرّق بين التنسيق المتوقع والواضح وبين وكيل كيختار الأدوات ولا الإجراءات بشكل ديناميكي. الدليل كيشير حتى هو لأن MCP يقدر يكون مفيداً لدمج الأدوات والسياق بطريقة موحّدة، ولكن يقدر يكون زايد على الحاجة فـ workflow بسيط. اختار أبسط مقاربة كتلبّي المتطلبات.
قدّر عدد الـ tokens ووحدات GPU والتكلفة بكري
التقديرات التقريبية كتبيّن الافتراضات المكلفة قبل التنفيذ. قدّر عدد الـ tokens الداخلة والخارجة فكل طلب، وحجم الطلبات، والتزامن، ومتطلبات الإنتاجية، والتكلفة المتوقعة للنموذج. وتفكّر بأن النص الإنجليزي فيه فالمتوسط تقريباً أربعة أحرف لكل token، مع أن التقسيم الفعلي للـ tokens كيعتمد على tokenizer ديال النموذج.
شرح كل موضوع بكلامك الخاص
الـ README كينصح بشرح كل قسم كمّلتيه لشي واحد آخر. ومن المفيد تزيد وتوثّق المفاضلة اللي ورا كل اختيار معماري: علاش الطابور ضروري، وعلاش cache معيّن مفيد، وعلاش نموذج احتياطي مقبول، وكيفاش كيأثر الاختيار على الجودة، والكمون، والسلامة، ولا التكلفة.
خطة تدريب مقترحة
- قرا قسم رئيسي واحد من الدليل.
- لخّص الهدف ديالو والمفاضلات ديالو بلا ما تشوف النص.
- زِد المكوّن فمعمارية نموذجية.
- حدّد مقياس واحد على الأقل لهاد المكوّن.
- وصف حالة فشل وحدة وإجراء تخفيف واحد.
- تبع المقالة المتعمقة المرتبطة ملي ما يكونش الشرح العام كافي.
- عاود التمرين مع دراسات حالة بحال مساعدي البرمجة ولا وكلاء الصوت فـ الوقت الحقيقي.
هاد المقاربة كتحوّل المستودع من مجرد لائحة مراجع لمنهج عملي فتصميم الأنظمة.
الخلاصة
AI System Design كيوفّر مساراً واسعاً ومناسباً للمبتدئين، كيمتد من أساسيات استدلال LLM حتى لمتطلبات الإنتاج بحال RAG، والوكلاء، والسلامة، والتقييم، وقابلية المراقبة، وتحمل الأعطال، وتحسين التكلفة. ماشي حزمة خاصك تثبّتها؛ بل دليل منظّم لفهم كيفاش كتخدم مكوّنات الذكاء الاصطناعي مع بعضها.
بدا بالأساسيات إلا كنت جديد، ولا بدا بإطار التصميم ذي الثمان خطوات إلا كنت كتوجد للمقابلات. فالحالتين، طبّق كل مفهوم على نظام ملموس، وقِس التأثير ديالو، وسجّل المفاضلات اللي ورا القرارات ديالك.
