§1Neden eğitim

En zorlu iş yükü, altındaki her şeyi dürüst tutar

Yığınverilerinizİleri geçişGPU'nuzdaKayıpsapma miktarıGeri yayılımgradyanlarOptimizer adımıAdamWher adımdacheckpoint 9f2e…kayıp — düşüyor
Şek. 1 — Eğitim döngüsünün bir turu: ileri geçiş, kayıp, geri dönen gradyanlar, güncellenen ağırlıklar — kendi GPU'nuzda yinelenir ve çalışırken sürdürebileceğiniz ya da atıf verebileceğiniz bir checkpoint bırakır.

Scellis modelleri eğitir — yalnızca çalıştırmakla kalmaz. Platformun etrafında kurulduğu iş yükünün eğitim olmasının nedeni tam da şudur: eğitim, altındaki her katmanı gerçek olmaya zorlar. Gradyanlara dokunan bir döngü; açık bellek planlaması, yapılandırılmış kontrol akışı, bir doğruluk rejimi, yeniden üretilebilir rastgelelik ve checkpoint ister. Bir platformu en zorlu senaryosunda sertleştirirseniz, aynı makine bir simülasyonu ya da istatistiksel analizi de aynı sağlamlıkla taşır. Çiziminizle GPU'nuzda koşan kod arasında ne olduğunu görmek isterseniz rehber her aşamayı açar: çizilmiş çizgeden GPU koduna.

Kullandığı GPU, zaten sizin olan GPU'dur — Apple, AMD, Intel ya da NVIDIA; dizüstünde de iş istasyonunda da — çünkü WebGPU, tarayıcının GPU'ya kendi arayüzüdür: CUDA yok, sürücü yok, kurulacak bir şey yok, yönetici hakkı gerekmiyor. Kullanılabilir bir GPU'nun hiç olmadığı bir cihazda aynı iş akışı daha yavaş bir CPU yolunda yine çalışır — adı konarak, asla sessizce değil; bunun büyük bir modelde neye mal olduğu dürüst sınırlar sayfasında yazılıdır.

Döngünün kendisi okuyabileceğiniz bir programdır. İleri geçiş, kayıp, geri yayılım ve optimizer adımı, diğer her iş akışıyla aynı aşamalardan geçer — modele özel bir yol yoktur — ve döngü adım adım sürülür. Bu yüzden veriye bağlı bir karar — bozuk bir sayı üreten yığını atlamak ya da plato durumunda öğrenme oranını düşürmek — sonradan yapıştırılan bir şey değil, doğrudan ifade ettiğiniz bir şeydir. Tekil bir çalıştırmanın sunucuya hiçbir zaman ihtiyacı olmaz.

§2Eğitim yüzeyi

Tam yığın, demo alt kümesi değil

BileşenSayıYerleşik küme
Optimizer'lar9Adam · AdamW · SGD · LAMB · Adafactor · Lion · Sophia · Int8Adam · Prodigy
Kayıp fonksiyonları15MSE · L1 · BCE · CrossEntropy · KLDivergence · FocalLoss · HuberLoss · InfoNCE · TripletMargin …
LR zamanlayıcıları14warmup, cosine, one-cycle, cyclic, plateau — artı bir öğrenme oranı bulucu
PEFT yöntemleri6LoRA · QLoRA · PrefixTuning · BitFit · IA3 · PromptTuning
Metrikler10Accuracy · F1 · Precision · Recall · ConfusionMatrix · Perplexity · AUROC · AUPRC · ECE · Brier
Ağırlık başlatıcıları11Xavier · Kaiming · orthogonal · truncated-normal · sparse · pretrained …
Düzenlileştirme5mixup · cutmix · label_smoothing · weight_decay · spectral_norm

Sayılar yerleşik katalogdur, asla bir tavan değil — her bileşen sıradan içeriktir. Listede olmayan bir yöntemi — damıtma, DPO, MAML, müfredat öğrenimi — bugün, aynı makine üzerinde, kendiniz yazabilirsiniz.

Bir eğitim döngüsünün ihtiyaç duyduğu her şey mevcut, bütçelenmiş ve incelenebilirdir — ve her parçası, sabit kodlanmış bir dal değil, sıradan bir katalog kaydıdır. Eğitimle ilgili tüm ayarlar tek yerde, Model View içinde durur: optimizer, zamanlayıcı ve kayıp fonksiyonunu katalogdan seçersiniz; epoch, yığın boyutu, hassasiyet, kırpma ve metrikleri modelin üzerinde ayarlarsınız. Tarif betiklere dağılmak yerine modelle birlikte kalır.

