Авторы: Умар Сайед и Сергей Васильвицкий, стипендиаты Google AI в Нью-Йорке
Источник | Разработчики Google Google_Developers
Google BigQuery поддерживает интерактивный анализ больших наборов данных, помогая компаниям легко обмениваться содержательным анализом данных и разрабатывать соответствующие решения на основе анализа клиентов. Однако многие компании внедряют BigQuery без использования машинного обучения для более эффективного понимания различных данных, которые они генерируют. Причина в том, что аналитики данных, владеющие SQL, могут не иметь традиционного опыта работы с данными, необходимого для применения методов машинного обучения.
Сегодня мы анонсируем BigQuery ML, функцию в BigQuery, которая позволяет специалистам по обработке данных и аналитикам создавать и развертывать модели машинного обучения на основе крупномасштабных структурированных или частично структурированных наборов данных. BigQuery ML — это набор простых расширений языка SQL, которые позволяют пользователям использовать популярные возможности машинного обучения, выполнять прогнозную аналитику (например, прогнозирование продаж) и создавать сегменты клиентов на основе существующих хранилищ данных. Кроме того, BigQuery ML автоматически устанавливает интеллектуальные значения по умолчанию и выполняет преобразование данных, обеспечивая бесперебойную работу с отличными результатами.
При разработке серверной части BigQuery ML команда разработчиков столкнулась с дилеммой. При передаче больших объемов данных с серверов BigQuery на выделенные серверы, на которых работают алгоритмы машинного обучения, весь процесс не только занимает много времени, но и требует накладных расходов из-за проблем с безопасностью и конфиденциальностью. Однако, поскольку основные компоненты градиентного спуска, метода оптимизации рабочих нагрузок алгоритмов машинного обучения, могут быть реализованы с помощью обычных операций SQL*, мы смогли адаптировать существующий механизм обработки SQL BigQuery для BigQuery ML.
Движок BigQuery предназначен для эффективного сканирования больших наборов данных, а не для случайного извлечения из них небольших выборок, поэтому BigQuery ML основан на стандартном (пакетном) градиентном спуске, а не на стохастическом градиентном спуске. Хотя стохастический градиентный спуск более распространен в современных крупномасштабных системах машинного обучения, пакетный градиентный спуск имеет много практических преимуществ.
Например, система машинного обучения в базе данных, основанная на стохастическом градиентном спуске, может обрабатывать примеры один за другим и плохо работать, когда данные отсортированы неоптимально. Однако BigQuery обычно распределяет данные на диск, чтобы оптимизировать производительность обычных SQL-запросов, а непрерывное перераспределение данных для поддержки случайных алгоритмов машинного обучения влечет за собой высокие вычислительные затраты. Напротив, пакетный градиентный спуск не нарушается упорядочением и разделением данных на диске, поэтому он может полностью обойти эту проблему. Кроме того, пакетный градиентный спуск можно комбинировать с методом линейного поиска классической оптимизации, что приводит к более стабильному алгоритму обучения, требующему меньше тонкой настройки. Комбинация линейного поиска и стохастического градиентного спуска более сложна. Мы также реализовали поддержку регуляризации и предварительной обработки. Подробнее читайте в нашей статье.
Надеюсь, вы понимаете, что BigQuery ML можно использовать для выполнения многих задач предиктивной аналитики. Чтобы попробовать, откройте консоль BigQuery и следуйте инструкциям в руководстве пользователя. Создание моделей совсем несложно: CREATE MODEL dataset.model_name ВАРИАНТЫ (model_type = 'linear_reg', input_label_cols = ['input_label']) AS SELECT * FROM input_table; Примечание. Ссылка на консоль BigQuery.console.cloud.Google.com/ лучше прошлого? Комментарии…Ссылка на руководство пользователяcloud.Google.com/больше, чем раньше/делать…
В дальнейшем мы планируем дальнейшую интеграцию с инфраструктурой BigQuery при реализации градиентного спуска, чтобы добиться еще более значительного прироста производительности. Мы также продолжим изучение других алгоритмов машинного обучения, чтобы пользователи могли легко и эффективно реализовывать эти алгоритмы и решать большие задачи с помощью возможностей BigQuery.