KRYPTO BEZ KYCWynajem GPU · 3, 7 lub 30 dni
Capordia
Język: Polski
Menu
Nota metodyczna

Migruj przetwarzanie bez utraty i bez dublowania partii

Aby przenieść przetwarzanie, najpierw ustal granicę między zaakceptowanymi wynikami a pracą do wznowienia. Następnie zatrzymaj stary producent, przenieś weryfikowalny stan i zezwól celowi na publikację dopiero po kontroli. Ta metoda może ograniczyć straty i duplikaty; wiąże się z przerwą, którą trzeba zorganizować. Teczka Capordia zawiera rejestr, procedurę decyzyjną i ćwiczenie na ośmiu partiach plików, do wykonania na CPU przed dostosowaniem podejścia do Twojej aplikacji GPU.

01

Wyznacz, co migruje, a co musi poczekać

Ten przewodnik jest skierowany do osoby koordynującej obliczenia, dane i eksploatację. Partia oznacza tutaj zidentyfikowany pakiet pracy, odrębny od partii kart GPU z katalogu. Metoda sprawdza się przede wszystkim w przypadku wyników, które można skontrolować przed akceptacją. W przypadku usługi przyjmującej żądania bez przerwy zaplanuj, gdzie będą czekać nowe wejścia, jak długo to oczekiwanie jest akceptowalne i jak dołączą do celu. Skopiowana teczka sama w sobie nie definiuje tej polityki dopuszczania.

Proponowane ćwiczenie działa na zamkniętym zbiorze ośmiu syntetycznych partii. Nie wysyła żadnego żądania sieciowego i nie korzysta ani z GPU, ani z konta Capordia. Uczy logiki wznowienia na jednym komputerze i jednym procesie roboczym. Nie waliduje kolejki rozproszonej, ciągłości usługi wystawionej na działanie ani przenoszenia obliczeń w czasie działania. Przed rzeczywistą migracją Twój zespół musi zweryfikować te elementy z wybraną aplikacją i sprzętem.

02

Sporządź inwentarz pozwalający na odtworzenie

Zbierz kod wraz z jego wersją, zależności, parametry, modele, dane wejściowe, zadania zaplanowane i miejsca docelowe wyników. Dla każdego wskaż właściciela, metodę odtworzenia i oczekiwaną kontrolę na celu. Zapisz nazwy sekretów i sposób ich dostarczania, bez umieszczania ich wartości we wspólnym rejestrze. Ręczna instalacja lub zadanie uruchamiane przy starcie może zostać pominięte w zwykłej kopii katalogu projektu.

Oddziel pliki wejściowe, zaakceptowane wyniki i stan niezbędny do ponownego uruchomienia. W przypadku trenowania ten stan może wykraczać poza wagi modelu: samouczek PyTorch dotyczący ogólnego zapisu checkpointu obejmuje między innymi stan optymalizatora i postęp. Wymagana zawartość zależy od Twojego kodu. Przywróć go w nowym procesie, a następnie porównaj wyniki według tolerancji ustalonej przed próbą; nie wyciągaj wniosku o uniwersalnej numerycznej tożsamości z jednego udanego restartu.

03

Przypisywanie decyzji, przełączenia i odbioru

Wyznacz role, zanim ustalisz okno. W małym zespole jedna osoba może pełnić kilka z nich, ale decyzje pozostają rozdzielone. Osoba odpowiedzialna za przełączenie potwierdza zatrzymanie starego producenta i autoryzuje uruchomienie celu. Osoba odpowiedzialna za dane kontroluje inwentarz, sumy kontrolne i wyniki. Właściciel przetwarzania ocenia jakość funkcjonalną. Dział operacyjny prowadzi dziennik zmian i przygotowuje przekazanie.

Karta przełączenia musi odpowiadać na cztery konkretne pytania: kto może zatrzymać wejścia, kto stwierdza, że stare przetwarzanie przestało publikować, kto odbiera pierwsze wyniki i kto decyduje o powrocie. Zapisz także godzinęgraniczną decyzji oraz sposoby kontaktu z tymi osobami. „Wrócić w razie potrzeby” nie wystarcza, gdy cel zdążył już wytworzyć wyniki, których stary rejestr nie zna.

04

Prowadzenie rejestru odróżniającego rozpoczęte od odebranych

Nadaj każdemu zadaniu stały identyfikator i powiąż go z konkretną wersją danych. Przechowuj jego stan, liczbę prób, lokalizację wyniku oraz kontrolę, która dopuszcza jego odbiór. Zadanie w toku nie jest ukończone tylko dlatego, że istnieje plik wyjściowy: ten plik może być częściowy lub pochodzić z poprzedniej próby. Procedura musi jasno określać, co zostanie zachowane, co zostanie przeliczone, a co pozostanie w kwarantannie do przeglądu.

