24 puan yazan GN⁺ 2025-01-31 | 1 yorum | WhatsApp'ta paylaş
  • Eğitim amacıyla tasarlanmış, PyTorch tabanlı basit bir LLM eğitim projesi; verimli eğitim ve modern örnekleme tekniklerini uygular

Özellikler

  • Minimal kod tabanı: PyTorch ile yazılmıştır, karmaşık soyutlamalar içermez
  • Modern mimari: GPT modeli; Flash Attention, RMSNorm, SwiGLU ve verimli örnekleme tekniklerini içerir
  • Eğitim özellikleri:
    • Karışık hassasiyet (bfloat16/float16)
    • Gradient accumulation
    • Warmup ile öğrenme oranı azaltımı
    • Weight decay ve gradient clipping
  • Veri kümesi desteği: TinyStories veri kümesi işleme yerleşik olarak sunulur
  • Özel tokenizer: SentencePiece tokenizer eğitimi entegredir

Kurulum

  • Python 3.8+
  • PyTorch 2.0+ ve CUDA
  • Güncel bir GPU önerilir

Hızlı başlangıç 🚀

Seçenek 1: Tam eğitim döngüsü

  1. Veri kümesini hazırlayın
  2. Eğitimi başlatın
  3. Metin üretin

Seçenek 2: Önceden eğitilmiş modeli kullanın

  1. Varlıkları indirin
  2. Çıkarımı çalıştırın

Önceden eğitilmiş model ayrıntıları

  • TinyStories veri kümesiyle eğitilmiştir
  • 4096 token sözlüğü, 8 head, 8 katmanlı transformer, 512 embedding boyutu
  • Yaklaşık 400 milyon token ile 18,5 saat eğitildi
  • Doğrulama kaybı: 1.0491

Eğitim donanımı özellikleri

  • GPU: NVIDIA L4 Tensor Core
  • vCPU'lar: 16
  • RAM: 64 GB
  • VRAM: 24 GB

Not: Bu uygulama, eğitim amacıyla modern LLM eğitim pratikleri referans alınarak hazırlanmıştır. Üretim ortamında model boyutunu ve veri kümesini büyütmek önerilir.

1 yorum

 
GN⁺ 2025-01-31
Hacker News yorumları
  • Bir kullanıcı, GPT uygulamasını C ile geliştirirken bellek yönetimi ve veri yönetiminin önemini öğrendiğini belirtiyor. İlgili projenin yaklaşık 1500 satır koddan oluştuğunu söylüyor ve GitHub bağlantısını paylaşıyor

  • Başka bir kullanıcı, bir sonraki adımın numpy kullanarak doğrudan uygulamak olduğunu açıklıyor. Güçlü soyutlamalarla başlayıp ardından bu soyutlamaları kademeli olarak kaldırarak sistemi tamamen anlayabileceğinizi vurguluyor

  • A100 GPU üzerinde yaklaşık 2 saat süren bir projeyi Google Colab not defteri kullanarak paylaşıyor. Ücretsiz hesapta da çalışabileceğini belirtiyor

  • GitHub'da Andrej Karpathy'nin nanoGPTsi gibi çeşitli projelerin bulunduğunu ve MoE'nin uygulandığı başka projeler de olduğunu açıklıyor

  • Bir kullanıcı, belirli bir modeli belirli bir veri kümesi üzerinde eğitip sonuçları test etmenin mümkün olup olmadığını soruyor. Açık kaynak bir proje aradığını, GPU kullanılabilirliğini göstermesini ve CPU ile değiştirilebilen bir Docker container'ı istediğini belirtiyor

  • Başka bir kullanıcı, kendi çok kanallı tokenizer'ını kullanarak yaptığı uygulamayı anlatıyor. Baş karakterin adının çok sık tekrarlandığını, bu yüzden bir hata olup olmadığından şüphelendiğini belirtiyor

  • Om Alve, gönderinin viral olmasından dolayı teşekkür ediyor ve harcanan emeğe değdiğini söylüyor

  • Teknolojinin birkaç yüz satır kodla uygulanabiliyor olmasının ilginç olduğunu belirtiyor. En gelişmiş modellerin kaç satır koddan oluştuğunu tahmin etmeyi öneriyor

  • Bunun SmolLM ile ilgili olmadığını belirterek HuggingFace'in blog bağlantısını paylaşıyor

  • Eğitim veri kümesinden örnekler ve kullanım senaryoları paylaşılıp paylaşılamayacağını soruyor