23 Aralık 2023 Cumartesi

Dijital ikiziniz ile sohbet edebilirsiniz ya da başka bir dijital ikiz ile...

Çevirenin Girişi:

Dijital ikiz terimini anlamak için tıklayınız.

Uzay Yolu Gelecek Nesil serisinde de kullanılan bir Holodeck teknolojisi sayesinde oluşturulan sanal ortamlarla kişiler, geçmişteki karakterlerin dijital ikiz sürümleri ile sohbet edebiliyor, poker oynayabiliyor ve hatta fiziksel mücadelelere girişebiliyordu. Teknolojinin geldiği günümüz noktasında ise sanal ortamlar üretmek henüz mümkün olmasa bile, sanal zihinler inşa etmeye yaklaşmış ya da yakınsamış bir konumdayız. Alan Turing tarafından ortaya atılan yapay zekaya yönelik felsefi bir kırılma olarak addedilen ve Ray Kurzweil tarafından çokça dile getirilen teknolojik tekillik durumu yaşanıyor ya da yaşanmak üzere. Buradaki ana kırılma noktası olarak Turing tarafından ortaya atılan eşiğe göre; eğer bir insan karşısında sohbet ettiği programın insan olup olmadığı hususunda bir ayrım yapamıyorsa, teknolojik tekillik gerçekleşmiştir.

Geniş Dil Modelleri(LLM) otomatikleştirilmiş ya da diğer tabiri ile yapay zeka olarak tabir edilen sohbet robotlarının üretilmesinde "kütüphane" maksatlı kullanılır. Buradaki kütüphaneler teknik terimi ile bir veritabanı vazifesi üstlenerek yapay zeka tarafından size yönlendirilecek olan cevaplar için bir temel teşkil eder. Buna göre, seçeceğiniz herhangi bir yazarın tüm kitaplarını LLM için kaynaklık teşkil edecek şekilde ayarlarsanız, o yazarların yapay zeka sürümleri ile sohbet etmeniz mümkün. Diyelim ki, Hüseyin Nihal Atsız'ın tüm makaleleri ile bir LLM oluşturdunuz. Bu LLM'yi sanal bir Atsız olarak kullanabilir ve sorular yönlendirebilirsiniz. Yahut Ruh Adam romanındaki Selim Pusat'ın tüm diyalog ve düşüncelerinin yazılı olarak filtrelediğinizde sanal bir Selim Pusat oluşturabilirsiniz. Ancak veritabanı ne kadar dar olursa verilen cevapların kalitesi o denli düşecektir. Örneğin OpenAI tarafından geliştirilen ChatGPT başta Vikipedi olmak üzere internetteki açık erişimdeki verilerle ve kullanıcılar tarafından yönlendirilen sorularla sürekli eğitilmektedir. 

Makaleyi bu ve bu gibi yapılabilecek işlere dair bir girizgah ya da terminolojik aşinalık kazandırmayı hedeflediğini düşünebiliriz.

Giriş

