Deep Learning Academy · Lekcja

Wersjonowanie danych i modeli

Odtwarzać dowolny przebieg na podstawie jego danych wejściowych

Lekcja 2 z 413 kroki

Wersjonowanie danych i modeli to bezpłatna lekcja Deep Learning Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Deep Learning Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Deep Learning Academy zawiera 4 lekcji w sumie.

Wersjonowanie kodu to za mało

Git świetnie śledzi kod, ale model zależy także od danych i wag. Aby odtworzyć wynik, trzeba również wersjonować te elementy. 🗂️

Dlaczego zmiany danych psują uruchomienia

Zbiory danych rosną, są czyszczone lub otrzymują nowe etykiety. Jeśli nie można wskazać, która wersja danych posłużyła do wytrenowania modelu, nigdy nie da się odtworzyć dokładnie tego wyniku.

Trójkąt odtwarzalności

Uruchomienie jest odtwarzalne tylko wtedy, gdy połączone są trzy elementy: kod, dane i wytrenowane wagi. Brak któregokolwiek z nich powoduje rozbieżność wyniku.

Oblicz skrót danych

Nie przechowuje się ogromnych plików w Git. Zamiast tego zapisuje się hash — krótki odcisk palca zbioru danych, dzięki któremu każda zmiana jest natychmiast wykrywana.

import hashlib
h = hashlib.md5(open("train.csv","rb").read()).hexdigest()

Poznaj DVC

DVC (Data Version Control) działa jako warstwa nad Git i służy do wersjonowania dużych plików. W Git przechowuje niewielki wskaźnik, a właściwe dane w zdalnym magazynie.

pip install dvc

Śledzenie zbioru danych

Jedno polecenie informuje DVC, że ma zarządzać plikiem. Zastępuje ono duże dane niewielkim wskaźnikiem .dvc, który można bezpiecznie zatwierdzić w Git.

dvc add data/train.csv

Wypchnij dane do zdalnego magazynu

Rzeczywiste bajty znajdują się w magazynie w chmurze, a nie w repozytorium. Polecenie dvc push przesyła je, aby członkowie zespołu mogli później pobrać dokładnie te same pliki.

dvc push

Wersjonowanie modelu

Proszę zapisać wagi pod przejrzystą nazwą, która wiąże je z konkretnym uruchomieniem. Powiązanie checkpointu z jego commitem i hashem danych zapewnia pełną identyfikowalność modelu.

torch.save(model.state_dict(), "model_v3.pt")

Oznaczanie wydań

Gdy model jest wystarczająco dobry, aby go wdrożyć, należy oznaczyć ten moment. Tag Git, taki jak v1.0, pozwala w dowolnej chwili wrócić do dokładnie tego samego kodu, danych i wag.

git tag -a v1.0 -m "first production model"

Odtwarzanie dowolnego uruchomienia

Gdy wszystko jest wersjonowane, przywrócenie środowiska wymaga dwóch kroków: checkoutu commita, a następnie wykonania dvc pull. Otrzymuje się identyczne dane wejściowe, które posłużyły do utworzenia oryginalnego modelu.

git checkout v1.0
dvc pull

Wersjonowanie buduje zaufanie

Gdy każdy może odtworzyć wynik od podstaw, praca staje się audytowalna. To zaufanie odróżnia projekt hobbystyczny od produkcyjnego ML.

Szybkie sprawdzenie

Jak DVC nie dopuszcza do przechowywania dużych zbiorów danych w Git?

Podsumowanie

Nauczył się Pan/Nauczyła się Pani wersjonować dane i modele: haszować dane wejściowe, śledzić pliki za pomocą DVC, przesyłać je do zdalnego magazynu oraz oznaczać wydania, aby każde uruchomienie można było odtworzyć. 🎉

Bezpłatny start

Ucz się Python dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Wersjonowanie danych i modeli” jest bezpłatna?

Tak — pełny tekst „Wersjonowanie danych i modeli” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Deep Learning Academy, przejdź na CoddyKit PRO. Kurs Deep Learning Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Wersjonowanie danych i modeli”?

Odtwarzać dowolny przebieg na podstawie jego danych wejściowych Ćwiczysz Deep Learning Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Deep Learning Academy?

Nie wymagamy żadnego doświadczenia. Deep Learning Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.

Ile czasu zajmuje lekcja „Wersjonowanie danych i modeli”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Deep Learning Academy?

Tak. Każda lekcja Deep Learning Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Śledzenie eksperymentów za pomocą Weights & Biases
  2. Wersjonowanie danych i modeli
  3. Wykrywanie dryfu danych i modelu
  4. Automatyzacja pipeline'ów ponownego trenowania
← Powrót do Deep Learning Academy