Bu blogda aşağıda sağlanan içeriği ele alacağız:
- Transformers'tan “pipeline” Fonksiyonlu Model Yükleyerek Metin Üretimi Nasıl Özelleştirilir?
- PyTorch'ta Metin Oluşturmak için Transformer Tabanlı Model Nasıl Kullanılır?
- TensorFlow'da Metin Oluşturmak İçin Transformatör Tabanlı Model Nasıl Kullanılır?
Transformers'tan “pipeline” Fonksiyonlu Model Yüklenerek Metin Üretimi Nasıl Özelleştirilir?
“ boru hattı ” işlevi, önceden eğitilmiş yapay zeka modelini kullanıcının gereksinimlerine göre otomatik olarak indirmek için kullanılır. Bu özel işlevi kullanmak için kullanıcıların “ transformatörler ” paketleri. Bu paket, diğer birçok şeyin yanı sıra duyarlılık analizi yapabilen son teknoloji ürünü Transformer tabanlı modellere erişim sağlar. Doğal dil işleme (NLP) görevler.
Yukarıda açıklanan senaryonun pratik gösterimini kontrol etmek için aşağıda verilen adımlara geçin!
Adım 1: “Transformers” Paketlerini Kurun
Başlangıçta “! pip” Transformatör paketlerini kurma komutu:
! pip kurulum transformatörleri
Gördüğünüz gibi belirtilen paket başarıyla kuruldu:
Adım 2: Trafo Tabanlı Modeli İçe Aktarın
Daha sonra gerekli transformatör tabanlı modeli içe aktarın. Bunu yapmak için öncelikle “ boru hattı ' işlevi ' transformatörler ”. Daha sonra içe aktarılan işlevi kullanın ve “ metin oluşturma 'gerekli model adıyla birlikte bir argüman olarak' gpt2 ”. Daha sonra bunları “ oluşturmak ” değişken:
itibaren transformatörler içe aktarmak boru hattı
oluşturmak = boru hattı ( 'metin oluşturma' , modeli = 'gpt2' )
3. Adım: Özelleştirme Metni Oluşturun
Şimdi istediğiniz metni argüman olarak “ oluşturmak ”. Aşağıda gösterildiği gibi:
oluşturmak ( 'Transformatörlerde metin oluşturmak için gpt2 modelini kullanarak' )Sağlanan çıktıya göre indirilen ön eğitimli “ gpt3 ” model metni başarıyla oluşturuldu:
Ayrıca aşağıdaki gibi diğer bağımsız değişkenleri de kullanabilirsiniz:
çabuk = 'Transformatörlerde metin oluşturmak için gpt2 modelini kullanarak'Yazdır ( gen ( çabuk , num_return_sequences = 5 , maksimum uzunluk = yirmi ) )
Burada:
- “ çabuk ” girişi tutan bir argüman olarak kullanılır.
- “ num_return_sequence ” argümanı, sağlanan metnin dizi sayısını oluşturmak için kullanılır.
- “ maksimum uzunluk ” argümanı oluşturulan metnin uzunluğunu belirtmek için kullanılır. Bizim durumumuzda ise “ 30 ” belirteçleri (kelimeler veya noktalama işaretleri):
Not: Özelleştirilmiş metin, modelin eğitim verilerini temel alan belirtilen istemin devamı olacaktır.
PyTorch'ta Metin Oluşturmak için Transformer Tabanlı Model Nasıl Kullanılır?
Kullanıcılar ayrıca '' bölümündeki metni özelleştirebilir. PyTorch ' hangisi ' Meşale ”tabanlı makine öğrenimi çerçevesi. NLP ve Bilgisayarlı Görme gibi farklı uygulamalar için kullanılır. PyTorch'ta metni özelleştirmek amacıyla transformatör tabanlı modeli kullanmak için öncelikle ' GPT2Tokenleştirici ' Ve ' GPT2Modeli ''den gelen işlevler transformatörler ”:
itibaren transformatörler içe aktarmak GPT2Tokenleştirici , GPT2ModeliDaha sonra “ GPT2Tokenleştirici ” adlı önceden eğitilmiş istediğimiz modele göre tokenizer gpt2 ”:
belirteç oluşturucu = GPT2Tokenizer. from_pretrained ( 'gpt2' )Daha sonra, ağırlıkların önceden eğitilmiş bir modelden başlatılması:
modeli = GPT2Modeli. from_pretrained ( 'gpt2' )Ardından, bir ' gen_metni ” özelleştirmek istediğimiz metni tutan değişken:
gen_metni = 'Transformatörlerde metin oluşturmak için gpt2 modelini kullanarak'Şimdi, ' gen_metni ' Ve ' return_tensors='pt' ” PyTorch'ta metni oluşturacak ve oluşturulan değeri “ kodlanmış_giriş ” değişken:
kodlanmış_giriş = belirteç oluşturucu ( gen_metni , return_tensörler = 'pt' )Son olarak “ kodlanmış_giriş Özelleştirilmiş metni '' olarak tutan değişken modeli ” parametresini kullanın ve sonuç çıktısını “” kullanarak alın. maksimum uzunluk '' olarak ayarlanan argüman yirmi ”, oluşturulan metnin sağlanan jetonlarla sınırlı olacağını belirtir, “ num_return_sequences ' olarak ayarlandı 5 Bu, oluşturulan metnin 5 metin dizisine dayanacağını gösterir:
çıktı = modeli ( **kodlanmış_giriş )jeneratör ( gen_metni , maksimum uzunluk = yirmi , num_return_sequences = 5 )
Çıktı
TensorFlow'da Metin Oluşturmak İçin Transformatör Tabanlı Model Nasıl Kullanılır?
Transformers'ta metni oluşturmak için “ TensorFlow ” tabanlı makine öğrenimi çerçeveleri de kullanılıyor. Bunu yapmak için öncelikle “ gibi gerekli işlevleri içe aktarın. GPT2Tokenleştirici ' Ve ' TFGPT2Modeli 'dan' transformatörler ”. Kodun geri kalanı yukarıdakiyle aynı, sadece “ TFGPT2Modeli “ yerine ” işlevi GPT2Modeli ' işlev. Aşağıdaki gibi:
itibaren transformatörler içe aktarmak GPT2Tokenleştirici , TFGPT2Modelibelirteç oluşturucu = GPT2Tokenizer. from_pretrained ( 'gpt2' )
modeli = TFGPT2Modeli. from_pretrained ( 'gpt2' )
metin = 'Transformatörlerde metin oluşturmak için gpt2 modelini kullanarak'
kodlanmış_giriş = belirteç oluşturucu ( metin , return_tensörler = 'tf' )
çıktı = modeli ( kodlanmış_giriş )
jeneratör ( gen_metni , maksimum uzunluk = yirmi , num_return_sequences = 5 )
Gördüğünüz gibi özelleştirilmiş metin başarıyla oluşturuldu:
Bu kadar! Transformers'ta metin oluşturmayı özelleştirme konusunu ayrıntılı olarak inceledik.
Çözüm
Transformers'ta metin oluşturmayı özelleştirmek için modele boru hattı işleviyle yükleme, 'transformatör tabanlı modeli kullanma' gibi farklı yollar vardır. PyTorch ' Ve ' TensorFlow ” makine öğrenimi çerçevelerine dayanmaktadır. Bu kılavuzda, Transformers'ta metin oluşturmayı özelleştirmenin pratik gösteriminin yanı sıra kısa bilgiler de verdik.