Transformers'ta Metin Oluşturma Nasıl Özelleştirilir

Transformers Ta Metin Olusturma Nasil Ozellestirilir



Derin öğrenmede metin oluşturma, metnin doğal dilde otomatik olarak özelleştirilmesi sürecini ifade eder. Yapay Sinir Ağları(YSA) . Ayrıca bu amaç için, gelecek kelimenin önceki kelimeye bağlı olarak sıralı olarak tahmin edilmesi için büyük veri setleri üzerinde önceden eğitilmiş farklı dil modelleri kullanılmaktadır. Ek olarak özelleştirilmiş metin; dil çevirisi, içerik oluşturma, sohbet robotları ve çok daha fazlasını içeren birden fazla uygulama için kullanılabilir.

Bu blogda aşağıda sağlanan içeriği ele alacağız:

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 , GPT2Modeli

Daha 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 , TFGPT2Modeli

belirteç 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.