Neyin taşınacağını ve neyin beklemesi gerektiğini belirleyin
Bu kılavuz, hesaplamayı, verileri ve operasyonu koordine eden kişiye yöneliktir. Burada parti, katalogdaki bir GPU kartı partisinden farklı olarak tanımlanmış bir iş paketini ifade eder. Yöntem öncelikle kabul edilmeden önce kontrol edilebilen çıktılar için uygundur. Kesintisiz istek alan bir hizmet için yeni girişlerin nerede bekleyeceğini, bu beklemenin ne kadar süre kabul edilebilir olduğunu ve hedefe nasıl katılacaklarını önceden planlayın. Kopyalanmış bir dosya tek başına bu kabul politikasını tanımlamaz.
Önerilen alıştırma, kapalı bir sekiz sentetik partiden oluşan küme üzerinde çalışır. Hiçbir ağ isteği göndermez ve ne GPU ne de Capordia hesabı gerektirir. Tek bir makinede ve tek bir çalışma sürecinde devam ettirme mantığını öğretir. Dağıtık bir kuyruğu, açık bir hizmetin sürekliliğini veya bir hesaplamanın sıcak taşınmasını doğrulamaz. Gerçek bir taşımadan önce ekibiniz bu unsurları seçilen uygulama ve donanımla nitelendirmelidir.
Yeniden oluşturmaya olanak tanıyan bir envanter oluşturun
Kodu ve sürümünü, bağımlılıkları, parametreleri, modelleri, girdileri, zamanlanmış görevleri ve çıktı hedeflerini bir araya getirin. Her biri için sahibini, yeniden oluşturma yöntemini ve hedefte beklenen kontrolü belirtin. Gizli bilgilerin adını ve sağlanma biçimini not edin, ancak değerlerini paylaşılan kayıt defterine koymayın. Manuel bir kurulum veya başlangıçta tetiklenen bir görev, proje dizininin basit bir kopyasında eksik kalabilir.
Girdi dosyalarını, kabul edilen sonuçları ve yeniden başlatma için gereken durumu ayırın. Bir eğitim için bu durum model ağırlıklarının ötesine geçebilir: PyTorch'un genel checkpoint kaydetme eğitimi özellikle iyileştirici durumunu ve ilerlemeyi kapsar. Gereken içerik kodunuza bağlıdır. Bunu yeni bir süreçte geri yükleyin, ardından çıktıları denemeden önce kararlaştırılan bir toleransa göre karşılaştırın; tek bir başarılı yeniden başlatmadan evrensel bir sayısal özdeşlik çıkarmayın.
Kararı atama, devretme ve kabul etme
Pencereyi sabitlemeden önce rolleri belirleyin. Küçük bir ekipte aynı kişi birden fazla rol üstlenebilir, ancak kararlar ayrı kalır. Geçiş sorumlusu eski üreticinin durdurulduğunu teyit eder ve hedefin başlatılmasına izin verir. Veri sorumlusu envanteri, parmak izlerini ve çıktıları denetler. İş yükü sahibi işlevsel kaliteyi değerlendirir. Operasyon ekibi değişiklik günlüğünü tutar ve devir teslimi hazırlar.
Geçiş kartı dört somut soruyu yanıtlamalıdır: girdileri kimin durdurabileceği, eski işlemin artık üretim yapmadığını kimin tespit edeceği, ilk sonuçları kimin kabul edeceği ve geri dönüşe kimin karar vereceği. Ayrıca bir karar verme son saatini ve bu kişilere ulaşma yollarını da yazın. Hedef, eski kaydın bilmediği sonuçlar ürettiğinde «gerekirse geri dönün» yeterli değildir.
Başlanan ve kabul edilen arasında ayrım yapan bir kayıt tutmak
Her partiyi sabit bir tanımlayıcıyla ilişkilendirin ve onu verilerin belirli bir sürümüne bağlayın. Durumunu, deneme sayısını, sonucun konumunu ve kabulünü sağlayan kontrolü saklayın. Devam eden bir parti, bir çıktı dosyası var diye tamamlanmış sayılmaz: bu dosya kısmi olabilir veya önceki bir denemeden gelmiş olabilir. Prosedür, neyin saklanacağını, neyin yeniden hesaplanacağını ve neyin incelenmek üzere karantinada kalacağını açıkça belirtmelidir.
Alıştırmada, yerel bir SQLite kaydı, durumu ve sonucun kabulünü tek bir işlem içinde bir arada tutar. Durumları termine, en_cours ve a_reprendre'tir; sonuncusu henüz başlamamış bir partiyi de kapsar. Hedef, sekiz girdiyi ayrım gözetmeksizin yeniden çalıştırmak yerine doğrulanmamış partileri sürdürür. JSON ve CSV dışa aktarımları izlemeyi okunur kılar. Boş CSV, hazırlığınıza ve insan incelemenize eşlik eder; gerçek bir uygulamanın koordinasyon mekanizmasının yerini tutmaz.
| Partiler | Sınırdaki durum | Yeniden başlatmadan önce karar |
|---|---|---|
| LOT-001 - LOT-003 | termine | Sonuçları koruyun ve bütünlüğünü doğrulayın |
| LOT-004 | en_cours, sonuç kabul edilmedi | Yeni bir denemeyi açıkça hazırlayın |
| LOT-005 - LOT-008 | yeniden başlatılacak, deneme yapılmadı | Yetkilendirmeden sonra hedefte başlatın |
Kesinti ve devam alıştırmasını indirin ve başlatın
sqlite3 modülü ile Python 3.10 veya daha yeni bir sürüm ve yazma erişimi olan yerel bir dizin hazırlayın. Tam arşivi indirin ve betiği, veri klasörünü ve bildirim dosyasını bir arada tutacak şekilde çıkarın. README dosyası mevcut komutları ayrıntılı olarak açıklar. Hiçbir sürücü, hesaplama paketi veya model kurmanız gerekmez. Betiği çalıştırmadan önce okuyun, ardından birden fazla denemenin kanıtlarının karışmaması için yeni bir çıktı klasörü kullanın.
exercice.py dosyasını içeren dizinden, aşağıdaki komut sürekli bir referans, kesintiye uğramış bir işlem, bir devralma kopyası ve referansla karşılaştırılan bir devam üretir. Sekiz CSV dosyası, tam mikrometre cinsinden ifade edilen ve bu dosya için oluşturulmuş 48 adet kurgusal boyutsal kupon ölçümü içerir. Gerçek hiçbir endüstriyel kontrol temsil edilmemektedir. CPU üzerindeki hesaplama, partilerin yönetimini incelemeye yarar; GPU verimini veya verilerinizin taşınma süresini tahmin etmeye yönelik değildir.
python exercice.py demonstration --dossier essai-capordiaDevralmanın kanıtlarını parti parti okuyun
Capordia örneği: bir ekip işlenecek sekiz dosya paketi hazırlar. Referans bunları kesintisiz işler. Diğer akışta, durma üç lotun tamamlanmış, LOT-004'ün işlemde ve dört lotun denemesiz yeniden başlatılacak halde kalmasına yol açar. Devir sorumlusu "yarıdan itibaren sürdür" demez: LOT-004'ü belirtir. Sürdürme hazırlığı onu a_reprendre durumuna döndürür: bu durumda üç lot tamamlanmış ve beş lot yürütülecektir. Zaten kabul edilmiş lotlar yeniden hesaplanmamalıdır.
Kimlikler, durumlar ve denemeler için etat.json dosyasına, inceleme için registre-lots.csv dosyasına, çıktılar için resultats.json dosyasına, ardından kontroller için rapport-verification.json dosyasına bakın. 24 Eylül 2026'da Windows AMD64, Python 3.14.6 ve SQLite 3.50.4 altında yapılan yerel çalıştırmada, betiğin 37 çalıştırmasından gelen 16 kontrol başarılı oldu: alınan sekiz sonuç referansla eşleşiyor, tamamlanan partiler yeniden hesaplanmıyor ve aynı partinin yeni bir kabulü reddediliyor. Değiştirilmiş girdiler, yinelenen kimlikler ve bozuk çıktılar da tespit ediliyor.
Tutarlı bir durumu kopyalayın, ardından bütünlüğünü kontrol edin
Gerçek bir geçişte, kabulü durdurun veya yeni girdileri açıkça öngörülmüş bir kuyruğa alın. Sürmekte olan işin bitmesini bekleyin ya da kesintiye uğrayan partileri kendi devam ettirme kuralınıza göre kaydedin. Ardından eski örneğin artık yayımlayamadığını doğrulayın. Bu alıştırmada kaynağın mühürlenmesi, betiğin onu üretici olarak yeniden kullanmasını engeller. Bu, senaryonun yerel bir koruması olarak kalır; her biri durumun bir kopyasına sahip olan birden çok makine arasında karşılıklı dışlama değildir.
Bir uygulama tarafından kullanılan SQLite veritabanını kopyalamak için, belgelerinde tutarlı bir anlık görüntü üreten bir yedekleme API'si önerilir. Dolayısıyla, yazma sırasındaki bir veritabanı dosyasının sıradan kopyası doğaçlama yapılacak bir yordam değildir. Aktarılan dosyaların bildirimini de kontrol edin. hashlib içinde bulunan SHA-256 parmak izleri burada bir içerik farkını tespit etmeye yardımcı olur; ancak sonucun işiniz için doğru olup olmadığını ya da referans bildirimin güvenilir olup olmadığını söylemezler.
Ne zaman devam edileceğine ve ne zaman geri dönüleceğine karar verme
Hedefe yalnızca girdiler, kayıt defteri ve saklanan sonuçlar uyuştuğunda, eski üretici durdurulduğunda ve yazılım ön koşulları karşılandığında izin verin. Önce çıktıları yeniden okunabilecek bir kapsam başlatın. İşlemenin sahibi kaliteyi kabul eder; veri sorumlusu kimlikleri, eksikleri ve yinelenenleri kontrol eder. Yararlı sonuç eksikse hatasız bir başlangıç yeterli olmaz.
Kusur herhangi bir yeni yayımdan önce ortaya çıkarsa, hedefi kapalı tutun ve öngörülen yordama göre kontrol edilmiş kaynak durumundan yeniden başlayın. Bir yayımdan sonra, önce hedefin sonuçlarını ve kayıt defterini koruyun. Hedefin tamamladığı partileri kaynağınkilerle karşılaştırın, ardından tek bir yetkili devam yolunu seçin. Zamandan kazanmak için her iki tarafı yeniden etkinleştirmek, tam olarak geçişin önlemek istediği yinelenenleri oluşturabilir.
| Gözlem | Acil karar | Devam etme koşulu |
|---|---|---|
| Girdi eksik veya parmak izi farklı | Aktarımı askıya alın ve kopyayı yalıtın | Referans bildirimine uygun bir girdi alın |
| Yinelenen kimlik veya beklenmedik çıktı | İlgili partiyi yayımlamayın | Çakışmayı anlayın ve tek bir kabul edilmiş sürümü seçin |
| Devam durumu kullanılamaz | Hedefi durdurun ve kanıtları koruyun | Bilinen bir durumu geri yükleyin veya hazırlanan geri dönüşü uygulayın |
| Sonuç iş kriterinin dışında | Devam kapsamının genişletilmesini durdurun | Düzeltin ve işlevsel doğrulamayı yeniden yapın |
| Karar için son saate ulaşıldı | Geri dönme veya erteleme kararını tetikleyin | Sorumlunun açık onayı ve dışa aktarımı bitirme kapasitesi |
Tüm pencereyi ölçün ve devir teslimi hazırlayın
Kurulumu, kopyalamayı, doğrulamayı, devam etmeyi ve dışa aktarımı gerçek sıralarıyla tekrarlayın. Aktarımına izin verilen bir örnekle her aşamanın süresini ve insan müdahalelerini not edin. Pencerenizi tahmin etmek için bekleyecek yeni girdileri ve bu gecikmeyi giderme kapasitesini hesaba katın. Küçük bir klasörde gözlenen en iyi süre, daha büyük bir hacim için bir taahhüt değildir.
Seçilen dönem hazırlık, prova, geçiş, gözlem ve sonuçların alınmasını kapsamalıdır. Capordia'nın 3, 7 veya 30 günlük paketleri organize edilmesi gereken dönemler olarak kalır; bu kılavuz bunlardan herhangi bir hesaplama süresi çıkarmaz. Kapanıştan önce ikinci bir kişi kaydı bulmalı, çıktıları hedeflerinden açmalı ve işlemeyi yeniden başlatmayı bilmelidir. Erişimleri kaldırmadan önce geri çekilme kararını, kabul edilen sapmaları ve kalan eylemleri arşivleyin; artık gereksiz hale gelen erişimleri kaldırın.
Alıştırmanın doğruladıkları ve hâlâ nitelendirilmesi gerekenler
Bu dosyanın katkısı, sentetik dosyalar üzerinde okunabilir bir prosedür ve yeniden üretilebilir bir kurtarma deneyimidir. Aynı parti, durdurmadan önce, geçiş sırasında ve kurtarma sonrasında tanımlanabilir olmalıdır. Kayıt, bir referansla karşılaştırma ve tetiklenen reddetmeler bu kuralı gözlemlenebilir kılar. Kesinti, betik içindeki kontrollü bir istisna ile tetiklenmiştir: hiçbir elektrik kesintisi denemesi yapılmamıştır. Atıfta bulunulan teknik dokümantasyon kullanılan mekanizmaları açıklar; gelecekteki üretim ortamınızı garanti etmez.
Senaryoda aynı anda yalnızca bir süreç çalışır. Yerel mühürleme dağıtık bir kilit değildir; bir özet kalite testi değildir; bir CPU sonucu CUDA, ROCm veya çoklu GPU nitelendirmesi değildir. Harici bir veritabanına, paylaşılan depolamaya veya kuyruğa da yazan bir uygulama, tüm bu hedefler üzerinde tutarlı bir kural gerektirir. Gerçek işlemeyi taşımadan önce bu kuralı ve geri dönüş planınızı onaylatın.
Devamını hazırlamak için
Bir yedek, çalışmanın sürdürülmesini sağlamalıdır.
İzole bir hedefte geri yükleyin ve kopyanın gerçekten devam etmeye olanak tanıdığını doğrulayın.
Bir durum, bir işlem ve bir sorumluyla devri gerçekleştirin.
Eylemleri, sınırları ve sorumlulukları başka bir kişiye aktarın.