GPT2-Cina
Keterangan
- Versi Cina dari kode pelatihan GPT2, menggunakan Bert Tokenizer atau BPE Tokenizer. Ini didasarkan pada repositori yang sangat luar biasa dari Transformers Tim HuggingFace. Dapat menulis puisi, berita, novel, atau melatih model bahasa umum. Dukung level char, level kata dan level BPE. Mendukung corpus pelatihan besar.
- Kode pelatihan GPT2 Cina menggunakan model BPE Bert Tokenizer atau Kalif Kalif (berkat kontribusi Kangzhonghua, mengimplementasikan model BPE memerlukan sedikit memodifikasi kode train.py). Anda dapat menulis puisi, berita, novel, atau melatih model bahasa umum. Mendukung unit kata, mode kata participle atau mode BPE (membutuhkan kode train.py yang sedikit dimodifikasi). Mendukung pelatihan korpus besar.
Perbarui 04.11.2024
- Terima kasih banyak atas perhatian Anda pada proyek ini. Sejak rilis ChatGPT, proyek ini juga menarik perhatian lagi. Proyek itu sendiri adalah program pelatihan bagi saya untuk belajar Pytorch sendirian, dan saya tidak punya niat untuk melakukan pemeliharaan dan pembaruan jangka panjang. Jika Anda tertarik dengan Big Model LLM, Anda dapat mengirim email kepada saya ([email protected]) untuk bergabung dengan grup untuk berkomunikasi, atau mendiskusikannya dalam masalah.
Perbarui 02.06.2021
Proyek ini telah menambahkan model pra-terlatih GPT-2 Cina umum, model kecil pra-terlatih GPT-2 Cina umum, model pra-terlatih Lirik GPT-2 Cina dan model pra-terlatih GPT-2 Cina klasik. Model ini dilatih oleh proyek UER-PY dan dipersilakan untuk menggunakannya. Selain itu, model ini diunggah ke hub model Huggingface. Untuk detail lebih lanjut dari model ini, silakan merujuk ke GPT2-Chinese-Cluecorpussmall, GPT2-Distil-Chinese-Cluecorpussmall, GPT2-Chinese-Lylic dan GPT2-Chinese-Qinesent.
Saat menghasilkan menggunakan semua model, Anda perlu menambahkan simbol awal sebelum teks yang dimasukkan, seperti: jika Anda ingin memasukkan "hal yang paling indah bukanlah hari hujan, itu adalah atap yang melarikan diri dari Anda", format yang benar adalah "[CLS] yang paling indah bukanlah hari hujan, itu adalah atap yang melarikan diri dari Anda".
Perbarui 11.03.2020
Proyek ini telah menambahkan model pra-terlatih puisi kuno GPT-2 dan model pra-terlatih GPT-2. Model ini dilatih oleh proyek UER-PY dan dipersilakan untuk menggunakannya. Selain itu, model ini diunggah ke hub model Huggingface. Untuk detail lebih lanjut dari model ini, silakan merujuk ke GPT2-Chinese-poem dan GPT2-Chinese-coupet.
Saat menghasilkan menggunakan model puisi kuno, Anda perlu menambahkan simbol awal sebelum teks yang dimasukkan, seperti: jika Anda ingin memasukkan "Meishan seperti jiqing," format yang benar adalah "[cls] meishan seperti jiqing,".
Format corpus yang digunakan dalam pelatihan model bait adalah "cuplet couplet couplet atas". Saat menggunakan model bait untuk menghasilkan, karakter awal perlu ditambahkan sebelum teks input, seperti: jika Anda ingin memasukkan "Danfeng River Lengren Chu Go-", format yang benar adalah "[CLS] Danfeng River Lengren Chu Go-".
Berita 08.11.2020
- CDIAL-GPT (dapat dimuat dengan kode ini) telah dipublikasikan. Proyek ini berisi dataset dialog Cina berskala besar yang dibersihkan secara ketat. Proyek ini juga berisi model pra-terlatih dialog GPT yang dilatih pada dataset ini dan sampel yang dihasilkan. Semua orang dipersilakan untuk berkunjung.
Berita 12.9.2019
- Proyek baru GPT2-chitchit telah dirilis, sebagian didasarkan pada kode proyek ini. Ini berisi kode dan model pelatihan untuk pelatihan model dialog GPT2, serta menghasilkan sampel. Semua orang dipersilakan untuk berkunjung.
Berita 12.7.2019
- Proyek baru Decoders-Chinese-TF2.0 juga mendukung pelatihan Cina untuk GPT2, yang lebih mudah digunakan dan tidak mudah menyebabkan berbagai masalah. Itu masih dalam tahap pengujian, dan semua orang dipersilakan untuk memberikan pendapat mereka.
Berita 11.9
- GPT2-ML (tidak ada hubungan langsung dengan proyek ini) telah dirilis dan berisi model GPT2 Cina 1.5B. Jika Anda tertarik atau membutuhkannya, Anda dapat mengubahnya menjadi format Pytorch yang didukung oleh proyek ini untuk pelatihan atau pengujian generasi lebih lanjut.
Perbarui 10.25
- Model pra-terlatih pertama dari proyek ini telah diumumkan dan merupakan model generasi prosa. Untuk detailnya, silakan periksa bagian Berbagi Model ReadMe.
Status proyek
- Pada saat pengumuman proyek ini, sumber daya GPT2 Cina hampir nol, dan situasinya sekarang berbeda. Kedua, fungsi proyek pada dasarnya stabil, jadi proyek ini telah dihentikan sementara. Niat asli saya untuk menulis kode -kode ini adalah berlatih menggunakan Pytorch. Bahkan jika saya melakukan beberapa pekerjaan di tahap selanjutnya, masih ada banyak aspek yang belum matang, jadi harap dipahami.
Cara menggunakan
- Buat folder data di direktori root proyek. Masukkan corpus pelatihan ke dalam direktori data di bawah nama train.json. Train.json adalah daftar JSON, dan setiap elemen dari daftar adalah konten teks dari artikel yang akan dilatih (bukan tautan file) .
- Jalankan file train.py dan periksa - -raw untuk preprocess data secara otomatis.
- Setelah preprocessing selesai, pelatihan akan dilakukan secara otomatis.
Menghasilkan teks
python ./generate.py --length=50 --nsamples=4 --prefix=xxx --fast_pattern --save_samples --save_samples_path=/mnt/xx
- ---fast_pattern (disumbangkan oleh leecp8): Jika parameter panjang yang dihasilkan relatif kecil dan kecepatan pada dasarnya tidak berbeda, saya secara pribadi menguji panjang = 250, yang 2 detik lebih cepat, jadi jika ---fast_pattern tidak ditambahkan, maka metode FEEP_Pattern tidak digunakan secara default.
- --Save_samples : Secara default, sampel output akan dicetak langsung ke konsol. Lulus parameter ini dan akan disimpan dalam sampel.txt di direktori root.
- ---save_samples_path : Anda dapat menentukan direktori yang disimpan sendiri. Anda dapat membuat direktori multi-level secara rekursif secara default. Anda tidak dapat meneruskan nama file. Nama file adalah sampel.txt secara default.
Struktur file
- menghasilkan.py dan train.py adalah skrip untuk generasi dan pelatihan masing -masing.
- train_single.py adalah perpanjangan dari train.py yang dapat digunakan untuk daftar besar elemen individu (seperti melatih buku di langit).
- Eval.py digunakan untuk mengevaluasi skor PPL dari model yang dihasilkan.
- Generate_texts.py adalah ekstensi dari generate.py. Ini dapat menghasilkan beberapa kalimat dengan kata kunci awal dari daftar dan mengeluarkannya ke file.
- Train.json adalah contoh format sampel pelatihan untuk referensi.
- Folder Cache berisi beberapa Vocab Bert. make_vocab.py adalah skrip yang membantu membuat kosakata pada file corpus train.json. Vocab.txt adalah Vocab Bert Asli, Vocab_all.txt telah menambahkan vocab kuno tambahan, dan Vocab_Small.txt adalah vocab kecil.
- Folder Tokenisasi adalah tiga jenis tokenizer yang dapat dipilih, termasuk Bertokenizer Default, versi Participle dari Berkenizer dan BPE Tokenizer.
- Script termasuk pelatihan sampel dan skrip pembuatan
Melihat
- Proyek ini menggunakan tokenizer Bert untuk memproses karakter Cina.
- Jika Anda tidak menggunakan versi Tokenizer Participle dan tidak perlu mengklasifikasikan kata sendiri sebelumnya, tokenizer akan membantu Anda membaginya.
- Jika Anda menggunakan versi Tokenizer Participle, yang terbaik adalah menggunakan file make_vocab.py di folder cache untuk membuat daftar kosa kata untuk corpus Anda.
- Model perlu dihitung dengan sendirinya. Jika Anda telah menyelesaikan pra-pelatihan, jangan ragu untuk berkomunikasi.
- Jika ingatan Anda sangat besar atau korpus kecil, Anda dapat mengubah kode yang sesuai dalam file build di train.py dan preprocess corpus secara langsung tanpa membelahnya.
- Jika Anda menggunakan BPE Tokenizer, Anda perlu membuat daftar kata Cina sendiri
Bahan
- Dapat diunduh dari sini dan di sini.
- Doupo Sky Corpus dapat diunduh dari sini.
FP16 dan dukungan akumulasi gradien
- Saya telah menambahkan FP16 dan dukungan akumulasi gradien ke file train.py. Jika Anda menginstal Apex dan tahu apa itu FP16, Anda dapat mengubah variabel FP16 = benar untuk mengaktifkannya. Namun, saat ini, FP16 mungkin tidak bertemu, karena alasan yang tidak diketahui.
Hubungi penulis
Mengutip
@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}},
}
Berbagi model
| Nama model | Model Pendahuluan | Dibagikan oleh | Alamat tautan 1 | Alamat Tautan 2 |
|---|
| Model prosa | Gunakan 130MB Prosa Terkenal, Prose Emosional dan Pelatihan Puisi Prosa. | Hughqiu | Baidu Netdisk 【fpyu】 | Gdrive |
| Model puisi | Hasil pelatihan menggunakan sekitar 800.000 puisi kuno dalam 180MB. | HHOU435 | Baidu Netdisk 【7fev】 | Gdrive |
| Model bait | Penghasilan pelatihan dari menggunakan sekitar 700.000 bait 40MB. | HHOU435 | Baidu Netdisk 【i5n0】 | Gdrive |
| Model Cina Umum | Hasil yang diperoleh dengan menggunakan pelatihan corpus cluecorpussmall. | HHOU435 | Baidu Netdisk [N3S8] | Gdrive |
| Model Kecil Cina Umum | Hasil yang diperoleh dengan menggunakan pelatihan corpus cluecorpussmall. | HHOU435 | Baidu Netdisk [RPJK] | Gdrive |
| Model lirik Cina | Hasil pelatihan diperoleh dengan menggunakan sekitar 150.000 lirik Cina dari 140MB. | HHOU435 | Baidu Netdisk 【0qnn】 | Gdrive |
| Model Cina Klasik | Sekitar 3 juta karya pelatihan Cina klasik diperoleh dengan menggunakan 1.8GB. | HHOU435 | Baidu Netdisk [EK2Z] | Gdrive |
Berikut adalah file model yang diperoleh dari pelatihan teman -teman git yang antusias dan murah hati, dan terbuka untuk semua teman untuk digunakan. Pada saat yang sama, semua mitra dipersilakan untuk mengungkapkan model yang telah mereka latih di sini.
Demo
- Model yang dilatih oleh pengguna Jameshujy berdasarkan kode yang dimodifikasi dari gudang ini digunakan sebagai latar belakang ayat dan quatrain yang diatur. Versi baru dari Generator Puisi Sembilan Lagu telah diluncurkan.
- Dikontribusikan oleh Leemengtaiwan, ini menyediakan artikel yang memberikan pengantar langsung ke GPT-2 dan bagaimana memvisualisasikan mekanisme perhatian diri. Colab Notebooks dan model juga disediakan untuk pengguna mana pun untuk menghasilkan contoh baru dalam sekali jalan.
Menghasilkan sampel
-Lalu adalah contoh dari generasi esai sastra, disumbangkan oleh Hughqiu, dan model telah dibagikan dalam daftar berbagi model. Corpus 130MB, ukuran batch 16, 10 putaran pelatihan pada 10 lapisan kedalaman. 


