إعادة تنفيذ ورقة "استخراج بيانات التدريب من نماذج اللغة الكبيرة" من تأليف Carlini et al. تحتوي الورقة بالفعل على تنفيذ رسمي - https://github.com/ftramer/lm_memorization ، والتي استعارتها أجزاء من الكود ، في نفس الوقت تحسين قابلية قراءة بعض الوظائف.
ومع ذلك ، فإن المستودع الرسمي لا يغطي -
كنت مفتونًا حقًا بالورقة وأردت تنفيذه بنفسي. مثل التنفيذ الرسمي ، قمت أيضًا بتضمين ملف samples.md ، والذي يحتوي على بعض المحتوى المحفوظ الذي يمكنني استخراجه من GPT-2. على الرغم من أنني قادر على العثور على بعض المحتوى المحفوظ المثير للاهتمام ، إلا أن النتائج لا تزال لديها بعض القيود -
أو مباشرة
pip install -r requirements.txt
يتم تصنيف العينات التي تم إنشاؤها وفقًا لستة مقاييس استنتاج العضوية المقدمة في الورقة:
تتم طباعة أفضل 10 عينات وفقًا لكل مقياس ، وتسجيل أعلى 100 عينة وفقًا لكل متري AE في الخارج . من المحتمل أن تحتوي هذه العينات على نص حرفي من بيانات التدريب GPT-2.
python extraction_top_n.py --N 5000 --batch_size 20 --outfile top_n_samples.txt
هذا يولد 5000 عينة مع GPT2-XL. يتم إنشاء العينات مع أخذ العينات العلوية K (K = 40) ومطالبة فارغة.
python extraction_temperature_decay.py --N 5000 --batch_size 20 --outfile temperature_decay_samples.txt
هذا يولد 5000 عينة مع GPT2-XL. يتم إنشاء العينات مع أخذ العينات مع تحلل درجة الحرارة (تحلل درجة حرارة SoftMax من 10 إلى 1 أو أول 20 رمزًا و 1 لجميع الرموز اللاحقة) ومطالبة فارغة.
في الورقة ، حاول المؤلفون أيضًا دفع نموذج GT2-XL مع مقتطفات من النص من الويب (CommonCrawl) مما زاد من فرصة توليد المحتوى المحفوظ.
لقد استخدمت نفس العينة من الزحف من مايو 2021 (حوالي 350 ميجابايت) المستخدمة من قبل المؤلفين.
./download_cc.sh
ثم،
python extraction_commoncrawl.py --N 5000 --batch_size 20 --outfile commoncrawl_samples.txt
جميع التسلسلات التي تم إنشاؤها لها طول نهائي من 256 رمز الرموز.
يمكن العثور على بعض المخرجات المثيرة للاهتمام التي تم استخراجها من GPT-2 هنا.