Yapay zeka modelleri ve platformlarÄą
BÞyÞk Dil Modeli Parametreleri ve Bellek Gereksinimleri: Derin Bir İnceleme

Yazan
Aayush Mittal Mittal
BÞyÞk Dil Modelleri (LLMâler) son yÄąllarda Ãķnemli ilerlemeler kaydetmiÅtir. GPT-4, GoogleâÄąn Gemini ve Claude 3 gibi modeller yeni standartlar belirliyor. Bu modeller yalnÄązca metin oluÅturma ve çeviriyi geliÅtirmekle kalmaz, aynÄą zamanda çoklu modlu iÅleme, metin, resim, ses ve video giriÅlerini birleÅtirerek daha kapsamlÄą AI çÃķzÞmleri sunar.
ÃrneÄin, OpenAIânin GPT-4âÞ insan benzeri metin anlama ve oluÅturma konusunda Ãķnemli geliÅmeler gÃķstermiÅtir. GoogleâÄąn Gemini modelleri ise çeÅitli veri tÞrlerini, metin, resim ve sesleri iÅleyerek daha sorunsuz ve baÄlamsal olarak ilgili etkileÅimler saÄlar. Benzer Åekilde, Anthropicâin Claude 3 modelleri çok dilli yetenekleri ve AI gÃķrevlerindeki geliÅmiÅ performansÄąyla dikkat çeker.
BÞyÞk Dil Modellerinin geliÅtirilmesi devam ettikçe, bu modellerin, Ãķzellikle parametreleri ve bellek gereksinimlerinin anlaÅÄąlmasÄą kritik hale gelir. Bu rehber, bu konularÄą aÃ§ÄąklamayÄą amaçlar ve kolay anlaÅÄąlÄąr bir aÃ§Äąklama sunar.
BÞyÞk Dil Modellerinin Temelleri
BÞyÞk Dil Modelleri Nedir?
BÞyÞk Dil Modelleri, insan dilini anlamak ve Þretmek için bÞyÞk veri kÞmeleri Þzerinde eÄitilen sinir aÄlarÄądÄąr. Transformers gibi mimarilere dayanarak, self-attention gibi mekanizmalarÄą kullanarak metin iÅler ve Þretir.
LLMâlerde Parametrelerin Ãnemi
Parametreler, bu modellerin temel bileÅenleridir. AÄÄąrlÄąklar ve yanlÄąlÄąklarÄą içerir ve model, eÄitim sÄąrasÄąnda hatalarÄą en aza indirmek için bunlarÄą ayarlar. Parametre sayÄąsÄą genellikle modelin kapasitesi ve performansÄąyla iliÅkili olmakla birlikte, hesaplama ve bellek gereksinimlerini de etkiler.
Transformer Mimarisi Anlama
Genel BakÄąÅ
Transformer mimarisi, Vaswani et al. (2017) tarafÄąndan âAttention Is All You Needâ adlÄą makalede tanÄątÄąlmÄąÅtÄąr ve birçok LLMânin temelini oluÅturur. Bir kodlayÄącÄą ve bir dekoderden oluÅur, her biri birkaç aynÄą katmandan oluÅur.
KodlayÄącÄą ve Dekoder BileÅenleri
- KodlayÄącÄą: GiriÅ dizisini iÅler ve baÄlamsal bir temsil oluÅturur.
- Dekoder: KodlayÄącÄąânÄąn temsilini ve daha Ãķnce Þretilen tokenleri kullanarak Ã§ÄąkÄąÅ dizisini Þretir.
Ana BileÅenler
- Ãoklu BaÅlÄąklÄą Dikkat: Modelin, aynÄą anda giriÅin farklÄą kÄąsÄąmlarÄąna odaklanmasÄąnÄą saÄlar.
- Besleme İleri Sinir AÄlarÄą: Modelde doÄrusallÄąk ve karmaÅÄąklÄąk ekler.
- Katman Normalizasyonu: EÄitim sÄąrasÄąnda ara Ã§ÄąktÄąlarÄą normalize ederek stabilize eder ve hÄązlandÄąrÄąr.
Parametre SayÄąsÄąnÄą Hesaplama
Transformer TabanlÄą LLMâlerde Parametreleri Hesaplama
Transformer tabanlÄą bir LLMânin her bir bileÅeninin parametre hesabÄąnÄą ayrÄąntÄąlÄą olarak inceleyelim. Orijinal makaledeki gÃķsterimi kullanacaÄÄąz, burada d_model modelin gizli durumlarÄąnÄąn boyutunu temsil eder.
- KatmanlaÅma KatmanÄą:
- Parametreler =
vocab_size*d_model
- Parametreler =
- Ãoklu BaÅlÄąklÄą Dikkat:
hbaÅlÄąklarÄą için,d_k = d_v = d_model / hile:- Parametreler = 4 *
d_model^2 (Q, K, V ve Ã§ÄąkÄąÅ projeksiyonlarÄą için)
- Besleme İleri Sinir AÄÄą:
- Parametreler = 2 *
d_model*d_ff+d_model+d_ff d_ffgenellikle 4 *d_modelolarak alÄąnÄąr
- Parametreler = 2 *
- Katman Normalizasyonu:
- Parametreler = 2 *
d_model(Ãķlçek ve yanlÄąlÄąk için)
- Parametreler = 2 *
Tek bir Transformer katmanÄąnÄąn toplam parametreleri:
Parametreler_katman=Parametreler_dikkat+Parametreler_ffn+ 2 *Parametreler_katman_norm
N katmanlÄą bir model için:
- Toplam Parametreler =
N*Parametreler_katman+Parametreler_katmanlaÅma+Parametreler_Ã§ÄąkÄąÅ
Ãrnek Hesaplama
AÅaÄÄądaki Ãķzelliklere sahip bir model dÞÅÞnÞn:
d_model= 768h(dikkat baÅlÄąklarÄąnÄąn sayÄąsÄą) = 12N(katman sayÄąsÄą) = 12vocab_size= 50,000
- KatmanlaÅma KatmanÄą:
- 50,000 * 768 = 38,400,000
- Ãoklu BaÅlÄąklÄą Dikkat:
- 4 * 768^2 = 2,359,296
- Besleme İleri Sinir AÄÄą:
- 2 * 768 * (4 * 768) + 768 + (4 * 768) = 4,719,616
- Katman Normalizasyonu:
- 2 * 768 = 1,536
Tek bir katman için toplam parametreler:
- 2,359,296 + 4,719,616 + (2 * 1,536) = 7,081,984
12 katman için toplam parametreler:
- 12 * 7,081,984 = 84,983,808
Modelin toplam parametreleri:
- 84,983,808 + 38,400,000 = 123,383,808
Bu model yaklaÅÄąk 123 milyon parametreye sahiptir.
Bellek KullanÄąm Tipleri
LLMâlerle çalÄąÅÄąrken iki ana bellek kullanÄąm tipini dikkate almalÄąyÄąz:
- Model BelleÄi: Model parametrelerini depolamak için gereken bellek.
- ÃalÄąÅma BelleÄi: AracÄąlÄąk ve optimizer durumlarÄąnÄą depolamak için gereken bellek.
Model BelleÄini Hesaplama
Model belleÄi, parametre sayÄąsÄąna doÄrudan baÄlÄądÄąr. Her parametre genellikle 32-bit kayan nokta sayÄąsÄą olarak depolanÄąr, bazÄą modeller ise 16-bit floating-point sayÄąlar kullanÄąr.
Model BelleÄi (bayt) = Parametre SayÄąsÄą * Bayt BaÅÄąna Parametre
ÃrneÄimizdeki 123 milyon parametreli model için:
- Model BelleÄi (32-bit) = 123,383,808 * 4 bayt = 493,535,232 bayt â 494 MB
- Model BelleÄi (16-bit) = 123,383,808 * 2 bayt = 246,767,616 bayt â 247 MB
ÃalÄąÅma BelleÄini Tahmin Etme
ÃalÄąÅma belleÄi gereksinimleri, gÃķrev, toplu iÅ boyutu ve dizi uzunluÄuna baÄlÄą olarak Ãķnemli ÃķlçÞde deÄiÅebilir. Tahmini çalÄąÅma belleÄi:
ÃalÄąÅma BelleÄi â 2 * Model BelleÄi
Bu, hem model parametrelerini hem de ara aktivasyonlarÄą depolamayÄą hesaba katar. EÄitim sÄąrasÄąnda, bellek gereksinimleri daha da yÞksek olabilir, çÞnkÞ gradyanlar ve optimizer durumlarÄą depolanmalÄądÄąr:
EÄitim BelleÄi â 4 * Model BelleÄi
ÃrneÄimizdeki model için:
- ÃalÄąÅma BelleÄi â 2 * 494 MB = 988 MB â 1 GB
- EÄitim BelleÄi â 4 * 494 MB = 1,976 MB â 2 GB
Sabit Durum Bellek KullanÄąmÄą ve Zirve Bellek KullanÄąmÄą
Transformer mimarisine dayalÄą bÞyÞk dil modellerini eÄittiÄinizde, bellek kullanÄąmÄąnÄą anlamak, verimli kaynak tahsisi için kritik Ãķnem taÅÄąr. Bellek gereksinimlerini iki ana kategoriye ayÄąrabiliriz: sabit durum bellek kullanÄąmÄą ve zirve bellek kullanÄąmÄą.
Sabit Durum Bellek KullanÄąmÄą
Sabit durum bellek kullanÄąmÄą aÅaÄÄądaki bileÅenleri içerir:
- Model AÄÄąrlÄąklarÄą: FP32 kopyalarÄą model parametreleri, 4N bayt gerektirir, burada N parametre sayÄąsÄądÄąr.
- Optimizer DurumlarÄą: Adam optimizer için, bu 8N bayt (her parametre için 2 durum) gerektirir.
- Gradyanlar: FP32 kopyalarÄą gradyanlar, 4N bayt gerektirir.
- GiriÅ Verileri:VarsayÄąlan int64 giriÅleri, bu 8BD bayt gerektirir, burada B toplu iÅ boyutu ve D giriÅ boyutudur.
Toplam sabit durum bellek kullanÄąmÄą yaklaÅÄąk olarak:
- M_sabit = 16N + 8BD bayt
Zirve Bellek KullanÄąmÄą
Zirve bellek kullanÄąmÄą, geriye doÄru geçiÅ sÄąrasÄąnda aktivasyonlarÄąn gradyan hesaplamasÄą için depolandÄąÄÄąnda oluÅur. Ana katkÄąda bulunanlar:
- Katman Normalizasyonu: Her bir katman norm için 4E bayt gerektirir, burada E = BSH (B: toplu iÅ boyutu, S: dizi uzunluÄu, H: gizli boyut).
- Dikkat BloÄu:
- QKV hesaplama: 2E bayt
- Dikkat matrisi: 4BSS bayt (S: dizi uzunluÄu)
- Dikkat Ã§ÄąkÄąÅÄą: 2E bayt
- Besleme İleri BloÄu:
- İlk doÄrusal katman: 2E bayt
- GELU aktivasyonu: 8E bayt
- İkinci doÄrusal katman: 2E bayt
- Ãoklu Seçim KaybÄą:
- Logit: 6BSV bayt (V: sÃķzlÞk boyutu)
Toplam aktivasyon belleÄi yaklaÅÄąk olarak:
- M_aktivasyon = L * (14E + 4BSS) + 6BSV bayt
Burada L, Transformer katmanlarÄąnÄąn sayÄąsÄądÄąr.
Toplam Zirve Bellek KullanÄąmÄą
EÄitim sÄąrasÄąnda zirve bellek kullanÄąmÄą, sabit durum belleÄi ve aktivasyon belleÄinin birleÅimiyle yaklaÅÄąk olarak:
- M_zirve = M_sabit + M_aktivasyon + 4BSV bayt
Ek 4BSV terimi, geriye doÄru geçiÅin baÅlangÄącÄąnda yapÄąlan ek bir tahsisatÄą hesaba katar.
Bu bileÅenleri anlayarak, eÄitim ve Ã§ÄąkarÄąm sÄąrasÄąnda bellek kullanÄąmÄąnÄą optimize edebilir ve bÞyÞk dil modellerinin performansÄąnÄą iyileÅtirebiliriz.
Ãlçekleme YasalarÄą ve Verimlilik KonularÄą
 LLMâler için Ãlçekleme YasalarÄą