- Berikut ini adalah generasi sampel Doupo Cangqiong. GPT2 dengan sekitar 50m parameter dilatih pada konten novel 16MB Doupo Cangqiong dengan ukuran 32Batch. Di sini [SEP] berarti baris baru.

- Berikut ini adalah sampel dari generasi puisi kuno, yang dihitung dan disumbangkan oleh pengguna Jameshujy.


- Berikut ini adalah generasi sampel setelah generasi puisi kuno, yang dihitung dan disumbangkan oleh pengguna Jameshujy.



- Berikut ini adalah teks sampel dari skrip yang dihasilkan, yang dihitung dan dikontribusikan oleh pengguna Chiangandy.
[StartText] Plot permainan cinta menceritakan kisah cinta yang lucu antara ayah dan putri piano, penonton dengan kerja keras dan nilai untuk realitas seumur hidup, dan mendapatkan serangkaian cinta. Media perekaman saham 1980 -an dibagikan oleh netizens. Itu adalah saudara dari direktur merek pencipta utama Chen Layun pada tahun 2014, negara besar Sungai Shanghai Huaihe. Meskipun pemuda perusahaan depan tidak memiliki karier, Lan Zhengshi menolak untuk memahaminya. Munculnya konsep bantuan Lan Yue telah membuka kesalahpahaman yang jelas dan bisnis telah menjadi Sungai Cinta. Dalam serial TV yang tidak disengaja, serial TV mengubah nasibnya. Mereka bertiga ditugaskan untuk kreasi mereka dalam kecelakaan mobil. Mereka ditanya tentang kesalahpahaman dan bakat rendah di industri ini. Chen Zhao dan Tang Shishiyan memulai "hubungan 2014" yang sama sekali berbeda. Keduanya memiliki karakter timbal balik dan memiliki obat bersama. Meskipun mereka adalah perjalanan asrama kecil yang dicatat oleh Universitas Beijing Huaqiao, generasi pasca-90-an, dan orang-orang muda yang luar biasa seperti Tang Ru dan Sheng, bagaimana kehidupan orang bertentangan dengan keinginan mereka dan menciptakan bersama? Dan mengapa mereka memiliki kesuksesan dan perhatian satu sama lain? [endtext]
[StartText] Belajar cinta terutama menceritakan kisah dua pasang Xiaoman. Setelah tes konyol, mereka akhirnya memilih tiga anak dan memulai bisnis bersama untuk menciptakan empat anak, dan memulai bisnis yang sukses di kota besar. Kedua perusahaan bergabung dengan Beijing City, dan setelah periode waktu tertentu, kota itu diubah menjadi kekacauan dan berbeda, mereka akhirnya mendapatkan cinta sejati impian mereka. Upacara pembukaan karakter wirausaha utama seperti cita -cita sponsor, serial TV, drama, dll. Diadakan di Beijing. Drama ini didasarkan pada perspektif TV tiga pendatang baru di Hainan. Ini menceritakan kisah beberapa orang muda yang telah meningkatkan non-romantics dalam generasi Beijing dan komedi. Dengan orang-orang muda era ganda yang unik dari Beijing ke Beijing, urbanisasi China, kota-kota besar China telah keluar dari pembangunan. Dengan perubahan di kota -kota bahasa, sementara gaya hidup bertahap mereka telah menggelar vulgar sederhana untuk arah mereka sendiri. Difilmkan di zaman kontemporer. Bagaimana cara berada di kota ini? Jadi kota yang tenang adalah gaya kota. Zhang JiaHe mendukung penciptaan kerja, dan ini adalah titik bahwa perlu membuat pertemuan kru drama bandara. Orang -orang yang bertransformasi menjadi catur dan budaya sangat unik dan sensasional, saling terkait, lucu, dan berasal dari timur laut yang indah dan daratan, dan kedua gadis itu berani disebut gadis bisu. Orang -orang dalam jalinan membuat lelucon, dan temperamen yang mengesankan membuat orang terlihat sangat komedi. Apa yang mereka ketahui adalah pendukung keluarga asing "timur laut", yang membuatnya terlihat pandai membaca drama. Setelah itu, qi fei, qi fei, fan er, chu yuezi dan bai tianjie yang menyatakan cinta kepadanya. Persahabatan antara dua generasi tampaknya tanpa kombinasi pernyataan ceria dan indah. [endtext]
- Berikut ini adalah contoh dari generasi novel Jin Yong dan Wu Qi, yang disumbangkan oleh Leemengtaiwan. Ukuran model sekitar 82m, bahan bahasa adalah 50MB, dan ukuran batch adalah 16. Menyediakan artikel untuk memperkenalkan GPT-2 dan cara memvisualisasikan mekanisme perhatian diri. Colab Notebooks dan model juga disediakan untuk pengguna mana pun untuk menghasilkan contoh baru dalam sekali jalan.



