مشاركة عبر


تحميل البيانات باستخدام تدفق الفسيفساء

توضح هذه المقالة كيفية استخدام تدفق الفسيفساء لتحويل البيانات من Apache Spark إلى تنسيق متوافق مع PyTorch.

تدفق الفسيفساء هو مكتبة تحميل بيانات مصدر مفتوح. فهو يتيح تدريب وتقييم عقدة واحدة أو موزعة لنماذج التعلم العميق من مجموعات البيانات التي تم تحميلها بالفعل ك Apache Spark DataFrames. يدعم تدفق الفسيفساء بشكل أساسي Composer الفسيفساء، ولكنه يتكامل أيضا مع PyTorch الأصلي، وPyTorch Lightning، وS torchDistributor. يوفر تدفق الفسيفساء سلسلة من الفوائد على PyTorch DataLoaders التقليدية بما في ذلك:

  • التوافق مع أي نوع بيانات، بما في ذلك الصور والنص والفيديو والبيانات متعددة الوسائط.
  • دعم موفري التخزين السحابي الرئيسيين (AWS وOCI وGCS وAzure وDatabricks UC Volume وأي مخزن كائنات متوافق مع S3 مثل Cloudflare R2 و Coreweave و Backblaze b2 وما إلى ذلك)
  • زيادة ضمانات التصحيح والأداء والمرونة وسهولة الاستخدام إلى أقصى حد. لمزيد من المعلومات، اعرض صفحة الميزات الرئيسية الخاصة بهم.

للحصول على معلومات عامة حول تدفق الفسيفساء، اعرض وثائق Streaming API.

إشعار

تم تثبيت تدفق الفسيفساء مسبقا في جميع إصدارات Databricks Runtime 15.2 ML والإصدارات الأحدث.

تحميل البيانات من Spark DataFrames باستخدام تدفق الفسيفساء

يوفر تدفق الفسيفساء سير عمل مباشر للتحويل من Apache Spark إلى تنسيق جزء بيانات الفسيفساء (MDS) الذي يمكن تحميله بعد ذلك للاستخدام في بيئة موزعة.

سير العمل الموصى به هو:

  1. استخدم Apache Spark لتحميل البيانات ومعالجة البيانات مسبقا اختياريا.
  2. استخدم streaming.base.converters.dataframe_to_mds لحفظ إطار البيانات إلى القرص للتخزين العابر و/أو إلى وحدة تخزين كتالوج Unity للتخزين المستمر. سيتم تخزين هذه البيانات بتنسيق MDS ويمكن تحسينها بشكل أكبر مع دعم الضغط والتجزئة. يمكن أن تتضمن حالات الاستخدام المتقدمة أيضا المعالجة المسبقة للبيانات باستخدام UDFs. اعرض البرنامج التعليمي Spark DataFrame إلى MDS لمزيد من المعلومات.
  3. يستخدم streaming.StreamingDataset لتحميل البيانات الضرورية إلى الذاكرة. StreamingDataset هو إصدار من PyTorch's IterableDataset الذي يتميز بالخلط الحتمي بمرونة، والذي يتيح استئنافا سريعا في منتصف الفترة. اعرض وثائق StreamingDataset لمزيد من المعلومات.
  4. يستخدم streaming.StreamingDataLoader لتحميل البيانات الضرورية للتدريب/التقييم/الاختبار. StreamingDataLoader هو إصدار من DataLoader الخاص ب PyTorch والذي يوفر واجهة نقطة تحقق/ استئناف إضافية، والتي يتعقب من أجلها عدد العينات التي يراها النموذج في هذا الترتيب.

للحصول على مثال شامل، راجع دفتر الملاحظات التالي:

تبسيط تحميل البيانات من Spark إلى PyTorch باستخدام دفتر ملاحظات تدفق الفسيفساء

الحصول على دفتر الملاحظات