|

CelebrasGPT ile Q&A (Question&Answer) NLP AI Geliştirme



Ali Can Gönüllü tarafından 2023-04-29 01:24:42 tarihinde yazıldı. Tahmini okunma süresi 2 dakika, 15 saniye.



Çalışmalarım için bağış yapmak isterseniz Patreon hesabımdan bağışta bulunabilirsiniz.

Blog adresinde yazılanlar sadece eğitim amacıyla deneysel olarak hazırlanmıştır. Konu içerisinde geçen yöntemleri kendi oluşturduğunuz test ortamında denemenizi tavsiye ederiz.
Herhangi bir tarih, yer ve/veya mekanda oluşacak zararlardan alicangonullu.org, alicangonullu.org yöneticisi ve/veya konu yazarı mesul değildir.

Merhabalar,

Bu yazımda sizlere GPT, NLP, celebrasGPT ve GPT-2'den bu yana değişiklikleri örnek kod üzerinden anlatacağım. Şimdiden hepinize iyi okumalar dilerim.

Bölüm 1 : NLP Nedir?

NLP açılımıyla Natural Language Processing, makine öğrenmesi yazılımlarının dil bilen versiyonlarına denir.

Bu modeller,

ve buna benzer bir veya birçok işi amacına göre yapabilir. Bu modellere örnek olarak GPT2, GPT3, GPT4, GPT3.5, celebrasGPT örnekleri verilebilir.

Bölüm 2 : GPT Nedir?

GPT açılımyla Generative Pre-trained Transformer, NLP modellerin en üst düzeyidir. Veri o kadar çoktur ki yaşayan bir birey gibi,

gibi özelliklerin bir ve/veya bir kaçına ve hatta çok daha fazlasına sahip olabilir. ChatGPT ve Bing AI buna en büyük örnektir. Kendileri aslen bir NLP olsa da bir insan gibi yorumlama yeteneğine sahiptirler.

Bölüm 3 : CelebrasGPT ve Örnek Uygulama

CelebrasGPT, burada da anlatıldığı üzere GPT-2 ve GPT-3 tabanını paylaşan ChatGPT benzeri bir NLP modelidir. Andromeda AI adlı bir süper bilgisayar tarafından devamlı olarak eğitilmektedir ve sadece Free (Bedava) versiyonunda 13 milyonluk bir kelime dağarcığı bulunmaktadır.

Şimdi bu altyapı ile kodlamaya başlıyoruz. Öncelikle IPython / Jupyter ile paketlerimizi yüklüyoruz.

%pip install transformers torch datasets

Ardından modellerimizi yüklüyoruz (buradan farklı modeller seçebilirsiniz. Ben Colab RAM ve Disk sıkıntısı nedeniyle orta bir paket seçtim. GitHub linki ise buradadır.)

#@title CelebrasGPT 1.3B Modeli
from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline
tokenizer = AutoTokenizer.from_pretrained("cerebras/Cerebras-GPT-1.3B")
model = AutoModelForCausalLM.from_pretrained("cerebras/Cerebras-GPT-1.3B")

Ardından ise asıl eğlenceli kısmı yani modellerimizi yorumlayıp sonuç üreten ML kısmına geliyoruz. Öncelikle verilerimizi tokenize edip ardından input output frekans ayarlarını yapacağız.

#@title Text Generator
text = "How are you today?"
inputs = tokenizer(text, return_tensors="pt")
outputs = model.generate(**inputs, num_beams=5, max_new_tokens=50, early_stopping=True, no_repeat_ngram_size=2)
text_output = tokenizer.batch_decode(outputs, skip_special_tokens=True)
print(text_output[0])

Bu işlemlerin ardından bize şuna benzer bir dönüş yapacaktır.

Bu kadar :) hepinize kolaylıklar diliyorum umarım anlatabilmişimdir.