เกมที่คุณต้องเดาว่าทวีตมาจากมนุษย์หรือจากรูปแบบภาษาเครือข่ายประสาทที่ได้รับการฝึกฝนในหมวดหมู่ของทวีต
โครงการนี้ใช้โครงการโอเพ่นซอร์สต่อไปนี้เพื่อพัฒนาโมเดลของเรา:
Twint สำหรับการขูดข้อมูล Twitter จากชุดชื่อผู้ใช้ สำหรับชุดข้อมูลที่ใหญ่กว่าบางชุด Scrapoxy จะใช้เป็นพร็อกซีพูลสำหรับการหลีกเลี่ยงบัญชีดำ IP ของ Twitter
กอดหม้อแปลงใบหน้าเพื่อปรับแต่งรุ่น Open AI GPT-2 บนข้อมูลเพิ่มเติม
โมเดลถูกนำไปใช้กับ Model Zoo สำหรับจุดสิ้นสุด HTTP แบบเรียลไทม์
แอปพลิเคชัน React Frontend เป็น wrapper รอบชุดข้อมูลของทวีตคงที่และจุดสิ้นสุดของ Zoo 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-tural-test/blob/master/sources/vc.txt | s3://modelzoo-datasets/text-generation/vc |
| พรรครีพับลิกัน | https://github.com/model-zoo/twitter-tural-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 |
| โควิด 19 | https://github.com/model-zoo/twitter-tural-test/blob/master/sources/covid19.txt | s3://modelzoo-datasets/text-generation/covid19 |
ขอขอบคุณสำหรับ Minimaxir/Download-Tweets-AI-TEXTGEN สำหรับการจัดหารายการของพรรครีพับลิกันและพรรคประชาธิปัตย์ Twitter
Script train.py รวมถึงรหัสเพื่อโหลดน้ำหนักที่ได้รับการฝึกฝนและปรับโมเดลอย่างละเอียดส่วนใหญ่ดัดแปลงมาจากตัวอย่างการสร้างแบบจำลองภาษาใบหน้ากอด แต่ละรุ่นได้รับการฝึกฝนใน K80 GPU เดียว ทุกรุ่นได้รับการฝึกฝนสำหรับยุคเดียวยกเว้น COVID-19 ซึ่งเป็นชุดข้อมูลที่เล็กกว่าเล็กน้อยและได้รับการฝึกฝนสำหรับสองยุค การฝึกอบรมแบบจำลองใช้เวลาระหว่าง 6 - 16 ชั่วโมงสำหรับแต่ละรุ่น
กระบวนการฝึกอบรมสามารถปรับปรุงเพิ่มเติมด้วยการเพิ่มประสิทธิภาพไฮเปอร์พารามิเตอร์และการทดลองเพิ่มเติม สิ่งนี้เหลืออยู่เป็นแบบฝึกหัดให้กับผู้อ่าน :)
โมเดลจะถูกปรับใช้โดยอัตโนมัติหลังจากการฝึกอบรมโดยใช้ Model Zoo 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 เพื่อสร้างหรือเข้าสู่ระบบบัญชี Zoo Model ในสภาพแวดล้อมการฝึกอบรมของคุณ หรือคุณสามารถตั้งค่าตัวแปรสภาพแวดล้อม MODELZOO_API_KEY ได้
ดู modelzoo.transformers.deploy สำหรับรายละเอียดเพิ่มเติม