---
title: "Saf NumPy ile Sıfırdan GPT Uygulaması: microgpt"
url: https://blog.edumints.com/saf-numpy-ile-sifirdan-gpt-uygulamasi-microgpt
category: "Makine Öğrenmesi"
date: 2026-11-05T15:06:20.817Z
publisher: Edumints Blog
lang: tr-TR
source_name: "GitHub"
source_url: https://github.com/prabeakarve/microgpt
---

# Saf NumPy ile Sıfırdan GPT Uygulaması: microgpt

## microgpt Nedir ve Neden Önemlidir?

Büyük dil modelleri (LLM) günümüzde yapay zeka dünyasının merkezinde yer alıyor. Ancak PyTorch veya TensorFlow gibi üst düzey kütüphanelerin sunduğu soyutlamalar, bu modellerin arka planında çalışan matematiksel işlemleri anlamayı zorlaştırabiliyor. **prabeakarve/microgpt**, dış bağımlılıklara (dependency-free) ihtiyaç duymadan, yalnızca saf **NumPy** kullanarak sıfırdan inşa edilmiş bir GPT (Generative Pre-trained Transformer) uygulamasıdır.

Python diliyle geliştirilen ve kısa sürede GitHub'da dikkat çekerek 51 yıldıza ulaşan bu repo, karmaşık derin öğrenme çatıları olmadan modern bir dil modelinin tüm temel bileşenlerini içerir:

- **Byte-Level Tokenizer:** Metinleri harici kütüphanelere ihtiyaç duymadan bayt düzeyinde ayrıştırır ve modelin işleyebileceği sayısal dizilere dönüştürür.
- **Multi-Head Self-Attention:** Transformer mimarisinin kalbi olan çok başlıklı öz-dikkat mekanizmasını saf matris çarpımlarıyla uygular.
- **Adam Trainer:** Geri yayılım (backpropagation) gradyanlarını ve ağırlık güncellemelerini sıfırdan kodlanmış bir Adam optimizasyon algoritmasıyla yönetir.
- **Top-k Sampler:** Modelin metin üretimi sırasında en olası *k* kelime arasından seçim yaparak tutarlı ve yaratıcı çıktılar üretmesini sağlar.

## Geliştiriciler İçin Değeri ve Pratik Kullanım Alanları

Geliştiriciler ve makine öğrenmesi araştırmacıları için **microgpt**, "kara kutu" olarak görülen LLM mimarilerinin iç yüzünü aydınlatan eşsiz bir eğitim materyalidir. Otomatik türev alma (autograd) motorlarının gizlediği ileri (forward) ve geri (backward) geçiş adımlarını doğrudan matris operasyonlarıyla görmek, derin öğrenme temellerini sağlamlaştırır.

Pratik kullanım senaryoları şunlardır:

- **Eğitim ve Akademik Çalışmalar:** Öz-dikkat (self-attention) ve gradyan hesaplamalarının matematiksel formüllerini doğrudan çalışan Python kodları üzerinde adım adım incelemek.
- **Küçük Ölçekli Deneyler:** Küçük metin veri setleri üzerinde harici GPU kütüphaneleri kurmadan yerel ortamda hızlıca karakter veya bayt düzeyinde dil modeli eğitmek.
- **Özel Algoritma Prototipleme:** Yeni bir dikkat mekanizması, kayıp fonksiyonu veya örnekleyici (sampler) fikrini, devasa kütüphanelerin kısıtlamalarına takılmadan saf NumPy üzerinde test etmek.
- **Teknik Mülakat Hazırlığı:** Makine öğrenmesi mühendisliği mülakatlarında sıkça sorulan "sıfırdan attention veya optimizer kodlama" pratikleri için referans kaynak olarak kullanmak.

## Benzer Araçlarla Karşılaştırma

Eğitim odaklı minimal GPT uygulamaları ekosisteminde **microgpt** kendine özgü bir konuma sahiptir:

- **nanoGPT (Andrej Karpathy):** En bilinen minimal GPT uygulamasıdır ancak PyTorch bağımlılığına sahiptir ve gradyan hesaplamalarını PyTorch'un autograd motoruna bırakır. **microgpt** ise tüm matematiksel süreci saf NumPy ile açıkça gösterir.
- **picoGPT:** Sadece ileri geçiş (inference/çıkarım) aşamasını yaklaşık 40 satır NumPy koduyla gösterir ancak eğitim (training) döngüsü içermez. **microgpt**, sıfırdan yazılmış **Adam trainer** ve **byte-level tokenizer** bileşenleriyle uçtan uca hem eğitim hem de metin üretimi sunar.

Sonuç olarak, derin öğrenme çatılarının arkasına saklanmadan bir GPT modelinin nasıl öğrendiğini ve metin ürettiğini en temel düzeyde kavramak isteyen her geliştirici için **microgpt** incelenmesi gereken harika bir kaynaktır.

---

**Kaynak:** GitHub (https://github.com/prabeakarve/microgpt)
**Yayıncı:** [Edumints Blog](https://blog.edumints.com) · Alıntılarken bu URL'ye bağlantı verin: https://blog.edumints.com/saf-numpy-ile-sifirdan-gpt-uygulamasi-microgpt
