PRZEWODNIK techniczny

Checkpoint Sharding i szkolenie z możliwością wznowienia

Techniki zapisywania stanu uczenia modelu w fragmentach (odłamkach), aby można było zapisywać i ponownie wczytywać gigantyczne modele bez ograniczania pamięci lub dysku, dzięki czemu awaria może zostać wznowiona dokładnie tam, gdzie została przerwana.

2 minuty czytaniaOstatnia aktualizacja

Przegląd

Essential for any training job that runs for days or weeks across many GPUs.

Głębokie nurkowanie

Punkt kontrolny uczenia to migawka wszystkiego, co jest potrzebne do wznowienia: wagi modelu, stany optymalizatora, harmonogram szybkości uczenia się, pozycja modułu ładującego dane i nasiona generatora liczb losowych. W przypadku dużych modeli ta migawka może mieć setki gigabajtów, co jest zdecydowanie za duże dla pojedynczego pliku lub pamięci pojedynczego komputera. Fragmentowanie punktu kontrolnego dzieli tę migawkę na wiele plików i wiele rang, więc każdy procesor graficzny zapisuje równolegle tylko swój własny wycinek. Trening z możliwością wznawiania następnie ponownie ładuje te fragmenty i dokładnie przywraca pełny stan. Bez tego wielotygodniowy bieg, który ulega awarii w godzinie 200, musiałby zaczynać się od nowa. Struktury takie jak PyTorch Distributed Checkpoint, DeepSpeed ​​i format dzielonych zabezpieczeń Hugging Face Hub w Hugging Face Hub sprawiają, że jest to rutynowe.

Wgląd techniczny

Fragmentowanie działa, ponieważ rozproszone szkolenie już dzieli wagi i stany optymalizatora na szeregi (poprzez równoległość danych, tensora lub ZeRO). Każda ranga serializuje tylko swoją partycję, często do formatów takich jak sejfy, które umożliwiają leniwe ładowanie mapowane w pamięci. Plik indeksu odwzorowuje nazwy parametrów na pliki fragmentów. Aby wznowić w sposób deterministyczny, system utrwala również stany RNG, liczbę kroków optymalizatora i dokładne przesunięcie modułu ładującego dane, dzięki czemu ponowne uruchomienie odtwarza tę samą sekwencję partii.

Wpływ strategiczny

Koszt i budżet

Decyzje dotyczące architektury wpływają na wydajność i koszty operacyjne przez lata.

Jaśniejsze decyzje

Edukacja techniczna pomaga zespołom wybrać odpowiedni stos, a nie tylko najnowszy.

Kontrola jakości

Lepsze wybory inżynieryjne zmniejszają liczbę incydentów związanych z niezawodnością w produkcji.

Przyszłość fragmentowania punktów kontrolnych i szkoleń z możliwością wznawiania

Punkty kontrolne zmieniają się z okresowego zdarzenia zatrzymującego świat w coś asynchronicznego i prawie bezpłatnego. Spodziewaj się większej liczby punktów kontrolnych znajdujących się w pamięci i nakładających się, które zapisują fragmenty w tle podczas kontynuowania uczenia, a także zakodowanych i replikowanych punktów kontrolnych, które wymazują, które przetrwają awarie węzłów, typowe dla skali tysiąca procesorów graficznych. Magazyny obiektów w chmurze i szybsze lokalne warstwy NVMe będą hostować fragmenty, a ustandaryzowane formaty, takie jak sejfy, będą stale ulepszać bezpieczne, szybkie i częściowe ładowanie zarówno w celu wznowienia szkolenia, jak i wdrożenia wnioskowania.

Implementacja w świecie rzeczywistym

Model pionierski działający na tysiącach procesorów graficznych, który automatycznie zapisuje podzielone na fragmenty punkty kontrolne co kilkaset kroków, dzięki czemu pojedynczy uszkodzony węzeł kosztuje tylko minuty, a nie dni.

Hugging Face dystrybuuje duży, otwarty model w postaci wielu fragmentów sejfów oraz pliku Index.json, dzięki czemu użytkownicy mogą go pobierać i ładować fragment po kawałku.

Badacz wznawia przerwaną dostrajanie, które przywraca dokładny pęd optymalizatora, liczbę kroków i pozycję modułu ładowania danych, aby móc kontynuować płynnie.

Szkolenia na miejscu na tanich procesorach graficznych w chmurze z możliwością wywłaszczania, w których częste punkty kontrolne podzielone na fragmenty pozwalają zadaniu przetrwać eksmisję i zmianę harmonogramu.

Zagrożenia i poręcze

Optymalizacja jednego testu porównawczego może ukryć szersze słabości systemu.

Koszty infrastruktury i utrzymania są często niedoszacowane.

W miarę jak systemy stają się coraz bardziej złożone, luki w bezpieczeństwie i obserwowalności mogą się zwiększać.

Plan wdrożenia

1

Przed wdrożeniem zdefiniuj docelowe opóźnienia, jakość i koszty.

2

Test porównawczy w realistycznych warunkach obciążenia i danych.

3

Monitorowanie przyrządu pod kątem błędów, dryftu i wpływu użytkownika.

4

Przed skalowaniem przygotuj ścieżki wycofywania zmian i reakcji na incydenty.

Odkrywaj dalej

Free newsletter

Get the daily AI briefing

Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.

One email each weekday. Unsubscribe in one click. We never sell or share your address.

Test yourself

Take the Checkpoint Sharding and Resumable Training quiz

Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.

Rozpocznij quiz

Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation

Następny poradnik

Slum dla klastrów szkoleniowych AI

Często zadawane pytania

What is Checkpoint Sharding and Resumable Training?

Techniki zapisywania stanu uczenia modelu w fragmentach (odłamkach), aby można było zapisywać i ponownie wczytywać gigantyczne modele bez ograniczania pamięci lub dysku, dzięki czemu awaria może zostać wznowiona dokładnie tam, gdzie została przerwana. Niezbędny w każdym zadaniu szkoleniowym, które trwa kilka dni lub tygodni na wielu procesorach graficznych.

Dlaczego punkty kontrolne dużych modeli są podzielone na fragmenty?

Ogromne punkty kontrolne (setki GB) są niepraktyczne w postaci jednego pliku; sharding pozwala wielu rangom zapisywać swoje wycinki równolegle i umożliwia ładowanie fragmentaryczne.

Co jeszcze oprócz wag modelu musi zazwyczaj zapisywać wznawiany punkt kontrolny?

Aby dokładnie wznowić, punkt kontrolny przechowuje stany optymalizatora, stany generatora liczb losowych, liczbę kroków i miejsce, w którym moduł ładujący dane przerwał.

Jaka jest główna korzyść ze szkolenia z możliwością wznawiania w przypadku długich stanowisk pracy?

W przypadku wznawianych punktów kontrolnych przerwane uruchomienie powoduje ponowne załadowanie ostatniego zapisanego stanu i kontynuację, zamiast wyrzucać dni obliczeń.

W jaki sposób każda ranga procesora graficznego zwykle przyczynia się do podzielonego punktu kontrolnego?

Ponieważ uczenie rozproszone już dzieli model na rangi, każda ranga zapisuje tylko swój wycinek, dzięki czemu zapisywanie jest równoległe i wydajne pod względem pamięci.

Jaką rolę odgrywa plik indeksu w podzielonych na fragmenty punktach kontrolnych?

Indeks (np. indeks.json) rejestruje, który fragment przechowuje każdy parametr, dzięki czemu moduły ładujące mogą pobrać i ponownie złożyć odpowiednie elementy.