Tablonun ötesinde dahası var: iki ağlı çekişmeli (GAN) eğitim, EMA ve SWA ağırlık ortalaması, gradyan biriktirme ve kırpma, aktivasyon checkpoint'lemesi, ağırlıklı örneklemeyle veri artırma, QLoRA üzerinden NF4 nicemlemeli ince ayar — ayrıca çıkarım için Int4 ve Int8 nicemleme — ve model cerrahisi: dondurun, çözün, adaptör ekleyin. Üstelik yerleşik küme bir başlangıç kataloğudur, tavan değil: kendiniz yazdığınız bir optimizer ya da kayıp fonksiyonu, yerleşiklerle aynı denetimlerden geçer ve birebir aynı çalışır — motor aradaki farkı göremez.

§3Sığacak mı?

Bellek sorusu, ilk adımdan önce yanıtlanır

GPU'nuz · 12 GBtam ince ayar15,6 GB — reddedilirQLoRA · checkpoint4,0 GB — sığarparametreleraktivasyonlargradyanlaroptimizer durumuçalışma belleği
Şek. 2 — Hiçbir şey çalışmadan önceki bellek planı. Beş sınıf üst üste binerek bir tepe oluşturur: tam ince ayar bu cihazı aşar ve reddedilir. QLoRA ve aktivasyon checkpoint'lemesi gradyan ile optimizer-durumu sınıflarını neredeyse yok eder, aktivasyonları küçültür — aynı çalıştırma sığar.

Herhangi bir iş GPU'ya gönderilmeden önce planlayıcı, çalıştırmanın tepe bellek ihtiyacını toplar — parametreler, aktivasyonlar, gradyanlar, optimizer durumu, çalışma belleği; karma hassasiyette bunlara ağırlıkların tam hassasiyetli ek kopyası da eklenir — ve toplamı cihazınızın gerçekte sahip olduğuyla karşılaştırır. Yanıt açıktır: yeşil çalışır; sarı uyarılarla çalışır; kırmızı baştan reddedilir ve yanında çözümler gelir — yığını küçültün, aktivasyon checkpoint'lemesini açın, veriyi akışla işleyin, hassasiyeti değiştirin. Bir çalıştırmanın ne kadar GPU belleği isteyeceğini tahmin etmek zorunda kalmazsınız; yanıtı bir saat sonra da öğrenmezsiniz.

Plan kapasite konusunda da dürüsttür. Parametreleri ve optimizer durumu tek bir cihazın belleğini aşan bir model, o cihazda hiçbir yığın boyutunda eğitilemez — planlayıcı bunu siz bir dakika bile hesaplama harcamadan söyler ve gerçekten işe yarayanı adlandırır: adaptörler (QLoRA, bir ince ayarın istediği belleği dört ila sekiz kat azaltır), optimizer durumunu cihazlara bölmek ya da cihazları bir havuzda toplamak — ki bu, tek bir cihazın belleğini değil toplam işleme gücünü çoğaltır; o sayfa bu ayrımı açıkça söyler.

§4Hassasiyet ve mekanizmalar

Adlandırılmış mekanizmalar, asla uydurma sayılar

Karma hassasiyet bir onay kutusu değil, gerçek bir politikadır: çalışma sürerken kendini ayarlayan kayıp ölçekleme, bozuk bir sayı üreten yığında atlanan adım, ağırlıkların tam hassasiyetli ana kopyası ve tam hassasiyette biriktirilen indirgemeler. Attention, birinci sınıf ve bellek açısından verimli bir işlemdir — hiçbir GPU tahsisine sığmayacak bir skor matrisi isteyecek genel matris çarpımları zinciri değil — ve tek bir tahsise sığmayacak kadar büyük bir tensör, hata vermek yerine otomatik olarak bölünür. Aktivasyonları saklamak yerine yeniden hesaplamak, maliyeti bellek planında görünen bir ayardır.

Burada bir iddia bilinçli olarak yok: hız yarışı. Bir tarayıcı sekmesi, kiralık bir veri merkezi GPU'sunu geçmez ve Scellis aksini söyleyen bir çarpan yayımlamaz. İddialar yukarıdaki mekanizmalardır — artı sıfır kurulum, kendi donanımınız, çevrimdışı çalışma ve asla sayaca bağlanmayan hesaplama. Aynı ölçü içeriye de uygulanır: geri yayılım, birleştirilmiş değil adım adım koşar — doğrudur, ama hızdan ödün verir — ve ek yükü beyan edilmez, ölçülür ve her sürümle yeniden yayımlanır. Bu türden başka kenarlar da dürüst sınırlar sayfasındadır.