W ćwiczeniu lokalny rejestr SQLite przechowuje razem stan i odbiór wyniku w jednej transakcji. Jego stany to termine, en_cours i a_reprendre; ten ostatni obejmuje również zadanie, które jeszcze się nie rozpoczęło. Cel wznawia niezatwierdzone zadania, zamiast bez rozróżnienia uruchamiać ponownie osiem wejść. Eksporty JSON i CSV czynią śledzenie czytelnym. Pusty plik CSV towarzyszy twojemu przygotowaniu i przeglądowi ręcznemu; nie zastępuje mechanizmu koordynacji rzeczywistej aplikacji.

Granica ćwiczenia Capordia w momencie symulowanego zatrzymania
ZadaniaStan na granicyDecyzja przed wznowieniem
LOT-001 do LOT-003termineZachować wyniki i zweryfikować ich integralność
LOT-004en_cours, wynik nieodebranyWyraźnie przygotować nową próbę
LOT-005 do LOT-008a_reprendre, brak próbyUruchomić na celu po autoryzacji
05

Pobierz i uruchom ćwiczenie przerwania i wznowienia

Przygotuj Python 3.10 lub nowszy z modułem sqlite3 oraz lokalny katalog z prawem zapisu. Pobierz całe archiwum i rozpakuj je, zachowując razem skrypt, katalog danych i manifest. Plik README opisuje dostępne polecenia. Nie trzeba instalować żadnego sterownika, pakietu obliczeniowego ani modelu. Przeczytaj skrypt przed uruchomieniem, a następnie użyj nowego katalogu wyjściowego, aby dowody z kilku prób się nie pomieszały.

Z katalogu zawierającego exercice.py poniższe polecenie tworzy ciągły wzorzec, przerwane przetwarzanie, kopię przełączenia i wznowienie porównane z wzorcem. Osiem plików CSV zawiera 48 fikcyjnych pomiarów wymiarowych próbek, wyrażonych w całkowitych mikrometrach i utworzonych na potrzeby tego dossier. Nie jest reprezentowana żadna rzeczywista kontrola przemysłowa. Obliczenia na CPU służą do zbadania zarządzania zadaniami, a nie do oszacowania przepustowości GPU czy czasu migracji twoich danych.

Uruchom demonstrację z rozpakowanego katalogu
python exercice.py demonstration --dossier essai-capordia
06

Przeczytaj dowody wznowienia, zadanie po zadaniu

Przykład Capordia: zespół przygotowuje osiem pakietów plików do przetworzenia. Wzorzec przetwarza je bez przerwania. Na drugiej ścieżce zatrzymanie pozostawia trzy ukończone zadania, LOT-004 w toku oraz cztery zadania do wznowienia bez próby. Osoba odpowiedzialna za przełączenie nie mówi „wznów od połowy”: wskazuje LOT-004. Przygotowanie wznowienia przywraca je do stanu a_reprendre: trzy zadania są wtedy ukończone, a pięć ma zostać wykonanych. Zadania już odebrane nie mogą być przeliczane.

Sprawdź etat.json pod kątem identyfikatorów, stanów i prób, registre-lots.csv pod kątem przeglądu, resultats.json pod kątem wyników, a następnie rapport-verification.json pod kątem kontroli. Podczas lokalnego uruchomienia 24 września 2026 w systemie Windows AMD64, Python 3.14.6 i SQLite 3.50.4 wszystkie 16 kontroli z 37 uruchomień skryptu zakończyło się powodzeniem: osiem uwzględnionych wyników odpowiada wartościom referencyjnym, zakończone partie nie są przeliczane, a ponowna akceptacja tej samej partii jest odrzucana. Zmienione dane wejściowe, zduplikowane identyfikatory i uszkodzone wyniki również są wykrywane.

07

Skopiuj spójny stan i sprawdź jego integralność

W rzeczywistym przełączeniu wstrzymaj przyjmowanie lub umieść nowe dane wejściowe w jawnie przewidzianej kolejce. Poczekaj na zakończenie bieżącej pracy albo zapisz przerwane partie zgodnie z twoją zasadą wznowienia. Następnie potwierdź, że stara instancja nie może już publikować. Zabezpieczenie źródła w tym ćwiczeniu uniemożliwia skryptowi ponowne użycie go jako producenta. To pozostaje lokalnym zabezpieczeniem scenariusza, a nie wzajemnym wykluczeniem między wieloma maszynami, z których każda miałaby kopię stanu.

Aby skopiować bazę SQLite używaną przez aplikację, jej dokumentacja proponuje API kopii zapasowej, które tworzy spójny snapshot. Zwykłe skopiowanie pliku bazy w trakcie zapisu nie jest więc procedurą, którą można improwizować. Sprawdź także manifest przeniesionych plików. Skróty SHA-256, dostępne w hashlib, pomagają tutaj wykryć różnicę w zawartości; nie mówią jednak, czy wynik jest poprawny dla twojej działalności ani czy referencyjny manifest jest godny zaufania.