İster Twitter'da ister Linkedin'de olsun, her gün Geniş Dil Modelleri (LLM'ler) hakkında çok sayıda paylaşımla karşılaşıyorum. Belki de bu ilgi çekici modellere adanmış neden bu kadar inanılmaz miktarda araştırma ve geliştirme olduğunu merak ettim. ChatGPT'den BARD'a, Falcon'a ve sayısız diğerlerine kadar, isimleri etrafta dönüyor ve beni gerçek doğalarını ortaya çıkarmaya hevesli bırakıyor. Bu modeller nasıl oluşturuluyor? Geniş dil modelleri nasıl oluşturulur? Kendilerine yönelttiğiniz hemen her soruyu yanıtlama becerisine nasıl sahipler? Bu yakıcı sorular aklımdan çıkmıyor ve merakımı körüklüyor. Bu doymak bilmez merak içimde bir ateş yaktı ve beni LLM'ler dünyasına balıklama dalmaya itti.

Birlikte, gelişimlerinin ardındaki sırları çözecek, olağanüstü yeteneklerini kavrayacak ve dil işleme dünyasında nasıl devrim yarattıklarına ışık tutacağız.

Öğrenme Hedefleri
  1. LLM'ler ve mevcut durumları hakkında bilgi edinin.
  2. Mevcut farklı LLM'leri ve bu LLM'leri sıfırdan eğitmeye yönelik yaklaşımları anlayın
  3. LLM'leri eğitmek ve değerlendirmek için en iyi uygulamaları keşfedin
  4. Kemerlerinizi bağlayın ve LLM'lerde ustalaşma yolculuğumuza başlayalım.

İçindekiler tablosu
  • Geniş Dil Modellerinin Kısa Tarihi
  • Geniş Dil Modelleri Nedir?
  • Neden Geniş Dil Modelleri?
  • Farklı LLM Türleri
  • LLM Eğitiminin Zorlukları Nelerdir?
  • Altyapı
  • Maliyet
  • Ölçeklendirme Yasalarını Anlamak
  • Sıfırdan LLM'leri Nasıl Yetiştirirsiniz?
  • Metne Devam Ediyoruz
  • Diyalog için optimize edilmiş LLM'ler
  • LLM'leri Nasıl Değerlendiriyorsunuz?
  • Sıkça Sorulan Sorular
  • Son Notlar

Büyük Dil Modellerinin Kısa Tarihi

Büyük Dil Modellerinin geçmişi 1960'lara kadar uzanmaktadır. 1967 yılında MIT'de bir profesör doğal dili anlamak için ilk NLP(natural language processing=doğal dil işleme) programı olan Eliza'yı geliştirdi. İnsanları anlamak ve onlarla etkileşim kurmak için kalıp eşleştirme ve ikame tekniklerini kullanır. Daha sonra, 1970 yılında, MIT ekibi tarafından SHRDLU olarak bilinen insanları anlamak ve onlarla etkileşim kurmak için başka bir NLP programı oluşturuldu.

1988 yılında, metin verilerinde bulunan sıralı bilgileri yakalamak için RNN(recurrent neural network=yineleme sinir ağı) mimarisi tanıtıldı. Ancak RNN'ler yalnızca kısa cümlelerle iyi çalışabilirken uzun cümlelerle çalışamıyordu. Bu nedenle, 1997 yılında LSTM önerilmiştir. Bu dönemde LSTM(long short term memory=uzun kısa terim hafızası) tabanlı uygulamalarda büyük gelişmeler ortaya çıktı. Daha sonra dikkat mekanizmalarında da araştırmalar başladı.

LSTM ile ilgili 2 büyük endişe vardı. LSTM, uzun cümleler sorununu bir dereceye kadar çözdü ancak gerçekten uzun cümlelerle çalışırken gerçekten başarılı olamadı. LSTM modellerinin eğitimi paralelleştirilemez. Bu nedenle, bu modellerin eğitimi daha uzun zaman alıyordu.


2017 yılında, NLP araştırmalarında Attention Is All You Need (İhtiyacınız Olan Tek Şey Dikkat) adlı makale ile bir çığır açıldı. Bu makale tüm NLP dünyasında devrim yarattı. Araştırmacılar, LSTM'lerle ilgili zorlukların üstesinden gelmek için Transformers olarak bilinen yeni mimariyi tanıttı. Transformatörler esasen çok sayıda parametre içeren ilk LLM olarak geliştirilmiştir. Transformatörler, LLM'ler için son teknoloji modeller olarak ortaya çıktı. Bugün bile, LLM'nin gelişimi transformatörlerden etkilenmeye devam etmektedir.


Sonraki beş yıl boyunca, transformatörlere kıyasla daha iyi LLM'ler inşa etmeye odaklanan önemli araştırmalar yapıldı. LLM'nin boyutu zaman içinde katlanarak arttı. Deneyler, LLM'lerin ve veri kümelerinin boyutunu artırmanın LLM'lerin bilgisini geliştirdiğini kanıtladı. Bu nedenle, GPT-2, GPT-3, GPT 3.5, GPT-4 gibi GPT varyantları, parametrelerin ve eğitim veri kümelerinin boyutunda bir artışla tanıtıldı.

2022'de NLP'de bir başka atılım daha oldu, ChatGPT. ChatGPT, istediğiniz her şeyi yanıtlayabilen, diyalog için optimize edilmiş bir LLM'dir. Birkaç ay içinde Google, ChatGPT'ye rakip olarak BARD'ı tanıttı.

Son 1 yıl içinde yüzlerce Büyük Dil Modeli geliştirildi. Hugging Face Open LLM liderlik tablosundaki sıralama ile birlikte açık kaynaklı LLM'lerin listesini alabilirsiniz. Bugüne kadarki en gelişmiş LLM Falcon 40B Instruct'tır.

Geniş Dil Modelleri nedir?

Basitçe söylemek gerekirse Geniş Dil Modelleri, insan dillerini anlamak için büyük veri kümeleri üzerinde eğitilen derin öğrenme modelleridir. Temel amacı insan dillerini tam olarak öğrenmek ve anlamaktır. Büyük Dil Modelleri, makinelerin dilleri tıpkı biz insanlar gibi yorumlamasını sağlar.

Geniş Dil Modelleri dildeki kelimeler arasındaki kalıpları ve ilişkileri öğrenir. Örneğin, dilbilgisi, kelimelerin sırası, kelimelerin ve cümlelerin anlamı gibi dilin sözdizimsel ve anlamsal yapısını anlar. Tüm dilin kendisini kavrama yeteneği kazanır.

Peki dil modellerinin Geniş Dil Modellerinden farkı tam olarak nedir?

Dil modelleri ve Geniş Dil modelleri insan dilini öğrenir ve anlar ancak temel fark bu modellerin geliştirilmesidir.

Dil modelleri genellikle HMM'ler veya olasılık tabanlı modeller kullanılarak geliştirilen istatistiksel modellerdir, oysa Geniş Dil Modelleri çok büyük bir veri kümesi üzerinde eğitilmiş milyarlarca parametreye sahip derin öğrenme modelleridir.

Peki neden ilk etapta Geniş Dil Modellerine ihtiyacımız var?

Neden Geniş Dil Modelleri?

Bu sorunun cevabı basittir. LLM'ler görev-agnostik modellerdir. Kelimenin tam anlamıyla, bu modeller herhangi bir görevi çözme yeteneğine sahiptir. Örneğin, ChatGPT bunun klasik bir örneğidir. ChatGPT'ye ne zaman bir şey sorsanız, sizi hayrete düşürür.

Bu LLM'lerle ilgili bir başka şaşırtıcı özellik de, göreviniz için önceden eğitilmiş diğer modeller gibi modellere ince ayar yapmak zorunda olmamanızdır. Tek yapmanız gereken modele komut vermek. O sizin için işi yapar. Dolayısıyla, LLM'ler üzerinde çalıştığınız herhangi bir soruna anında çözüm sağlar. Dahası, tüm sorunlarınız ve görevleriniz için tek bir modeldir. Bu nedenle, bu modeller NLP'de Temel modeller olarak bilinir.

Farklı LLM Türleri

LLM'ler görevlerine bağlı olarak genel olarak 2 tipte sınıflandırılabilir:

  1. Metne devam etmek
  2. Diyalog optimize etmek

1. Metne Devam Etmek

Bu LLM'ler girdi metnindeki bir sonraki kelime dizisini tahmin etmek üzere eğitilir. Ellerindeki görev metni devam ettirmektir.

Örneğin, "Nasılsın" metni verildiğinde, bu LLM'ler cümleyi "Nasılsın?" veya "Nasılsın? Ben iyiyim.

Bu kategoriye giren LLM'lerin listesi Transformers, BERT, XLNet, GPT ve GPT-2, GPT-3, GPT-4 gibi varyantlarıdır.

Şimdi, bu LLM'lerle ilgili sorun, cevap vermekten ziyade metni tamamlamakta çok iyi olmalarıdır. Bazen tamamlama yerine cevap bekleriz.

Yukarıda tartışıldığı gibi, girdi olarak "Nasılsın?" verildiğinde, LLM metni "İdare eder" veya "İyiyim" ile tamamlamaya çalışır. Yanıt bunlardan biri olabilir: tamamlama ya da cevap. Diyalog için optimize edilmiş LLM'lerin tanıtılmasının nedeni de tam olarak budur.

2. Diyalog Optimize Etmek

Bu LLM'ler cümleyi tamamlamak yerine bir cevapla karşılık verirler. "Nasılsın?" girdisi verildiğinde, bu LLM'ler cümleyi tamamlamak yerine "İyiyim." şeklinde bir yanıt verebilir.

Diyalog için optimize edilmiş LLM'lerin listesi InstructGPT, ChatGPT, BARD, Falcon-40B-instruct, vb. şeklindedir.

Şimdi, LLM'leri sıfırdan eğitmenin içerdiği zorlukları göreceğiz.

LLM Eğitiminin Zorlukları Nelerdir?

LLM'leri sıfırdan eğitmek 2 ana faktör nedeniyle gerçekten zordur: Altyapı ve Maliyet.

Altyapı

LLM'ler en az 1000 GB büyüklüğünde devasa bir metin külliyatı üzerinde eğitilir. Bu veri kümeleri üzerinde eğitmek için kullanılan modeller milyarlarca parametre içeren çok büyük modellerdir. Bu kadar büyük modelleri devasa metin külliyatı üzerinde eğitmek için birden fazla GPU'yu destekleyen bir altyapı/donanım kurmamız gerekiyor. GPT-3 - 175 milyar parametreli modeli tek bir GPU üzerinde eğitmek için geçen süreyi tahmin edebilir misiniz?

GPT-3'ü tek bir NVIDIA Tesla V100 GPU üzerinde eğitmek 288 yıl sürer.

Çeviren notu: Her gün daha hızlı yanıt veren algoritmalar ortaya çıkmaktadır. Öyle ki kullanılan programlama dili üzerinde yapılacak bir değişiklik bile durumu oldukça değiştirmektedir. Python kullanıyorsanız, aynı kodu Julia ya da Rust gibi bir dile dönüştürmeniz bile tek başına 30-40 kat süre kazancı gibi dramatik oranlarda (hatta spesifik durumlarda daha fazlasını dahi) kazanmanıza imkan tanıyabilir.

Bu da LLM'nin tek bir GPU üzerinde eğitilmesinin mümkün olmadığını açıkça göstermektedir. Binlerce GPU ile dağıtık ve paralel hesaplama gerektirir.

Size bir fikir vermek için, popüler LLM'leri eğitmek için kullanılan donanımlar şunlardır

  • Falcon-40B, ZeRO ile birlikte bir 3D paralellik stratejisi (TP=8, PP=4, DP=12) kullanılarak 384 A100 40GB GPU üzerinde eğitilmiştir.
  • Araştırmacılar OpenAI'nin GPT-3'ü 1.024x A100 GPU üzerinde 34 gün gibi kısa bir sürede eğitebileceğini hesapladılar
  • PaLM (540B, Google): Toplamda 6144 TPU v4 çipi kullanıldı.

Maliyet

Yukarıdakilerden de anlaşılacağı üzere, sıfırdan LLM eğitimi için GPU altyapısına çok ihtiyaç duyulmaktadır. Bu büyüklükte bir altyapıyı kurmak oldukça pahalıdır. Şirketler ve araştırma kurumları bu altyapıyı kurmak ve LLM'leri sıfırdan eğitmek için milyonlarca dolar yatırım yapıyor.

GPT-3'ün sıfırdan eğitilmesinin yaklaşık 4,6 milyon dolara mal olduğu tahmin edilmektedir

Ortalama olarak, 7B parametreli modelin sıfırdan eğitilmesi yaklaşık 25000 dolara mal olacaktır.

Şimdi, LLM'lerin ölçeklendirme yasalarını göreceğiz.

Ölçeklendirme Yasalarını Anlamak

Son zamanlarda, geniş dil modellerinin geliştirilme eğiliminde olduğunu görüyoruz. Veri kümesinin ölçeği ve model boyutu nedeniyle gerçekten büyükler.

LLM'leri sıfırdan eğitirken, deneyden önce şu soruları sormak gerçekten önemlidir

  1. LLM'leri sıfırdan eğitmek için ne kadar veriye ihtiyacım var?
  2. Modelin boyutu ne olmalıdır?
  3. Bu soruların cevabı ölçeklendirme yasalarında yatmaktadır.

Ölçeklendirme yasaları, belirli bir boyuttaki bir modeli eğitmek için ne kadar optimum verinin gerekli olduğunu belirler.

DeepMind, 2022 yılında Training Compute-Optimal Large Language Models adlı makalesinde LLM'leri optimum model boyutu ve veri kümesi (belirteç sayısı) ile eğitmek için ölçeklendirme yasalarını önermiştir Bu ölçeklendirme yasaları popüler olarak Chinchilla veya Hoffman ölçeklendirme yasaları olarak bilinir. Buna göre

LLM'yi eğitmek için kullanılan belirteç sayısı, modelin parametre sayısından 20 kat daha fazla olmalıdır. 

70B parametre boyutunda veri açısından optimum bir LLM'yi eğitmek için 1.400B (1,4T) belirteç kullanılmalıdır. Yani, parametre başına yaklaşık 20 metin belirtecine ihtiyacımız var.

Daha sonra, LLM'leri sıfırdan nasıl eğiteceğimizi göreceğiz.

LLM'leri Sıfırdan Nasıl Eğitirsiniz?

LLM'lerin eğitim süreci, oluşturmak istediğiniz LLM türüne göre farklılık gösterir; ister metne devam ediyor ister diyalog optimize edilmiş olsun. LLM'lerin performansı temel olarak 2 faktöre bağlıdır: Veri Kümesi ve Model Mimarisi. Bu 2 faktör, LLM'lerin performansının arkasındaki temel itici faktörlerdir.

Şimdi LLM'lerin eğitiminde yer alan farklı adımları konuşalım.

Metne Devam Etmek

Metni devam ettiren LLM'lerin eğitim süreci ön eğitim LLM'leri olarak bilinir. Bu LLM'ler, metindeki bir sonraki kelimeyi tahmin etmek için öz denetimli öğrenmede eğitilir. LLM'lerin sıfırdan eğitilmesinde yer alan farklı adımları tam olarak göreceğiz.

a. Veri Kümesi Toplama

LLM'lerin eğitimindeki ilk adım, metin verilerinden oluşan büyük bir külliyat toplamaktır. Veri kümesi, LLM'lerin performansında en önemli rolü oynar. Son zamanlarda OpenChat, LLaMA-13B'den esinlenen en son diyalog için optimize edilmiş büyük dil modelidir. Vicuna GPT-4 değerlendirmesinde ChatGPT puanının %105,7'sine ulaşmıştır. Başarısının ardındaki nedeni biliyor musunuz? Yüksek kaliteli veriler. Sadece ~6K veri üzerinde ince ayar yapılmıştır.

Eğitim verileri internet, web siteleri, sosyal medya platformları, akademik kaynaklar vb. kazınarak oluşturulmuştur. Eğitim verilerinin mümkün olduğunca çeşitli olduğundan emin olun.

Son zamanlarda yapılan çalışmalar, artan eğitim veri seti çeşitliliğinin genel çapraz alan bilgisini ve geniş ölçekli dil modelleri için aşağı akış genelleme yeteneğini geliştirdiğini göstermiştir.

 Ne yazıyor? Açıklamama izin verin.

"ChatGPT JEE'de başarısız oldu" veya "ChatGPT UPSC'yi geçemedi" gibi başlıklarla karşılaşmış olabilirsiniz. Bunun olası nedenleri neler olabilir? Bunun nedeni, gerekli zeka seviyesinden yoksun olmasıdır. Bu, büyük ölçüde eğitim için kullanılan veri setine bağlıdır. Bu nedenle, yüksek kaliteli alanlar arası veri setinin farklı görevler arasında model genellemesi üzerinde doğrudan bir etkisi olduğundan, çeşitli veri setlerine olan talep artmaya devam etmektedir.

Yüksek kaliteli verilerle LLM'lerin potansiyelini ortaya çıkarın!

Daha önce, Common Crawl, LLM'leri eğitmek için başvurulan veri kümesiydi. Common Crawl, 2008'den bu yana ham web sayfası verilerini, çıkarılan meta verileri ve metin çıkarımlarını içerir. Veri kümesinin boyutu petabayt cinsindendir (1 petabayt=1e6 GB). Bu veri kümesi üzerinde eğitilen Büyük Dil Modellerinin etkili sonuçlar verdiği ancak diğer görevler arasında iyi genelleme yapamadığı kanıtlanmıştır. Bu nedenle, 22 farklı yüksek kaliteli veri kümesinden Pile adlı yeni bir veri kümesi oluşturuldu. Bu, mevcut veri kaynaklarının ve 825 GB aralığındaki yeni veri kümelerinin bir birleşimidir. Son zamanlarda, ortak taramanın rafine edilmiş versiyonu RefinedWeb Veri Kümesi adıyla yayınlandı.Not: GPT-3 ve GPT-4 için kullanılan veri kümeleri, diğerlerine göre rekabet avantajını korumak için açık kaynaklı değildir.

b. Veri Kümesi Ön İşleme

Bir sonraki adım veri kümesini ön işleme tabi tutmak ve temizlemektir. Veri kümesi birden fazla web sayfasından ve farklı kaynaklardan tarandığından, veri kümesinin çeşitli nüanslar içermesi oldukça sık rastlanan bir durumdur. Bu nüansları ortadan kaldırmalı ve model eğitimi için yüksek kaliteli bir veri kümesi hazırlamalıyız.

Belirli ön işleme adımları aslında birlikte çalıştığınız veri kümesine bağlıdır. Yaygın ön işleme adımlarından bazıları HTML Kodunun kaldırılması, yazım hatalarının düzeltilmesi, toksik/yanlı verilerin ortadan kaldırılması, emojilerin metin eşdeğerlerine dönüştürülmesi ve veri tekilleştirmeyi içerir. Veri tekilleştirme, LLM'leri eğitirken en önemli ön işleme adımlarından biridir. Veri tekilleştirme, eğitim külliyatından yinelenen içeriğin çıkarılması işlemini ifade eder.

Eğitim verisinin çeşitli veri kaynaklarından toplandığı için yinelenen veya neredeyse aynı cümleleri içerebileceği açıktır. Veri tekilleştirmeye 2 temel nedenden dolayı ihtiyaç duyarız: Modelin aynı verileri tekrar tekrar ezberlememesine yardımcı olur. Eğitim ve test verileri yinelenmeyen bilgiler içerdiği için LLM'leri daha iyi değerlendirmemize yardımcı olur. Yinelenen bilgiler içeriyorsa, eğitim setinde gördüğü bilgilerin test seti sırasında çıktı olarak verilme ihtimali çok yüksektir. Sonuç olarak, raporlanan sayılar doğru olmayabilir. Veri tekilleştirme teknikleri hakkında daha fazla bilgiyi Deduplicating Training Data Makes Language Models Better başlıklı makalede okuyabilirsiniz.

c. Veri Kümesi Hazırlama

Bir sonraki adım, modeli eğitmek için girdi ve çıktı çiftlerini oluşturmaktır. Ön eğitim aşamasında, LLM'ler metindeki bir sonraki belirteci tahmin etmek için eğitilir. Dolayısıyla, girdi ve çıktı çiftleri buna göre oluşturulur. Basitlik açısından, burada gösterimde her bir kelimeyi bir belirteç olarak kabul ettim. Ancak, pratikte, her kelime Byte Pair Encoding (BPE) gibi tokenizasyon algoritmaları kullanılarak alt kelimelere ayrılır. Girdi ve çıktı çiftlerinin belirteçleri eğitim için modele gönderilir.

Örneğin, basit bir derlemi ele alalım-

Örnek 1: Ben bir DHS Sohbet Robotuyum.

Örnek 2: DHS, DataHack Summit'in kısaltmasıdır.

Örnek 3: Size DHS hakkında bilgi sağlayabilirim

Örnek 1 durumunda, girdi-çıktı çiftlerini aşağıdaki gibi oluşturabiliriz

Benzer şekilde, örnek 2 durumunda, aşağıdaki girdi ve çıktı çiftlerinin bir listesidir-
Her girdi ve çıktı çifti eğitim için modele aktarılır.

Şimdi, sırada ne var? Model mimarisini tanımlayalım.

d. Model Mimarisi

Bir sonraki adım model mimarisini tanımlamak ve LLM'yi eğitmektir.

Bugün itibariyle, geliştirilmekte olan çok sayıda LLM bulunmaktadır. Hugging Face Open LLM liderlik tablosunda farklı LLM'lere genel bir bakış elde edebilirsiniz. LLM'ler oluşturulurken araştırmacılar tarafından izlenen standart bir süreç vardır. Araştırmacıların çoğu GPT-3 gibi mevcut bir Büyük Dil Modeli mimarisi ve modelin gerçek hiperparametreleri ile başlar. Daha sonra model mimarisini / hiperparametreleri / veri kümesini değiştirerek yeni bir LLM ortaya çıkarırlar.

Örneğin,

Falcon, son teknoloji ürünü bir LLM'dir. Açık kaynaklı LLM liderlik tablosunda ilk sırada yer almaktadır. Falcon, birkaç değişiklikle GPT-3 mimarisinden esinlenmiştir.

e. Hiperparametre Arama

Hiperparametre ayarlama, zaman ve maliyet açısından da çok pahalı bir süreçtir. Bu deneyi milyar parametreli bir model için yaptığınızı düşünün. Bu mümkün değil, değil mi? Bu nedenle, ideal yöntem, mevcut araştırma çalışmalarının hiperparametrelerini kullanmak, örneğin, ilgili mimari ile çalışırken GPT-3'ün hiperparametrelerini kullanmak ve daha sonra küçük ölçekte en uygun hiperparametreleri bulmak ve daha sonra bunları nihai model için enterpolasyon yapmaktır.

Deneyler aşağıdakilerden herhangi birini veya tümünü içerebilir: ağırlık başlatma, konumsal yerleştirmeler, optimize edici, aktivasyon, öğrenme oranı, ağırlık azalması, kayıp fonksiyonu, sıra uzunluğu, katman sayısı, dikkat kafası sayısı, parametre sayısı, yoğun ve seyrek katmanlar, yığın boyutu ve bırakma.

Şimdi popüler hiperparametreler için en iyi uygulamaları tartışalım-

Toplu iş boyutu: İdeal olarak GPU belleğine uyan büyük parti boyutunu seçin.
  • Öğrenme Oranı Zamanlayıcısı: Bunu yapmanın daha iyi yolu, eğitim ilerledikçe öğrenme oranını azaltmaktır. Bu, yerel minimumların üstesinden gelecek ve model kararlılığını artıracaktır. Yaygın olarak kullanılan Öğrenme Oranı Zamanlayıcılarından bazıları Adım Azaltma ve Üstel Azaltmadır.
  • Ağırlık Başlatma: Model yakınsaması büyük ölçüde eğitimden önce başlatılan ağırlıklara bağlıdır. Uygun ağırlıkların başlatılması daha hızlı yakınsamaya yol açar. Transformatörler için yaygın olarak kullanılan ağırlık başlatma T-Fixup'tır. Ağırlık başlatma tekniklerini yalnızca kendi LLM mimarinizi tanımlarken kullanın.
  • Düzenli hale getirme: LLM'lerin aşırı uyuma eğilimli olduğu gözlemlenmiştir. Bu nedenle, modelin aşırı uyumun üstesinden gelmesine yardımcı olacak Batch Normalization, Dropout ve L1/L2 regularization gibi tekniklerin kullanılması gerekir.

Diyalog için optimize edilmiş LLM'ler

Diyalog için optimize edilmiş LLM'lerde ilk adım yukarıda tartışılan ön eğitim LLM'leri ile aynıdır. Ön eğitimden sonra, bu LLM'ler artık metni tamamlama yeteneğine sahiptir. Şimdi, belirli bir soruya yanıt oluşturmak için LLM, soru ve yanıtları içeren denetimli bir veri kümesi üzerinde hassas bir şekilde ayarlanır. Bu adımın sonunda, modeliniz artık bir soruya yanıt üretebilir hale gelir.

ChatGPT diyalog için optimize edilmiş bir LLM'dir. ChatGPT'nin eğitim yöntemi yukarıda tartışılan adımlara benzer. Sadece ön eğitim ve denetimli ince ayar dışında RLHF olarak bilinen ek bir adım içerir.


Ancak son zamanlarda LIMA: Less Is for More Alignment olarak bilinen bir makale yayınlandı. İlk etapta RLHF'ye hiç ihtiyacınız olmadığını ortaya koyuyor. İhtiyacınız olan tek şey, büyük miktarda veri kümesi üzerinde ön eğitim ve 1000'den az örnek olarak yüksek kaliteli veriler üzerinde denetimli ince ayar yapmaktır.

Bugün itibariyle OpenChat, LLaMA-13B'den esinlenen, diyalog için optimize edilmiş en yeni büyük dil modelidir. Vicuna GPT-4 değerlendirmesinde ChatGPT puanının %105,7'sine ulaşmıştır. Yalnızca 6 bin yüksek kaliteli örnek üzerinde ince ayar yapılmıştır.

LLM'leri Nasıl Değerlendirirsiniz?

LLM'lerin değerlendirilmesi öznel olamaz. LLM'lerin performansını değerlendirmek için mantıklı bir süreç olmalıdır.

Sınıflandırma veya regresyon problemleri söz konusu olduğunda, gerçek etiketlere ve tahmin edilen etiketlere sahip oluruz ve ardından modelin ne kadar iyi performans gösterdiğini anlamak için her ikisini de karşılaştırırız. Bunun için karışıklık matrisine bakarız, değil mi? Peki ya büyük dil modelleri? Onlar sadece metin üretirler.

LLM'leri değerlendirmenin 2 yolu vardır: İçsel ve dışsal yöntemler.

İçsel Yöntemler

Geleneksel Dil modelleri, karmaşıklık, karakter başına bit vb. gibi içsel yöntemler kullanılarak değerlendirilmiştir. Bu metrikler dil cephesindeki performansı, yani modelin bir sonraki kelimeyi ne kadar iyi tahmin edebildiğini takip eder.

Dışsal Yöntemler
Günümüzde LLM'lerdeki gelişmelerle birlikte, performanslarını değerlendirmek için dışsal yöntemler tercih edilmektedir. LLM'leri değerlendirmek için önerilen yol, problem çözme, akıl yürütme, matematik, bilgisayar bilimleri ve MIT, JEE gibi rekabetçi sınavlar gibi farklı görevlerde ne kadar iyi performans gösterdiklerine bakmaktır.

EleutherAI, LLM'lerin performansını karşılaştırmak ve değerlendirmek için Language Model Evaluation Harness adlı bir çerçeve yayınladı. Hugging face, topluluk tarafından geliştirilen açık kaynaklı LLM'leri değerlendirmek için değerlendirme çerçevesini entegre etti.

Önerilen çerçeve, LLM'leri 4 farklı veri kümesi üzerinden değerlendirmektedir. Nihai puan, her veri kümesinden alınan puanların bir toplamıdır.
  • AI2 Muhakeme Yarışması: İlkokul öğrencileri için tasarlanmış bir bilim soruları koleksiyonu.
  • HellaSwag: İnsanlar için nispeten kolay olan (yaklaşık %95 doğruluk) sağduyulu çıkarımlar yapmak için son teknoloji modellere meydan okuyan bir test.
  • MMLU: Bir metin modelinin çoklu görev doğruluğunu değerlendiren kapsamlı bir test. Temel matematik, ABD tarihi, bilgisayar bilimleri, hukuk ve daha fazlası gibi konuları kapsayan 57 farklı görev içerir.
  • TruthfulQA: Bir modelin doğru yanıtlar üretme ve çevrimiçi ortamda yaygın olarak bulunan yanlış bilgileri yeniden üretmekten kaçınma eğilimini değerlendirmek için özel olarak oluşturulmuş bir test.
Sıkça Sorulan Sorular

Q1. LLM eğitimi nedir?

A. LLM veya " Geniş Dil Modeli" eğitimi, yapay zekada GPT-3 gibi büyük sinir ağlarının insan benzeri metinleri anlamak ve üretmek için büyük miktarda metin verisi üzerinde eğitildiği bir süreçtir. Eğitim, giriş verilerine dayalı olarak kelimeleri veya metin dizilerini tahmin etmek için model parametrelerinin optimize edilmesini içerir ve modelin doğal dil anlama, üretme, çeviri ve daha fazlası gibi görevleri yerine getirmesini sağlar. Bu süreç, yüksek yeterlilik elde etmek için önemli hesaplama kaynakları ve veri gerektirir.

Q2. Bir LLM'yi sıfırdan nasıl eğitirsiniz?

A. Bir Geniş Dil Modelini (LLM) sıfırdan eğitmek karmaşık ve yoğun kaynak gerektiren bir süreçtir. Birkaç temel adım içerir:

1. Veri Toplama: İnternetten veya diğer kaynaklardan geniş ve çeşitli bir metin külliyatı toplayın. Verilerin kalitesi ve miktarı çok önemlidir.

2. Veri Ön İşleme: Tokenlaştırma (metni kelimelere veya alt kelime birimlerine ayırma) ve özel karakterleri işleme dahil olmak üzere verileri temizleyin ve biçimlendirin.

3. Model Mimarisi:, Transformatör tabanlı bir model gibi bir mimari seçin ve katman sayısı, dikkat mekanizmaları ve diğer hiperparametreler dahil olmak üzere yapısını tasarlayın.

4. Başlatma: Model parametrelerini rastgele değerlerle veya benzer bir modelden önceden eğitilmiş ağırlıklarla başlatın.

5. Eğitim Hedefi: Tipik olarak maksimum olabilirlik tahmini (MLE) veya diğer varyantlar olmak üzere bir eğitim hedefi tanımlayın.

6. Eğitim: Seçilen kayıp fonksiyonunu en aza indirerek model parametrelerini güncellemek için geriye yayılım ve optimizasyon algoritmalarını (örn. Adam) kullanın.

7. Düzenli hale getirme: Aşırı uyumu önlemek için bırakma ve katman normalleştirme gibi teknikler uygulayın.

8. Hiperparametre Ayarlama: Model performansını optimize etmek için çeşitli hiperparametrelerde ince ayar yapın.

9. Değerlendirme: Uygun metrikler ve doğrulama veri kümeleri kullanarak modelin performansını değerlendirin.

10. Çıkarım: LLM eğitildikten sonra metin oluşturma, çeviri ve özetleme gibi çeşitli doğal dil işleme görevleri için kullanılabilir.

Bir LLM'yi sıfırdan eğitmek, önemli hesaplama kaynakları, veriler ve uzmanlık gerektirir ve en son teknolojiye sahip sonuçlara ulaşmak için genellikle haftalar veya aylar gerekir. Birçok uygulayıcı, eğitim maliyetlerini ve süresini azaltmak için önceden eğitilmiş modellerden ve ince ayarlardan da yararlanır.

Son Notlar
Umarım artık kendi büyük dil modellerinizi sıfırdan oluşturmaya hazırsınızdır! Şimdiye kadar, LLM'ler ve farklı türleri hakkında iyi bir bilgi edinmiş olmalısınız. Ardından, en iyi uygulamaları ve değerlendirme tekniklerini izleyerek LLM'leri sıfırdan oluşturmanın adımlarını keşfetmiş olacaksınız.

Çeviren Notu:

Ve son olarak işin mutfağına gelirsek, işte orası oldukça sancılı ama uğraşmak isteyenler için bir link bırakalım: https://youtu.be/UU1WVnMk4E8

Hiç yorum yok:

Yorum Gönder