اللعبة التي تحتاج فيها إلى تخمين ما إذا كانت تغريدة تأتي من الإنسان ، أو من نموذج لغة الشبكة العصبية المدربين على فئة من التغريدات.
يستخدم هذا المشروع مشاريع المصادر المفتوحة التالية لتطوير نماذجنا:
Twint لتجاهل بيانات Twitter من مجموعة من أسماء المستخدمين. بالنسبة لبعض مجموعات البيانات الأكبر ، يتم استخدام Scrapoxy كبركة وكيل لتجنب قائمة IP لـ Twitter.
تعانق محولات الوجه لضبط نموذج AI GPT-2 المفتوح على بيانات إضافية.
يتم نشر النماذج لنمذجة حديقة الحيوان لنقطة نهاية HTTP في الوقت الفعلي.
تطبيق React Frontend هو غلاف حول مجموعة بيانات من التغريدات الثابتة ونقاط نهاية حديقة الحيوان HTTP. انظر الوثائق الأمامية لمزيد من التفاصيل.
يحتوي البرنامج النصي download-tweets.sh على منهجيتنا لتجنب مجموعة بيانات Twitter مع Twint. يقبل البرنامج النصي $name ، ويبحث عن sources/$name.txt والتي يجب أن تحدد قائمة بمقابض Twitter لكشط منها. يطبق البرنامج النصي الكشط بعض الاستدلال الخام على محاولة تصفية التغريدات التي (1) ردود على التغريدات الأخرى و (2) لها روابط فيها. هذه الاستدلال ليست مثالية ، لكنني وجدت أنها عملت بشكل جيد بما فيه الكفاية.
عند إعداد العديد من مجموعات البيانات مع Twint ، وجدت أن Twitter كان في كثير من الأحيان قائمة على عنوان IP الخاص بنا بضع دقائق في عملية التجريف. للتغلب على هذا ، استخدمت Scrapoxy على EC2 لكشط من خمس مثيلات مختلفة من وكيل EC2 في وقت واحد.
تم إعداد العديد من مجموعات البيانات وإصدارها علنًا على AWS أنك حر في استخدامه:
| مجموعة البيانات | ملف المصادر | AWS S3 URL |
|---|---|---|
| رأس المال الاستثماري | https://github.com/model-zoo/twitter-turing-test/blob/master/sources/vc.txt | s3://modelzoo-datasets/text-generation/vc |
| الجمهوريون | https://github.com/model-zoo/twitter-turing-test/blob/master/sources/republicans.txt | s3://modelzoo-datasets/text-generation/republicans |
| الديمقراطيين | https://github.com/model-zoo/twitter-turing-test/blob/master/sources/democrats.txt | s3://modelzoo-datasets/text-generation/democrats |
| Covid-19 | https://github.com/model-zoo/twitter-turing-test/blob/master/sources/covid19.txt | s3://modelzoo-datasets/text-generation/covid19 |
شكرًا لك على Minimaxir/Download-Tweets-Ai-TextGen على توفير قائمة بمقابض Twitter الجمهوري والديمقراطي.
يتضمن train.py البرنامج النصي code كود لتحميل الأوزان المسبقة وضبط النموذج ، والذي تم تكييفه إلى حد كبير من مثال نمذجة لغة الوجه المعانقة. تم تدريب كل طراز على وحدة معالجة الرسومات K80 واحدة. تم تدريب جميع النماذج على حقبة واحدة باستثناء Covid-19 ، والتي كانت مجموعة بيانات أصغر قليلاً وتم تدريبها على عصرين. استغرق التدريب النموذجي في مكان ما بين 6 - 16 ساعة لكل نموذج.
يمكن تحسين عملية التدريب بشكل أكبر مع تحسين الفائقة والتجريب الإضافي. ترك هذا كتمرين للقارئ :)
يتم نشر النموذج تلقائيًا بعد التدريب باستخدام دعم transformers حديقة حيوانات النموذج وبعض خطوط التعليمات البرمجية:
textgen = pipeline("text-generation", model=model, tokenizer=tokenizer)
modelzoo.transformers.deploy(
textgen,
model_name="..."
resources_config=modelzoo.ResourcesConfig(memory_mb=2048, cpu_units=1024),
)
يرجى التأكد من تشغيل $ modelzoo auth لإنشاء أو تسجيل الدخول إلى حساب حديقة حيوان نموذج في بيئة التدريب الخاصة بك. بدلاً من ذلك ، يمكنك تعيين البيئة متغير MODELZOO_API_KEY وفقًا لذلك.
انظر modelzoo.transformers.deploy لمزيد من التفاصيل.