AraÅtÄąrmalar, LLMâlerin performansÄąnÄąn, parametre sayÄąsÄąnÄąn artmasÄąyla belirli Ãķlçekleme yasalarÄąna uyduÄunu gÃķstermiÅtir. Kaplan et al. (2020), model performansÄąnÄąn, parametre sayÄąsÄą, hesaplama bÞtçesi ve veri kÞmesi boyutunun gÞç yasasÄą olarak verbessiÄini gÃķzlemledi.
Model performansÄąnÄąn parametre sayÄąsÄąyla iliÅkisi yaklaÅÄąk olarak:
Performans â N^Îą
Burada N parametre sayÄąsÄą ve Îą genellikle dil modelleme gÃķrevleri için 0.07 olan Ãķlçekleme ÞssÞdÞr.
Bu, %10âluk bir performans iyileÅmesi için parametre sayÄąsÄąnÄąn 10^(1/Îą) â 3.7 kat artmasÄą gerektiÄini ima eder.
Verimlilik Teknikleri
LLMâler bÞyÞdÞkçe, araÅtÄąrmacÄąlar ve uygulayÄącÄąlar verimliliÄi artÄąrmak için çeÅitli teknikler geliÅtirdiler:
a) KarÄąÅÄąklÄąkli EÄitim: BazÄą iÅlemler için 16-bit veya 8-bit kayan nokta sayÄąlarÄąnÄą kullanarak bellek kullanÄąmÄąnÄą ve hesaplama gereksinimlerini azaltma.
b) Model ParalelliÄi: Modeli birden fazla GPU veya TPUâya daÄÄątarak, tek bir cihazda sÄąÄamayan daha bÞyÞk modelleri iÅleme.
c) Gradyan Kontrol NoktasÄą: HesaplamayÄą bellek için takas ederek, bazÄą aktivasyonlarÄą geriye doÄru geçiÅ sÄąrasÄąnda yeniden hesaplamak.
d) Seçim ve Kuantizasyon: EÄitimden sonra daha az Ãķnemli aÄÄąrlÄąklarÄą kaldÄąrarak veya onlarÄąn kesinliÄini azaltarak daha kÞçÞk, daha verimli modeller oluÅturma.
e) DamÄątma: KÞçÞk modelleri, daha bÞyÞk modellerin davranÄąÅÄąnÄą taklit etmesi için eÄitmek, bÃķylece daha az parametreyle benzer performansÄą koruma.
Pratik Ãrnek ve Hesaplamalar
GPT-3, en bÞyÞk dil modellerinden biri, 175 milyar parametreye sahiptir. Transformer mimarisinin dekoder kÄąsmÄąnÄą kullanÄąr. BÞyÞklÞÄÞnÞ anlamak için, parametre sayÄąsÄąnÄą aÅaÄÄądaki deÄerlerle hesaplayalÄąm:
d_model = 12288d_ff = 4 * 12288 = 49152- Katman sayÄąsÄą = 96
Tek bir dekoder katmanÄą için:
Toplam Parametreler = 8 * 12288^2 + 8 * 12288 * 49152 + 2 * 12288 â 1.1 milyar
96 katman için toplam:
1.1 milyar * 96 = 105.6 milyar
Kalan parametreler, katmanlaÅma ve diÄer bileÅenlerden gelir.
Sonuç
BÞyÞk dil modellerinin parametrelerini ve bellek gereksinimlerini anlamak, bu gÞçlÞ araçlarÄą etkili bir Åekilde tasarlamak, eÄitmek ve daÄÄątmak için kritik Ãķnem taÅÄąr. Transformer mimarisini ve pratik Ãķrnekleri inceleyerek, bu modellerin karmaÅÄąklÄąÄÄą ve ÃķlçeÄini daha iyi anlarÄąz.
BÞyÞk dil modellerindeki son geliÅmeleri ve uygulamalarÄąnÄą daha derinlemesine incelemek için aÅaÄÄądaki rehberlere bakÄąn:
- Gemma 2 Rehberi: GoogleâÄąn Yeni AÃ§Äąk BÞyÞk Dil Modeli için geliÅmiÅ performansÄąnÄą ve yenilikçi Ãķzelliklerini keÅfedin.
- LLM AjanlarÄą Rehberi: RAG için Temel ve Ãtesi için, alÄąntÄą-augmente edilmiÅ jenerasyonun zorluklarÄą ve çÃķzÞmleri hakkÄąnda bilgi edinin.
- NVIDIA GPUâlarÄą ve CUDA ile LLMâlerin eÄitimini, ince ayarÄąnÄą ve Ã§ÄąkarÄąmÄąnÄą ayarlamak için AI sistemlerini optimize edin.
Son beÅ yÄąldÄąr Makine ÃÄrenimi ve Derin ÃÄrenme dÞnyasÄąna kendimi adamÄąÅ bulunuyorum. Tutkum ve uzmanlÄąÄÄąm, Ãķzellikle AI/ML'ye odaklanarak 50'den fazla çeÅitli yazÄąlÄąm mÞhendisliÄi projesine katkÄąda bulunmama yol açtÄą. SÞregelen meraklÄąlÄąÄÄąm da beni DoÄal Dil İÅleme alanÄąna yÃķneltti, bu alana daha da derinlemesine girmeye hevesliyim.
Daha fazlasını keşfedin


Bir Bot Ãocuklarla FlÃķrt Edebiliyorsa, Verilerinizi Ne YapmasÄąna İzin Veriyorsunuz?


NasÄąl Sahte Bilimsel Makaleleri AI İnceleyicilerden Geçirebilirsiniz


İnsanlarÄąn YazdÄąÄÄą Metinleri, Yapay Zeka TarafÄąndan Ãretilen Metinlere Tercih Eden Yapay Zeka Modelleri


MoE Devrimi: GeliÅmiÅ Routing ve UzmanlaÅma NasÄąl LLM’leri DÃķnÞÅtÞrÞyor


Ãlçeklendirme ÃaÄÄą’nÄąn Sonu: Neden Algoritmik İnovasyonlar Model BÞyÞklÞÄÞnden Daha Ãnemli


Neden AI Cevap BilmediÄini Kabul Etmeyecek?