08

Zdecyduj, kiedy wznowić, a kiedy się wycofać

Zezwól na działanie celu dopiero wtedy, gdy dane wejściowe, rejestr i zachowane wyniki są zgodne, stary producent jest zatrzymany, a wymagania programowe spełnione. Najpierw uruchom zakres, którego wyniki można zweryfikować. Właściciel przetwarzania akceptuje jakość; osoba odpowiedzialna za dane sprawdza identyfikatory, braki i duplikaty. Uruchomienie bez błędów nie wystarcza, jeśli użyteczny wynik jest niekompletny.

Jeśli defekt pojawi się przed jakąkolwiek nową publikacją, utrzymaj cel w stanie zatrzymania i wyjdź od skontrolowanego stanu źródłowego zgodnie z przewidzianą procedurą. Po publikacji najpierw zabezpiecz wyniki i rejestr celu. Porównaj partie, które zakończył, z partiami źródła, a następnie wybierz jedno dozwolone wznowienie. Ponowne włączenie obu stron, by zaoszczędzić czas, może właśnie stworzyć duplikaty, których migracja miała uniknąć.

Decyzje do wpisania w twoją kartę przełączenia przed interwencją
ObserwacjaDecyzja natychmiastowaWarunek kontynuacji
Brak wpisu lub inny skrótWstrzymaj transfer i odizoluj kopięPobierz wpis zgodny z manifestem referencyjnym
Zduplikowany identyfikator lub nieoczekiwany wynikNie publikuj danej partiiZrozum konflikt i zachowaj tylko jedną zaakceptowaną wersję
Stan wznowienia nieużywalnyZatrzymaj cel i zachowaj dowodyPrzywróć znany stan lub zastosuj przygotowany powrót
Wynik poza kryterium biznesowymWstrzymaj rozszerzanie wznowieniaPopraw, a następnie ponów walidację funkcjonalną
Osiągnięto graniczną godzinę decyzjiUruchom decyzję o powrocie lub przełożeniuWyraźna zgoda osoby odpowiedzialnej i możliwość dokończenia eksportu
09

Zmierz całe okno i przygotuj przekazanie

Powtórz instalację, kopiowanie, weryfikację, wznowienie i eksport w ich rzeczywistej kolejności. Zapisz czas każdej fazy i interwencje człowieka, na próbce, dla której transfer jest dozwolony. Aby oszacować swoje okno, uwzględnij nowe dane wejściowe, które będą czekać, oraz zdolność do nadrobienia tego opóźnienia. Najlepszy zaobserwowany czas na małym katalogu nie jest zobowiązaniem dla większego wolumenu.

Wybrany okres musi obejmować przygotowanie, powtórzenie, przełączenie, obserwację i odbiór wyników. Pakiety Capordia na 3, 7 lub 30 dni pozostają okresami do zaplanowania; ten przewodnik nie wywodzi z nich żadnego czasu obliczeń. Przed zamknięciem druga osoba musi odnaleźć rejestr, otworzyć wyniki z ich miejsca docelowego i umieć ponownie uruchomić przetwarzanie. Zarchiwizuj decyzję o zakończeniu wycofania, zaakceptowane odchylenia i pozostałe działania, zanim odbierzesz niepotrzebne już dostępy.

10

Co weryfikuje to ćwiczenie i co pozostaje do doprecyzowania

Wartością tego dossier jest czytelna procedura i powtarzalne doświadczenie wznowienia na plikach syntetycznych. Ten sam zestaw musi być identyfikowalny przed zatrzymaniem, podczas przełączenia i po wznowieniu. Rejestr, porównanie z wartością odniesienia i wywołane odrzucenia czynią tę regułę obserwowalną. Przerwanie jest wywoływane przez kontrolowany wyjątek w skrypcie: nie przeprowadzono żadnej próby awarii zasilania. Cytowana dokumentacja techniczna wyjaśnia zastosowane mechanizmy; nie certyfikuje ona Twojego przyszłego środowiska produkcyjnego.

W scenariuszu pracuje jednocześnie tylko jeden proces. Lokalne opieczętowanie nie jest zamkiem rozproszonym; skrót nie jest testem jakości; wynik CPU nie jest kwalifikacją CUDA, ROCm ani multi-GPU. Aplikacja, która zapisuje również do zewnętrznej bazy, współdzielonego magazynu lub kolejki, wymaga spójnej reguły obejmującej wszystkie te miejsca docelowe. Zleć zatwierdzenie tej reguły i swojego planu powrotu, zanim zmigrujesz rzeczywiste przetwarzanie.

Aby przygotować dalsze kroki

Otwórz bibliotekę operacyjną
KONTYNUOWAĆ SPRAWĘSprawdź konfiguracjeZobacz najczęściej zadawane pytania