Почему Сноупарк?

Snowflake недавно представила Snowpark, среду разработки, которая позволяет разработчикам писать код на предпочитаемом ими языке и запускать этот код непосредственно в Snowflake. Теперь разработчики могут использовать API-интерфейсы Snowpark из своих приложений или даже лучше — создавать пользовательские функции или хранимые процедуры, которые полностью выполняются на сервере Snowflake. Как видите, это очень важно: данные остаются в Snowflake, а код отправляется туда. Или, как говорит Snowflake: Вместо того, чтобы перемещаться между разрозненными системами, ваши данные и код хранятся в одной высокозащищенной системе.

Как показано в коротком двухминутном видео на странице Snowpark, некоторые примеры рабочих нагрузок, которые можно полностью перенести на движок Snowflake, включают: увеличение данных, преобразование, машинное обучение и бизнес-логику. Конечно, это очень широкие темы, в каждой из которых много мяса и картошки. В этом блоге давайте углубимся в рабочие нагрузки машинного обучения и посмотрим, как сделать это наиболее эффективно в Snowpark.

Машинное обучение в сноупарке

Количество шагов, связанных с жизненным циклом проекта ML, варьируется в зависимости от предприятия, и на него в основном влияет общая зрелость организации в области ML и влияние внутренних или внешних органов управления. Но для простоты этого обсуждения давайте рассмотрим следующие наиболее важные и распространенные этапы проекта машинного обучения.

  1. Исследовательский анализ данных
  2. Подготовка данных
  3. Обучение модели
  4. Объяснение модели
  5. Подсчет очков
  6. Мониторинг дрейфа

Когда мы приступаем к машинному обучению в Snowpark, необходимо убедиться, что все эти важные шаги перенесены в Snowpark.

Преломление от Fosfor

Refract от Fosfor — это комплексная платформа машинного обучения, которая упрощает каждый этап жизненного цикла машинного обучения, чтобы упростить, ускорить и упростить внедрение машинного обучения в организациях. А когда дело доходит до машинного обучения в Snowpark, Refract позаботится обо всем, о чем нужно позаботиться, и даже больше. Посмотрим, как.

Исследовательский анализ данных. Refract поставляется со встроенным расширенным каталогом данных, который специалисты по данным могут использовать для поиска и обнаружения всех ключевых активов данных в организации. Каталог автоматически генерирует подробные отчеты о профилировании и качестве данных на уровне каждого столбца, а также автоматически определяет и отображает отношения между таблицами. Это облегчает жизнь специалистам по данным, позволяя лучше и глубже понимать данные. И что самое приятное, Refract увеличивает рабочую нагрузку по профилированию данных и качеству на Snowflake.

Подготовка данных. Refract поставляется с простым щелчком мыши через пользовательский интерфейс для подготовки данных, который поддерживает более 200+ наиболее часто используемых шагов для подготовки данных для машинного обучения. Такие функции, как обработка пропущенных значений, масштабирование функций, кодирование полей, дедупликация, метод передискретизации синтетического меньшинства (SMOTE) и т. д. поставляются из коробки, экономя много времени специалистам по обработке и анализу данных. После того, как они быстро опробуют эти функции на примере данных в пользовательском интерфейсе Refract, пользователи могут «опубликовать» шаги для всего набора данных, который Refract затем автоматически отправляет в Snowpark.

Обучение модели и оценка: Refract поставляется с множеством удобных для разработчиков IDE, таких как VSCode, Jupyter, JupyterLab, Zeppelin и т. д., которые предварительно настроены с библиотеками и соединениями Snowpark. На этих рабочих местах можно создавать UDF для обучения и подсчета очков. Refract также заранее создает набор вспомогательных UDF в Snowpark, чтобы помочь специалистам по обработке и анализу данных на этапах обучения и подсчета очков. Например, пользовательскую функцию model_metrics в Refract можно использовать для автоматического расчета всех показателей обученной модели машинного обучения (различные оценки, матрица путаницы, кривая ROC/AUC и т. д.). Только статистика этих показателей затем загружается обратно в Refract для регистрации обученной модели.

Ни данные, ни модель не загружаются в Refract. Обученная модель полностью живет внутри Snowflake, и только программа Refract ссылается на нее со своей страницы реестра моделей.

Объяснение модели. Пользовательская функция Refract model_metrics, упомянутая на предыдущем шаге, также генерирует пояснения для Snowpark и возвращает их как часть статистики показателей. Refract использует эту информацию и показывает пояснения модели в своем пользовательском интерфейсе рядом с каждой моделью.

Мониторинг дрейфа: Refract также создает пользовательскую функцию drift_monitoring в Snowpark, которая отслеживает возможные дрейфы и периодически записывает информацию в таблицу метаданных. Эта информация также считывается Refract и отображается на зарегистрированной модели.

Таким образом, когда мы думаем о переносе рабочей нагрузки машинного обучения в Snowpark, крайне важно подумать о продвижении всех ключевых этапов, а не только частей обучения/оценки, так как в противном случае нам все равно придется много двигаться. данных в Snowflake и из него, что противоречит цели, по которой мы в первую очередь решили внедрить Snowpark. Refract by Fosfor помогает организациям перенести все этапы жизненного цикла машинного обучения в Snowpark.

Теперь, скажем, как руководитель своего бизнеса или функции вы хотите перенести проекты машинного обучения в Snowpark и воспользоваться всеми сопутствующими преимуществами. У вас есть еще один барьер, который нужно преодолеть — убедить разработчиков использовать его. Изменения часто болезненны, но хорошая новость заключается в том, что есть способы облегчить этот шаг.

Устранение разногласий с разработчиками:

  1. Язык: Snowpark поддерживает распространенные языки, такие как Python / Java / Scala, чтобы облегчить работу разработчиков.
  2. IDE: Использование знакомого пользовательского интерфейса часто решает половину проблемы. Иногда платформа машинного обучения ограничивает пользователей в IDE, но Refract поставляется с выбором IDE, таких как Jupyter, Jupyterlab, Zeppelin, VSCode, RStudio и т. д., которые нравятся разработчикам.
  3. Фрагменты кода: Refract содержит до 15 фрагментов кода Snowpark, чтобы облегчить разработчикам начало работы со Snowpark. Фрагменты включают в себя: создание и закрытие сеансов, создание и вызов пользовательских функций Snowpark и хранимых процедур, перечисление/удаление этапов и т. д. Разработчики могут щелкнуть, чтобы добавить конкретный фрагмент кода в IDE и внести небольшие изменения, чтобы он соответствовал их требованиям.

Если вы уже работаете в экосистеме Snowflake, Snowpark открывает прекрасную возможность объединить все ваши проекты по преобразованию данных и машинному обучению из разрозненных систем в доверенный движок Snowflake, который удаляет огромные объемы передаваемых данных и тем самым снижает затраты и повышает производительность. Refract от Fosfor помогает вам в этом путешествии, оптимизируя каждый этап жизненного цикла проекта машинного обучения в сторону Snowpark, делая переход простым и безболезненным для разработчиков.

Размышляя о машинном обучении в Snowpark, подумайте дальше. Закажите демо сегодня!