Pembungkus yang mudah digunakan untuk model transformator GPT-2 124m, 345m, 774m, dan 1.5B
Apa itu • instalasi • memulai
Dibuat oleh Rishabh Anand • https://rish-16.github.io
GPT-2 adalah model pemrosesan bahasa alami yang dikembangkan oleh OpenAi untuk pembuatan teks. Ini adalah penerus model GPT (transformator pra-terlatih generatif) yang dilatih pada teks 40GB dari Internet. Ini fitur model transformator yang terungkap oleh perhatian adalah semua yang Anda butuhkan kertas pada tahun 2017. Model ini memiliki 4 versi - 124M
, 345M
, 774M
, dan 1558M
- yang berbeda dalam hal jumlah data pelatihan yang diumpankan padanya dan jumlah parameter yang mereka dikandung.
Model 1.5b saat ini merupakan model terbesar yang tersedia yang dirilis oleh OpenAI.
Akhirnya, gpt2-client
adalah pembungkus di sekitar repositori gpt-2
asli yang menampilkan fungsionalitas yang sama tetapi dengan lebih banyak aksesiblitas, kelengkapan, dan utilitas. Anda dapat bermain-main dengan keempat model GPT-2 dalam kurang dari lima baris kode.
*Catatan : Pembungkus klien ini sama sekali tidak bertanggung jawab atas kerusakan yang disebabkan secara langsung atau tidak langsung. Setiap nama, tempat, dan objek yang dirujuk oleh model ini fiksi dan tidak mencari kemiripan dengan entitas atau organisasi kehidupan nyata. Sampel tanpa filter dan mungkin berisi konten ofensif. Kebijaksanaan pengguna disarankan.*
Instal klien melalui pip
. Idealnya, gpt2-client
didukung dengan baik untuk python> = 3.5 dan tensorflow> = 1.x. Beberapa perpustakaan mungkin perlu diinstal ulang atau ditingkatkan menggunakan flag --upgrade
melalui pip
jika Python 2.x digunakan.
pip install gpt2-client
Catatan:
gpt2-client
tidak kompatibel dengan TensorFlow 2.0, coba TensorFlow 1.14.0
1. Unduh Bobot dan Pos Pemeriksaan Model
from gpt2_client import GPT2Client
gpt2 = GPT2Client ( '124M' ) # This could also be `355M`, `774M`, or `1558M`. Rename `save_dir` to anything.
gpt2 . load_model ( force_download = False ) # Use cached versions if available.
Ini membuat direktori yang disebut models
dalam direktori kerja saat ini dan mengunduh bobot, pos pemeriksaan, model JSON, dan hyper-parameter yang diperlukan oleh model. Setelah Anda memanggil fungsi load_model()
, Anda tidak perlu menyebutnya lagi dengan asumsi bahwa file telah selesai diunduh di direktori models
.
Catatan: Set
force_download=True
untuk menimpa bobot dan pos pemeriksaan model yang ada yang ada
2. Mulai menghasilkan teks!
from gpt2_client import GPT2Client
gpt2 = GPT2Client ( '124M' ) # This could also be `355M`, `774M`, or `1558M`
gpt2 . load_model ()
gpt2 . generate ( interactive = True ) # Asks user for prompt
gpt2 . generate ( n_samples = 4 ) # Generates 4 pieces of text
text = gpt2 . generate ( return_text = True ) # Generates text and returns it in an array
gpt2 . generate ( interactive = True , n_samples = 3 ) # A different prompt each time
Anda dapat melihat dari sampel yang disebutkan di atas bahwa opsi generasi sangat fleksibel. Anda dapat mencampur dan mencocokkan berdasarkan jenis teks apa yang perlu Anda hasilkan, baik itu beberapa potongan atau satu per satu dengan petunjuk.
3. Menghasilkan teks dari batch prompt
from gpt2_client import GPT2Client
gpt2 = GPT2Client ( '124M' ) # This could also be `355M`, `774M`, or `1558M`
gpt2 . load_model ()
prompts = [
"This is a prompt 1" ,
"This is a prompt 2" ,
"This is a prompt 3" ,
"This is a prompt 4"
]
text = gpt2 . generate_batch_from_prompts ( prompts ) # returns an array of generated text
4. Menyempurnakan GPT-2 ke Dataset Kustom
from gpt2_client import GPT2Client
gpt2 = GPT2Client ( '124M' ) # This could also be `355M`, `774M`, or `1558M`
gpt2 . load_model ()
my_corpus = './data/shakespeare.txt' # path to corpus
custom_text = gpt2 . finetune ( my_corpus , return_text = True ) # Load your custom dataset
Untuk menyempurnakan GPT-2 ke corpus atau dataset khusus Anda, sangat ideal untuk memiliki GPU atau TPU. Google Colab adalah salah satu alat yang dapat Anda gunakan untuk melatih/menyempurnakan model kustom Anda.
5. Urutan Teks Pengkodean dan Decoding
from gpt2_client import GPT2Client
gpt2 = GPT2Client ( '124M' ) # This could also be `355M`, `774M`, or `1558M`
gpt2 . load_model ()
# encoding a sentence
encs = gpt2 . encode_seq ( "Hello world, this is a sentence" )
# [15496, 995, 11, 428, 318, 257, 6827]
# decoding an encoded sequence
decs = gpt2 . decode_seq ( encs )
# Hello world, this is a sentence
Saran, perbaikan, dan peningkatan selalu diterima! Jika Anda memiliki masalah, silakan angkat satu di bagian masalah. Jika Anda memiliki peningkatan, lakukan mengajukan masalah untuk membahas saran sebelum membuat PR.
Semua ide - tidak peduli seberapa keterlaluan - selamat datang!
Sumber terbuka sangat menyenangkan. Sumbangan Anda memotivasi saya untuk menghidupkan ide -ide segar. Jika tertarik untuk mendukung upaya open-source saya, silakan donasi-itu sangat berarti bagi saya!
Mit