Dzielenie ruchu między wersje modeli
Kieruj określony procent żądań do modelu challenger
Dzielenie ruchu między wersje modeli to bezpłatna lekcja MLOps Academy na CoddyKit. To lekcja 1 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 MLOps Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs MLOps Academy zawiera 4 lekcji w sumie.
Dwa modele, jeden test na żywo
Masz nowy model, który według Ciebie jest lepszy. Zamiast zgadywać, pozwalasz zdecydować rzeczywistemu ruchowi. Test A/B uruchamia oba modele równolegle dla użytkowników korzystających z systemu na żywo. 🔬
Model zwycięski i challenger
Obecny model działający na produkcji to champion. Nowy kandydat, którego chcesz sprawdzić, to challenger. Test pokazuje, czy challenger rzeczywiście przewyższa model champion.
Podział ruchu
Podstawowa idea jest prosta: kieruj część żądań do każdego modelu. Często zaczyna się od proporcji 90/10, pozostawiając większość użytkowników przy modelu champion, podczas gdy challenger dowodzi swojej wartości.
Prosty router
Podstawowy podział polega na losowaniu liczby dla każdego żądania i kierowaniu go zgodnie z ustalonym progiem. W tym przypadku dziesięć procent ruchu trafia do challengera.
import random
def pick_model(challenger_share=0.1):
return "challenger" if random.random() < challenger_share else "champion"Zachowaj spójność dla każdego użytkownika
Losowanie przy każdym żądaniu powoduje przełączanie użytkownika między modelami podczas każdej wizyty. Zamiast tego użyj hashowania identyfikatora użytkownika, aby ta sama osoba zawsze trafiała do tego samego modelu.
Hashowanie na potrzeby stałego podziału
Hashowanie identyfikatora użytkownika przypisuje go do stabilnego segmentu. Ten sam identyfikator za każdym razem mapuje się na ten sam model, co zapewnia rzetelność testu.
import hashlib
def bucket(user_id, challenger_share=0.1):
h = int(hashlib.md5(user_id.encode()).hexdigest(), 16)
return "challenger" if (h % 100) < challenger_share * 100 else "champion"Rejestruj, który model obsłużył żądanie
Dla każdej predykcji zapisuj, który model ją obsłużył. Bez tego rejestru przypisań nie da się później uczciwie porównać obu grup. 📝
Zacznij od małego udziału, potem go zwiększaj
Zacznij od niewielkiego udziału challengera, aby ograniczyć ryzyko. W miarę wzrostu pewności stopniowo zwiększaj wartość procentową, zamiast od razu przełączać wszystkich użytkowników.
Steruj podziałem za pomocą konfiguracji
Zakodowanie udziału na stałe oznacza konieczność ponownego wdrożenia, aby go zmienić. Odczytuj proporcję podziału z konfiguracji, aby zwiększać lub zmniejszać ruch bez dostarczania nowej wersji kodu.
Te same dane wejściowe, uczciwe porównanie
Oba modele muszą otrzymywać żądania tego samego rodzaju i te same cechy. Jeśli grupy różnią się pod względem obsługiwanych użytkowników, znaleziony zwycięzca może być tylko złudzeniem.
To tylko routing
W istocie test A/B to warstwa routingu oraz staranne rejestrowanie danych. Jeśli podział będzie stały i rejestrowany, uzyskają Państwo podstawę wiarygodnego porównania. ✅
Szybkie sprawdzenie
Sprawdźmy, jak zachować poprawny podział.
Podsumowanie
Test A/B zestawia championa z challengerem, dzieląc ruch na żywo. Hashuj użytkowników, aby przypisać ich do stałych grup, rejestruj każde przypisanie i zacznij od małej skali. 🎯
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 „Dzielenie ruchu między wersje modeli” jest bezpłatna?
Tak — pełny tekst „Dzielenie ruchu między wersje 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 MLOps Academy, przejdź na CoddyKit PRO. Kurs MLOps Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Dzielenie ruchu między wersje modeli”?
Kieruj określony procent żądań do modelu challenger Ćwiczysz MLOps 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ąć MLOps Academy?
Nie wymagamy żadnego doświadczenia. MLOps 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 1 z 4.
Ile czasu zajmuje lekcja „Dzielenie ruchu między wersje 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 MLOps Academy?
Tak. Każda lekcja MLOps 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
- Dzielenie ruchu między wersje modeli
- Wybór istotnych metryk
- Interpretowanie istotności bez oszukiwania siebie
- Promowanie zwycięzcy lub wycofywanie zmian