Spark. Rozproszone uczenie maszynowe na dużą skalę. Jak korzystać z MLlib, TensorFlow i PyTorch - ebook
Spark. Rozproszone uczenie maszynowe na dużą skalę. Jak korzystać z MLlib, TensorFlow i PyTorch - ebook
Jeśli chcesz dostosować swoją pracę do większych zbiorów danych i bardziej złożonych kodów, potrzebna Ci jest znajomość technik rozproszonego uczenia maszynowego. W tym celu warto poznać frameworki Apache Spark, PyTorch i TensorFlow, a także bibliotekę MLlib. Biegłość w posługiwaniu się tymi narzędziami przyda Ci się w całym cyklu życia oprogramowania ... nie tylko ułatwi współpracę, ale również tworzenie powtarzalnego kodu.
Dzięki tej książce nauczysz się holistycznego podejścia, które zdecydowanie usprawni współpracę między zespołami. Najpierw zapoznasz się z podstawowymi informacjami o przepływach pracy związanych z uczeniem maszynowym przy użyciu Apache Spark i pakietu PySpark. Nauczysz się też zarządzać cyklem życia eksperymentów dla potrzeb uczenia maszynowego za pomocą biblioteki MLflow. Z kolejnych rozdziałów dowiesz się, jak od strony technicznej wygląda korzystanie z platformy uczenia maszynowego. W książce znajdziesz również opis wzorców wdrażania, wnioskowania i monitorowania modeli w środowisku produkcyjnym.
Najciekawsze zagadnienia:
- cykl życia uczenia maszynowego i MLflow
- inżynieria cech i przetwarzanie wstępne za pomocą Sparka
- szkolenie modelu i budowa potoku
- budowa systemu danych z wykorzystaniem uczenia głębokiego
- praca TensorFlow w trybie rozproszonym
- skalowanie systemu i tworzenie jego wewnętrznej architektury
Właśnie takiej książki społeczność Sparka wyczekuje od dekady!
Andy Petrella, autor książki Fundamentals of Data Observability
Spis treści
Przedmowa
1. Rozproszone uczenie maszynowe. Terminologia i pojęcia
- Etapy przepływu pracy uczenia maszynowego
- Narzędzia i technologie w potoku uczenia maszynowego
- Modele przetwarzania rozproszonego
- Modele uniwersalne
- Dedykowane modele przetwarzania rozproszonego
- Wprowadzenie do architektury systemów rozproszonych
- Systemy scentralizowane a zdecentralizowane
- Modele interakcji
- Komunikacja w środowisku rozproszonym
- Wprowadzenie do metod uczenia zespołowego
- Wysoka i niska stronniczość
- Rodzaje metod zespołowych
- Topologie szkolenia rozproszonego learner
- Wyzwania związane z rozproszonymi systemami uczenia maszynowego
- Wydajność
- Zarządzanie zasobami
- Odporność na błędy
- Prywatność
- Przenośność
- Konfiguracja środowiska lokalnego
- Środowisko samouczków z rozdziałów 2. - 6.
- Środowisko samouczków z rozdziałów 7. - 10.
- Podsumowanie
2. Wprowadzenie do Sparka i PySparka
- Architektura Apache Spark
- Wprowadzenie do PySparka
- Podstawy Apache Spark
- Architektura oprogramowania
- PySpark a programowanie funkcyjne
- Uruchamianie kodu PySparka
- Ramki DataFrame biblioteki pandas kontra ramki DataFrame systemu Spark
- Scikit-Learn kontra MLlib
- Podsumowanie
3. Zarządzanie cyklem życia eksperymentu uczenia maszynowego za pomocą MLflow
- Wymagania dotyczące zarządzania cyklem życia uczenia maszynowego
- Czym jest MLflow?
- Komponenty oprogramowania platformy MLflow
- Użytkownicy platformy MLflow
- Komponenty platformy MLflow
- MLflow Tracking
- MLflow Projects
- MLflow Models
- MLflow Model Registry
- Korzystanie z platformy MLflow w rozwiązaniach dużej skali
- Podsumowanie
4. Pozyskiwanie danych, wstępne przetwarzanie i statystyki opisowe
- Pozyskiwanie danych za pomocą Sparka
- Przetwarzanie obrazów
- Przetwarzanie danych tabelarycznych
- Wstępne przetwarzanie danych
- Przetwarzanie wstępne a właściwe
- Po co wstępnie przetwarzać dane?
- Struktury danych
- Typy danych MLlib
- Przetwarzanie wstępne z wykorzystaniem transformatorów MLlib
- Wstępne przetwarzanie danych obrazów
- Zapisywanie danych i unikanie problemu małych plików
- Statystyki opisowe: poznawanie danych
- Obliczanie statystyk
- Statystyki opisowe z wykorzystaniem obiektu Summarizer Sparka
- Skośność danych
- Korelacja
- Podsumowanie
5. Inżynieria cech
- Cechy i ich wpływ na modele uczenia maszynowego
- Narzędzia do cechowania w bibliotece MLlib
- Ekstraktory
- Selektory
- Przykład: Word2Vec
- Proces cechowania obrazów
- Wykonywanie działań na obrazach
- Wyodrębnianie cech za pomocą API Sparka
- Proces cechowania tekstu
- Worek słów
- TF-IDF
- n-gramy
- Techniki dodatkowe
- Wzbogacanie zbioru danych
- Podsumowanie
6. Szkolenie modeli za pomocą biblioteki MLlib platformy Spark
- Algorytmy
- Nadzorowane uczenie maszynowe
- Klasyfikacja
- Regresja
- Nienadzorowane uczenie maszynowe
- Wydobywanie częstych wzorców
- Klasteryzacja
- Ocena
- Ewaluatory nadzorowane
- Ewaluatory nienadzorowane
- Hiperparametry i eksperymenty dostrajania
- Budowanie siatki parametrów
- Podział danych na zbiory szkoleniowe i testowe
- Walidacja krzyżowa: lepszy sposób testowania modeli
- Potoki uczenia maszynowego
- Budowa potoku
- Jak działa podział dla API Pipeline?
- Utrwalanie
- Podsumowanie
7. Łączenie Sparka z frameworkami uczenia głębokiego
- Podejście oparte na danych i dwóch klastrach
- Implementacja dedykowanej warstwy dostępu do danych
- Cechy DAL
- Wybór warstwy DAL
- Czym jest Petastorm?
- SparkDatasetConverter
- Petastorm jako magazyn Parquet
- Projekt Hydrogen
- Barierowy tryb wykonania
- Harmonogramowanie z uwzględnieniem akceleratorów
- Wprowadzenie do API Horovod Estimator
- Podsumowanie
8. Rozproszone uczenie maszynowe z wykorzystaniem TensorFlow
- Przegląd podstawowych wywołań API biblioteki TensorFlow
- Czym jest sieć neuronowa?
- Role i obowiązki w procesie klastra TensorFlow
- Ładowanie danych Parquet do zbioru danych TensorFlow
- Strategie rozproszonego uczenia maszynowego TensorFlow
- ParameterServerStrategy
- CentralStorageStrategy: jedna maszyna, wiele procesorów
- MirroredStrategy: jedna maszyna, wiele procesorów, lokalna kopia
- MultiWorkerMirroredStrategy: wiele maszyn, tryb synchroniczny
- TPUStrategy
- Co się zmienia po zmianie strategii?
- Szkoleniowe interfejsy API
- API Keras
- Niestandardowa pętla szkoleniowa
- API Estimator
- Połączmy kropki
- Rozwiązywanie problemów
- Podsumowanie
9. Rozproszone uczenie maszynowe z wykorzystaniem frameworka PyTorch
- Przegląd podstaw frameworka PyTorch
- Graf obliczeniowy
- Mechanika frameworka PyTorch i związane z nim pojęcia
- Strategie rozproszonego szkolenia modeli frameworka PyTorch
- Wprowadzenie do podejścia rozproszonego wykorzystywanego przez framework PyTorch
- Rozproszone i równoległe szkolenie danych (DDP)
- Szkolenie rozproszone oparte na RPC
- Topologie komunikacji frameworka PyTorch (c10d)
- Do czego można wykorzystać niskopoziomowe wywołania API frameworka PyTorch?
- Ładowanie danych za pomocą frameworka PyTorch i biblioteki Petastorm
- Rozwiązywanie problemów podczas korzystania z biblioteki Petastorm i frameworka PyTorch w środowisku rozproszonym
- Enigma niedopasowanych typów danych
- Tajemnica marudnych węzłów roboczych
- Czym PyTorch różni się od TensorFlow?
- Podsumowanie
10. Wzorce wdrażania modeli uczenia maszynowego
- Wzorce wdrażania
- Wzorzec 1. Prognozy zbiorcze
- Wzorzec 2. Model w ramach usługi
- Wzorzec 3. Model jako usługa
- Decydowanie o wykorzystywanym wzorcu
- Wymagania dotyczące oprogramowania produkcyjnego
- Monitorowanie modeli uczenia maszynowego w produkcji
- Dryf danych
- Dryf modelu, dryf koncepcji
- Przesunięcie dziedziny rozkładu (długi ogon)
- Jakie wskaźniki należy monitorować w produkcji?
- W jaki sposób wykorzystać system monitorowania do mierzenia zmian?
- Jak to wygląda w systemie produkcyjnym?
- Produkcyjna pętla sprzężenia zwrotnego
- Wdrażanie z wykorzystaniem biblioteki MLlib
- Produkcyjne potoki uczenia maszynowego ze strukturalnym przesyłaniem strumieniowym
- Wdrażanie z wykorzystaniem biblioteki MLflow
- Definiowanie wrappera MLflow
- Wdrażanie modelu jako mikrousługi
- Ładowanie modelu jako funkcji UDF platformy Spark
- Jak pracować nad systemem w sposób iteracyjny?
- Podsumowanie
Skorowidz
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-289-1235-9 |
Rozmiar pliku: | 5,7 MB |