باختصار: تُعدّ المعالجة المسبقة لبيانات الذكاء الاصطناعي مجموعة من الخطوات المتكررة التي تحوّل البيانات الخام عالية التباين إلى مدخلات نموذجية متسقة، وتشمل هذه الخطوات التنظيف، والترميز، والتحجيم، والتقسيم إلى رموز، وتحويل الصور. تكمن أهمية هذه العملية في أنه إذا اختلفت مدخلات التدريب عن مدخلات الإنتاج، فقد تفشل النماذج دون أن يلاحظها أحد. إذا كانت إحدى الخطوات "تتعلم" معلمات، فيجب تطبيقها على بيانات التدريب فقط لتجنب تسريب البيانات.
تُعنى المعالجة المسبقة للبيانات في الذكاء الاصطناعي بكل ما يُجرى على البيانات الأولية قبل (وأحيانًا أثناء) التدريب أو الاستدلال، لكي يتمكن النموذج من التعلم منها فعليًا. ولا تقتصر على "التنظيف" فحسب، بل تشمل تنظيف البيانات وتشكيلها وتوسيع نطاقها وتشفيرها وتوسيعها وتغليفها في تمثيل متسق لا يُسبب أي مشاكل للنموذج لاحقًا. [1]
أهم النقاط المستفادة:
التعريف : تقوم المعالجة المسبقة بتحويل الجداول الخام والنصوص والصور والسجلات إلى ميزات جاهزة للنموذج.
الاتساق : قم بتطبيق نفس التحويلات أثناء التدريب والاستدلال لمنع حالات عدم التطابق.
التسريب : قم بتدريب المقاييس والمشفرات والمجزئات على بيانات التدريب فقط.
إمكانية التكرار : قم ببناء مسارات البيانات باستخدام إحصائيات قابلة للفحص، وليس تسلسلات خلايا دفتر الملاحظات المخصصة.
مراقبة الإنتاج : تتبع الانحراف والانجراف حتى لا تؤدي المدخلات إلى تآكل الأداء تدريجياً.
مقالات قد ترغب في قراءتها بعد هذه المقالة:
🔗 كيفية اختبار نماذج الذكاء الاصطناعي من حيث الأداء في العالم الحقيقي
أساليب عملية لتقييم الدقة والمتانة والتحيز بسرعة.
🔗 هل تقنية تحويل النص إلى كلام هي ذكاء اصطناعي؟ وكيف تعمل؟
يشرح أساسيات تقنية تحويل النص إلى كلام، واستخداماتها الرئيسية، وقيودها الشائعة اليوم.
🔗 هل يستطيع الذكاء الاصطناعي قراءة الكتابة اليدوية المتصلة بدقة اليوم؟
يغطي هذا التقرير تحديات التعرف، وأفضل الأدوات، ونصائح الدقة.
🔗 ما مدى دقة الذكاء الاصطناعي في المهام الشائعة؟
يحلل عوامل الدقة والمعايير والموثوقية في العالم الحقيقي.
معالجة البيانات المسبقة للذكاء الاصطناعي بلغة بسيطة (وما لا تُعدّ معالجةً له) 🤝
المعالجة المسبقة للبيانات في الذكاء الاصطناعي بمثابة تحويل المدخلات الخام (الجداول، النصوص، الصور، السجلات) إلى ميزات جاهزة للاستخدام في النموذج. إذا كانت البيانات الخام أشبه بمرآب فوضوي، فإن المعالجة المسبقة تُشبه قيامك بتصنيف الصناديق، والتخلص من الأشياء التالفة، وترتيب الأشياء بحيث يمكنك المرور من خلالها دون أي ضرر.
ليس النموذج نفسه هو المشكلة، بل الأشياء التي تجعل النموذج ممكناً:
-
تحويل الفئات إلى أرقام (الترميز الأحادي، الترتيبي، إلخ) [1]
-
تحويل النطاقات العددية الكبيرة إلى نطاقات معقولة (التوحيد القياسي، الحد الأدنى والحد الأقصى، إلخ) [1]
-
تقسيم النص إلى معرفات الإدخال (وعادةً قناع الانتباه) [3]
-
تغيير حجم/قص الصور وتطبيق التحويلات الحتمية مقابل التحويلات العشوائية بشكل مناسب [4]
-
بناء مسارات قابلة للتكرار بحيث لا تتباعد مدخلات التدريب و"الحياة الواقعية" بطرق دقيقة [2]
ملاحظة عملية صغيرة: تشمل "المعالجة المسبقة" كل ما يحدث بشكل منتظم قبل أن يرى النموذج المدخلات . بعض الفرق تقسم هذا إلى "هندسة الميزات" مقابل "تنظيف البيانات"، ولكن في الواقع العملي تتداخل هذه الحدود.

