§1Üç görünüm

Görsel tasarlayın, kod olarak geri okuyun

yerleşim burada yaşaranlam burada yaşarTuvalçizerek kurarsınızFormtipli alanlarKodbir model dili< 16 msModeltek tanımyerleşim geri taşınmaz, yeniden türetilir
Şek. 1 — Tek modelin üç görünümü: hangisinde düzenlerseniz düzenleyin, diğerleri aynı tanımdan yeniden çizilir — asla birbirinden değil. Anlamı kod taşır; yerleşimi tuval taşır ve bir kod düzenlemesinden sonra onu yeniden türetir.

Mimariyi tuvalde çizin, formda alan alan ince ayar yapın ya da kod olarak yazın — gözden geçirebileceğiniz, karşılaştırabileceğiniz ve bir meslektaşınıza gönderebileceğiniz, derli toplu ve okunaklı bir model dili. Üçü asla birbiriyle çelişmez; çünkü bunlar üç kopya değil, tek bir tanımın üç görünümüdür: bir katmanı nerede değiştirirseniz değiştirin, diğer ikisi aynı veriden 16 ms'nin altında yeniden çizilir. Kodda bir katman adını yanlış yazarsanız, ayrıştırıcı kastettiğinizi önerir.

Eşzamanlama, neyi taşıyıp neyi taşıyamadığı konusunda dürüsttür. Modelin anlamını — mimarisini ve eğitim semantiğini — kod tutar; yerleşimini ise tuval. Yerleşim, metnin ifade edebileceği bir şey değildir; bu yüzden bir kod düzenlemesinden sonra tuval, metin her kutunun yerini hatırlamış gibi yapmak yerine modeli yeniden yerleştirir. Modelin *ne olduğunu* belirleyen her şey gidiş-dönüşten sağ çıkar; ekrandaki düzen ise yeniden türetilir — ve bunu keşfetmenizi beklemek yerine burada yazıyoruz.

§2Kapsam

Çizebildiğiniz her mimari

AileModel View'daki karşılığı
MLP · CNN · ResNet · TransformerTemel söz dağarcığı — katmanlar, kenarlar, gruplar; açıp düzenleyebileceğiniz şablonlar olarak hazır.
GANİki ağ artı çekişmeli eğitim modu — dönüşümlü eğitim elle kodlanmaz, yapılandırılır.
SiameseAğırlık paylaşan bir grup: eşlenmiş katmanlar tek bir ağırlık kümesini tutar ve tek bir optimizer adımı atar.
MoEBir yönlendirme katmanının arkasında uzman grupları; veriye bağlı şekiller, beyan edilmiş bir en kötü durum taşır.
RNN · LSTM · GRUZaman ekseni üzerinde bir döngü — derleyicinin anladığı kontrol akışı; motora özel bir durum değil.
GNNDüğüm ve kenar verileri üzerinde toplama/dağıtma biçimli katmanlarla mesaj iletimi.
Multi-TaskBirden çok baş, çok amaçlı bir eğitim modu ve katalogdan seçtiğiniz bir kayıp birleştirici.

Hazır aileler bir tavan değildir — Encoder-Decoder, VAE ve Diffusion da gelir; aynı yapılarla ifade edilebilen her şey kapsamdadır. Hazır kümenin atladığını siz kurarsınız.

Desteklenen mimariler bir liste değil, bir ölçüttür: Model View, katmanlar, kenarlar, gruplar ve bağlantı noktaları olarak ifade edebildiğiniz her şeyi — artı bir eğitim modunu — temsil eder. Ürünle gelen aileler kanonu kapsar ve her biri sıradan yapıdır, motorun içine lehimlenmiş özel bir durum değil. Bir GAN, iki ağ artı çekişmeli bir eğitim modudur; bir Siamese ağı, ağırlık paylaşan bir gruptur; yinelemeli bir ağ, zaman ekseni üzerinde bir döngüdür.

