LLM Training

Bunlar, çok önerilen 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:

1. 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 kelime farklı bir temsil (anlam) alacaktı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 geriye dönüştürmek için tüm işlevleri 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ı, sadece 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