deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Hacker News – Front Page (hnrss.org)

DeepSeek-V3 mimarisinin tamamı bir MacBook Air'da 190 satırlık JAX koduyla sıfırdan eğitildi

Hacker News'te paylaşılan bir proje, DeepSeek-V3'ü tanımlayan fikirleri — MLA, DeepSeekMoE, aux-loss-free dengeleme ve çoklu token tahmini — 190 satırlık saf JAX kodunda uyguluyor ve modeli bir dizüstü bilgisayarda sıfırdan eğitiyor.

DeepSeek-V3 mimarisinin tamamı bir MacBook Air'da 190 satırlık JAX koduyla sıfırdan eğitildi

Geliştirici Vaibhaav Tiwari'nin Hacker News'te paylaştığı bir proje, DeepSeek-V3 mimarisini 190 satırlık saf JAX koduyla uyguluyor — Flax yok, Equinox yok, PyTorch yok — ve modeli bir MacBook Air'da sıfırdan ön eğitimden geçiriyor. Depoya göre parametreler düz dizi sözlükleri ve modelin her parçası, üstten alta okunabilen tek bir dosyadaki, deepseek_v3.py, sıradan fonksiyonlardan. Satır sayımı, dosyanın docstring'inden sonra gelen boş ve yorum olmayan satırları kapsıyor.

190 satırın içinde ne var

Kod, DeepSeek-V3 teknik raporundaki her fikri içeriyor:

  • Multi-head Latent Attention (MLA): Token başına tam anahtar ve değerler yerine tek bir küçük sıkıştırılmış latent saklıyor ve bu ölçekte cache'i katman ve token başına 480 sayıdan 144 sayıya indiriyor.
  • Ayrık rotary pozisyon gömülmeleri: Tek bir rotary anahtar tüm head'ler arasında paylaşılıyor ve sıkıştırılmış latentin dışında tutuluyor.
  • DeepSeekMoE yönlendirmesi: Her zaman katılan bir paylaşılan uzman artı 16 yönlendirilen uzman, token başına en iyi dördü seçiliyor.
  • Aux-loss-free yük dengeleme: Uzman başına bir bias, yönlendirmeyi boşta kalan uzmanlara yönlendiriyor ve yalnızca hangi uzmanların seçildiğini etkiliyor, çıktılarının ağırlıklandırılmasını değil.
  • Bias'ı tamamlayan küçük bir sequence bazlı denge kaybı (α = 1e-4).
  • Multi-token prediction (MTP): Bir sonraki tokeni de tahmin eden ek bir modül, kayıpta λ = 0.3 ağırlığıyla.
  • Eğitim ve üretim: f32 master ağırlıklar üzerinde bf16 hesaplama, MLA cache kullanan prefill ve decode yollarıyla.

Eğitim koşusu ve sonuçlar

Varsayılan yapılandırma 24 GB belleğe sahip bir MacBook Air M5'te eğitildi. Model 36,2 milyon parametreye sahip; token başına 13,6 milyonu aktif — DeepSeek-V3'ün 671 milyarının çok küçük bir kesri. Veri kümesi, toplam 21,7 milyon eğitim tokeni içeren 207 telifsiz dedektif romanıydı; doğrulama için ayrı suç kurgusu kitapları ayrıldı. Eğitim 12.000 adım, yaklaşık 98 milyon token (~4,5 epoch) sürdü ve saatte ortalama 10.700 token hızıyla yaklaşık 2,6 saatte tamamlandı. Doğrulama kaybı 250. adımda 5,02'den 3,51'e düştü.

Depo ayrıca bias tabanlı dengelemenin bir ablasyon çalışmasını raporluyor. Bias açıkken her uzman 2000. adımda tokenlerin %5,7–6,9'unu işledi; mükemmel dengeli %6,25'e yakın bir değer. Bias olmadan yükler %0,09 ile %18,6 arasında değişti. O adımdaki doğrulama kaybı her iki durumda fiilen aynıydı (3,921'e karşı 3,923); yazar bunun tam olarak makalenin iddiası olduğunu vurguluyor: bias, uzman kullanımını hiçbir maliyet olmadan dengeliyor.

Örneklemeyle üretilen metin dilbilgisel olarak doğru ama sıradan; yazar bunun yetenekli bir dil modeli değil, mimarinin bir gösterimi olduğunu açıkça belirtiyor.

Basitleştirilenler

Proje okunabilirlik için bilinçli ödünler veriyor. Her uzman her token üzerinde hesap yapıyor ve seçilmeyen çıktılar sıfırlanıyor; dolayısıyla yönlendirme matematiği tam ama sparse dispatch ya da uzman paralelliği yok. MLA, ağırlık absorpsiyonunu atlıyor ve latenti açıkça açıyor; bu daha anlaşılır ama çıkarımda daha yavaş. FP8 eğitimi, DualPipe çizelgesi, node-limited routing, YaRN bağlam genişletme ve her türlü eğitim sonrası adım tamamen yok. Ölçek ciddi biçimde küçültülmüş: orijinalindeki 61 katmana karşı 6 katman ve 256 tokenlik bir bağlam penceresi.

Koşuyu yeniden üretmek

Yeniden üretim için bir Apple Silicon Mac, Python 3.12 ve uv paket yöneticisi gerekiyor; tüm bağımlılıklar sabitlenmiş durumda — örneğin jax-metal 0.1.1 yalnızca jax 0.4.34 ile çalışıyor. Bir veri hazırlama betiği kitapları indiriyor ve 8.192 tokenlik bir BPE tokenizer eğitiyor; Project Gutenberg, veri kümesindeki 203 kitaptan 28'ini küçük düzenlemelerle yeniden yayınladığı için, yeni oluşturulan veri kümelerinin hash değerleri yayınlananlardan farklı oluyor; ancak token sayıları aynı kalıyor ve yayınlanan kesin baytlar ayrıca mevcut. 39 testlik bir süit maskeleme, cache tutarlılığı, yönlendirme, MTP hedefleri ve sayısal işlemeyi kapsıyor; 8–16 GB makineler için daha küçük, yalnızca CPU kullanan bir yapılandırma da var. Metal üzerindeki koşular bit bit deterministik olmadığından, yeniden üretilen sayısal değerler yayınlananların tam üstüne değil, yakınına düşüyor. Depodan bir uyarı: checkpoint bir Python pickle'ı ve yüklendiğinde kod çalıştırabilir.

Neden önemli

Sınırların ötesindeki mimariler geliştiricilere genellikle yalnızca büyük, framework ağır kod tabanları üzerinden ulaşıyor; ilginç fikirler altyapı katmanlarının arkasında duruyor. DeepSeek-V3'ün tüm mekanizmalarını içeren ve bir dizüstü bilgisayarda gerçekten uçtan uca eğitilen tek bir okunabilir dosya, 671 milyar parametrelik bir tasarımı bir kişinin bir öğleden sonra inceleyebileceği, değiştirebileceği ve doğrulayabileceği bir şeye dönüştürüyor. Dengeleme ablasyonu, makalenin merkezdeki yönlendirme iddiasının küçük, somut bir sınaması ve bütün bu çaba, dağıtık eğitim makinesi soyulduğunda modern LLM mühendisliğin kavramsal olarak ne kadar kompakt hale geldiğini gösteriyor. JAX veya mixture-of-experts tasarımı öğrenen herkes için proje aynı zamanda çalışan bir referans uygulaması işlevi görüyor.

  • #deepseek
  • #jax
  • #language-models
  • #mixture-of-experts
  • #open-source

İlgili yazılar