Boş tuvalden nadiren başlarsınız: ürünle gelen şablonlar düzenlenebilir modellere açılır ve ne istediğinizi bir cümleyle anlatmanız size ilk taslağı verir. Bu üreteç, bir dil modelini çağıran tek düzenlemedir — çıktısı sıradan düzenlemeler olarak kaydedilir; böylece geri alma, yeniden oynatma ve geçmiş, modeli bir daha asla çağırmaz. Hazır kümenin atladığı bir aile, motorda bir boşluk değil, içerik olarak kurulur.

§3Cerrahi

Hakkını vererek ince ayar

gömmekodlayıcı×12normsınıflandırıcı baş+ LoRA r=16lr 1e-4eğitilebilirlr 5e-4dondurulmuşgerçekten eğitilen4,2 M / 128 M · %3,3
Şek. 2 — İçe aktarılmış bir modelde ağırlık cerrahisi: taban dondurulmuş, kodlayıcıda küçük bir adaptör, sınıflandırıcı baş kendi oranıyla eğitiliyor — 128 milyon parametrenin yalnızca 4,2 milyonu gerçekten hareket ediyor.

Eğitilmiş bir modeli açın; güvendiğinizi dondurun, güvenmediğinizi uyarlayın. Dondurma katman katman ya da grup grup çalışır; adaptörler istediğiniz yere takılır — eğitim betiğinizi çatallamak yerine katalogdan seçilir. Katmanlar tek bir ağırlık kümesini paylaşıp aralarında tek bir optimizer adımı atabilir; öğrenme oranı grupları ise başın tabandan farklı bir tempoda ilerlemesini sağlar — birkaç milyon parametrenin, yüz yirmi sekiz milyonun işini görmesinin yolu budur.

Bunların hiçbiri burada doğan modellere özgü değildir. safetensors ya da ONNX olarak veri ve bağlayıcılar üzerinden gelen bir checkpoint aynı yüzeyde açılır ve aynı cerrahi onun ince ayarını da yürütür. Siz düzenledikçe parametre ve bellek sayıları modelle birlikte güncellenir — toplam, eğitilebilir, dondurulmuş ve yaklaştığınız bellek ayak izi — ve eğitim planlayıcısı bu tahmini, ilk adım koşmadan önce sert bir denetime çevirir.

§4Canlı denetim

Omzunuzun üstünden bir derleyici bakar

Neyi yakalarNe zamanTek tık düzeltme
Şekilleri uyuşmayan iki katmanbağlarkenKatmanın ayarını değiştirin ya da bağlantıyı yeniden yönlendirin.
Asla çalışamayacak bir döngükapatırkenDöngüyü kapatan kenarı kaldırın.
Hiçbir kaybın bir çıkışa ulaşmadığı bir eğiticiçalıştırmadan önceBir kayıp bağlayın.
Bir bağlantı boyunca uyuşmayan sayı biçimleribağlarkenUçlardan birinde ayarı değiştirin.
Gerçek bir hatanın akış aşağısındaki her şeyanındaKaynağı düzeltin; gerisi kendiliğinden temizlenir.

Tanılar sabit kodlanmış bir liste değil, içeriktir — bir başkasının kurduğu bir katman türü, kendi denetimlerini ve düzeltmelerini aynı yoldan getirir.

Her düzenleme modeli artımlı olarak yeniden denetler — yalnızca değiştirdiğiniz katmanları ve onların akış aşağısını; gerçek bir modelde denetimin 100 ms'nin altında kalmasının yolu budur. Değişken bir batch boyutu işaretlenmez, anlaşılır; uyuşmayan şekiller, boşta kalan bağlantılar, döngüler ve kaybı olmayan bir eğitici, geldikleri katmana ve porta tam olarak iğnelenmiş biçimde yüzeye çıkar. Gerçek bir hata dalgalandığındaysa kaynak kırmızı kalır, akış aşağısı sarıya döner — otuz şeyi değil, tek şeyi düzeltirsiniz.

Her tanı kendi düzeltmesini taşır: döngüyü kapatan kenarı kaldır, eksik bağlantıyı çek, ayarı düzelt — tek tık, düzenleme yaptığınız yolun aynısından uygulanır; yani bir düzeltme de her değişiklik gibi geri alınabilir. Kodlar ve düzeltmeler sabit kodlanmış bir liste değil, içeriktir: bir başkasının kurduğu bir katman türü, kendi tanılarını ve düzeltmelerini yanında getirir; hiç görülmemiş bir tür ise sade biçimde çizilir — asla çökmeyle değil.

