جدول المحتويات[يخفي][يعرض]
- 1. ماذا تقصد ب MLOps؟
- 2. كيف يختلف علماء البيانات ومهندسو البيانات ومهندسو تعلم الآلة عن بعضهم البعض؟
- 3. ما الذي يميز MLOps عن ModelOps و AIOps؟
- 4. هل يمكن أن تخبرني ببعض فوائد MLOps؟
- 5. هل يمكن أن تخبرني عن مكونات MLOps؟
- 6. ما هي المخاطر التي تأتي مع استخدام علم البيانات؟
- 7. هل يمكن أن توضح ، ما هو نموذج الانجراف؟
- 8. كم عدد الطرق المختلفة التي يمكن بها تطبيق MLOps ، في رأيك؟
- 9. ما الذي يفصل النشر الثابت عن النشر الديناميكي؟
- 10. ما هي تقنيات اختبار الإنتاج التي تعرفها؟
- 11. ما الذي يميز معالجة الدفق من المعالجة الدفعية؟
- 12. ماذا تقصد بتدريب انحراف تقديم الخدمة؟
- 13. ماذا تقصد ببرنامج Model Registry؟
- 14. هل يمكنك توضيح فوائد نموذج السجل؟
- 15. هل يمكنك شرح أعمال تقنية Champion-Challenger؟
- 16. وصف التطبيقات على مستوى المؤسسة لدورة حياة MLOps؟
- وفي الختام
تستخدم الشركات التقنيات الناشئة مثل الذكاء الاصطناعي (AI) والتعلم الآلي (ML) في كثير من الأحيان لزيادة وصول الجمهور إلى المعلومات والخدمات.
يتم استخدام هذه التقنيات بشكل متزايد في مجموعة متنوعة من القطاعات ، بما في ذلك البنوك والتمويل وتجارة التجزئة والتصنيع وحتى الرعاية الصحية.
هناك طلب على علماء البيانات ومهندسي التعلم الآلي والمهندسين في مجال الذكاء الاصطناعي من عدد متزايد من الشركات.
معرفة الممكن آلة التعلم أسئلة المقابلة العملية التي يمكن أن يطرحها عليك مديرو التوظيف والمجندين ضرورية إذا كنت ترغب في العمل في مجالات ML أو MLOps.
يمكنك معرفة كيفية الرد على بعض أسئلة مقابلة MLOps في هذا المنشور أثناء عملك على الحصول على وظيفة أحلامك.
1. ماذا تقصد ب MLOps؟
موضوع تشغيل نماذج ML هو التركيز على MLOps ، والمعروف أيضًا باسم عمليات التعلم الآلي ، وهو مجال متطور داخل ساحة AI / DS / ML الرئيسية.
الهدف الرئيسي لنهج وثقافة هندسة البرمجيات المعروفين باسم MLOps هو دمج إنشاء نماذج التعلم الآلي / علم البيانات والتشغيل اللاحق لها (Ops).
تشترك عمليات DevOps التقليدية و MLOps في بعض أوجه التشابه ، ومع ذلك ، فإن MLOps تختلف أيضًا بشكل كبير عن DevOps التقليدية.
يضيف MLOps طبقة جديدة من التعقيد من خلال التركيز على البيانات ، بينما يركز DevOps بشكل أساسي على تشغيل الكود وإصدارات البرامج التي لا يمكن أن تكون ذات حالة.
إن الجمع بين ML و Data و Ops هو ما يعطي MLOps اسمًا شائعًا (التعلم الآلي وهندسة البيانات و DevOps).
2. كيف يختلف علماء البيانات ومهندسو البيانات ومهندسو تعلم الآلة عن بعضهم البعض؟
إنه يختلف ، في رأيي ، حسب الشركة. تم إنشاء بيئة نقل البيانات وتحويلها ، بالإضافة إلى تخزينها ، بواسطة مهندسي البيانات.
علماء البيانات هم خبراء في استخدام التقنيات العلمية والإحصائية لتحليل البيانات واستخلاص النتائج ، بما في ذلك عمل تنبؤات حول السلوك المستقبلي بناءً على الاتجاهات الموجودة الآن.
كان مهندسو البرمجيات يدرسون العمليات ويديرون البنية التحتية للنشر قبل بضع سنوات. من ناحية أخرى ، كانت فرق العمليات تدرس التطوير أثناء استخدام البنية التحتية كرمز. تم إنشاء موضع DevOps بواسطة هذين الدفقين.
MLOps في نفس الفئة مثل التنفيذ ومهندس بيانات. يكتسب مهندسو البيانات المعرفة حول البنية التحتية اللازمة لدعم دورات حياة النموذج وإنشاء خطوط أنابيب للتدريب المستمر.
يسعى علماء البيانات إلى تطوير نشر النموذج وقدرات تسجيل النتائج.
تم إنشاء خط أنابيب بيانات على مستوى الإنتاج من قبل مهندسي ML باستخدام البنية التحتية التي تحول البيانات الأولية إلى المدخلات التي يحتاجها نموذج علم البيانات ، ويستضيف النموذج ويشغله ، ويخرج مجموعة بيانات مسجلة لأنظمة المصب.
كل من مهندسي البيانات وعلماء البيانات قادرون على أن يصبحوا مهندسي تعلم الآلة.
3. ما الذي يميز MLOps عن ModelOps و AIOps؟
عند البناء من طرف إلى طرف خوارزميات التعلم الآلي، MLOps هو تطبيق DevOps يتضمن جمع البيانات والمعالجة المسبقة للبيانات وإنشاء النماذج ونشر النموذج في الإنتاج ومراقبة النماذج في الإنتاج والترقية الدورية للنموذج.
يُعرف استخدام DevOps في معالجة التنفيذ الكامل لأي خوارزميات ، مثل النماذج المستندة إلى القواعد ، باسم ModelOps.
AIOps يستفيد من مبادئ DevOps لإنشاء تطبيقات AI من البداية.
4. هل يمكن أن تخبرني ببعض فوائد MLOps؟
- يمكن لعلماء البيانات ومطوري MLOps إعادة إجراء التجارب بسرعة لضمان تدريب النماذج وتقييمها بشكل مناسب لأن MLOps يساعد في أتمتة جميع أو معظم المهام / الخطوات في MDLC (دورة حياة تطوير النموذج). تصاريح بالإضافة إصدار البيانات والنماذج.
- يتيح تطبيق أفكار MLOps لمهندسي البيانات وعلماء البيانات إمكانية الوصول غير المقيد إلى مجموعات البيانات المزروعة والمنظمة ، مما يسرع بشكل كبير من تطوير النماذج.
- سيتمكن علماء البيانات من الرجوع إلى النموذج الذي كان أداؤه أفضل إذا كان التكرار الحالي لا يرقى إلى مستوى التوقعات بفضل القدرة على إصدار النماذج ومجموعات البيانات ، مما سيعزز بشكل كبير مسار تدقيق النموذج.
- نظرًا لأن أساليب MLOps تعتمد بشدة على DevOps ، فإنها تتضمن أيضًا عددًا من مفاهيم CI / CD ، مما يعزز جودة وموثوقية الكود.
5. هل يمكن أن تخبرني عن مكونات MLOps؟
تصميم: تتضمن MLOps بشكل كبير التفكير التصميمي. بدءًا من طبيعة المشكلة ، واختبار الفرضيات ، والبنية ، والنشر
بناء نموذج: يعد اختبار النموذج والتحقق من صحته جزءًا من هذه الخطوة ، جنبًا إلى جنب مع خطوط أنابيب هندسة البيانات والتجارب لإعداد أفضل أنظمة التعلم الآلي.
عمليات: يجب تنفيذ النموذج كجزء من العمليات ومراجعته وتقييمه باستمرار. يتم بعد ذلك مراقبة عمليات CI / CD والبدء باستخدام أداة التزامن.
6. ما هي المخاطر التي تأتي مع استخدام علم البيانات؟
- من الصعب توسيع نطاق النموذج عبر الشركة.
- بدون سابق إنذار ، يتم إيقاف تشغيل النموذج ويتوقف عن العمل.
- في الغالب ، تزداد دقة النماذج سوءًا بمرور الوقت.
- يقوم النموذج بعمل تنبؤات غير دقيقة بناءً على ملاحظة محددة لا يمكن فحصها بشكل أكبر.
- يجب على علماء البيانات أيضًا الاحتفاظ بالنماذج ، لكنها باهظة الثمن.
- يمكن استخدام MLOps لتقليل هذه المخاطر.
7. هل يمكن أن توضح ، ما هو نموذج الانجراف؟
عندما يتدهور أداء مرحلة الاستدلال للنموذج (باستخدام بيانات العالم الحقيقي) من أداء مرحلة التدريب ، يُعرف هذا باسم الانجراف النموذجي ، والمعروف أيضًا باسم انحراف الفكرة (باستخدام البيانات التاريخية والمسمى).
ينحرف أداء النموذج بالمقارنة مع مرحلتي التدريب والخدمة ، ومن هنا جاء اسم "انحراف التدريب / الخدمة".
عوامل عديدة منها:
- الطريقة الأساسية لتوزيع البيانات قد تغيرت.
- ركز التدريب على عدد صغير من الفئات ، ولكن التحول البيئي الذي حدث للتو أضاف مجالًا آخر.
- في صعوبات البرمجة اللغوية العصبية ، تحتوي بيانات العالم الحقيقي على عدد أكبر بشكل غير متناسب من الرموز المميزة من بيانات التدريب.
- الأحداث غير المتوقعة ، مثل النموذج المبني على بيانات ما قبل COVID التي يُتوقع أن يكون أداؤها أسوأ بكثير على البيانات التي تم جمعها خلال وباء COVID-19.
مطلوب دائمًا مراقبة أداء النموذج باستمرار لتحديد انجراف النموذج.
يُطلب إعادة تدريب النموذج دائمًا كعلاج عندما يكون هناك انخفاض مستمر في أداء النموذج ؛ يجب تحديد سبب الانخفاض واستخدام إجراءات العلاج المناسبة.
8. كم عدد الطرق المختلفة التي يمكن بها تطبيق MLOps ، في رأيك؟
هناك ثلاث طرق لتطبيق MLOps:
MLOps المستوى 0 (معالجة يدوية): في هذا المستوى ، يتم تنفيذ جميع الخطوات يدويًا - بما في ذلك إعداد البيانات والتحليل والتدريب. يجب تنفيذ كل مرحلة يدويًا ، وكذلك الانتقال من مرحلة إلى أخرى.
الفرضية الأساسية هي أن فريق علوم البيانات لديك يدير فقط عددًا صغيرًا من النماذج التي لا يتم تحديثها بشكل متكرر.
نتيجة لذلك ، لا يوجد تكامل مستمر (CI) أو نشر مستمر (CD) ، ويتم عادةً دمج اختبار الكود في تنفيذ البرنامج النصي أو تنفيذ الكمبيوتر الدفتري ، مع إجراء النشر في خدمة مصغرة باستخدام REST API.
MLOps المستوى 1 (أتمتة خط أنابيب ML): من خلال أتمتة عملية ML ، يكون الهدف هو التدريب المستمر للنموذج (CT). يمكنك إنجاز تسليم خدمة التنبؤ المستمر بالنموذج بهذه الطريقة.
يضمن نشرنا لخط أنابيب تدريب كامل أن يتم تدريب النموذج تلقائيًا على الإنتاج باستخدام بيانات جديدة تعتمد على مشغلات خطوط الأنابيب النشطة.
MLOps المستوى 2 (أتمتة خط أنابيب CI / CD): يذهب خطوة واحدة فوق مستوى MLOps. مطلوب نظام CI / CD آلي قوي إذا كنت ترغب في تحديث خطوط الأنابيب في الإنتاج بسرعة وموثوقية:
- تقوم بإنشاء كود المصدر وتنفيذ العديد من الاختبارات خلال مرحلة CI. الحزم والملفات التنفيذية والتحف هي مخرجات المرحلة ، والتي سيتم نشرها في وقت لاحق.
- يتم نشر القطع الأثرية التي تم إنشاؤها بواسطة مرحلة CI في البيئة المستهدفة أثناء خطوة القرص المضغوط. خط الأنابيب المنتشر مع تنفيذ النموذج المنقح هو ناتج المرحلة.
- قبل أن يبدأ خط الأنابيب في تكرار جديد للتجربة ، لا يزال يتعين على علماء البيانات القيام بمرحلة تحليل البيانات والنموذج يدويًا.
9. ما الذي يفصل النشر الثابت عن النشر الديناميكي؟
تم تدريب النموذج في وضع عدم الاتصال على نشر ثابت. بمعنى آخر ، نقوم بتدريب النموذج مرة واحدة بدقة ثم نستخدمه لبعض الوقت. بعد تدريب النموذج محليًا ، يتم تخزينه وإرساله إلى الخادم لاستخدامه في إنتاج تنبؤات في الوقت الفعلي.
ثم يتم توزيع النموذج كبرنامج تطبيقي قابل للتثبيت. برنامج يسمح بالتسجيل الجماعي للطلبات ، كتوضيح.
تم تدريب النموذج عبر الإنترنت من أجل نشر ديناميكي. أي أنه يتم إضافة بيانات جديدة باستمرار إلى النظام ، ويتم تحديث النموذج باستمرار لحسابه.
نتيجة لذلك ، يمكنك عمل تنبؤات باستخدام خادم عند الطلب. بعد ذلك ، يتم استخدام النموذج من خلال توفيره كنقطة نهاية لواجهة برمجة التطبيقات التي تتفاعل مع استفسارات المستخدم ، باستخدام إطار عمل ويب مثل قارورة أو FastAPI.
10. ما هي تقنيات اختبار الإنتاج التي تعرفها؟
اختبار دفعة: من خلال إجراء الاختبار في مكان مختلف عن بيئة التدريب الخاصة به ، فإنه يتحقق من النموذج. باستخدام مقاييس الاختيار ، مثل الدقة و RMSE وما إلى ذلك ، يتم إجراء اختبار دفعي على مجموعة من عينات البيانات للتحقق من استنتاج النموذج.
يمكن إجراء اختبار الدُفعات على مجموعة متنوعة من منصات الحوسبة ، مثل خادم اختبار أو خادم بعيد أو السحابة. عادة ، يتم توفير النموذج كملف متسلسل ، يتم تحميله ككائن والاستدلال عليه من بيانات الاختبار.
إختبار أ / ب: يتم استخدامه بشكل متكرر لتحليل الحملات التسويقية وكذلك لتصميم الخدمات (مواقع الويب وتطبيقات الهاتف المحمول وما إلى ذلك).
بناءً على الشركة أو العمليات ، يتم استخدام الأساليب الإحصائية لتحليل نتائج اختبار A / B لتحديد النموذج الذي سيؤدي بشكل أفضل في الإنتاج. عادة ، يتم إجراء اختبار A / B بالطريقة التالية:
- يتم تقسيم البيانات الحية أو في الوقت الفعلي أو تقسيمها إلى مجموعتين ، المجموعة أ والمجموعة ب.
- يتم إرسال بيانات المجموعة أ إلى النموذج القديم ، بينما يتم إرسال بيانات المجموعة ب إلى النموذج المحدث.
- اعتمادًا على حالة أو عمليات استخدام الأعمال ، يمكن استخدام العديد من الأساليب الإحصائية لتقييم أداء النموذج (على سبيل المثال ، الدقة ، والدقة ، وما إلى ذلك) لتحديد ما إذا كان النموذج الجديد (النموذج ب) يتفوق على النموذج القديم (النموذج أ).
- نقوم بعد ذلك باختبار الفرضيات الإحصائية: تقول الفرضية الصفرية أن النموذج الجديد ليس له أي تأثير على متوسط قيمة مؤشرات الأعمال التي يتم مراقبتها. وفق الفرضية البديلة ، فإن النموذج الجديد يزيد من متوسط قيمة مؤشرات أعمال المراقبة.
- أخيرًا ، نقوم بتقييم ما إذا كان النموذج الجديد يؤدي إلى تحسن كبير في بعض مؤشرات الأداء الرئيسية للأعمال.
اختبار الظل أو المرحلة: يتم تقييم النموذج في نسخة مكررة من بيئة الإنتاج قبل استخدامه في الإنتاج (بيئة التدريج).
هذا أمر بالغ الأهمية لتحديد أداء النموذج ببيانات الوقت الفعلي والتحقق من مرونة النموذج. يتم تنفيذه من خلال استنتاج نفس البيانات مثل خط أنابيب الإنتاج وتسليم الفرع المطور أو نموذج ليتم اختباره على خادم مرحلي.
العيب الوحيد هو أنه لن يتم اتخاذ أي خيارات عمل على الخادم المرحلي أو مرئية للمستخدمين النهائيين كنتيجة لفرع التطوير.
سيتم تقييم مرونة وأداء النموذج إحصائيًا باستخدام نتائج بيئة التدريج باستخدام المقاييس المناسبة.
11. ما الذي يميز معالجة الدفق من المعالجة الدفعية؟
يمكننا معالجة الخصائص التي نستخدمها لإنتاج تنبؤاتنا في الوقت الفعلي باستخدام طريقتين للمعالجة: الدفعة والدفق.
عملية مجمعة ميزات من نقطة زمنية سابقة لكائن معين ، والتي يتم استخدامها بعد ذلك لإنشاء تنبؤات في الوقت الفعلي.
- هنا ، نحن قادرون على إجراء عمليات حسابية مكثفة للميزات دون اتصال بالإنترنت وإعداد البيانات للاستدلال السريع.
- الميزات ، ومع ذلك ، عصر منذ أن كانت محددة سلفا في الماضي. قد يكون هذا عيبًا كبيرًا إذا كان تشخيصك يعتمد على الأحداث الأخيرة. (على سبيل المثال ، تحديد المعاملات الاحتيالية في أقرب وقت ممكن.)
مع وجود ميزات متدفقة في الوقت الفعلي تقريبًا لكيان معين ، يتم تنفيذ الاستدلال في معالجة التدفق على مجموعة معينة من المدخلات.
- هنا ، من خلال إعطاء النموذج في الوقت الفعلي ، ميزات التدفق ، يمكننا الحصول على تنبؤات أكثر دقة.
- ومع ذلك ، هناك حاجة إلى بنية تحتية إضافية لمعالجة التدفق والحفاظ على تدفقات البيانات (كافكا ، كينيسيس ، إلخ). (أباتشي فلينك ، شعاع ، إلخ.)
12. ماذا تقصد بتدريب انحراف تقديم الخدمة؟
يُعرف التباين بين الأداء عند التقديم والأداء أثناء التدريب باسم انحراف تقديم التدريب. يمكن أن يحدث هذا الانحراف بالعوامل التالية:
- اختلاف في كيفية تعاملك مع البيانات بين خطوط الأنابيب للخدمة والتدريب.
- تحول في البيانات من تدريبك إلى خدمتك.
- قناة ردود الفعل بين الخوارزمية والنموذج.
13. ماذا تقصد ببرنامج Model Registry؟
يعد Model Registry مستودعًا مركزيًا حيث يمكن لمنشئي النماذج نشر النماذج المناسبة للاستخدام في الإنتاج.
يمكن للمطورين التعاون مع الفرق وأصحاب المصلحة الآخرين لإدارة العمر الافتراضي لجميع النماذج داخل الأعمال باستخدام السجل. يمكن تحميل النماذج المدربة إلى نموذج التسجيل من قبل عالم البيانات.
يتم إعداد النماذج للاختبار والتحقق من الصحة والنشر في الإنتاج بمجرد تسجيلها في السجل. بالإضافة إلى ذلك ، يتم تخزين النماذج المدربة في سجلات نموذجية للوصول السريع من خلال أي تطبيق أو خدمة متكاملة.
من أجل اختبار النموذج وتقييمه ونشره في الإنتاج ، مطوري البرمجيات ويمكن للمراجعين التعرف بسرعة واختيار أفضل نسخة من النماذج المدربة (بناءً على معايير التقييم).
14. هل يمكنك توضيح فوائد نموذج السجل؟
فيما يلي بعض الطرق التي يعمل بها السجل النموذجي على تبسيط إدارة دورة حياة النموذج:
- لتسهيل النشر ، احفظ متطلبات وقت التشغيل والبيانات الوصفية لنماذجك المدربة.
- يجب أن يتم تسجيل نماذجك المدربة والمنتشرة والمتقاعدة وتعقبها وإصدارها في مستودع مركزي قابل للبحث.
- قم بإنشاء خطوط أنابيب آلية تتيح التسليم المستمر والتدريب والتكامل لنموذج الإنتاج الخاص بك.
- قارن النماذج المدربة حديثًا (أو النماذج المتحدية) في بيئة التدريج بالنماذج التي تعمل حاليًا في الإنتاج (النماذج البطل).
15. هل يمكنك شرح أعمال تقنية Champion-Challenger؟
من الممكن اختبار مختلف القرارات التشغيلية في الإنتاج باستخدام تقنية Champion Challenger. ربما تكون قد سمعت عن اختبار A / B في سياق التسويق.
على سبيل المثال ، يمكنك كتابة سطري موضوع متميزين وتوزيعهما عشوائيًا على الديموغرافية المستهدفة من أجل زيادة معدل الفتح لحملة البريد الإلكتروني.
يقوم النظام بتسجيل أداء البريد الإلكتروني (على سبيل المثال ، إجراء فتح البريد الإلكتروني) فيما يتعلق بسطر الموضوع ، مما يسمح لك بمقارنة معدل فتح كل سطر موضوع لتحديد الأكثر فاعلية.
يمكن مقارنة Champion-Challenger باختبار A / B في هذا الصدد. يمكنك استخدام منطق القرار لتقييم كل نتيجة واختيار أكثرها فعالية أثناء تجربة طرق مختلفة للتوصل إلى خيار.
أنجح نموذج يرتبط بالبطل. المتحدي الأول والقائمة المطابقة من المنافسين أصبحوا الآن كل ما هو موجود في مرحلة التنفيذ الأولى بدلاً من البطل.
يتم اختيار البطل من قبل النظام لتنفيذ خطوات وظيفية أخرى.
المتحدون متناقضون مع بعضهم البعض. ثم يتم تحديد البطل الجديد من قبل المنافس الذي يحقق أفضل النتائج.
يتم سرد المهام المتضمنة في عملية مقارنة البطل-المتحدي أدناه بمزيد من التفصيل:
- تقييم كل من النماذج المنافسة.
- تقييم الدرجات النهائية.
- مقارنة نتائج التقييم لتأسيس المنافس المنتصر.
- إضافة البطل الجديد للأرشيف
16. وصف التطبيقات على مستوى المؤسسة لدورة حياة MLOps؟
نحتاج إلى التوقف عن اعتبار التعلم الآلي مجرد تجربة تكرارية حتى تدخل نماذج التعلم الآلي في الإنتاج. MLOps هو اتحاد هندسة البرمجيات مع التعلم الآلي.
يجب تخيل النتيجة النهائية على هذا النحو. لذلك ، يجب اختبار رمز المنتج التكنولوجي ووظيفته ووحداته.
تتمتع MLOps بعمر مشابه لتدفق التعلم الآلي التقليدي ، باستثناء أن النموذج يظل في العملية حتى الإنتاج.
ثم يراقب مهندسو MLOps هذا للتأكد من أن جودة النموذج في الإنتاج هي المقصود.
فيما يلي بعض حالات الاستخدام للعديد من تقنيات MLOps:
- السجلات النموذجية: هذا ما يبدو عليه الأمر. تقوم الفرق الأكبر حجمًا بتخزين نماذج الإصدار والحفاظ عليها في سجلات النماذج. حتى الرجوع إلى الإصدار السابق يعد خيارًا.
- مخزن الميزات: عند التعامل مع مجموعات بيانات أكبر ، يمكن أن تكون هناك إصدارات مميزة من مجموعات البيانات التحليلية والمجموعات الفرعية لمهام محددة. يعد متجر الميزات طريقة متطورة وحسنة الذوق لاستخدام أعمال إعداد البيانات من عمليات التشغيل السابقة أو من فرق أخرى أيضًا.
- مخازن البيانات الوصفية: من الأهمية بمكان مراقبة البيانات الوصفية بشكل صحيح خلال الإنتاج إذا كانت البيانات غير المهيكلة ، مثل بيانات الصور والنص ، ستُستخدم بنجاح.
وفي الختام
من الأهمية بمكان أن تضع في اعتبارك أنه في معظم الحالات ، يبحث القائم بإجراء المقابلة عن نظام ، بينما يبحث المرشح عن حل.
الأول يعتمد على مهاراتك الفنية ، بينما الثاني يتعلق بالطريقة التي تستخدمها لإثبات كفاءتك.
هناك العديد من الإجراءات التي يجب عليك اتخاذها عند الرد على أسئلة مقابلة MLOps لمساعدة القائم بإجراء المقابلة على فهم أفضل لكيفية تنوي تقييم المشكلة المطروحة ومعالجتها.
ينصب تركيزهم على رد الفعل الخاطئ أكثر من التفاعل الصحيح. الحل يروي قصة ، ونظامك هو أفضل توضيح لمعرفتك وقدرتك على الاتصال.
اترك تعليق