المكاسب:
- القدرة على إعداد خط أنابيب البيانات (التجميع، والتحقق من الصحة، والتطهير، والتحويل، والتقسيم، والإصدارات) ووضع التحقق من صحة المخطط في بداية المسار
- القدرة على اتخاذ قرارات القيمة المفقودة ووضع العلامات بناءً على المعنى الميداني والتقسيم لمنع تسرب البيانات (المجموعة والزمنية)
- القدرة على إنشاء قاعدة بيانات قابلة للتكرار عن طريق إصلاح إصدار البيانات وبذرة العشوائية
تكمن القوة الحقيقية لكل نظام للتعلم الآلي في البيانات، وليس في النموذج. يعرف المهندسون ذوو الخبرة ما يلي: "القمامة تدخل، القمامة تخرج" - حتى النموذج الأكثر تقدمًا الذي يتغذى على بيانات سيئة سيؤدي إلى نتائج سيئة. في هذه الوحدة، نقوم بإنشاء خط أنابيب البيانات (خط أنابيب البيانات: سلسلة الخطوات التي تجعل البيانات الأولية جاهزة للتدريب النموذجي) من البداية إلى النهاية ومعرفة أي خطوة من هذا الخط يمكننا استخدام الذكاء الاصطناعي بأمان.
خطوات خط البيانات
يمر خط البيانات عادةً عبر هذه المحطات:
- التجميع (الابتلاع): سحب البيانات من المصادر (قاعدة البيانات، واجهة برمجة التطبيقات، ملفات السجل، تدفقات الأحداث).
- التحقق من الصحة: التحقق مما إذا كانت البيانات تتوافق مع المخطط والأنواع والنطاقات المتوقعة.
- التنظيف: التعامل مع القيم المفقودة والسجلات المكررة والقيم المتطرفة والتناقضات.
- التحويل: تحويل البيانات الأولية إلى سمات - مثل تحويل متغير فئوي إلى رقم، وإنتاج "يوم من أيام الأسبوع" من تاريخ.
- التقسيم: الفصل إلى مجموعات التدريب والتحقق والاختبار.
- الإصدار: تسجيل النموذج الذي تم تدريبه باستخدام البيانات.
يوفر الذكاء الاصطناعي الوقت من خلال إنشاء مسودات وأفكار التعليمات البرمجية، خاصة في الخطوات 2 و3 و4. لكن القرارات مثل أي سجل يجب التخلص منه، وأي قيمة مفقودة يجب ملؤها وكيف، تعود إلى المهندس الذي يعرف البيانات؛ لأن التنظيف غير السليم يمكن أن يؤدي إلى تحيز خفي في النموذج.
التحقق من البيانات: الدفاع المبكر عن الخط
الأخطاء الأكثر تكلفة لا تبدأ في الإنتاج، ولكن عندما يتم تخطي خطوة التحقق. يتحقق التحقق من صحة المخطط تلقائيًا مما إذا كانت كل دفعة من البيانات الواردة تتوافق مع البنية المتوقعة. على سبيل المثال، هل عمود العمر بين 0-120، هل حقل البريد الإلكتروني فارغ، هل تغير عدد الأعمدة؟
نصيحة: ضع التحقق في بداية السطر. كلما تم اكتشاف البيانات الفاسدة بشكل أسرع، كان إصلاحها أرخص. يعد خطأ المخطط الذي تم اكتشافه أثناء الإنتاج أكثر تكلفة بعدة مرات من الخطأ الذي تم اكتشافه في مرحلة التدريب.
اكتب مخطط التحقق باستخدام pandera (أو التوقعات العظيمة) لمخطط البيانات التالي. الأعمدة والقواعد: - user_id: عدد صحيح، لا يمكن أن يكون خاليًا، فريد - العمر: عدد صحيح، لا يمكن أن يكون من 0 إلى 120 - تاريخ التسجيل: التاريخ، لا يمكن أن يكون في المستقبل - البلد: قاطع، من المجموعة {TR، DE، US، UK} - الرصيد: عشري، لا يمكن أن يكون سالبًا قم بإنتاج رسالة خطأ ذات معنى لكل انتهاك للقاعدة. اعرض الاختبار بمثال للخط المتقطع في نهاية الكود.
التنظيف: الإنسان هو من يقرر
القيم المفقودة هي حقيقة كل مجموعة بيانات. طرق التعامل:
- الحذف: تجاهل صف/عمود بمعدل فقدان مرتفع جدًا. ولكن هناك خطر فقدان المعلومات والتحيز.
- التضمين: التضمين باستخدام القيمة المتوسطة أو المتوسطة أو الأكثر شيوعًا أو التنبؤ القائم على النموذج.
- العلم: تخزين المعلومات "المفقودة" في عمود علم منفصل - في بعض الأحيان تكون المعلومات المفقودة هي الإشارة.
أيهما صحيح يعتمد على المشكلة. في مجموعة البيانات الطبية، ينبغي الحفاظ على معلومات "قيمة الدم التي لم يتم قياسها" بدلاً من حذفها؛ لأنه حتى رفض الطبيب أخذ القياسات يعتبر إشارة. يمكن أن يوفر لك الذكاء الاصطناعي خيارات ورموزًا برمجية؛ اخترت أي واحد يناسب واقع الميدان.
موجه ضعيف / موجه قوي
المطالبة الضعيفة: "املأ القيم المفقودة."
موجه قوي: "توجد قيم مفقودة في الأعمدة التالية: الدخل (12% مفقود، توزيع منحرف لليمين)، last_login (30% مفقود). اقترح ملء الدخل بالوسيط، ولكن اشرح لماذا الوسيط وليس المتوسط. بالنسبة إلى last_login، افترض أن القيمة المفقودة قد تكون مهمة (ربما لم يسجل المستخدم الدخول أبدًا)؛ فكر في إنشاء علامة Never_logged_in بدلاً من الحذف. اكتب التحيز الذي سيضيفه أي من النهجين إلى النموذج."
الفرق: موجه قوي يعطي معلومات التوزيع ومعنى المنطقة؛ الذكاء الاصطناعي ينتج دعم القرار بدلا من التعبئة الميكانيكية.
وضع العلامات: يتم قياس الجودة
في التعلم الخاضع للإشراف (التعلم الذي يتم فيه تقديم الأمثلة مع الإجابات الصحيحة)، ما يتعلمه النموذج هو التسميات (التسميات: الإجابة الصحيحة لكل مثال). تحدد جودة الملصق سقفًا - إذا قام الأشخاص بالتسمية بشكل غير متسق، فإن النموذج يتعلم بشكل غير متسق.
يقيس الاتفاق بين المعلقين المعدل الذي يمنح به الأشخاص المختلفون نفس التسمية لنفس العينة؛ ويتم التعبير عنها بمعامل مثل كوهين كابا. يشير الامتثال المنخفض إما إلى أن المهمة غير واضحة أو أن التعليمات ضعيفة.
يساعد الذكاء الاصطناعي في وضع العلامات بطريقتين: (1) صياغة المبادئ التوجيهية للتعليقات التوضيحية، (2) وضع العلامات المسبقة وجعل الإنسان يقوم فقط بتصحيحها. لكن وضع العلامات المسبقة باستخدام LLM ينطوي على مأزق: يمكن أن يتسرب الخطأ المنهجي للنموذج إلى مجموعة الملصقات بأكملها. لهذا السبب يتحقق البشر دائمًا من بعض ملصقات LLM.
انتبه: لا تعتبر الملصقات التي تنتجها شركة LLM "حقيقة أساسية". التحقق من عينة مع الإنسان وقياس ملاءمة الإنسان LLM. إذا كان الامتثال منخفضًا، فإن وضع العلامات المسبقة سوف يضر أكثر مما ينفع.
قسم البيانات: منع التسرب
الخطأ الأكثر خطورة عند تقسيم البيانات إلى التدريب/التحقق من الصحة/الاختبار هو تسرب البيانات: خلط معلومات الاختبار في التدريب. أمثلة:
- تندرج سجلات المستخدم نفسه ضمن كل من التدريب والاختبار (تسرب المجموعة).
- استخدام المستقبل في التدريب والماضي في اختبار السلاسل الزمنية (التسرب الزمني).
- حساب معلمات القياس (التطبيع) من جميع البيانات ثم التقسيم.
يعد التقسيم الزمني أمرًا ضروريًا للمسائل التي تتضمن الوقت: تدرب مع الماضي، واختبر في المستقبل. يعطي التقسيم العشوائي فائدة "مستقبلية" لن تحدث أبدًا في الإنتاج ويضخم المقاييس.
إصدار البيانات وإمكانية تكرار نتائجها
"ما هي البيانات التي دربنا عليها هذا النموذج؟" إن القدرة على الإجابة على السؤال بعد أشهر هي السمة المميزة لهندسة التعلم الآلي الجادة. يقوم إصدار البيانات بتخزين كل لقطة بيانات بمعرف (علامة التجزئة أو علامة الإصدار). أدوات مثل بيانات إصدار DVC (التحكم في إصدار البيانات) مثل التعليمات البرمجية.
لإعادة إنتاج نتيجة النموذج، يجب إصلاح ثلاثة أشياء: إصدار البيانات، وإصدار الكود، والبذرة العشوائية. فلا يمكن أن نقول "لقد حصلت على نفس النتيجة" بدون هذا الثلاثي. سوف نقوم بتعميق إمكانية التكرار في الوحدة 11؛ لكن إصلاح البذرة في خط أنابيب البيانات يبدأ من هنا.
ثلاث حالات صغيرة
الحالة 1 - تم حفظ التحقق من صحة مخطط اليوم. عندما قام فريق بتحويل حقل أسعار النظام الأساسي من البنسات إلى الليرات، انخفضت جميع الأسعار 100 مرة. رفض التحقق من صحة المخطط الدفعة باعتبارها "سعرًا خارج النطاق" ولم يتم تدريب النموذج باستخدام بيانات تالفة. وبدون التحقق، لن يتم ملاحظة الخطأ إلا في الإنتاج، مع تنبؤات غير صحيحة.
الحالة 2 - انحياز التعبئة غير الصحيحة. في نموذج الائتمان، تم ملء قيم الدخل المفقودة بالمتوسط. لكن الدخل المفقود كان في الغالب في المجموعة ذات الدخل المنخفض؛ لقد أدى المتوسط إلى "إثراء" هذه المجموعة بشكل مصطنع، وقدم لهم النموذج حدًا مرتفعًا بشكل غير عادل. تم إصلاح مشكلة الوسيط + علامة الفقدان.
الحالة 3 - التسرب الزمني. بدا نموذج التنبؤ بالطلب رائعًا في مجموعة الاختبار (دقة 95%)، لكنه انهار في الإنتاج. السبب: بسبب التقسيم العشوائي، رأى النموذج المستقبل. أدى التحول إلى التجميع الزمني إلى انخفاض دقة الاختبار إلى 78%، لكن ذلك كان أداءً حقيقيًا وأبقى عليه في الإنتاج.
قوالب قابلة للنسخ
قم بتقسيم مجموعة البيانات التالية إلى ثلاث مجموعات: التدريب/التحقق من الصحة/الاختبار. القيد: هذه سلسلة زمنية؛ استخدم التقسيم الزمني (التدريب في الماضي، والاختبار في المستقبل). منع تسرب الدُفعات: احصل على نفس "customer_id" في مجموعة واحدة فقط. قم بحساب معلمات القياس من مجموعة التدريب فقط، ثم قم بتطبيقها على الجميع. اطبع عدد الأسطر المتبقية في الكود في كل خطوة وأضف تأكيدًا يتحقق من عدم وجود تسربات.
اكتب مسودة إرشادات توضيحية لمهمة وضع العلامات هذه. المهمة: [على سبيل المثال. قم بتسمية مراجعة العميل بأنها إيجابية/سلبية/محايدة]وضح الحالات الحدودية: السخرية، والعواطف المختلطة، وكيفية تصنيف المراجعة بأنها غير مرتبطة بالمنتج؟ قدم 5 أمثلة و3 حالات حافة صعبة من شأنها زيادة الاتساق عبر العلامات.
قم بإعداد قائمة مرجعية لقابلية التكرار لخط أنابيب البيانات هذا: - كيف يجب إصلاح إصدار البيانات؟ - ما هي بذور العشوائية التي يجب تعيينها وأين؟ - ما هي البيانات الوصفية (تجزئة البيانات، عدد الصفوف، التاريخ) التي يجب تسجيلها؟ قاعدة التعليمات البرمجية الخاصة بي: [اللغة/المكتبة]
تحقق من رمز التنظيف هذا بحثًا عن تسرب البيانات. انظر على وجه التحديد إلى هذا: هل يتم حساب معلمات القياس/التشفير قبل التقسيم؟ هل يتم حساب أي إحصائيات من جميع البيانات أم مجرد تدريب؟ الكود: [الكود]
جدول القرار: استراتيجية القيمة المفقودة
الحالة
النهج الموصى به
لماذا
التوزيع العددي المنحرف
ملء مع المتوسط
يتأثر المتوسط بالقيم المتطرفة
عددي، متماثل
املأ بالمتوسط
يحمي المعلومات
قد يكون النقص كبيرا
عمود العلم + التعبئة
النقص هو إشارة
المعدل المفقود > 60%
تقييم/تجاهل العمود
الضوضاء أكثر من اللازم
قاطع
فئة "غير معروف".
لا يخلق أغلبية مصطنعة
الأخطاء الشائعة
- تخطي التحقق. بدون التحكم في المخطط، تتسلل البيانات التالفة بصمت.
- التحجيم قبل التقسيم. إنه يسرب إحصائيات الاختبار إلى التعليم.
- استخدام التجزئة العشوائية في السلاسل الزمنية. وتنتج مقاييس عالية وهمية.
- الثقة العمياء في تسميات LLM. ينتشر الخطأ المنهجي في جميع أنحاء البيانات.
- عدم حفظ نسخة البيانات. لا يمكنك إعادة إنتاج النتيجة.
- تعبئة ميكانيكية بمتوسط. فهو يتجاهل معنى المجال، ويضيف التحيز.
باختصار
يعد خط أنابيب البيانات أساس نظام ML ويستحق جهدًا أكبر من النموذج. ضع التحقق في الأعلى؛ اتخاذ قرارات التنظيف ووضع العلامات باستخدام المعرفة بالمجال؛ منع التسرب (الجماعي والزماني) في المقصورة؛ إصلاح إصدار البيانات والبذور. يقوم الذكاء الاصطناعي بإنشاء تعليمات برمجية وأفكار في هذا الخط، ولكن الأمر متروك لك لتحديد البيانات التي تريد معالجتها وكيف - لأن كل قرار خاطئ هنا ينتقل إلى النموذج باعتباره عيبًا مخفيًا.
مهمة التطبيق
اكتب مخطط التحقق من الصحة (بانديرا/التوقعات العظيمة) على مجموعة البيانات الخاصة بك وأضف صفًا سيئًا عمدًا وأظهر أنه تم اكتشافه. ثم قم بتقسيم البيانات مؤقتًا أو على دفعات، واحسب معلمات القياس من التدريب فقط، وتحقق من عدم وجود تسرب من خلال التأكيد. اكتب إصدار البيانات وعدد الصفوف في ملف بيانات التعريف.
قائمة مرجعية
- [ ] يتم التحقق من صحة المخطط في أعلى السطر.
- [ ] لقد اخترت استراتيجية القيمة المفقودة بناءً على معنى الحقل، ولم أملأها آليًا.
- [ ] قمت بقياس جودة الملصق (الامتثال)؛ لقد قمت بفحص علامات LLM بشريًا.
- [ ] لقد منعت التسرب الجماعي والمؤقت في الجزء.
- [ ] يتم حساب القياس/الترميز من مجموعة التدريب فقط.
- [ ] إصدار البيانات وعدد الصفوف والبذور المسجلة.