§5Tek yer

Tüm eğitim düzeni tek yerde

Bir eğitim çalıştırmasını biçimlendiren her şey, modelin yaşadığı yerde yapılandırılır: optimizer, zamanlama, çıkışlara bağlanan kayıplar, epoch sayısı, batch boyutu, karma hassasiyet, gradyan kırpma, metrikler — tek yer; uygulamaya dağılmış ayarlar asla. Her seçici katalogdan beslenir: optimizer listesi, kataloğunuzda ne varsa odur — ürünle gelen genişlik eğitim sayfasındadır — ve kendi yazdığınız bir yöntem, ürünle gelenlerle aynı seçicide görünür.

İki ayar kendi cümlesini hak ediyor. Eğitim modu açıktır — standart, çekişmeli, çok amaçlı ya da sizin tanımladığınız — ve çalıştırmanın ne kadar birebir yeniden üretilmesi gerektiği burada, çalıştırma başına beyan edilir: debug, prod veya fast; görünürdür ve sizin yerinize sessizce seçilmez. Düzen modelin parçası olduğu için onunla birlikte kalır: modeli paylaşın, eğitim düzeni olduğu gibi ulaşır — karşı taraftaki kişi yalnızca çalıştırır; eğitim rehberi bunu adım adım anlatır.

§6Tek tarif

Çok merkezli eğitim bile burada kurulur

Bir model tek bir cihaz yerine bir cihaz grubu tarafından eğitildiğinde bile tarif Model View'da yaşar. Eğiticideki federasyon bölümü, her cihazın öğrendiğinin nasıl birleştirileceğini, kimin katılabileceğini ve gizlilik denetimlerini tutar: gradyan kırpma ve gürültü, üstelik canlı izleyebileceğiniz bir (ε, δ) gizlilik bütçesiyle. Kendi cihazlarınızın ötesindeki her havuz için, bütçesi tutulan diferansiyel gizlilik ve kırpma isteğe bağlı bir ek değil, her zaman açık olan asgari düzeydir; güvenli toplama ise grubun büyüklüğüne ve katılımcı değişimine karşı baştan denetlenir ve -mış gibi yapmak yerine gerekçesiyle reddeder.

Tarif, nerede çalıştığından temiz biçimde ayrılmıştır. Mimari, eğitim düzeni ve federasyon stratejisi modelin üzerinde yaşar ve onunla birlikte taşınır; onu hangi cihaz grubunun çalıştıracağı — hangi güven rejiminde, hangi eşlerle, hangi takvimle — onu yürüten havuza aittir. Bilim taşınabilir kalır; her dağıtım ise onu yapan insanların yanında kalır.

§7Eşitlik

Her hareket aynı zamanda bir komuttur

Model View'daki her eylemin arkasında bir komut vardır — bir katman ekleyin, iki portu bağlayın, bir grubu dondurun, zamanlamayı ayarlayın — eylem başına bir komut. Copilot tam olarak bunları kullanır: ondan kod çözücüyü yeniden yapılandırmasını isteyin; sizin tıklayacağınız aynı denetlenmiş düzenlemeleri uygular — kime ait olduğu bellidir, önce izin ister ve tek tek geri alınabilir. Aynı komutlar açık arayüzdür; yani burada bir betik asla ikinci sınıf değildir.

Geçmiş, tam düşündüğünüz gibi bölümlenir. İçerideyken Model View kendi geri alma yığınını tutar; çıkarken bütün oturum, iş akışının geçmişinde tek bir kayda katlanır — kaç hamle sürdüyse sürsün, tek bir model düzenlemesi. Kaydetme her şey gibi sürümlüdür: yayımlanmış bir model asla yerinde değişmez — kaydetmeniz bir sonraki sürümü basar, mevcut sürümler oldukları gibi kalır; onlara sabitlenmiş her şey neyi ifade ediyorsa etmeye devam eder.