GPT2-Chinese
คำอธิบาย
- รหัสฝึกอบรม GPT2 เวอร์ชันภาษาจีนโดยใช้ Bert Tokenizer หรือ BPE Tokenizer มันขึ้นอยู่กับพื้นที่เก็บข้อมูลที่ยอดเยี่ยมมากจาก Transformers ทีม HuggingFace สามารถเขียนบทกวีข่าวนวนิยายหรือฝึกอบรมรูปแบบภาษาทั่วไป รองรับระดับถ่านระดับคำและระดับ BPE สนับสนุนคลังการฝึกอบรมขนาดใหญ่
- รหัสการฝึกอบรม GPT2 ของจีนใช้โมเดล Tokenizer ของ Bert หรือ Sentencepiece ของ BPE (ขอบคุณการมีส่วนร่วมของ Kangzhonghua การใช้โมเดล BPE ต้องปรับเปลี่ยนรหัสของ Train.py) เล็กน้อย คุณสามารถเขียนบทกวีข่าวนวนิยายหรือฝึกฝนรูปแบบภาษาทั่วไป รองรับหน่วยคำโหมดคำนามคำหรือโหมด BPE (ต้องใช้รหัสรถไฟที่ปรับเปลี่ยนเล็กน้อย) สนับสนุนการฝึกอบรมคลังข้อมูลขนาดใหญ่
อัปเดต 04.11.2024
- ขอบคุณมากสำหรับความสนใจของคุณในโครงการนี้ นับตั้งแต่การเปิดตัวของ CHATGPT โครงการนี้ยังดึงดูดความสนใจอีกครั้ง โครงการนี้เป็นโปรแกรมการฝึกอบรมสำหรับฉันที่จะเรียนรู้ Pytorch ด้วยตัวเองและฉันไม่มีความตั้งใจที่จะทำการบำรุงรักษาและการอัปเดตระยะยาว หากคุณมีความสนใจใน Big Model LLM คุณสามารถส่งอีเมลถึงฉัน ([email protected]) เพื่อเข้าร่วมกลุ่มเพื่อสื่อสารหรือหารือเกี่ยวกับปัญหา
อัปเดต 02.06.2021
โครงการนี้ได้เพิ่มรูปแบบ GPT-2 ที่ผ่านการฝึกอบรมมาก่อนภาษาจีนซึ่งเป็นรุ่นเล็ก ๆ ที่ผ่านการฝึกอบรมมาก่อนภาษาจีน GPT-2 ซึ่งเป็นรูปแบบการฝึกอบรมก่อนฝึกอบรมภาษาจีน GPT-2 และรูปแบบการฝึกอบรมก่อนการฝึกอบรมของจีนแบบคลาสสิก โมเดลได้รับการฝึกฝนโดยโครงการ UER-PY และยินดีที่จะใช้งาน นอกจากนี้โมเดลจะถูกอัปโหลดไปยังฮับโมเดล HuggingFace สำหรับรายละเอียดเพิ่มเติมของโมเดลโปรดดูที่ GPT2-Chinese-Cluecorpussmall, GPT2-Distil-Chinese-Cluecorpussmall, GPT2-Chinese-lyric และ GPT2-Chinese-ancient
เมื่อสร้างโดยใช้ทุกรุ่นคุณต้องเพิ่มสัญลักษณ์เริ่มต้นก่อนที่ข้อความที่ป้อนเช่น: หากคุณต้องการเข้าสู่ "สิ่งที่สวยงามที่สุดไม่ใช่วันฝนตกมันเป็นชายคาที่หลบหนีจากคุณ" รูปแบบที่ถูกต้องคือ "[cls] สิ่งที่สวยงามที่สุดไม่ใช่วันฝนตก
อัปเดต 11.03.2020
โครงการนี้ได้เพิ่มโมเดลบทกวีโบราณ GPT-2 ที่ผ่านการฝึกอบรมมาก่อนและโมเดล Couplet GPT-2 ที่ผ่านการฝึกอบรมมาก่อน โมเดลได้รับการฝึกฝนโดยโครงการ UER-PY และยินดีที่จะใช้งาน นอกจากนี้โมเดลจะถูกอัปโหลดไปยังฮับโมเดล HuggingFace สำหรับรายละเอียดเพิ่มเติมของโมเดลโปรดดูที่ GPT2-Chinese-POEM และ GPT2-Chinese-Couplet
เมื่อสร้างโดยใช้โมเดลบทกวีโบราณคุณต้องเพิ่มสัญลักษณ์เริ่มต้นก่อนที่ข้อความที่ป้อนเช่น: หากคุณต้องการป้อน "Meishan เป็นเหมือน Jiqing" รูปแบบที่ถูกต้องคือ "[CLS] Meishan เป็นเหมือน Jiqing"
รูปแบบคลังข้อมูลที่ใช้ในการฝึกอบรมโมเดล Couplet คือ "Couplet-Lower Couplet" เมื่อใช้โมเดล Couplet เพื่อสร้างตัวละครเริ่มต้นจะต้องเพิ่มก่อนข้อความอินพุตเช่น: หากคุณต้องการเข้าสู่ "Danfeng River Lengren Chu Go-" รูปแบบที่ถูกต้องคือ "[CLS] Danfeng River Lengren Chu Go-"
ข่าว 08.11.2020
- CDIAL-GPT (สามารถโหลดได้ด้วยรหัสนี้) ได้รับการเผยแพร่ โครงการนี้มีชุดข้อมูลการสนทนาแบบเปิดโดเมนขนาดใหญ่ที่ทำความสะอาดอย่างเคร่งครัด โครงการนี้ยังมีรูปแบบการสนทนาที่ผ่านการฝึกอบรมล่วงหน้า GPT ที่ผ่านการฝึกอบรมไว้ในชุดข้อมูลนี้และตัวอย่างที่สร้างขึ้น ทุกคนยินดีที่จะเยี่ยมชม
ข่าว 12.9.2019
- โครงการใหม่ GPT2-Chitchat ได้รับการเผยแพร่ส่วนหนึ่งขึ้นอยู่กับรหัสของโครงการนี้ มันมีรหัสและรูปแบบการฝึกอบรมสำหรับการฝึกอบรมรูปแบบการสนทนา GPT2 รวมถึงสร้างตัวอย่าง ทุกคนยินดีที่จะเยี่ยมชม
ข่าว 12.7.2019
- ตัวถอดรหัสโครงการใหม่-จีน TF2.0 ยังสนับสนุนการฝึกอบรมจีนสำหรับ GPT2 ซึ่งใช้งานง่ายกว่าและไม่ทำให้เกิดปัญหาต่าง ๆ ได้อย่างง่ายดาย มันยังอยู่ในขั้นตอนการทดสอบและทุกคนยินดีที่จะแสดงความคิดเห็น
ข่าว 11.9
- GPT2-ML (ไม่มีการเชื่อมโยงโดยตรงกับโครงการนี้) ได้รับการเผยแพร่และมีรุ่น 1.5B จีน GPT2 หากคุณสนใจหรือต้องการมันคุณสามารถแปลงเป็นรูปแบบ pytorch ที่สนับสนุนโดยโครงการนี้สำหรับการฝึกอบรมเพิ่มเติมหรือการทดสอบการสร้าง
อัปเดต 10.25
- รูปแบบก่อนการฝึกอบรมครั้งแรกของโครงการนี้ได้รับการประกาศและเป็นรูปแบบการสร้างร้อยแก้ว สำหรับรายละเอียดโปรดตรวจสอบส่วนการแชร์โมเดล ReadMe
สถานะโครงการ
- ในช่วงเวลาของการประกาศของโครงการนี้ทรัพยากร GPT2 ของจีนเกือบจะเป็นศูนย์และสถานการณ์ก็แตกต่างกัน ประการที่สองฟังก์ชั่นโครงการมีความเสถียรโดยทั่วไปดังนั้นโครงการนี้จึงหยุดชั่วคราว ความตั้งใจดั้งเดิมของฉันในการเขียนรหัสเหล่านี้คือการฝึกฝนโดยใช้ Pytorch แม้ว่าฉันจะทำงานบางอย่างในภายหลัง แต่ก็ยังมีหลายแง่มุมที่ยังไม่บรรลุนิติภาวะดังนั้นโปรดเข้าใจ
วิธีใช้
- สร้างโฟลเดอร์ข้อมูลในไดเรกทอรีรูทโครงการ ใส่คลังการฝึกอบรมลงในไดเรกทอรีข้อมูลภายใต้ชื่อ Train.json Train.json เป็นรายการ JSON และแต่ละองค์ประกอบของรายการคือเนื้อหาข้อความของบทความที่จะได้รับการฝึกฝน (ไม่ใช่ลิงค์ไฟล์)
- เรียกใช้ไฟล์ Train.py และตรวจสอบ -Raw เพื่อประมวลผลข้อมูลล่วงหน้าโดยอัตโนมัติ
- หลังจากการประมวลผลล่วงหน้าเสร็จสิ้นการฝึกอบรมจะดำเนินการโดยอัตโนมัติ
สร้างข้อความ
python ./generate.py --length=50 --nsamples=4 --prefix=xxx --fast_pattern --save_samples --save_samples_path=/mnt/xx
- -FAST_PATTERN (สนับสนุนโดย LeEcp8): หากพารามิเตอร์ความยาวที่สร้างขึ้นนั้นค่อนข้างเล็กและโดยทั่วไปแล้วความเร็วจะไม่แตกต่างกันฉันทดสอบความยาวส่วนตัว = 250 ซึ่งเร็วกว่า 2 วินาทีดังนั้นถ้า-Fast_Pattern ไม่ได้เพิ่มวิธี FAST_PATTERN โดยค่าเริ่มต้น
- -SAVE_SAMPLES : โดยค่าเริ่มต้นตัวอย่างเอาต์พุตจะถูกพิมพ์โดยตรงไปยังคอนโซล ผ่านพารามิเตอร์นี้และจะถูกบันทึกไว้ใน samples.txt ในไดเรกทอรีรูท
- -SAVE_SAMPLES_PATH : คุณสามารถระบุไดเรกทอรีที่บันทึกไว้ด้วยตัวเอง คุณสามารถสร้างไดเรกทอรีหลายระดับซ้ำโดยค่าเริ่มต้น คุณไม่สามารถผ่านชื่อไฟล์ได้ ชื่อไฟล์เป็น ตัวอย่าง txt โดยค่าเริ่มต้น
โครงสร้างไฟล์
- generate.py และ train.py เป็นสคริปต์สำหรับรุ่นและการฝึกอบรมตามลำดับ
- Train_single.py เป็นส่วนขยายของ Train.py ที่สามารถใช้สำหรับรายการขนาดใหญ่ของแต่ละองค์ประกอบ (เช่นการฝึกอบรมหนังสือบนท้องฟ้า)
- eval.py ใช้เพื่อประเมินคะแนน PPL ของแบบจำลองที่สร้างขึ้น
- generate_texts.py เป็นส่วนขยายของ generate.py มันสามารถสร้างประโยคหลายประโยคด้วยคำหลักเริ่มต้นของรายการและส่งออกไปยังไฟล์
- Train.json เป็นตัวอย่างรูปแบบของตัวอย่างการฝึกอบรมสำหรับการอ้างอิง
- โฟลเดอร์แคชมีคำศัพท์ Bert หลายคำ Make_vocab.py เป็นสคริปต์ที่ช่วยสร้างคำศัพท์บนไฟล์รถไฟ Json Corpus Vocab.txt เป็นคำศัพท์ Bert ดั้งเดิม Vocab_all.txt ได้เพิ่มคำศัพท์โบราณเพิ่มเติมและ Vocab_small.txt เป็นคำศัพท์เล็ก ๆ
- โฟลเดอร์ Tokenizations เป็น tokenizers สามประเภทที่สามารถเลือกได้รวมถึง Bert Tokenizer เริ่มต้นรุ่นที่เป็นคำนามของ Bert Tokenizer และ BPE Tokenizer
- สคริปต์รวมถึงการฝึกอบรมตัวอย่างและสคริปต์รุ่น
สังเกต
- โครงการนี้ใช้ tokenizer ของ Bert ในการประมวลผลอักขระจีน
- หากคุณไม่ได้ใช้เวอร์ชันอนุภาคโทเคนิเซอร์และไม่จำเป็นต้องจำแนกคำด้วยตัวเองล่วงหน้าโทเคนิเซอร์จะช่วยให้คุณแบ่งมัน
- หากคุณใช้รุ่น Tokenizer ควรใช้ไฟล์ make_vocab.py ในโฟลเดอร์แคชเพื่อสร้างรายการคำศัพท์สำหรับคลังข้อมูลของคุณ
- แบบจำลองจะต้องคำนวณด้วยตัวเอง หากคุณเสร็จสิ้นการฝึกอบรมล่วงหน้าโปรดอย่าลังเลที่จะสื่อสาร
- หากหน่วยความจำของคุณมีขนาดใหญ่มากหรือคลังข้อมูลมีขนาดเล็กคุณสามารถเปลี่ยนรหัสที่เกี่ยวข้องในไฟล์บิลด์ใน Train.py และประมวลผลคลังข้อมูลล่วงหน้าโดยตรงโดยไม่แยกออก
- หากคุณใช้ BPE tokenizer คุณต้องสร้างรายการคำภาษาจีนของคุณเอง
วัสดุ
- สามารถดาวน์โหลดได้จากที่นี่และที่นี่
- Doupo Sky Corpus สามารถดาวน์โหลดได้จากที่นี่
FP16 และการสนับสนุนการสะสมไล่ระดับสี
- ฉันได้เพิ่ม FP16 และการสนับสนุนการสะสมการไล่ระดับสีลงในไฟล์รถไฟ หากคุณติดตั้ง Apex และรู้ว่า FP16 คืออะไรคุณสามารถเปลี่ยนตัวแปร FP16 = TRUE เพื่อเปิดใช้งานได้ อย่างไรก็ตามในปัจจุบัน FP16 อาจไม่มาบรรจบกันด้วยเหตุผลที่ไม่ทราบสาเหตุ
ติดต่อผู้เขียน
การอ้าง
@misc{GPT2-Chinese,
author = {Zeyao Du},
title = {GPT2-Chinese: Tools for training GPT2 model in Chinese language},
year = {2019},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {url{https://github.com/Morizeyao/GPT2-Chinese}},
}
การแบ่งปันแบบจำลอง
| ชื่อนางแบบ | การแนะนำแบบจำลอง | แบ่งปันโดย | ที่อยู่ลิงค์ 1 | ที่อยู่ลิงค์ 2 |
|---|
| รูปแบบร้อยแก้ว | ใช้ร้อยแก้วที่มีชื่อเสียงร้อยแก้วร้อยแก้วและการฝึกอบรมบทกวีร้อยแก้ว | Hughqiu | Baidu Netdisk 【 fpyu 】 | gdrive |
| รูปแบบบทกวี | ผลลัพธ์ของการฝึกอบรมโดยใช้บทกวีโบราณประมาณ 800,000 บทใน 180MB | hhou435 | Baidu Netdisk 【 7fev 】 | gdrive |
| โมเดลคู่ | รายได้จากการฝึกอบรมจากการใช้ประมาณ 700,000 คู่ 40MB | hhou435 | Baidu Netdisk 【 i5n0 】 | gdrive |
| รุ่นจีนทั่วไป | ผลลัพธ์ที่ได้จากการฝึกอบรม CLUECORPUSSMALL CORPUS | hhou435 | Baidu Netdisk [N3S8] | gdrive |
| รุ่นเล็ก ๆ ของจีนทั่วไป | ผลลัพธ์ที่ได้จากการฝึกอบรม CLUECORPUSSMALL CORPUS | hhou435 | Baidu Netdisk [RPJK] | gdrive |
| รูปแบบเนื้อเพลงจีน | ผลการฝึกอบรมได้รับโดยใช้เนื้อเพลงจีนประมาณ 150,000 เนื้อเพลง 140MB | hhou435 | Baidu Netdisk 【 0qnn 】 | gdrive |
| รูปแบบภาษาจีนคลาสสิก | ได้รับการฝึกอบรมจีนคลาสสิกประมาณ 3 ล้านชิ้นโดยใช้ 1.8GB | hhou435 | Baidu Netdisk [EK2Z] | gdrive |
นี่คือไฟล์โมเดลที่ได้รับจากการฝึกอบรมของเพื่อนที่กระตือรือร้นและใจดีและมีความสุขและเปิดให้เพื่อนทุกคนใช้ ในเวลาเดียวกันพันธมิตรทุกคนยินดีที่จะเปิดเผยรูปแบบที่พวกเขาได้รับการฝึกฝนที่นี่
การสาธิต
- โมเดลที่ได้รับการฝึกฝนโดยผู้ใช้ Jameshujy ตามรหัสที่แก้ไขของคลังสินค้านี้ใช้เป็นพื้นหลังของข้อที่มีการควบคุมและ quatrains รุ่นใหม่ของ Nine Songs Poetry Generator ได้เปิดตัวแล้ว
- สนับสนุนโดย Leemengtaiwan มันมีบทความที่ให้การแนะนำโดยตรงกับ GPT-2 และวิธีการมองเห็นกลไกการดูแลตนเอง นอกจากนี้ยังมีสมุดบันทึกและรุ่น Colab สำหรับผู้ใช้ทุกคนเพื่อสร้างตัวอย่างใหม่ในครั้งเดียว
สร้างตัวอย่าง
-ต่อไปนี้เป็นตัวอย่างของการสร้างบทความวรรณกรรมที่มีส่วนร่วมโดย Hughqiu และรูปแบบได้รับการแบ่งปันในรายการการแชร์โมเดล Corpus 130MB, ชุดขนาด 16, 10 รอบของการฝึกที่ 10 ชั้นของความลึก


- ต่อไปนี้เป็นตัวอย่างของ Doupo Cangqiong GPT2 ที่มีพารามิเตอร์ประมาณ 50 เมตรได้รับการฝึกอบรมเกี่ยวกับเนื้อหานวนิยาย Doupo Cangqiong 16MB ที่มีขนาด 32 -batch ที่นี่ [ก.ย. ] หมายถึงบรรทัดใหม่

- ต่อไปนี้เป็นตัวอย่างของการสร้างบทกวีโบราณซึ่งคำนวณและสนับสนุนโดยผู้ใช้ Jameshujy


- ต่อไปนี้เป็นตัวอย่างตัวอย่างหลังจากการสร้างบทกวีโบราณซึ่งคำนวณและสนับสนุนโดยผู้ใช้ Jameshujy



- ต่อไปนี้เป็นข้อความตัวอย่างของสคริปต์ที่สร้างขึ้นซึ่งคำนวณและสนับสนุนโดยผู้ใช้ Chiangandy
[StartText] พล็อตเรื่องเกมรักบอกเล่าเรื่องราวของความรักที่น่ารักระหว่างพ่อกับลูกสาวของเปียโนผู้ชมที่ทำงานหนักและคุณค่าเพื่อความเป็นจริงเพื่อชีวิตและได้รับความรัก สื่อบันทึกสต็อก 1980 ถูกแชร์โดยชาวเน็ต มันเป็นน้องชายของผู้อำนวยการแบรนด์ของผู้สร้างหลักเฉิน Layun ในปี 2014 ซึ่งเป็นประเทศใหญ่ของแม่น้ำเซี่ยงไฮ้ Huaihe แม้ว่าเยาวชนของ บริษัท แนวหน้าไม่ได้มีอาชีพ แต่ Lan Zhengshi ปฏิเสธที่จะเข้าใจ การเกิดขึ้นของแนวคิดความช่วยเหลือของ Lan Yue ได้เปิดความเข้าใจผิดที่ชัดเจนและธุรกิจได้กลายเป็นแม่น้ำรัก ในซีรีย์ทีวีโดยไม่ตั้งใจละครทีวีเปลี่ยนชะตากรรม พวกเขาทั้งสามได้รับมอบหมายให้สร้างสรรค์ในอุบัติเหตุทางรถยนต์ พวกเขาถูกถามเกี่ยวกับความเข้าใจผิดและความสามารถต่ำที่สำคัญในอุตสาหกรรม เฉิน Zhao และ Tang Shishiyan เริ่มต้น "ความสัมพันธ์ 2014" ที่แตกต่างอย่างสิ้นเชิง ทั้งสองมีตัวละครร่วมกันและมีการรักษาร่วมกัน แม้ว่าพวกเขาจะเป็นการเดินทางในหอพักเล็ก ๆ ที่บันทึกโดยมหาวิทยาลัยปักกิ่ง Huaqiao รุ่นหลังยุค 90 และคนหนุ่มสาวที่โดดเด่นเช่น Tang Ru และ Sheng ชีวิตของผู้คนต่างกันอย่างไรกับความปรารถนาของพวกเขา และทำไมพวกเขาถึงประสบความสำเร็จและกังวลซึ่งกันและกัน? [endtext]
[starttext] การเรียนรู้ความรักส่วนใหญ่บอกเล่าเรื่องราวของสองคู่ของ Xiaaman หลังจากการทดสอบที่ไร้สาระในที่สุดพวกเขาก็เลือกลูกสามคนและเริ่มต้นธุรกิจด้วยกันเพื่อสร้างลูกสี่คนและเริ่มต้นธุรกิจที่ประสบความสำเร็จในเมืองใหญ่ ทั้งสอง บริษัท เข้าร่วมปักกิ่งซิตี้และหลังจากระยะเวลาหนึ่งเมืองก็กลายเป็นความวุ่นวายและแตกต่างกันในที่สุดพวกเขาก็ได้รับความรักที่แท้จริงในความฝันของพวกเขา พิธีเปิดตัวของตัวละครผู้ประกอบการหลักเช่นอุดมคติของสปอนเซอร์ซีรีย์ทีวีละคร ฯลฯ จัดขึ้นในปักกิ่ง ละครเรื่องนี้มีพื้นฐานมาจากมุมมองทางทีวีของผู้มาใหม่สามคนในไหหลำ มันบอกเล่าเรื่องราวของคนหนุ่มสาวหลายคนที่มีการปรับปรุงไม่ใช่โรแมนติกในปักกิ่งและคนตลก ด้วยคนหนุ่มสาวในยุคคู่ที่ไม่เหมือนใครจากปักกิ่งถึงปักกิ่งการกลายเป็นเมืองของจีนเมืองใหญ่ของจีนได้พัฒนาไปหมดแล้ว ด้วยการเปลี่ยนแปลงในเมืองภาษาในขณะที่วิถีชีวิตที่ค่อยเป็นค่อยไปของพวกเขาได้จัดแสดงความหยาบคายอย่างง่ายสำหรับทิศทางของตนเอง มันถ่ายทำในสมัยร่วมสมัย จะอยู่ในเมืองนี้ได้อย่างไร? ดังนั้นเมืองที่สงบคือสไตล์ของเมือง จางจางสนับสนุนการสร้างงานและนี่คือจุดที่จำเป็นต้องสร้างการประชุมลูกเรือละครสนามบิน ผู้คนที่เปลี่ยนเป็นหมากรุกและวัฒนธรรมนั้นมีเอกลักษณ์และน่าตื่นเต้นเชื่อมโยงกันตลกและมาจากภาคตะวันออกเฉียงเหนือที่สวยงามและแผ่นดินใหญ่และเด็กหญิงสองคนกล้าที่จะเรียกว่าหญิงสาว ผู้คนในการผสมผสานทำให้เป็นเรื่องตลกและอารมณ์ที่น่าประทับใจทำให้ผู้คนดูตลกมาก สิ่งที่พวกเขารู้คือผู้สนับสนุนครอบครัวต่างชาติ "ภาคตะวันออกเฉียงเหนือ" ซึ่งทำให้เธอดูดีในการอ่านละคร หลังจากนั้น Qi Fei, Qi Fei, Fan ER, Chu Yuezi และ Bai Tianjie ผู้แสดงความรักต่อเขา มิตรภาพระหว่างสองชั่วอายุคนดูเหมือนจะไม่มีการผสมผสานระหว่างข้อความที่ร่าเริงและยอดเยี่ยม [endtext]
- ต่อไปนี้เป็นตัวอย่างของการสร้างนวนิยาย Jin Yong และ Wu Qi ซึ่งสนับสนุนโดย Leemengtaiwan ขนาดของรุ่นอยู่ที่ประมาณ 82 เมตรวัสดุภาษาคือ 50MB และขนาดแบทช์คือ 16 จัดทำบทความเพื่อแนะนำ GPT-2 และวิธีการมองเห็นกลไกการดูแลตนเอง นอกจากนี้ยังมีสมุดบันทึกและรุ่น Colab สำหรับผู้ใช้ทุกคนเพื่อสร้างตัวอย่างใหม่ในครั้งเดียว