لماذا تُعدّ المعالجة المسبقة للذكاء الاصطناعي أكثر أهمية مما يعترف به الناس؟ 😬
النموذج هو أداة لمطابقة الأنماط، وليس قارئًا للأفكار. إذا كانت مدخلاتك غير متسقة، فسيتعلم النموذج قواعد غير متسقة. هذا ليس كلامًا فلسفيًا، بل هو حقيقة واقعة.
تساعدك المعالجة المسبقة على:
-
تحسين استقرار التعلم عن طريق وضع الميزات في تمثيلات يمكن للمقدرات استخدامها بشكل موثوق (خاصة عند استخدام التحجيم/الترميز). [1]
-
قلل التشويش عن طريق جعل الواقع الفوضوي يبدو وكأنه شيء يمكن للنموذج أن يعمم منه (بدلاً من حفظ القطع الأثرية الغريبة).
-
منع حالات الفشل الصامتة مثل التسريب وعدم تطابق التدريب/الخدمة (النوع الذي يبدو "رائعًا" في التحقق ثم يفشل فشلاً ذريعًا في الإنتاج). [2]
-
تسريع عملية التكرار لأن التحويلات القابلة للتكرار تتفوق على فوضى التعليمات البرمجية في كل يوم من أيام الأسبوع.
كما أن هذا هو مصدر الكثير من "أداء النموذج" الحقيقي. في الواقع... الكثير بشكلٍ مفاجئ. أحيانًا يبدو الأمر غير عادل، لكن هذه هي الحقيقة 🙃
ما الذي يجعل مسار المعالجة المسبقة للذكاء الاصطناعي جيدًا؟ ✅
عادةً ما تتمتع "النسخة الجيدة" من المعالجة المسبقة بهذه الصفات:
-
قابل للتكرار : نفس المدخلات ← نفس المخرجات (لا توجد عشوائية غامضة إلا إذا كانت زيادة مقصودة).
-
اتساق التدريب والخدمة : أي شيء تقوم به في وقت التدريب يتم تطبيقه بنفس الطريقة في وقت الاستدلال (نفس المعلمات المُلائمة، ونفس خرائط الفئات، ونفس إعدادات المُجزئ، إلخ). [2]
-
آمن من التسريب : لا يؤثر أي شيء في التقييم/الاختبار على أي
الملاءمة. (المزيد عن هذا الفخ لاحقًا.) [2] -
قابل للملاحظة : يمكنك فحص ما تغير (إحصائيات الميزات، والبيانات المفقودة، وعدد الفئات) بحيث لا يكون تصحيح الأخطاء هندسة قائمة على المشاعر.
إذا كانت عملية المعالجة المسبقة لديك عبارة عن مجموعة من خلايا دفتر الملاحظات المسماة final_v7_really_final_ok ... فأنت تعرف كيف تسير الأمور. تعمل بشكل جيد حتى تتوقف عن العمل 😬
المكونات الأساسية لمعالجة البيانات في الذكاء الاصطناعي 🧱
فكّر في المعالجة المسبقة على أنها مجموعة من اللبنات الأساسية التي تجمعها في مسار عمل.
1) التنظيف والتحقق 🧼
المهام النموذجية:
-
إزالة التكرارات
-
معالجة القيم المفقودة (حذفها، أو استكمالها، أو تمثيل فقدانها بشكل صريح)
-
فرض الأنواع والوحدات والنطاقات
-
اكتشاف المدخلات المشوهة
-
توحيد تنسيقات النصوص (المسافات البيضاء، قواعد حالة الأحرف، خصائص يونيكود)
هذا الجزء ليس جذاباً، لكنه يمنع أخطاءً بالغة السذاجة. أقول هذا بكل محبة.
2) ترميز البيانات الفئوية 🔤
لا تستطيع معظم النماذج استخدام السلاسل الخام مباشرة مثل "red" أو "premium_user" .
الأساليب الشائعة:
-
التشفير الأحادي الساخن (الفئة → الأعمدة الثنائية) [1]
-
الترميز الترتيبي (الفئة → معرف عدد صحيح) [1]
الأمر الأساسي ليس المُشفِّر ، بل ثبات عملية الربط وعدم تغير شكلها بين التدريب والاستدلال. هكذا ينتهي بك الأمر بنموذج يبدو جيدًا في وضع عدم الاتصال بالإنترنت، ولكنه يُظهر سلوكًا غريبًا عند الاتصال بالإنترنت. [2]
3) تحجيم الميزات وتطبيعها 📏
يُعدّ التوسيع أمراً بالغ الأهمية عندما تتواجد الميزات على نطاقات مختلفة تماماً.
عملان كلاسيكيان:
-
التوحيد القياسي : إزالة المتوسط وقياس التباين إلى وحدة واحدة [1]
-
التحجيم الأدنى والأقصى : تحجيم كل ميزة ضمن نطاق محدد [1]
حتى عندما تستخدم نماذج "تتأقلم في الغالب"، فإن التوسع غالبًا ما يجعل فهم خطوط الأنابيب أسهل - ويصعب كسرها عن طريق الخطأ.
4) هندسة الميزات (أو ما يُعرف بالغش المفيد) 🧪
هنا يمكنك تسهيل عمل النموذج من خلال إنشاء إشارات أفضل:
-
النسب (النقرات / مرات الظهور)
-
النوافذ الدوارة (آخر N يومًا)
-
عدد الأحداث (لكل مستخدم)
-
التحويلات اللوغاريتمية للتوزيعات ذات الذيل السميك
هناك فنٌّ في هذا. أحيانًا تُنشئ ميزةً ما، وتشعر بالفخر... ثم لا تُحدث أي فرق. أو الأسوأ من ذلك، أنها تُؤلمك. هذا طبيعي. لا تتعلق عاطفيًا بالميزات - فهي لا تُبادلك الحب 😅
5) تقسيم البيانات بالطريقة الصحيحة ✂️
يبدو هذا واضحاً حتى يصبح غير ذلك:
-
تقسيمات عشوائية لبيانات مستقلة ومتطابقة التوزيع
-
تقسيمات زمنية للسلاسل الزمنية
-
تقسيمات مجمعة عند تكرار الكيانات (المستخدمون، الأجهزة، المرضى)
والأهم من ذلك: تقسيم البيانات قبل تطبيق المعالجة المسبقة التي تتعلم من البيانات . إذا كانت خطوة المعالجة المسبقة "تتعلم" معلمات (مثل المتوسطات، والمفردات، وخرائط الفئات)، فيجب أن تتعلمها من التدريب فقط. [2]
معالجة البيانات المسبقة باستخدام الذكاء الاصطناعي حسب نوع البيانات: جدولية، نصية، صور 🎛️
تتغير عملية المعالجة المسبقة تبعاً لما يتم إدخاله إلى النموذج.
البيانات الجدولية (جداول البيانات، السجلات، قواعد البيانات) 📊
خطوات شائعة:
-
استراتيجية القيمة المفقودة
-
الترميز الفئوي [1]
-
تغيير حجم الأعمدة الرقمية [1]
-
معالجة القيم الشاذة (تتفوق قواعد المجال على "القص العشوائي" في معظم الأحيان)
-
الميزات المشتقة (التجميعات، والتأخيرات، والإحصاءات المتداولة)
نصيحة عملية: حدد مجموعات الأعمدة بشكل واضح (رقمية مقابل فئوية مقابل معرفات). ستشكر نفسك في المستقبل على ذلك.
بيانات نصية (معالجة اللغة الطبيعية) 📝
غالباً ما تتضمن عملية معالجة النصوص ما يلي:
-
تجزئة النص إلى رموز/كلمات فرعية
-
التحويل إلى معرّفات الإدخال
-
الحشو/الاقتطاع
-
بناء أقنعة الانتباه للتجميع [3]
قاعدة بسيطة تُجنّبك الكثير من المتاعب: في الإعدادات القائمة على المحولات، اتبع إعدادات مُجزئ الكلمات المتوقعة من النموذج، ولا تُغيّر الإعدادات بشكلٍ عشوائي إلا إذا كان لديك سبب وجيه. فالتغيير العشوائي هو ما يُؤدي إلى نتائج غير منطقية
الصور (رؤية الحاسوب) 🖼️
المعالجة المسبقة النموذجية:
-
تغيير الحجم / قص الأشكال لتصبح متناسقة
-
التحويلات الحتمية للتقييم
-
التحويلات العشوائية لزيادة التدريب (على سبيل المثال، الاقتصاص العشوائي) [4]
هناك تفصيل يغفل عنه الكثيرون: "التحويلات العشوائية" ليست مجرد مؤثرات بصرية، بل هي في الواقع عملية أخذ عينات من المعاملات في كل مرة يتم استدعاؤها. وهذا مفيد لتنويع التدريب، ولكنه سيء للغاية للتقييم إذا نسيت إيقاف خاصية العشوائية. [4]
الفخ الذي يقع فيه الجميع: تسريب البيانات 🕳️🐍
يحدث التسريب عندما تتسلل معلومات من بيانات التقييم إلى بيانات التدريب، وغالبًا ما يكون ذلك من خلال المعالجة المسبقة. قد يجعل هذا التسريب نموذجك يبدو مثاليًا أثناء التحقق من صحته، ثم يخيب ظنك في الواقع العملي.
أنماط التسريب الشائعة:
-
[2]
-
بناء خرائط الفئات باستخدام التدريب والاختبار معًا [2]
-
أي
fit()أوfit_transform()التي "ترى" مجموعة الاختبار [2]
قاعدة عامة (بسيطة، قاسية، فعالة):
-
أي شيء مزود بخاصية " المناسبة " يجب أن يكون مناسبًا للتدريب فقط.
-
ثم تقوم بتحويل التحقق/الاختبار باستخدام هذا المحول المُناسب. [2]
وإذا أردتَ اختبارًا مبدئيًا لمعرفة مدى سوء الوضع، فإنّ وثائق مكتبة scikit-learn نفسها تُظهر مثالًا على التسريب حيث يُؤدي ترتيب المعالجة المسبقة غير الصحيح إلى دقة تقارب 0.76 على أهداف عشوائية، ثم تنخفض إلى حوالي 0.5 بمجرد إصلاح التسريب. هكذا يبدو التسريب خاطئًا بشكلٍ مُقنع. [2]
إدخال المعالجة المسبقة في الإنتاج بسلاسة ودون فوضى 🏗️
تفشل العديد من النماذج في الإنتاج ليس لأن النموذج "سيئ"، ولكن لأن واقع الإدخال يتغير - أو لأن خط الأنابيب الخاص بك يتغير.
تتضمن المعالجة المسبقة الموجهة للإنتاج عادةً ما يلي:
-
تم حفظ القطع الأثرية (تعيينات المشفر، معلمات المقياس، تكوين التجزئة) بحيث يستخدم الاستدلال نفس التحويلات المتعلمة بالضبط [2]
-
شروط إدخال صارمة (الأعمدة/الأنواع/النطاقات المتوقعة)
-
مراقبة الانحراف والانجراف ، لأن بيانات الإنتاج ستتذبذب [5]
إذا كنت ترغب في تعريفات محددة: يميز نظام مراقبة نماذج الذكاء الاصطناعي Vertex من جوجل بين انحراف خدمة التدريب (انحراف توزيع الإنتاج عن التدريب) وانحراف الاستدلال (تغير توزيع الإنتاج بمرور الوقت)، ويدعم المراقبة لكل من الميزات الفئوية والرقمية. [5]
لأن المفاجآت مكلفة. وليست من النوع الممتع.
جدول مقارنة: أدوات المعالجة المسبقة والمراقبة الشائعة (ولمن تُستخدم) 🧰
| أداة / مكتبة | الأفضل لـ | سعر | لماذا ينجح الأمر (وقليل من الصدق) |
|---|---|---|---|
| المعالجة المسبقة لمكتبة scikit-learn | خطوط أنابيب التعلم الآلي الجدولية | حر | المشفرات الصلبة + المقاييس (OneHotEncoder، StandardScaler، إلخ) والسلوك المتوقع [1] |
| مُجزئات Hugging Face | إعداد مدخلات معالجة اللغة الطبيعية | حر | ينتج معرفات الإدخال + أقنعة الانتباه بشكل متسق عبر عمليات التشغيل/النماذج [3] |
| تحوّل تورتشفيجن | تحوّل الرؤية + تعزيزها | حر | طريقة نظيفة لدمج التحويلات الحتمية والعشوائية في مسار واحد [4] |
| مراقبة نموذج الذكاء الاصطناعي من Vertex | الكشف عن الانحراف/التشوه في الإنتاج | مدفوع (سحابي) | تتميز الشاشات بميزة الانحراف/الانجراف والتنبيهات عند تجاوز العتبات [5] |
(نعم، لا تزال هناك آراء على الطاولة. لكن على الأقل إنها آراء صادقة 😅)
قائمة مراجعة عملية للمعالجة المسبقة يمكنك استخدامها بالفعل 📌
قبل التدريب
-
حدد مخطط الإدخال (الأنواع، والوحدات، والنطاقات المسموح بها)
-
تدقيق القيم المفقودة والمكررة
-
قسّم البيانات بالطريقة الصحيحة (عشوائي / زمني / مجمع)
-
معالجة البيانات المسبقة على التدريب فقط (
fit/fit_transformعلى التدريب) [2] -
حفظ عناصر المعالجة المسبقة حتى يتمكن الاستدلال من إعادة استخدامها [2]
أثناء التدريب
-
قم بتطبيق التوسيع العشوائي فقط عند الاقتضاء (عادةً تقسيم التدريب فقط) [4]
-
حافظ على عملية المعالجة المسبقة للتقييم حتمية [4]
-
تتبع التغييرات في المعالجة المسبقة مثل تغييرات النموذج (لأنها كذلك)
قبل النشر
-
تأكد من أن الاستدلال يستخدم مسار المعالجة المسبقة والقطع الأثرية نفسها [2]
-
قم بإعداد مراقبة الانحراف/التشوه (حتى عمليات التحقق الأساسية من توزيع الميزات تقطع شوطاً طويلاً) [5]
نظرة معمقة: أخطاء المعالجة المسبقة الشائعة (وكيفية تجنبها) 🧯
الخطأ الأول: "سأجعل كل شيء طبيعيًا بسرعة" 😵
إذا قمت بحساب معلمات القياس على مجموعة البيانات الكاملة، فإنك تُسرب معلومات التقييم. قم بالتدريب على مجموعة البيانات، ثم قم بتحويل الباقي. [2]
الخطأ الثاني: انزلاق التصنيفات إلى الفوضى 🧩
إذا تغيرت عملية ربط الفئات بين التدريب والاستدلال، فقد يخطئ النموذج في قراءة العالم دون أن يلاحظ ذلك. حافظ على ثبات عمليات الربط من خلال حفظ البيانات. [2]
الخطأ الثالث: التحسين العشوائي يتسلل إلى التقييم 🎲
تُعدّ التحويلات العشوائية رائعة في التدريب، ولكن لا ينبغي تفعيلها "سراً" عند محاولة قياس الأداء. (العشوائي يعني عشوائياً). [4]
ملاحظات ختامية 🧠✨
المعالجة المسبقة للذكاء الاصطناعي فنًا دقيقًا لتحويل الواقع المعقد إلى مدخلات نموذجية متسقة. وهي تشمل التنظيف، والترميز، والتحجيم، والتقسيم إلى رموز، وتحويلات الصور، والأهم من ذلك كله، مسارات العمل والمنتجات القابلة للتكرار.
-
قم بالمعالجة المسبقة بشكل متعمد، وليس بشكل عشوائي. [2]
-
[2] قم بالتقسيم أولاً، ثم قم بتطبيق التحويلات على التدريب فقط، وتجنب التسريب
-
استخدم المعالجة المسبقة المناسبة للوسائط (مجزئات الكلمات للنصوص، والتحويلات للصور). [3][4]
-
راقب انحراف/تذبذب الإنتاج حتى لا ينحرف نموذجك ببطء إلى اللا معنى. [5]
وإذا واجهتك مشكلة، فاسأل نفسك:
"هل ستظل خطوة المعالجة المسبقة هذه منطقية إذا قمت بتشغيلها غدًا على بيانات جديدة تمامًا؟"
إذا كانت الإجابة "هممم... ربما؟"، فهذه هي الإشارة 😬
التعليمات
ما هي المعالجة المسبقة للذكاء الاصطناعي، بعبارات بسيطة؟
تُعدّ المعالجة المسبقة لبيانات الذكاء الاصطناعي مجموعة من الخطوات المتكررة التي تحوّل البيانات الأولية المشوّشة وعالية التباين إلى مدخلات متسقة يمكن للنموذج التعلّم منها. قد تشمل هذه الخطوات التنظيف، والتحقق، وتشفير الفئات، وتوسيع نطاق القيم الرقمية، وتقسيم النصوص إلى رموز، وتطبيق تحويلات الصور. والهدف هو ضمان أن يرى كلٌّ من التدريب والاستدلال الإنتاجي نفس نوع المدخلات، حتى لا ينحرف النموذج إلى سلوك غير متوقع لاحقًا.
لماذا تُعدّ المعالجة المسبقة للذكاء الاصطناعي مهمة للغاية في الإنتاج؟
تُعدّ المعالجة المسبقة مهمة لأن النماذج حساسة لتمثيل المدخلات. إذا تمّ تغيير حجم بيانات التدريب أو ترميزها أو تقسيمها إلى رموز أو تحويلها بشكل مختلف عن بيانات الإنتاج، فقد تحدث أخطاء عدم تطابق بين بيانات التدريب وبيانات العرض، والتي تبدو سليمة في وضع عدم الاتصال ولكنها تفشل بهدوء في وضع التشغيل. كما تُقلّل مسارات المعالجة المسبقة القوية من التشويش، وتُحسّن استقرار التعلّم، وتُسرّع عملية التكرار لأنك لن تُضطر إلى فكّ تشابك البيانات المعقدة.
كيف أتجنب تسريب البيانات أثناء المعالجة المسبقة؟
قاعدة بسيطة تُطبّق: أي نموذج يتضمن ملاءمة يجب أن يُطبّق على بيانات التدريب فقط. يشمل ذلك المُقاسات، والمُشفّرات، والمُجزّئات التي تتعلم معايير مثل المتوسطات، وخرائط الفئات، أو المُفردات. يتم تقسيم البيانات أولاً، ثم تُطبّق على بيانات التدريب، ثم تُحوّل بيانات التحقق/الاختبار باستخدام المُحوّل المُناسب. قد يُؤدي تسريب البيانات إلى جعل التحقق يبدو جيدًا ظاهريًا، ثم ينهار عند استخدامه في بيئة الإنتاج.
ما هي أكثر خطوات المعالجة المسبقة شيوعاً للبيانات الجدولية؟
بالنسبة للبيانات الجدولية، تتضمن عملية المعالجة المعتادة التنظيف والتحقق (الأنواع، النطاقات، القيم المفقودة)، والترميز الفئوي (الترميز الأحادي أو الترتيبي)، والتحجيم العددي (التوحيد القياسي أو الحد الأدنى والحد الأقصى). وتضيف العديد من عمليات المعالجة هندسة الميزات الموجهة بالمجال، مثل النسب، والنوافذ المتحركة، أو العدّ. ومن الممارسات العملية تحديد مجموعات الأعمدة بشكل صريح (عددية مقابل فئوية مقابل معرفات) لضمان اتساق عمليات التحويل.
كيف تتم عملية المعالجة المسبقة لنماذج النصوص؟
تتضمن المعالجة المسبقة للنصوص عادةً تقسيم النص إلى رموز/كلمات فرعية، وتحويلها إلى معرّفات إدخال، ومعالجة الحشو/الاقتطاع للتجميع. كما تُنشئ العديد من عمليات التحويل قناع انتباه إلى جانب المعرّفات. يتمثل النهج الشائع في استخدام إعدادات مُجزئ الكلمات المتوقعة للنموذج بدلاً من الارتجال، لأن الاختلافات الطفيفة في إعدادات مُجزئ الكلمات قد تؤدي إلى نتائج غير متوقعة، مثل "يتم التدريب ولكن يتصرف النموذج بشكل غير متوقع".
ما الذي يميز معالجة الصور المسبقة لأغراض التعلم الآلي؟
تضمن المعالجة المسبقة للصور عادةً اتساق الأشكال ومعالجة البكسلات: تغيير الحجم/القص، والتطبيع، والفصل الواضح بين التحويلات المحددة والعشوائية. ولأغراض التقييم، ينبغي أن تكون التحويلات محددة لضمان قابلية مقارنة المقاييس. أما لأغراض التدريب، فيمكن للتوسيع العشوائي (مثل القص العشوائي) تحسين المتانة، ولكن يجب حصر العشوائية عمدًا في نطاق التدريب، وعدم تركها مُفعّلة عن طريق الخطأ أثناء التقييم.
ما الذي يجعل خط أنابيب المعالجة المسبقة "جيدًا" بدلاً من أن يكون هشًا؟
تتميز عملية المعالجة المسبقة الجيدة للذكاء الاصطناعي بقابليتها للتكرار، وأمانها من التسريبات، وإمكانية ملاحظتها. تعني قابلية التكرار أن نفس المدخلات تُنتج نفس المخرجات ما لم يكن التضخيم العشوائي مقصودًا. ويعني أمان التسريبات أن خطوات التدريب لا تتداخل مع التحقق/الاختبار. أما إمكانية الملاحظة فتعني أنه يمكنك فحص الإحصائيات مثل نسبة البيانات المفقودة، وعدد الفئات، وتوزيعات الميزات، بحيث يعتمد تصحيح الأخطاء على الأدلة لا على الحدس. تتفوق عمليات المعالجة المسبقة على تسلسلات دفاتر الملاحظات المخصصة في كل مرة.
كيف أحافظ على اتساق عملية التدريب والمعالجة المسبقة للاستدلال؟
يكمن السر في إعادة استخدام نفس العناصر المُستخلصة أثناء الاستدلال: معلمات المُقاس، وتعيينات المُشفِّر، وإعدادات المُجزِّئ. كما يُفضَّل وجود عقد إدخال (الأعمدة والأنواع والنطاقات المتوقعة) لضمان عدم انحراف بيانات الإنتاج إلى أشكال غير صالحة. لا يقتصر الاتساق على "تكرار نفس الخطوات"، بل يشمل "تكرار نفس الخطوات باستخدام نفس المعلمات والتعيينات المُلائمة"
كيف يمكنني مراقبة مشاكل المعالجة المسبقة مثل الانحراف والتشويه بمرور الوقت؟
حتى مع وجود بنية تحتية قوية، تتغير بيانات الإنتاج. يتمثل أحد الأساليب الشائعة في مراقبة تغيرات توزيع الميزات والتنبيه عند حدوث انحراف بين بيانات التدريب وبيانات الإنتاج، أو انحراف في الاستدلال (تغير بيانات الإنتاج بمرور الوقت). يمكن أن تكون المراقبة بسيطة (فحوصات أساسية للتوزيع) أو مُدارة (مثل مراقبة نماذج Vertex AI). الهدف هو رصد تغيرات المدخلات مبكرًا، قبل أن تؤدي إلى تدهور أداء النموذج تدريجيًا.
مراجع
[1] واجهة برمجة تطبيقات scikit-learn:
sklearn.preprocessing (المشفرات، والمُقاسات، والتطبيع) [2] scikit-learn: الأخطاء الشائعة - تسريب البيانات وكيفية تجنبه
[3] وثائق Hugging Face Transformers: مُجزئات الكلمات (معرفات الإدخال، وأقنعة الانتباه)
[4] وثائق PyTorch Torchvision: التحويلات (تغيير الحجم/التطبيع + التحويلات العشوائية)
[5] وثائق Google Cloud Vertex AI: نظرة عامة على مراقبة النموذج (انحراف الميزات وتغيرها)