Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Обучение моделей Spark ML в Databricks Connect с помощью
В этой статье приведен пример, демонстрирующий использование pyspark.ml.connect модуля для выполнения распределенного обучения для обучения моделей машинного обучения Spark и вывода модели.
Что такое pyspark.ml.connect?
В Spark 3.5 представлена pyspark.ml.connect, предназначенная для поддержки режима подключения Spark и Databricks Connect. Дополнительные сведения о Databricks Connect.
Модуль pyspark.ml.connect состоит из распространенных алгоритмов обучения и служебных программ, включая классификацию, преобразователи признаков, конвейеры машинного обучения и перекрестную проверку. Этот модуль предоставляет аналогичные интерфейсы для устаревшего pyspark.ml модуля, однако модуль pyspark.ml.connect в настоящее время содержит только подмножество алгоритмов в pyspark.ml. Ниже перечислены поддерживаемые алгоритмы.
- Алгоритм классификации:
pyspark.ml.connect.classification.LogisticRegression - Преобразователи функций:
pyspark.ml.connect.feature.MaxAbsScalerиpyspark.ml.connect.feature.StandardScaler - Оценщик:
pyspark.ml.connect.RegressionEvaluator,pyspark.ml.connect.BinaryClassificationEvaluatorиMulticlassClassificationEvaluator - Трубопровод:
pyspark.ml.connect.pipeline.Pipeline - Настройка модели:
pyspark.ml.connect.tuning.CrossValidator
Требования
В Databricks Runtime 17.0 и более поздних версиях подключение Spark ML в Spark включается по умолчанию для вычислительных ресурсов с стандартным режимом доступа с некоторыми ограничениями. См. ограничения для Databricks Runtime 17.0 на стандартной платформе вычислений. Используйте машинное обучение Spark на стандартном уровне вычислений, если требуется распределение на уровне Spark для данных, которые не соответствуют памяти на одном узле или если вам нужно выполнить настройку распределенного гиперпараметра.
Для Databricks Runtime 14.0 ML и более поздних версий (включая Databricks Runtime 17.0 для вычислительных ресурсов с помощью выделенного режима доступа), существуют дополнительные требования к использованию Spark ML:
- Настройте Databricks Connect в кластерах. См. конфигурацию вычислений для Databricks Connect.
- Databricks Runtime 14.0 ML или более поздней версии.
- Вычислительный ресурс с выделенным режимом доступа.
Пример записной книжки
В следующей записной книжке показано, как использовать распределенное машинное обучение в Databricks Connect:
Распределенное машинное обучение в Databricks Connect
Для справочной информации об API в pyspark.ml.connect, Databricks рекомендует справочник по API Apache Spark
Ограничения для среды выполнения Databricks 17.0 в стандартных вычислениях
- Только Python: Машинное обучение Spark в стандартном вычислении поддерживает только Python. R и Scala не поддерживаются.
-
Поддержка библиотеки: поддерживается только
pyspark.mlпакет. Пакетpyspark.mllibне поддерживается. - Ограничения размера модели: максимальный размер модели составляет 1 ГБ, поэтому обучение чрезвычайно больших моделей может оказаться невозможным. Обучение модели дерева будет остановлено заранее, если размер модели приблизится к 1 ГБ.
- Ограничения памяти. Хотя данные могут быть распределены по кластеру, сама обученная модель кэшируется на узле драйвера, который предоставляется другим пользователям. Максимальный размер кэша модели на сеанс составляет 10 ГБ, а максимальный размер кэша модели в памяти на сеанс составляет 25% памяти JVM драйвера Spark.
- Время ожидания сеанса: кэшированная модель вычислений уровня "Стандартный" автоматически истекает через 15 минут бездействия. Чтобы предотвратить потерю модели, сохраните его на диск в течение 15 минут после завершения обучения или сохраните сеанс активным с частым использованием.
- Состязание ресурсов. В стандартных вычислительных средах ресурсы совместно используются пользователями и заданиями в рабочей области. Выполнение нескольких больших заданий одновременно может привести к снижению производительности или конкуренции за слоты исполнителя.
- Нет поддержки GPU: стандартные вычислительные среды не поддерживают ускорение GPU. Для рабочих нагрузок машинного обучения с ускорением GPU рекомендуется использовать выделенные кластеры GPU.
-
Ограниченные модели SparkML: следующие модели SparkML не поддерживаются:
DistributedLDAModelFPGrowthModel