Cara Menyesuaikan Penjanaan Teks dalam Transformers

Cara Menyesuaikan Penjanaan Teks Dalam Transformers



Dalam pembelajaran mendalam, penjanaan teks merujuk kepada proses menyesuaikan teks secara automatik dalam bahasa semula jadi dengan bantuan Rangkaian Neural Buatan(ANN) . Selain itu, model bahasa yang berbeza digunakan untuk tujuan tertentu yang telah dilatih pada set data besar untuk meramalkan perkataan yang akan datang dalam urutan bergantung pada perkataan sebelumnya. Selain itu, teks tersuai boleh digunakan untuk berbilang aplikasi termasuk terjemahan bahasa, menjana kandungan, chatbots dan banyak lagi.

Dalam blog ini, kami akan membincangkan kandungan yang disediakan di bawah:

Bagaimana untuk Menyesuaikan Penjanaan Teks dengan Memuatkan Model Dengan Fungsi 'talian paip' daripada Transformers?

' saluran paip fungsi ” digunakan untuk memuat turun model AI pra-latihan secara automatik mengikut keperluan pengguna. Untuk menggunakan fungsi tertentu ini, pengguna perlu memasang ' transformer ” pakej. Pakej ini memberikan akses kepada model berasaskan Transformer yang canggih yang boleh melakukan analisis sentimen serta pelbagai lagi. Pemprosesan bahasa semula jadi (NLP) tugasan.







Untuk melihat demonstrasi praktikal senario yang diterangkan di atas, beralih ke langkah yang diberikan di bawah!



Langkah 1: Pasang Pakej 'transformers'.

Pada mulanya, laksanakan “! pip” arahan untuk memasang pakej transformer:



! pip pasang transformer

Seperti yang anda lihat, pakej yang ditentukan telah berjaya dipasang:





Langkah 2: Import Model berasaskan Transformer

Selepas itu, import model berasaskan transformer yang diperlukan. Untuk berbuat demikian, pertama, import ' saluran paip fungsi ” daripada “ transformer ”. Seterusnya, gunakan fungsi yang diimport dan lulus ' penjanaan teks ' sebagai hujah kepadanya bersama-sama dengan nama model yang diperlukan ' gpt2 ”. Seterusnya, serahkannya ke “ menjana ” pembolehubah:



daripada transformer import saluran paip

menjana = saluran paip ( 'penjanaan teks' , model = 'gpt2' )

Langkah 3: Hasilkan Teks Sesuaikan

Sekarang, hantar teks yang dikehendaki sebagai hujah kepada “ menjana ”. Seperti yang ditunjukkan di bawah:

menjana ( 'Dengan menggunakan model gpt2 untuk menjana teks dalam transformer' )

Menurut output yang disediakan, 'pra-latihan' yang dimuat turun. gpt3 ” model telah berjaya menghasilkan teks:

Anda juga boleh menggunakan argumen lain, seperti:

segera = 'Dengan menggunakan model gpt2 untuk menjana teks dalam transformer'

cetak ( gen ( segera , num_return_sequences = 5 , panjang maksimum = dua puluh ) )

di sini:

  • segera ” digunakan sebagai hujah yang memberikan input.
  • num_return_sequence ” argumen digunakan untuk menjana bilangan jujukan teks yang disediakan.
  • panjang maksimum ” argumen digunakan untuk menentukan panjang teks yang dihasilkan. Dalam kes kami, ia terhad kepada ' 30 ” token(perkataan atau tanda baca):

Catatan: Teks tersuai akan menjadi kesinambungan gesaan yang ditentukan yang berdasarkan data latihan model.

Bagaimana untuk Menggunakan Model Berasaskan Transformer untuk Menjana Teks dalam PyTorch?

Pengguna juga boleh menyesuaikan teks dalam ' PyTorch ' yang mana satu ' obor ” rangka kerja pembelajaran mesin berasaskan. Ia digunakan untuk aplikasi yang berbeza, seperti NLP dan Computer Vision. Untuk menggunakan model berasaskan pengubah untuk menyesuaikan teks dalam PyTorch, pertama, import ' GPT2Tokenizer ” dan “ GPT2Model ” fungsi daripada “ transformer ”:

daripada transformer import GPT2Tokenizer , GPT2Model

Kemudian, gunakan ' GPT2Tokenizer ” tokenizer mengikut model pra-latihan yang kami kehendaki bernama “ gpt2 ”:

tokenizer = GPT2Tokenizer. from_pretrained ( 'gpt2' )

Selepas itu, membuat instance pemberat daripada model yang telah dilatih:

model = GPT2Model. from_pretrained ( 'gpt2' )

Seterusnya, isytiharkan ' gen_text ” pembolehubah yang memegang teks yang ingin kami sesuaikan:

gen_text = 'Dengan menggunakan model gpt2 untuk menjana teks dalam transformer'

Sekarang, lulus ' gen_text ” dan “ return_tensors=‘pt’ ” sebagai hujah yang akan menjana teks dalam PyTorch dan menyimpan nilai yang dijana dalam “ input_encoded ” pembolehubah:

input_encoded = tokenizer ( gen_text , return_tensors = 'pt' )

Akhir sekali, lulus ' input_encoded ” pembolehubah yang menyimpan teks tersuai kepada “ model ' sebagai parameter dan dapatkan output yang terhasil menggunakan ' panjang maksimum ” hujah yang ditetapkan kepada “ dua puluh ” yang menunjukkan bahawa teks yang dijana akan dihadkan kepada token yang disediakan, “ num_return_sequences ” yang ditetapkan kepada “ 5 ” yang menunjukkan bahawa teks yang dijana akan bergantung pada 5 jujukan teks:

pengeluaran = model ( **encoded_input )

penjana ( gen_text , panjang maksimum = dua puluh , num_return_sequences = 5 )

Pengeluaran

Bagaimana untuk Menggunakan Model Berasaskan Transformer untuk Menjana Teks dalam TensorFlow?

Untuk menjana teks dalam Transformers, ' TensorFlow ” rangka kerja pembelajaran mesin berasaskan juga digunakan. Untuk berbuat demikian, pertama, import fungsi yang diperlukan, seperti ' GPT2Tokenizer ” dan “ TFGPT2Model ' daripada ' transformer ”. Selebihnya kod adalah sama seperti di atas, cuma kita gunakan ' TFGPT2Model fungsi ” dan bukannya “ GPT2Model ” fungsi. Seperti berikut:

daripada transformer import GPT2Tokenizer , TFGPT2Model

tokenizer = GPT2Tokenizer. from_pretrained ( 'gpt2' )

model = TFGPT2Model. from_pretrained ( 'gpt2' )

teks = 'Dengan menggunakan model gpt2 untuk menjana teks dalam transformer'

input_encoded = tokenizer ( teks , return_tensors = 'tf' )

pengeluaran = model ( input_encoded )

penjana ( gen_text , panjang maksimum = dua puluh , num_return_sequences = 5 )

Seperti yang anda lihat, teks tersuai telah berjaya dihasilkan:

Itu sahaja! Kami telah menghuraikan tentang menyesuaikan penjanaan teks dalam Transformers.

Kesimpulan

Untuk menyesuaikan penjanaan teks dalam Transformers, terdapat cara yang berbeza seperti memuatkan model dengan fungsi saluran paip, menggunakan model berasaskan transformer dalam ' PyTorch ” dan “ TensorFlow ” yang berdasarkan rangka kerja pembelajaran mesin. Dalam panduan ini, kami telah menyediakan maklumat ringkas bersama dengan demonstrasi praktikal untuk menyesuaikan penjanaan teks dalam Transformers.