§5Durdurun ve sürdürün

Durdurabileceğiniz, sürdürebileceğiniz ve yeniden üretebileceğiniz bir çalıştırma

Checkpoint'teNeyi korur
AğırlıklarÖğrenilen parametreler; içeriklerinin hash'iyle başvurulur.
Optimizer durumuMomentum ve varyans yerli yerinde — sürdürülen çalıştırma yeniden ısınmak yerine devam eder.
Rastgelelik durumuAdlandırılmış alt akışlar — dropout, karıştırma, veri artırma — her çekimi yeniden oynatır.
Epoch ve adımDöngüdeki tam konum — sürdürme adım düzeyinde kesindir.
Metriklerİzlediğiniz eğri, onu üreten yapıta iliştirilmiş halde.

Checkpoint'ler hash ile yüklenir ve devam eder. Aradakiler çalıştırmadan sonra silinebilir; sonuncusu, model ona başvurduğu sürece korunur.

Rastgelelik sayaç tabanlıdır: aynı tohum, akıştaki aynı konumda, hangi cihaz olursa olsun aynı rastgele çekimi üretir; rastgelelik durumu da — dropout, karıştırma ve veri artırma için adlandırılmış alt akışlarıyla — diğer her şeyle birlikte kaydedilir. Bu yüzden sürdürülen bir çalıştırma her çekimi birebir yeniden oynatır: aynı yığınlar aynı sırada, aynı dropout maskeleri, aynı veri artırmalar.

Aritmetiğin kendisinin ne kadar yeniden üretilebilir olduğunu her çalıştırmada debug / prod / fast determinizm kademeleriyle siz beyan edersiniz — uçtan uca taşınır, sonuçla birlikte kaydedilir, asla sessizce varsayılana düşmez; doğruluk sayfası her kademenin bir referans uygulamaya karşı nasıl doğrulandığını gösterir. Sınır da hemen yanında durur: GPU'da farklı cihazlardaki çalıştırmalar beyan edilmiş bir tolerans içinde uyuşur — bit düzeyinde birebir eşitlik, debug kademesinin tek cihazda verdiği sözdür ya da CPU'daki referans yolundadır.

Bir checkpoint, içeriğinin hash'iyle kimliklenir; bu yüzden sürdürme, sessizce gerileyebilecek bir özellik değildir — checkpoint'in nasıl saklandığından doğrudan çıkar. Tamamlanan bir çalıştırma ise dayandığı her şeyi sabitler — program, veri kümesi sürümleri, checkpoint'ler, motor sürümü — ve bir sonucu söylentiyle değil bir bağlantıyla yeniden üretilebilir kılan da budur.

§6Uzun çalıştırmalar

Üç saatlik bir çalıştırmayı ciddiye alan bir sekme

Gerçek bir çalıştırma sizin dikkat sürenizden uzun yaşar ve tarayıcı, yaşamak için dar bir yerdir — Scellis bunu gizlemek yerine söyler. Arka plana alınan sekmeyi tarayıcı yavaşlatır: çalıştırma bunu yüksek sesle duyurur. İzninizle cihazı uyanık tutabilir, çalıştırmayı kendi penceresine ayırabilir, bittiğinde ya da hata verdiğinde bildirim alabilirsiniz. Sekme çalıştırmanın ortasında çökerse, açıkça “kesildi” durumuyla geri gelir ve son checkpoint'ten tek eylemle sürdürme sunar — asla hayalet bir “çalışıyor” satırı, asla sessizce yiten ilerleme yok.

Veri döngüye aynı disiplinle girer. Veri kümeleri ve bağlayıcılar yükleyip ummak yerine beyan edilmiş bütçeler altında akar; eğitim/doğrulama/test bölünmesi ise içeriğiyle kimliklenen, sürümlenmiş bir yapıttır — bir sonucun arkasındaki bölünme, kaybolmuş bir rastgelelik durumuna dönüşmek yerine yeniden üretilebilir kalır. Tek cihaz yetmediğinde ise aynı döngü kendi cihazlarınıza, bir partner laboratuvara ya da boştaki GPU'larını ödünç veren açık bir kalabalığa uzanır — ölçekleme hikâyesi de rejim rejim, dürüstçe anlatılır.

Ekonomi, işin nerede koştuğundan çıkar: zaten sahip olduğunuz donanımdaki eğitimin bize sayaç maliyeti yoktur — bu yüzden hiçbir zaman sayaca bağlanmaz; her planda, hatta hiç plan yokken bile. Adım adım anlatım için rehberdeki tarayıcıda eğitim yazısı baştan sona yol gösterir.