§ Platform / Eğitim
Modelleri tarayıcıda eğitin — hem de gerçekten.
Tarayıcı sekmesinde eğitim, Scellis'in etrafında kurulduğu iş yüküdür; onun bir gösterisi değil: tüm yığın — gradyanlar, optimizer'lar, zamanlayıcılar, kayıp fonksiyonları, adaptörler, karma hassasiyet — makinenizde zaten bulunan GPU'da çalışır. Kurulacak bir şey yok, CUDA yok, bulut GPU sayacı yok. Her çalıştırma başlamadan önce bütçelenir, çalışırken kaydedilir, bittiğinde içeriğiyle kimliklenir.
En zorlu iş yükü, altındaki her şeyi dürüst tutar
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.
Tam yığın, demo alt kümesi değil
| Bileşen | Sayı | Yerleşik küme |
|---|---|---|
| Optimizer'lar | 9 | Adam · AdamW · SGD · LAMB · Adafactor · Lion · Sophia · Int8Adam · Prodigy |
| Kayıp fonksiyonları | 15 | MSE · L1 · BCE · CrossEntropy · KLDivergence · FocalLoss · HuberLoss · InfoNCE · TripletMargin … |
| LR zamanlayıcıları | 14 | warmup, cosine, one-cycle, cyclic, plateau — artı bir öğrenme oranı bulucu |
| PEFT yöntemleri | 6 | LoRA · QLoRA · PrefixTuning · BitFit · IA3 · PromptTuning |
| Metrikler | 10 | Accuracy · F1 · Precision · Recall · ConfusionMatrix · Perplexity · AUROC · AUPRC · ECE · Brier |
| Ağırlık başlatıcıları | 11 | Xavier · Kaiming · orthogonal · truncated-normal · sparse · pretrained … |
| Düzenlileştirme | 5 | mixup · 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.
Bellek sorusu, ilk adımdan önce yanıtlanır
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.
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.
Durdurabileceğiniz, sürdürebileceğiniz ve yeniden üretebileceğiniz bir çalıştırma
| Checkpoint'te | Neyi korur |
|---|---|
| Ağırlıklar | Öğrenilen parametreler; içeriklerinin hash'iyle başvurulur. |
| Optimizer durumu | Momentum ve varyans yerli yerinde — sürdürülen çalıştırma yeniden ısınmak yerine devam eder. |
| Rastgelelik durumu | Adlandırılmış alt akışlar — dropout, karıştırma, veri artırma — her çekimi yeniden oynatır. |
| Epoch ve adım | Dö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.
Üç 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.