Jak projektować systemy uczenia maszynowego. Iteracyjne tworzenie aplikacji gotowych do pracy - ebook
Jak projektować systemy uczenia maszynowego. Iteracyjne tworzenie aplikacji gotowych do pracy - ebook
Systemy uczenia maszynowego (ML) charakteryzują się złożonością i unikatowością. Zmiana w jednym z wielu komponentów może istotnie wpłynąć na całość. Zastosowane w modelach dane diametralnie różnią się od siebie w poszczególnych przypadkach użycia. To wszystko sprawia, że bardzo trudno jest stworzyć taki system, jeśli każdy komponent zostaje zaprojektowany oddzielnie. Aby zbudować aplikację korzystającą z ML i nadającą się do wdrożenia w środowisku produkcyjnym, konieczne jest podejmowanie decyzji projektowych z uwzględnieniem cech systemu jako całości.
To książka przeznaczona dla inżynierów, którzy chcą stosować systemy uczenia maszynowego do rozwiązywania rzeczywistych problemów biznesowych. Zaprezentowano w niej systemy ML używane w szybko rozwijających się startupach, a także przedstawiono holistyczne podejście do ich projektowania ... z uwzględnieniem różnych komponentów systemu i celów osób zaangażowanych w proces. Dużo uwagi poświęcono analizie decyzji projektowych, dotyczących między innymi sposobu tworzenia i przetwarzania danych treningowych, wyboru wskaźników, częstotliwości ponownego treningu modelu czy techniki monitorowania pracy aplikacji. Zaprezentowana tu koncepcja iteracyjna natomiast pozwala na uzyskanie pewności, że podejmowane decyzje są optymalne z punktu widzenia pracy całości systemu. Co ważne, poszczególne zagadnienia zostały zilustrowane rzeczywistymi studiami przypadków.
W książce między innymi:
- wybór wskaźników właściwych dla danego problemu biznesowego
- automatyzacja ciągłego rozwoju, ewaluacji, wdrażania i aktualizacji modeli
- szybkie wykrywanie i rozwiązywanie problemów podczas wdrożenia produkcyjnego
- tworzenie wszechstronnej platformy ML
- odpowiedzialne tworzenie systemów ML
Wdrażaj i skaluj modele tak, aby uzyskiwać najlepsze wyniki!
Spis treści
Wstęp
1. Przegląd systemów uczenia maszynowego
- Kiedy należy używać uczenia maszynowego?
- Przypadki użycia uczenia maszynowego
- Zrozumienie systemów uczenia maszynowego
- Uczenie maszynowe w badaniach i przemyśle
- Krytyka rankingów modeli uczenia maszynowego
- Systemy uczenia maszynowego a oprogramowanie tradycyjne
- Podsumowanie
2. Wprowadzenie do projektowania systemów uczenia maszynowego
- Biznes i cele uczenia maszynowego
- Wymagania dla systemów uczenia maszynowego
- Niezawodność
- Skalowalność
- Łatwość utrzymania
- Adaptacyjność
- Proces iteracyjny
- Sformalizowanie problemów związanych z uczeniem maszynowym
- Rodzaje zadań związanych z uczeniem maszynowym
- Funkcje celu
- Umysł a dane
- Podsumowanie
3. Podstawy inżynierii danych
- Źródła danych
- Formaty danych
- JSON
- Formaty wierszowe i kolumnowe
- Format tekstowy a binarny
- Modele danych
- Model relacyjny
- Model NoSQL
- Dane ustrukturyzowane a nieustrukturyzowane
- Silniki przechowywania danych i ich przetwarzanie
- Przetwarzanie transakcyjne i analityczne
- Proces ETL - wyodrębnij, przekształć, wczytaj
- Tryby przepływu danych
- Dane przekazywane przez bazy danych
- Dane przekazywane przez usługi
- Dane przekazywane przez połączenia w czasie rzeczywistym
- Przetwarzanie wsadowe a przetwarzanie strumieniowe
- Podsumowanie
4. Dane treningowe
- Próbkowanie
- Próbkowanie nieprobabilistyczne
- Proste próbkowanie losowe
- Próbkowanie warstwowe
- Próbkowanie ważone
- Próbkowanie do rezerwuaru
- Próbkowanie istotnościowe
- Etykietowanie
- Etykiety nadawane ręcznie
- Etykiety naturalne
- Co zrobić w przypadku braku etykiet?
- Niezrównoważenie klas
- Wyzwania związane z niezrównoważeniem klas
- Rozwiązywanie problemu niezrównoważenia klas
- Generowanie sztucznych danych
- Proste transformacje zachowujące etykiety
- Perturbacja
- Synteza danych
- Podsumowanie
5. Inżynieria cech
- Cechy wyuczone a cechy zaprojektowane
- Operacje często stosowane w inżynierii cech
- Obsługa wartości brakujących
- Skalowanie
- Dyskretyzacja
- Kodowanie cech skategoryzowanych
- Krzyżowanie cech
- Dyskretne i ciągłe osadzenia pozycji
- Wyciek danych
- Najczęstsze przyczyny wycieków danych
- Wykrywanie wycieku danych
- Tworzenie poprawnych cech
- Ważność cech
- Uogólnianie cech
- Podsumowanie
6. Projektowanie modelu i ewaluacja offline
- Projektowanie i trenowanie modelu
- Ewaluacja modeli uczenia maszynowego
- Metody zespołowe
- Monitorowanie i wersjonowanie eksperymentów
- Trenowanie rozproszone
- Zautomatyzowane uczenie maszynowe (AutoML)
- Ewaluacja modelu w trybie offline
- Punkty odniesienia
- Metody ewaluacji
- Podsumowanie
7. Wdrażanie modelu i usługi prognozowania
- Mity związane z wdrażaniem systemów uczenia maszynowego
- Mit 1. Jednocześnie wdrażamy tylko jeden lub dwa modele
- Mit 2. Jeśli nic nie zrobimy, wydajność modelu pozostanie taka sama
- Mit 3. Modeli nie trzeba często aktualizować
- Mit 4. Większość inżynierów uczenia maszynowego nie musi się przejmować wielkoskalowymi wdrożeniami
- Prognozowanie wsadowe a prognozowanie online
- Od prognozowania wsadowego do prognozowania online
- Ujednolicenie potoku wsadowego i strumieniowego
- Kompresowanie modelu
- Faktoryzacja niższego rzędu
- Destylacja wiedzy
- Przycinanie
- Kwantyzacja
- Uczenie maszynowe w chmurze i na urządzeniu brzegowym
- Kompilowanie i optymalizowanie modeli dla urządzeń brzegowych
- Wykorzystanie uczenia maszynowego w przeglądarkach
- Podsumowanie
8. Zmiana rozkładu danych i monitorowanie
- Przyczyny awarii w systemach uczenia maszynowego
- Awarie systemu oprogramowania
- Awarie specyficzne dla uczenia maszynowego
- Zmiany rozkładów danych
- Rodzaje zmian rozkładów danych
- Ogólne rodzaje zmian rozkładów danych
- Wykrywanie zmian rozkładów danych
- Rozwiązywanie problemów związanych ze zmianą rozkładu danych
- Monitorowanie i obserwowalność
- Wskaźniki specyficzne dla uczenia maszynowego
- Narzędzia wspierające proces monitorowania
- Obserwowalność
- Podsumowanie
9. Uczenie ciągłe i testy w środowisku produkcyjnym
- Uczenie ciągłe
- Ponowne trenowanie bezstanowe i trenowanie stanowe
- Dlaczego powinno się stosować uczenie ciągłe?
- Wyzwania związane z uczeniem ciągłym
- Cztery etapy uczenia ciągłego
- Jak często należy aktualizować modele?
- Testowanie w środowisku produkcyjnym
- Użycie kopii rozwiązania
- Testy A/B
- Testy kanarkowe
- Eksperymenty przeplatane
- Algorytmy bandyty
- Podsumowanie
10. Infrastruktura i narzędzia stosowane w metodyce MLOps
- Pamięć masowa i moc obliczeniowa
- Chmura publiczna a prywatne centrum danych
- Środowisko projektowe
- Konfiguracja środowiska projektowego
- Proces standaryzacji środowisk projektowych
- Przejście ze środowiska projektowego do produkcyjnego - kontenery
- Zarządzanie zasobami
- Narzędzie cron, zarządcy procesów i orkiestratory
- Zarządzanie procesami w danetyce
- Platforma uczenia maszynowego
- Wdrażanie modelu
- Magazyn modeli
- Magazyn cech
- Tworzyć czy kupować?
- Podsumowanie
11. Ludzka strona uczenia maszynowego
- Doświadczenia użytkownika
- Zapewnianie spójności doświadczeń użytkownika
- Unikanie prognoz "przeważnie poprawnych"
- Kompromis szybkość - dokładność
- Struktura zespołu
- Współpraca w zespołach międzydyscyplinarnych
- Wszechstronni danetycy
- Odpowiedzialna sztuczna inteligencja
- Nieodpowiedzialna sztuczna inteligencja - studia przypadków
- Zasady tworzenia odpowiedzialnej sztucznej inteligencji
- Podsumowanie
Epilog
Kategoria: | Systemy operacyjne |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-9913-6 |
Rozmiar pliku: | 7,9 MB |