تُعَد مجموعة موثوقًا بها من البيانات المستمدة من مصادر عالية الجودة ضرورية لإنتاج أنظمة ذكاء اصطناعي (AI) فعالة وتطبيقات النماذج اللغوية الكبيرة (LLM). يشمل إعداد البيانات تنظيف البيانات وتحويلها وعمليات متقدمة لتنظيم البيانات الأوَّلية غير المنظمة وتحويلها إلى مجموعة بيانات قابلة للاستخدام. وتتسم هذه العملية بالصعوبة، إذ قد تظل مشكلات الجودة مخفية ولا تظهر إلا في مراحل متأخرة من دورة حياة تطوير البرمجيات، ما يؤدي إلى جهود شاقة لتصحيح الأخطاء وتأخير المدة الإجمالية للمشروع. تُعَد البيانات عالية الجودة ضرورية لبناء تطبيقات مسؤولة للنماذج اللغوية الكبيرة والذكاء الاصطناعي، إذ قد تؤدي البيانات التي لم يتم إعدادها بشكل جيد إلى مخرجات متحيزة أو غير آمنة. وهناك أيضًا خطر انتهاك الخصوصية إذا تم إدراج معلومات التعريف الشخصية (PII) ضمن بيانات النموذج دون إدراك تداعيات ذلك على النحو المناسب. كما يمكن أن يؤدي ضعف إعداد البيانات إلى هدر الوقت والموارد. يكمن أساس تطوير الذكاء الاصطناعي التوليدي (Gen AI) المسؤول في إعداد بياناتك بشكل صحيح لبناء منتجك بكفاءة.
ولتزويد المطورين والمتخصصين في علوم البيانات بالأدوات اللازمة لمعالجة تحديات إعداد البيانات، أنشأت IBM مجموعة أدوات إعداد البيانات (DPK) مفتوحة المصدر. تُعَد DPK مجموعة أدوات مناسبة للممارسين لإعداد ملفات البيانات للتطبيقات المستندة إلى الذكاء الاصطناعي ومهام سير عمل النماذج اللغوية الكبيرة (LLM). ولتحقيق هذا الهدف، توفِّر DPK عدة "تحويلات" معيارية ضمن بيئة Python. يمكن للمستخدم استخدام "التحويلات" كفئات مستقلة، أو دمجها في مسار بيانات لتنظيف البيانات وتحويلها وتنظيمها من مصدر بيانات. تم تصميم DPK للتعامل مع نطاقات كبيرة، وتستخدم مجموعات بيانات عمودية مثل ملفات Parquet وبيئات تشغيل قابلة للتوسع مثل Ray وSpark. وتُتيح هذه الإمكانية إجراء إعداد البيانات على جهاز واحد أو مجموعة كبيرة من الأجهزة، ما يجعل معالجة البيانات أسرع. تم استخدام DPK بنجاح لإعداد البيانات لنماذج IBM® Granite، ما يُبرز فعاليتها في حالات الاستخدام الواقعية.
تتكوَّن DPK من ثلاثة عناصر بنائية رئيسية:
الوصول إلى البيانات والتحويل ووقت التشغيل.
الوصول إلى البيانات: يُتيح هذا العنصر طريقة موحَّدة لقراءة البيانات وكتابتها من مواقع تخزين مختلفة، مثل أنظمة الملفات المحلية ووحدات التخزين المتوافقة مع S3. ويدعم نقاط التحقق، بحيث إذا احتاجت إحدى المهام إلى إعادة التشغيل، فلن تعالج سوى الملفات التي لم يكتمل تنفيذها، ما يوفر الوقت والموارد.
التحويل: يوفر هذا العنصر وظائف محددة يتم تطبيقها على البيانات، بما في ذلك تحويل البيانات وإزالة البيانات المكررة والكشف عن معلومات التعريف الشخصية (PII). تضم DPK مكتبة متنامية من التحويلات التي تتضمن مجموعة من التحويلات التي تم إنشاؤها مسبقًا. وتُتيح المجموعة أيضًا للمساهمين الذين لا يمتلكون خبرة واسعة في أطر الحوسبة الموزعة، مثل Ray أو Spark، إنشاء تحويلات مخصصة خاصة بهم وتطويرها. يعمل كل تحويل كوحدة عمل مستقلة وقابلة للتهيئة، ويمكن دمجه ضمن مسارات العمل، كما يُتيح إعداد البيانات على نطاق النماذج اللغوية الكبيرة (LLM).
بيئة التشغيل: هي بيئة التنفيذ المحددة التي يتم استخدامها لتشغيل التحويل وتوزيع المهام ومراقبتها. يمكن تشغيل DPK في بيئات تشغيل مختلفة، بما في ذلك Python فقط (باستخدام المعالجة متعددة العمليات) وRay وSpark. وتمنح هذه الإمكانية المستخدم مرونة في توسيع نطاق إعداد البيانات، بدءًا من جهاز كمبيوتر محمول واحد ووصولًا إلى مجموعة كبيرة تضم آلاف العُقد. تتولى بيئة التشغيل إدارة توزيع المهام على وحدات التنفيذ. كما تُتيح بيئات التشغيل للتحويلات استخدام وظائف محددة، مثل الفئات المشتركة أو مخازن الكائنات. تتكون البنية الشاملة لبيئة التشغيل من مشغِّل التحويل (نقطة الدخول)، ومنسِّق التحويل (العنصر الذي يشغِّل سير العمل ويُنشئ وحدات التنفيذ)، ومعالجات الملفات (العنصر الذي يعالج كل ملف على حدة). سيستخدم المنسِّق بيئة التشغيل لتهيئة العناصر المشتركة ووصول البيانات الذي يُتيح له العثور على الملفات المطلوب العمل عليها. سيقرأ كل معالج للملفات البيانات ويعالجها ثم يكتب النتائج والبيانات الوصفية مرة أخرى باستخدام استدعاءات واجهة برمجة التطبيقات (API).
تتميز إمكانات DPK في الأتمتة وقابلية التوسع بالابتكار، إذ يمكنها دعم العديد من بيئات التشغيل مثل Local وRay وSpark.
وبفضل وظائفه الجديدة، تتميز DPK عن مشروعات إعداد البيانات المعروفة مثل BigCode وDataTrove وDolma. ومن أبرز عوامل تميُّزه عدد حالات الاستخدام التي يدعمها، مثل التدريب المسبق والضبط الدقيق والتوليد المعزز بالاسترجاع (RAG)، إلى جانب حجم البيانات التي يمكنه دعمها. وعلى عكس مجموعات الأدوات الأخرى التي تدعم نمطًا واحدًا من البيانات، تدعم DPK بيانات اللغة الطبيعية وبيانات التعليمات البرمجية. وتتميز DPK بقابلية التوسع والإضافة، ما يجعل من السهل إضافة أيّ عدد من الوحدات القابلة للتوسع.
ولأتمتة العمليات، توفِّر DPK واجهة سطر الأوامر (CLI) وخيارًا دون برمجة باستخدام Kubeflow Pipelines (KFP)، وهي منصة لنشر مهام سير عمل التعلم الآلي (ML) القابلة للتوسع على Kubernetes. وتوسِّع هذه الوظيفة نطاق المستخدمين المستهدفين وتُتيح تطبيق DPK على نطاق أوسع لدى علماء البيانات ومطوِّري تطبيقات الذكاء الاصطناعي.
تتضمن ميزات التكامل مع KFP ما يلي:
قابلية التوسع: يُتيح KFP التعامل مع مجموعات البيانات الكبيرة ومسارات العمل عالية التعقيد بفضل Kubernetes، وهي منصة حوسبة قابلة للتوسع عند الطلب.
النمطية: يتم تقسيم كل سير عمل إلى عناصر قابلة لإعادة الاستخدام، ما يجعل من السهل تنفيذ مهام سير العمل المعقدة وإجراء عمليات تصحيح الأخطاء الإضافية.
قابلية إعادة الإنتاج: يتم تتبُّع سجل كل عملية تنفيذ، ما يُتيح إعادة إنتاج التجارب.
التصور المرئي: توفِّر المنصة واجهة لمراقبة عمليات تشغيل مسارات العمل وعرض النتائج مرئيًا واستكشاف المشكلات وإصلاحها.
تدعم الدراسات التجريبية قابلية التوسع التي تتميز بها DPK. فعلى سبيل المثال، تحقق مجموعة الأدوات هذه انخفاضًا متناسبًا في وقت تنفيذ التحويلات كلما زاد نطاق المعالجة من خلال زيادة عدد عُقد المعالجة. ويمكنه التوسع بشكل متسق عبر مختلف أعباء العمل، بدءًا من إضافة التعليقات التوضيحية إلى البيانات البسيطة ووصولًا إلى تشغيل أعباء عمل أكثر تعقيدًا، مثل تحديد اللغة، الذي يتطلب تكاليف حوسبة إضافية.
مع تحسُّن قدرات أنظمة الذكاء الاصطناعي وزيادة أهميتها في عمليات اتخاذ القرارات، تزداد الحاجة الملحّة إلى إرساء حوكمة تُتيح استخدام ذكاء اصطناعي أخلاقي وآمن ومتوافق مع المتطلبات التنظيمية. ومع ذلك، من المهم التأكيد على أن الحوكمة لا تبدأ بالنماذج، بل تبدأ بالبيانات.
وتكمن القيمة الخاصة لمجموعة DPK في مساهمته المباشرة في تحقيق أهداف حوكمة الذكاء الاصطناعي:
الأمان: تحدِّد "تحويلات" DPK المحتوى السام أو الضار وتزيله من خلال إمكانات الكشف عن خطاب الكراهية والإساءة والألفاظ النابية (HAP).
الإنصاف: تُزيل "تحويلات" DPK التحيّز من خلال إزالة التكرار وتصفية البيانات منخفضة الجودة أو غير ذات الصلة.
الامتثال: تستدل "تحويلات" DPK على معلومات التعريف الشخصية (PII) وتعمل على تنقيحها بما يتوافق مع اللوائح المتعلقة بالخصوصية، مثل اللائحة العامة لحماية البيانات (GDPR) وقانون إخضاع التأمين الصحي لقابلية النقل والمساءلة (HIPAA).
الشفافية: تضيف "تحويلات" DPK قيم تجزئة المستندات ودرجات الجودة لتعزيز إمكانية تتبُّع البيانات وقابليتها للتدقيق.
سواء أكنت تعمل في مجال الرعاية الصحية أو الخدمات المالية أو الحكومة أو أي مجال تحظى فيه الثقة بأهمية كبيرة، تساعد DPK على إنشاء أنظمة ذكاء اصطناعي تستند إلى أساس من البيانات المسؤولة.
السيناريو: تعمل إحدى الجهات الحكومية على إنشاء نموذج لغوي كبير (LLM) متخصص في مجال معين للمساعدة على تلخيص المستندات القانونية. تحتوي مجموعة البيانات على سجلات عامة وإيداعات قانونية ووثائق للسياسات تم جمعها من مصادر مختلفة.
تحديات الحوكمة:
بعض المصادر غير موثَّقة أو تتسم بالتحيّز السياسي.
تتضمن مجموعة البيانات لغات متعددة.
قد تتضمن البيانات لغة سامة أو تحريضية.
يجب إزالة معلومات التعريف الشخصية (PII)، مثل الأسماء والعناوين.
تتكرر الإيداعات القانونية والنصوص النمطية بشكل شائع.
تتفاوت جودة المستندات تفاوتًا كبيرًا.
الحل: من خلال تطبيق وصفة حوكمة تستفيد من DPK، يمكن للجهة الحكومية ضمان أن تكون مجموعة البيانات:
مُستمدة من مصادر تراعي المعايير الأخلاقية.
متوافقة مع متطلبات الخصوصية.
عالية الجودة ومتنوعة.
جاهزة للتدريب المسؤول للنماذج اللغوية الكبيرة (LLM).
إذا كنت بحاجة إلى معالجة التحديات المطروحة في حالة الاستخدام السابقة، أو في أي سيناريو قائم يهدف إلى الحد من المخاطر المتعلقة بجودة البيانات والأمان والامتثال، فأنت بحاجة إلى مسار عمل يفرض سياسات الحوكمة على نحو أساسي. وتجعل DPK إنشاء هذا المسار ممكنًا من خلال توفير مجموعة من التحويلات المعيارية التي يمكنك ربطها معًا لتنظيف مجموعة البيانات وتصفيتها وإثرائها.
يوضِّح هذا الجدول مسار حوكمة بسيطًا من 6 خطوات، يستوفي المتطلبات الرئيسية لحوكمة الذكاء الاصطناعي. ترتبط بكل خطوة مخاطرة أو مشكلة تتعلق بالجودة، لضمان أن تكون مجموعة البيانات النهائية مستمدة من مصادر تراعي المعايير الأخلاقية ومتوافقة مع متطلبات الخصوصية وجاهزة لتطوير الذكاء الاصطناعي بشكل مسؤول.
لإنشاء مسار الحوكمة الخاص بك:
استنساخ المستودع: https://github.com/data-prep-kit/data-prep-kit
تثبيت التحويلات: pip install 'data-prep-toolkit-transforms[all]'
تكوين مسار العمل الخاص بك باستخدام KFP أو Python مع dpk_transform_chain.
تشغيل مسار العمل باستخدام واجهة سطر الأوامر (CLI)، أو دمجه في منصة البيانات لديك باستخدام Ray أو Spark.
تضم DPK مجموعة من التحويلات المُنشأة مسبقًا، والمصنَّفة وفقًا لمتطلبات إعداد البيانات المختلفة.
تحويلات استيعاب البيانات: تحوِّل هذه التحويلات البيانات من تنسيق واحد أو أكثر إلى تنسيق موحَّد. على سبيل المثال، تحويل ملفات التعليمات البرمجية المضغوطة إلى Parquet، وتحويل ملفات HTML/PDF إلى Parquet.
التحويلات العامة (للتعليمات البرمجية واللغة): يمكن استخدام هذه التحويلات مع كلٍّ من بيانات التعليمات البرمجية وبيانات اللغة الطبيعية. على سبيل المثال، الإزالة التامة للتكرار والإزالة التقريبية للتكرار لإزالة السجلات المكررة وتغيير حجم الملفات بما يتناسب مع الحجم المطلوب.
تحويلات اللغة فقط: يتم استخدام هذه التحويلات مع بيانات اللغة الطبيعية. وتشمل تحديد اللغة، الذي يحدِّد لغة النص، وأداة إضافة التعليقات التوضيحية إلى معلومات التعريف الشخصية (PII) أو تنقيحها، والتي تحدِّد معلومات التعريف الشخصية وتزيلها.
تحويلات التعليمات البرمجية فقط: يتم استخدام هذه التحويلات مع بيانات التعليمات البرمجية فقط. وتشمل إضافة التعليقات التوضيحية إلى لغات البرمجة وجودة التعليمات البرمجية، وتنظيف الرؤوس لمعالجة معلومات التراخيص وحقوق الطبع والنشر. ويحتوي الإطار أيضًا على تحويلات لتطبيقات RAG، مثل تقسيم المستندات إلى أجزاء وأداة تشفير نصوص تُنشئ متجهات تضمين للنصوص. وتُعَد هذه التحويلات عنصرًا أساسيًا في إعداد البيانات التي سيتم استخدامها في قاعدة بيانات متجهية.
تُعَد DPK عنصرًا أساسيًا لكل مَن يعمل على إنشاء تطبيقات الذكاء الاصطناعي، خاصةً تطبيقات النماذج اللغوية الكبيرة (LLM). تُعَد مجموعة الأدوات هذه إطارًا منظمًا وقابلًا للتوسع وموحَّدًا، يعمل على تبسيط عملية إعداد البيانات المعقدة والتي تكون شاقة في بعض الأحيان. ومن خلال مجموعة متكاملة من "التحويلات" المعيارية لدعم المطورين وعلماء البيانات، يمكنهم تنظيف البيانات غير المنسقة وتنظيمها ودمج جوانب مهمة من حوكمة الذكاء الاصطناعي في مهام سير عمل البيانات لديهم. ويساعدهم ذلك على ضمان جودة البيانات الأساسية المستخدمة في التدريب وموثوقيتها، وتعزيز المساءلة فيما يتعلق باستراتيجيات الأخلاقيات والخصوصية. تُسهم DPK في نهاية المطاف في تحسين أنظمة الذكاء الاصطناعي من خلال ضمان المسؤولية والموثوقية للمطورين، وتمكين الابتكار في النماذج مع الاستناد إلى قاعدة بيانات قوية.