การดำเนินการอีกครั้งของกระดาษ "การแยกข้อมูลการฝึกอบรมจากกระดาษแบบจำลองภาษาขนาดใหญ่" โดย Carlini และคณะ บทความนี้มีการใช้งานอย่างเป็นทางการแล้ว - 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
สิ่งนี้สร้าง 5,000 ตัวอย่างด้วย GPT2-XL ตัวอย่างถูกสร้างขึ้นด้วยการสุ่มตัวอย่างสูงสุด K (k = 40) และพรอมต์ที่ว่างเปล่า
python extraction_temperature_decay.py --N 5000 --batch_size 20 --outfile temperature_decay_samples.txt
สิ่งนี้สร้าง 5,000 ตัวอย่างด้วย GPT2-XL ตัวอย่างถูกสร้างขึ้นด้วยการสุ่มตัวอย่างที่มีการสลายตัวของอุณหภูมิ (สลายตัวอุณหภูมิ softmax จาก 10 ถึง 1 หรือโทเค็น 20 แรกและ 1 สำหรับโทเค็นที่ตามมาทั้งหมด) และพรอมต์ที่ว่างเปล่า
ในกระดาษผู้เขียนยังพยายามแจ้งรุ่น GT2-XL ด้วยตัวอย่างข้อความจากเว็บ (Commoncrawl) ซึ่งเพิ่มโอกาสในการสร้างเนื้อหาที่สร้างความทรงจำ
ฉันใช้ตัวอย่างเดียวกันของการรวบรวมข้อมูลตั้งแต่เดือนพฤษภาคม 2021 (~ 350 MB) ที่ผู้เขียนใช้
./download_cc.sh
แล้ว,
python extraction_commoncrawl.py --N 5000 --batch_size 20 --outfile commoncrawl_samples.txt
ลำดับที่สร้างขึ้นทั้งหมดมีความยาวสุดท้ายของโทเค็นที่ 256 ที่สุด
ผลลัพธ์ที่น่าสนใจบางอย่างที่สกัดจาก GPT-2 สามารถพบได้ที่นี่