مكتبة بيانات تركيبية متساهلة من Gretel.ai
إذا كنت تريد اكتشاف مواد gretel-synthetics بسرعة، فما عليك سوى النقر فوق الزر أدناه واتباع البرامج التعليمية!
تحقق من أمثلة إضافية هنا.
سيرشدك هذا القسم خلال عملية تثبيت gretel-synthetics
والتبعيات التي لم يتم تثبيتها مباشرة بواسطة مدير حزم Python.
افتراضيًا، لا نقوم بتثبيت متطلبات أساسية معينة، ويجب تثبيت التبعيات التالية خارج تثبيت gretel-synthetics
، اعتمادًا على النموذج (النماذج) الذي تخطط لاستخدامه.
يمكن تثبيت هذه التبعيات عن طريق القيام بما يلي:
pip install tensorflow==2.12.1 # for LSTM
pip install sdv<0.18 # for ACTGAN
pip install torch==2.0 # for Timeseries DGAN
لتثبيت حزمة gretel-synthetics
الفعلية، قم أولاً باستنساخ الريبو ثم...
pip install -U .
أو
pip install gretel-synthetics
ثم...
pip install jupyter
jupyter notebook
عندما يتم تشغيل واجهة المستخدم في متصفحك، انتقل إلى examples/synthetic_records.ipynb
وابدأ في الإنشاء!
إذا كنت تريد تثبيت gretel-synthetics
محليًا واستخدام وحدة معالجة الرسومات (مستحسن):
conda
) conda create --name tf python=3.9
conda activate tf
./setup-utils/setup-gretel-synthetics-tensorflow24-with-gpu.sh
الخطوة الأخيرة هي تثبيت جميع حزم البرامج اللازمة لاستخدام وحدة معالجة الرسومات، tensorflow=2.8
و gretel-synthetics
. لاحظ أن هذا البرنامج النصي يعمل فقط مع Ubuntu 18.04. قد تحتاج إلى تعديله لإصدارات نظام التشغيل الأخرى.
تحتوي وحدة DGAN للسلاسل الزمنية على تطبيق PyTorch لنموذج DoppelGANger الذي تم تحسينه لبيانات السلاسل الزمنية. كما هو الحال مع Tensorflow، ستحتاج إلى تثبيت pytorch يدويًا:
pip install torch==1.13.1
يعرض هذا الكمبيوتر الدفتري الاستخدام الأساسي لمجموعة بيانات صغيرة من قراءات مستشعرات المنزل الذكي.
يعد ACTGAN (على أي حال CTGAN) امتدادًا لتطبيق CTGAN الشهير الذي يوفر بعض الوظائف الإضافية لتحسين استخدام الذاكرة والاكتشاف التلقائي وتحويل الأعمدة والمزيد.
لاستخدام هذا النموذج، ستحتاج إلى تثبيت SDV يدويًا:
pip install sdv<0.18
ضع في اعتبارك أن هذا سيؤدي أيضًا إلى تثبيت العديد من التبعيات مثل PyTorch التي يعتمد عليها SDV، والتي قد تتعارض مع إصدارات PyTorch المثبتة للاستخدام مع نماذج أخرى مثل Timeseries DGAN.
واجهة ACTGAN هي مجموعة شاملة من واجهة CTGAN. لرؤية الميزات الإضافية، يرجى إلقاء نظرة على دفتر ACTGAN التجريبي في دليل examples
في هذا الريبو.
تتيح هذه الحزمة للمطورين الانغماس بسرعة في توليد البيانات الاصطناعية من خلال استخدام الشبكات العصبية. يتم تجميع الأجزاء الأكثر تعقيدًا من العمل مع المكتبات مثل Tensorflow والخصوصية التفاضلية في فئات ووظائف Python سهلة الاستخدام. هناك وضعان عاليا المستوى يمكن استخدامهما.
سيقوم الوضع البسيط بتدريب سطر لكل سطر على ملف إدخال نصي. عند إنشاء البيانات، سينتج عن المولد كائنًا مخصصًا يمكن استخدامه بعدة طرق مختلفة بناءً على حالة الاستخدام الخاصة بك. يوضح هذا الكمبيوتر المحمول هذا الوضع.
تدعم هذه المكتبة ملفات CSV / DataFrames أصلاً باستخدام وضع DataFrame "الدُفعي". قدمت هذه الوحدة غلافًا حول وضعنا البسيط الموجه للعمل مع البيانات الجدولية. بالإضافة إلى ذلك، فهو قادر على التعامل مع عدد كبير من الأعمدة عن طريق تقسيم DataFrame المدخلات إلى "دفعات" من الأعمدة وتدريب نموذج على كل دفعة. يعرض دفتر الملاحظات هذا نظرة عامة حول استخدام هذه المكتبة مع DataFrames محليًا.
هناك أربعة مكونات أساسية يجب أن تكون على دراية بها عند استخدام هذه المكتبة.
التكوينات. التكوينات هي فئات خاصة بمحرك تعلم الآلة الأساسي المستخدم لتدريب البيانات وإنشائها. من الأمثلة على ذلك استخدام TensorFlowConfig
لإنشاء جميع المعلمات الضرورية لتدريب نموذج يعتمد على TF. LocalConfig
مستعار لـ TensorFlowConfig
للتوافق مع الإصدارات السابقة من المكتبة. يتم حفظ النموذج في دليل معين، والذي يمكن أرشفته واستخدامه لاحقًا بشكل اختياري.
الرموز المميزة. تقوم Tokenizers بتحويل نص الإدخال إلى معرفات قائمة على عدد صحيح يستخدمها محرك ML الأساسي. يمكن إنشاء هذه الرموز المميزة وإرسالها إلى مدخلات التدريب. يعد هذا أمرًا اختياريًا، وإذا لم يتم تحديد رمز مميز محدد، فسيتم استخدام رمز افتراضي. يمكنك العثور على مثال هنا يستخدم رمزًا مميزًا بسيطًا لكل حرف لإنشاء نموذج من ملف CSV للإدخال. عند التدريب في وضع خاص غير تفاضلي، نقترح استخدام رمز SentencePiece
الافتراضي، وهو أداة رمزية غير خاضعة للرقابة تتعلم وحدات الكلمات الفرعية (على سبيل المثال، تشفير زوج البايت (BPE) [Sennrich et al.]) ونموذج لغة unigram [Kudo. ]) للتدريب بشكل أسرع وزيادة دقة النموذج الاصطناعي.
تمرين. يجمع تدريب النموذج بين التكوين والرمز المميز ويبني نموذجًا، يتم تخزينه في الدليل المعين، والذي يمكن استخدامه لإنشاء سجلات جديدة.
جيل. بمجرد تدريب النموذج، يمكن إنشاء أي عدد من الأسطر أو السجلات الجديدة. اختياريًا، يمكن توفير أداة التحقق من صحة السجل للتأكد من أن البيانات التي تم إنشاؤها تلبي أي قيود ضرورية. راجع دفاتر ملاحظاتنا للحصول على أمثلة حول أدوات التحقق من الصحة.
بالإضافة إلى المكونات الأساسية الأربعة، تأتي حزمة gretel-synthetics
أيضًا مع مجموعة من الأدوات المساعدة التي تساعد في تدريب نماذج المواد التركيبية المتقدمة وتقييم مجموعات البيانات الاصطناعية.
تحمل بعض هذه الوظائف تبعيات كبيرة، لذا يتم شحنها كأداة إضافية تسمى utils
. لتثبيت هذه التبعيات، يمكنك تشغيل
pip install gretel-synthetics[utils]
للحصول على تفاصيل إضافية، يرجى الرجوع إلى مستندات واجهة برمجة التطبيقات لوحدة الأداة المساعدة.
يعتمد دعم الخصوصية التفاضلي لوضع TensorFlow الخاص بنا على العمل الرائع الذي يقوم به فريق Google TF ومكتبة خصوصية TensorFlow الخاصة بهم.
عند استخدام DP، نوصي حاليًا باستخدام أداة الرموز المميزة للأحرف لأنها لن تؤدي إلا إلى إنشاء مفردات من الرموز المميزة الفردية وتزيل خطر حفظ البيانات الحساسة كرموز مميزة فعلية يمكن إعادة تشغيلها أثناء الإنشاء.
هناك أيضًا بعض خيارات التكوين البارزة مثل:
predict_batch_size
على 1dp
learning_rate
و dp_noise_multiplier
و dp_l2_norm_clip
و dp_microbatches
لتحقيق قيم epsilon المختلفة.reset_states
يرجى الاطلاع على مثال دفتر الملاحظات الخاص بنا لتدريب نموذج DP استنادًا إلى مجموعة بيانات جائزة Netflix.