Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Trenowanie modeli Spark ML w usłudze Databricks Connect za pomocą
W tym artykule przedstawiono przykład, jak używać modułu pyspark.ml.connect do wykonywania trenowania rozproszonego w celu trenowania modeli Spark ML i przeprowadzania wnioskowania na modelach.
Co to jest pyspark.ml.connect?
Spark 3.5 wprowadza pyspark.ml.connect, która jest przeznaczona do obsługi trybu Spark Connect i Databricks Connect. Dowiedz się więcej o usłudze Databricks Connect.
Moduł pyspark.ml.connect składa się z typowych algorytmów uczenia i narzędzi, w tym klasyfikacji, przekształcania funkcji, potoków uczenia maszynowego i krzyżowego sprawdzania poprawności. Ten moduł zawiera podobne interfejsy do starszego pyspark.ml modułu, ale pyspark.ml.connect moduł obecnie zawiera tylko podzbiór algorytmów w pyspark.ml. Obsługiwane algorytmy są wymienione poniżej:
- Algorytm klasyfikacji:
pyspark.ml.connect.classification.LogisticRegression - Transformatory cech:
pyspark.ml.connect.feature.MaxAbsScaleripyspark.ml.connect.feature.StandardScaler - Ewaluator:
pyspark.ml.connect.RegressionEvaluator,pyspark.ml.connect.BinaryClassificationEvaluatoriMulticlassClassificationEvaluator - Rurociąg:
pyspark.ml.connect.pipeline.Pipeline - Dostrajanie modelu:
pyspark.ml.connect.tuning.CrossValidator
Wymagania
W środowisku Databricks Runtime 17.0 lub nowszym Spark ML na platformie Spark Connect jest domyślnie włączony na zasobach obliczeniowych w trybie dostępu Standard z ograniczeniami. Zobacz Ograniczenia dotyczące środowiska Databricks Runtime 17.0 na standardowej maszynie obliczeniowej. Użyj Spark ML na warstwie Standard, jeśli potrzebujesz dystrybucji Spark dla danych, których nie mieszczą się w pamięci w jednym węźle lub jeśli potrzebujesz rozproszonego dostrajania hiperparametrów.
W przypadku środowiska Databricks Runtime 14.0 ML lub nowszego (w tym środowiska Databricks Runtime 17.0 na zasobach obliczeniowych korzystających z trybu dedykowanego dostępu) istnieją dodatkowe wymagania dotyczące korzystania z usługi Spark ML:
- Skonfiguruj usługę Databricks Connect w klastrach. Zobacz Konfiguracja obliczeń dla usługi Databricks Connect.
- Zainstalowano środowisko Databricks Runtime 14.0 ML lub nowsze.
- Zasób obliczeniowy z trybem dedykowanego dostępu.
Przykładowy notes
W poniższym notesie pokazano, jak używać rozproszonego uczenia maszynowego w usłudze Databricks Connect:
Rozproszone uczenie maszynowe w usłudze Databricks Connect
Aby uzyskać informacje referencyjne dotyczące interfejsów API w pyspark.ml.connect, Databricks zaleca dokumentację referencyjną interfejsu API platformy Apache Spark.
Ograniczenia dotyczące Databricks Runtime 17.0 na platformie obliczeniowej Standardowej
- Tylko Python: usługa Spark ML w warstwie Standard obsługuje tylko Python. Języki R i Scala nie są obsługiwane.
-
Obsługa biblioteki: obsługiwany jest tylko pakiet
pyspark.ml. Pakietpyspark.mllibnie jest obsługiwany. - Ograniczenia rozmiaru modelu: maksymalny rozmiar modelu wynosi 1 GB, więc trenowanie bardzo dużych modeli może nie być możliwe. Trenowanie modelu drzewa zostanie zatrzymane wcześnie, jeśli rozmiar modelu przekroczy 1 GB.
- Ograniczenia pamięci: podczas gdy dane mogą być dystrybuowane w klastrze, sam wytrenowany model jest buforowany w węźle sterownika, który jest współużytkowany przez innych użytkowników. Maksymalny rozmiar pamięci podręcznej modelu na sesję wynosi 10 GB, a maksymalny rozmiar pamięci podręcznej modelu w pamięci na sesję to 25% pamięci JVM sterownika Spark.
- Limity czasu trwania sesji: Model buforowany na Standardowym środowisku obliczeniowym wygasa automatycznie po 15 minutach braku aktywności. Aby zapobiec utracie modelu, zapisz go na dysku w ciągu 15 minut po zakończeniu trenowania lub zachowaj aktywną sesję z częstym użyciem.
- Rywalizacja o zasoby: w standardowych środowiskach obliczeniowych zasoby są współużytkowane przez użytkowników i zadania w obszarze roboczym. Współbieżne uruchamianie wielu dużych zadań może prowadzić do spowolnienia pracy lub konkurencji o miejsca wykonawcze.
- Brak obsługi procesora GPU: standardowe środowiska obliczeniowe nie obsługują przyspieszania procesora GPU. W przypadku obciążeń uczenia maszynowego przyspieszonego przez procesor GPU zalecane są dedykowane klastry procesora GPU.
-
Ograniczone modele SparkML: następujące modele SparkML nie są obsługiwane:
DistributedLDAModelFPGrowthModel