Cara Menggunakan Pengubah Wajah Memeluk dalam Python

Cara Menggunakan Pengubah Wajah Memeluk Dalam Python



Hugging Face diiktiraf sebagai komuniti Pintar Buatan yang sumber terbuka dan ia menyediakan semua rangka kerja, alatan, model dan seni bina penting yang membantu untuk berkomunikasi atau berlatih dengan model bahasa (pemprosesan bahasa semula jadi). Pengubah Wajah Memeluk ialah seni bina bahasa yang membantu dengan penyediaan model pemprosesan bahasa yang telah terlatih dalam Python. Transformer daripada Hugging Face ini menyediakan pelbagai set data dan API berlapis yang membantu pengaturcara membuat interaksi dengan mudah dengan model terlatih dengan pakej perpustakaan mereka.

Sintaks

Transformer Hugging Face yang canggih mempunyai pelbagai jenis model terlatih. Model ini boleh digunakan pada pelbagai model bahasa yang disenaraikan dalam perkara berikut:

  • Transformer ini mungkin memproses teks dalam bahasa yang berbeza dan boleh melaksanakan tugas yang berbeza pada teks seperti klasifikasi teks, soal jawab, terjemahan teks kepada bahasa yang berbeza, dan penjanaan teks.
  • Kami juga boleh menggunakan transformer ini dalam Memeluk Wajah untuk tugas pengelasan berasaskan penglihatan seperti pengesanan objek dan tugas berasaskan pertuturan, mis. klasifikasi penutur atau pengenalan/pengiktirafan pertuturan.

Transformer daripada Hugging Face termasuk TensorFlow, PyTorch, ONNX, dll. Untuk sintaks pemasangan pakej untuk transformer ini, kami menggunakan arahan berikut:







$ pip pasang transformer

Sekarang, kami cuba mencuba contoh yang berbeza di mana kami menggunakan model daripada pengubah Wajah Memeluk untuk tugas pemprosesan bahasa yang berbeza.



Contoh 1: Penjanaan Teks Menggunakan Transformer Wajah Memeluk

Contoh ini merangkumi kaedah untuk menggunakan transformer untuk penjanaan teks. Untuk penjanaan teks, kami menggunakan dan mengimport model penjanaan teks pra-latihan daripada pengubah. Transformer mempunyai perpustakaan asas yang dikenali sebagai 'talian paip'. Saluran paip ini berfungsi untuk transformer dengan melakukan semua pemprosesan pra dan pasca yang diperlukan pada data yang diperlukan untuk disalurkan kepada model pra-latihan sebagai input.



Kami mula mengekod contoh dengan memasang pakej perpustakaan 'transformers' terlebih dahulu dalam terminal Python. Untuk memuat turun pakej transformer, gunakan 'pemasangan pip dengan nama pakej, iaitu transformer'. Setelah kami memuat turun dan memasang pakej transformer, kami bergerak ke hadapan dengan mengimport pakej 'talian paip' daripada transformer. Saluran paip digunakan untuk memproses data sebelum disalurkan kepada model.





Kami mengimport 'pprint' daripada pprint. Pakej ini dipasang untuk mencetak output daripada model penjanaan teks dalam bentuk yang lebih mudah dibaca, berstruktur dan diformat dengan baik. Jika tidak, jika kita menggunakan fungsi 'cetak ()', ia memaparkan output dalam satu baris yang tidak diformat dengan baik dan mudah dibaca. Model penjanaan teks membantu menjana atau menambah lebih banyak teks pada teks yang pada mulanya kami sediakan kepada model sebagai input.

Untuk memanggil model terlatih daripada pengubah, kami menggunakan fungsi saluran paip() yang mempunyai dua parameter sebagai inputnya. Yang pertama menentukan nama tugas yang dipilih dan yang kedua ialah nama model daripada pengubah. Dalam senario ini, tugas yang dipilih ialah penjanaan teks. Model pra-latihan yang kami gunakan daripada pengubah ialah 'gpt'.



