LLM Training
Bu, çok tavsiye edilen https://www.manning.com/books/build-a-large-language-model-from-scratch kitabından aldığım notlar ve bazı ek bilgiler.
Basic Information
Bu temel kavramlar hakkında bilmeniz gereken bazı temel bilgiler için bu yazıyı okumaya başlamalısınız:
0. Basic LLM Concepts1. Tokenization
Bu ilk aşamanın amacı çok basit: Girdiyi mantıklı bir şekilde token'lara (kimliklere) ayırmak.
2. Data Sampling
Bu ikinci aşamanın amacı çok basit: Girdi verilerini örneklemek ve genellikle belirli bir uzunluktaki cümlelere ayırarak ve beklenen yanıtı da üreterek eğitim aşamasına hazırlamak.
3. Token Embeddings
Bu üçüncü aşamanın amacı çok basit: Sözlükteki önceki her token'a modelin eğitimi için istenen boyutlarda bir vektör atamak. Sözlükteki her kelime, X boyutlu bir uzayda bir nokta olacaktır. Başlangıçta her kelimenin uzaydaki konumu "rastgele" başlatılır ve bu konumlar eğitilebilir parametrelerdir (eğitim sırasında geliştirilecektir).
Ayrıca, token embedding sırasında başka bir embedding katmanı oluşturulur ki bu, eğitim cümlesindeki kelimenin mutlak konumunu temsil eder. Bu şekilde, cümledeki farklı konumlarda bir kelimenin farklı bir temsili (anlamı) olacaktır.
4. Attention Mechanisms
Bu dördüncü aşamanın amacı çok basit: Bazı dikkat mekanizmaları uygulamak. Bunlar, **sözlükteki bir kelimenin, LLM'yi eğitmek için kullanılan mevcut cümledeki komşularıyla olan ilişkisini yakalayacak çok sayıda tekrarlanan katman olacaktır. Bunun için çok sayıda katman kullanılacak, bu nedenle çok sayıda eğitilebilir parametre bu bilgiyi yakalayacaktır.
5. LLM Architecture
Bu beşinci aşamanın amacı çok basit: Tam LLM'nin mimarisini geliştirmek. Her şeyi bir araya getirin, tüm katmanları uygulayın ve metin oluşturmak veya metni kimliklere ve geri dönüştürmek için tüm fonksiyonları oluşturun.
Bu mimari, hem eğitim hem de eğitimden sonra metin tahmin etmek için kullanılacaktır.
6. Pre-training & Loading models
Bu altıncı aşamanın amacı çok basit: Modeli sıfırdan eğitmek. Bunun için önceki LLM mimarisi, tanımlı kayıp fonksiyonları ve optimizasyon kullanarak veri setleri üzerinde döngülerle tüm model parametrelerini eğitmek için kullanılacaktır.
7.0. LoRA Improvements in fine-tuning
LoRA'nın kullanımı, zaten eğitilmiş modelleri ince ayar yapmak için gereken hesaplamayı büyük ölçüde azaltır.
7.1. Fine-Tuning for Classification
Bu bölümün amacı, LLM'nin yeni metin oluşturmak yerine verilen metnin her bir verilen kategoriye sınıflandırılma olasılıklarını seçmesini sağlamak için zaten önceden eğitilmiş bir modeli nasıl ince ayar yapacağınızı göstermektir (örneğin, bir metnin spam olup olmadığını belirlemek).
7.2. Fine-Tuning to follow instructions
Bu bölümün amacı, metin oluşturmak yerine talimatları takip etmek için zaten önceden eğitilmiş bir modeli nasıl ince ayar yapacağınızı göstermektir; örneğin, bir sohbet botu olarak görevlere yanıt vermek.
Last updated