GPT-2 Turkish Modeli

Kişisel çabalarımla, Türkçe’ ye özel, bizim için, bir GPT-2 modeli oluşturmayı deniyorum. Bu amaçla, Türkçe cümle yapısına özgü bir Tokenizer’ ı 9 gün boyunca sürekli çalıştırarak oluşturdum ve bu model hala bu Tokenizer’ ı kullanarak eğitilmeye devam ediyor. 900 milyon karakterden oluşan ve 10 milyon cümleyi içeren Türkçe Vikipedi metinleri, bu modelin eğitiminde kullanılıyor. Model eğitiminde şu an 32.gündeyim.

Eğitilirken kayıp değeri her geçen gün azalıyor ve aşamalı temizlemelerle daha iyi performans elde ediliyor. Başarıyı ölçmek için yaptığım bir çalışmada, modele birkaç yeni soru-cevap örneği ekleyerek ince ayar yaptım. Yani, modele bu tip sorulara nasıl cevap vermesi gerektiğini öğrettim. Ardından, modele bu tip sorulara benzeyen farklı soruları yanıtlamasını da istedim.

İlk denemede, 8 farklı ülkenin başkentini kendim söyledim. Sonra başka bir ülkenin başkentini sordum ve eğer model gerçek cevabı doğru bir şekilde verebiliyorsa, bu modelin başarılı olduğunu söyleyebiliriz. Ana modelin eğitimi sırasında kayıp değerleri 0'a yaklaştıkça ve aşırı doyma olmadıkça daha iyi performans bekliyorum.

İlk görsellerde, modele verdiğim örnekler bulunuyor. Sonraki görsellerde ise modelden almak istediğim soruların cevapları yer alıyor.

GPT2-Turkish modelinde yukarıdaki örnekler eğitildiğinde yeni model bu tür sorulara nasıl cevap vereceğini modelden çekerek üretiyor.

Özetle, sonucu kendisi eğitilmiş modelden öğrenip bilgiyi çekebildiğini gözlemledim.
Basit bir anlatımla Almanya’nın başkenti Berlin ise Fransa’nın başkenti nedir? sorusuna modelden doğru cevabı alabilmek. İlişkileri doğru anlamış mı sorgulayabilmek. “Almanya’nın Berlin ile nasıl bir ilişkisi var ise Fransa’nın ilişkisinin karşılığı nedir sorusuna cevap alabilmek. Modelin kavramları öğrenip öğrenmediğini gözlemleyebilmek.

Bu sorular eğitim veri setinde olmamasına rağmen, GPT2 Turkish modeli doğru cevapları örnek soru cevaplardan yararlanıp üretebiliyor.

Geliştiriciler için modelin son hali:
https://huggingface.co/cenkersisman/gpt2-turkish-900m

GPT-2 Türkçe Modeli, Türkçe diline özelleştirilmiş olan GPT-2 mimarisi temel alınarak oluşturulmuş bir dil modelidir. Belirli bir başlangıç metni temel alarak insana benzer metinler üretme yeteneğine sahiptir ve geniş bir Türkçe metin veri kümesi üzerinde eğitilmiştir. Modelin eğitimi için 900 milyon karakterli Vikipedi seti kullanılmıştır. Eğitim setindeki cümleler maksimum 48 tokendan (token = kelime kökü ve ekleri) oluşmuştur bu yüzden oluşturacağı cümlelerin boyu sınırlıdır.. Türkçe heceleme yapısına uygun tokenizer kullanılmış ve model 7.5 milyon adımda yaklaşık 12 epoch eğitilmiştir. Eğitim halen devam etmektedir. Eğitim için 4GB hafızası olan Nvidia Geforce RTX 3050 GPU kullanılmaktadır.

--

--

Cenker Sisman
Türkçe Dijital Asistan Geliştirme Platformu

Senior Software Architect in OTI Holding, Owner of CEYD-A Turkish Mobile Assistant, Istanbul Technical University Computer Engineering M.Sc.