Selepas menggunakan fungsi saluran paip, kami memutuskan input yang ingin kami berikan kepada model kami untuk menjana teks tambahan untuknya. Kemudian, kami menghantar input ini ke fungsi 'task_pipeline()'. Fungsi ini mencipta output untuk model dengan mengambil input, panjang maksimum output, dan bilangan ayat yang sepatutnya ada pada output sebagai parameter inputnya.

Kami memberikan input sebagai 'Ini adalah model bahasa'. Kami menetapkan panjang maksimum output kepada '30' dan bilangan ayat dalam output kepada '3'. Sekarang, kami hanya memanggil fungsi pprint() untuk memaparkan hasil yang dijana daripada model kami.

!pip pasang transformer

daripada saluran paip import transformer
daripada pprint import pprint

SELECTED_TASK = 'penjanaan teks'
MODEL = 'gpt2'
tugas = saluran paip(f'{SELECTED_TASK}', model = MODEL)

INPUT = 'Ini ialah model bahasa'
OUT_put = tugas(INPUT, max_length = 30, num_return_sequences=3)

pprint(Out_put)

Daripada coretan dan output kod yang disebut sebelum ini, kita dapat melihat bahawa model menjana maklumat/teks tambahan yang berkaitan dengan input yang kami berikan kepadanya.

Contoh 2: Pengelasan Teks Menggunakan Talian Paip daripada Transformer

Contoh sebelumnya merangkumi kaedah untuk menjana teks tambahan yang berkaitan dengan input menggunakan transformer dan saluran paip pakejnya. Contoh ini menunjukkan kepada kita cara melaksanakan klasifikasi teks dengan saluran paip. Pengelasan teks ialah proses mengenal pasti input yang diberikan kepada model sebagai ahli kelas tertentu, mis. positif atau negatif.

Kami mula-mula mengimport saluran paip daripada transformer. Kemudian, kita panggil fungsi 'pipeline()'. Kami lulus nama model yang, dalam kes kami, adalah 'pengelasan teks' kepada parameternya. Setelah model ditentukan menggunakan saluran paip, kini kami boleh menamakannya sebagai 'pengelas'. Sehingga ketika ini, model lalai untuk klasifikasi teks dimuat turun ke mesin hos kami. Sekarang, kita boleh menggunakan model ini untuk tugas kita.

Jadi, import Panda sebagai 'pd'. Kami ingin mengimport pakej ini kerana kami ingin mencetak output daripada model dalam bentuk DataFrame. Sekarang, kami menentukan teks yang kami ingin berikan kepada model kami sebagai input untuk mengklasifikasikannya sebagai ayat positif atau negatif. Kami menetapkan teks sebagai 'Saya seorang lelaki yang baik'. Kami menghantar teks ini kepada model pengelas() yang baru kami buat dalam contoh ini dan menyimpan hasilnya dalam pembolehubah 'output'.

Untuk memaparkan output, kami memanggil awalan Pandas, iaitu pd sebagai '.Dataframe()' dan menghantar output daripada model pengelas kepada fungsi ini. Ia kini memaparkan hasil daripada model pengelas seperti yang ditunjukkan dalam coretan keluaran berikut. Model pengelas kami mengklasifikasikan teks sebagai kelas positif.

!pip pasang transformer
daripada saluran paip import transformer
import panda sebagai pd
pengelas = saluran paip('pengelasan teks', model = 'serangan teks/distilbert-base-uncased-CoLA')
teks = 'saya seorang lelaki yang baik'
hasil = pengelas(teks)
pprint(hasil)
df = pd.DataFrame(hasil)

Kesimpulan

Panduan ini merangkumi seni bina transformer daripada Hugging Face. Kami membincangkan perpustakaan 'talian paip' daripada pengubah Wajah Memeluk. Kemudian, dengan bantuan perpustakaan ini, kami menggunakan model transformer yang telah terlatih untuk penjanaan teks dan tugasan pengelasan.