Обзор

В BigQuery есть все. Бессерверное, масштабируемое и экономичное многооблачное хранилище данных, разработанное для гибкости бизнеса. Для такого отраслевого гиганта, как Google, справедливо, что они предоставляют уникальное бессерверное хранилище данных. Типичное хранилище данных централизует данные из нескольких разрозненных источников и предоставляет единую платформу для анализа объединенных данных. По сути, это помогает получить представление о бизнес-решениях.

Бессерверная архитектура BigQuery обеспечивает масштабируемость, обеспечивая невероятно быструю обработку аналитики SQL для очень больших наборов данных. С момента своего появления в 2011 году BigQuery представил множество других функций для улучшения общей масштабируемости, скорости, производительности, безопасности и надежности. Все это при обеспечении удобного пользовательского интерфейса для пользователей малого и среднего бизнеса. Одним из смежных рынков, на котором остановилось это хранилище данных, было машинное обучение, обучение и оценка моделей за счет внедрения BigQuery ML.

Цель BigQuery ML для проблемы

BigQuery ML (BQML) — это набор расширений языка SQL для создания, обучения и оценки моделей данных. Следовательно, пользователи могут легко создавать и выполнять модели машинного обучения с помощью запросов SQL через BQML. Эта простота простого использования SQL-запросов для моделей ML для данных, которые уже существуют в том же хранилище данных, является самым большим USP для BQML. Это также помогает демократизировать методы машинного обучения, расширяя возможности пользователей SQL и устраняя необходимость в перемещении данных.

Преимущества

С ростом интереса к искусственному интеллекту и машинному обучению мы увидели, что методы машинного обучения требуют опыта и знаний о захватывающих платформах машинного обучения. Это необходимое условие опыта налагает входной барьер для новых специалистов и компаний. Это особенно ограничивает аналитиков данных в изучении и реализации моделей машинного обучения для данных, на оценку и понимание которых они потратили много времени. BQML позволяет этим специалистам по данным расширять свои знания и опыт в использовании машинного обучения посредством редактирования инструментов и навыков SQL. Аналитики данных теперь могут использовать BQML для сквозных приложений машинного обучения без экспорта подмножеств огромных наборов данных из-за ограниченных доступных вычислительных ресурсов.

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

Ограничения

BigQuery ML был выпущен только в 2018 году, изначально с очень ограниченным количеством доступных моделей. Со временем его библиотека доступных реализованных моделей увеличилась, однако по-прежнему ограничена.

Более того, поскольку его целевой аудиторией являются пользователи SQL, важно отметить, что этот деловой голос ограничивает более популярных пользователей языка ML, то есть пользователей Python и R на платформе BQML. Хотя это преднамеренное деловое решение с точки зрения определения его конкретного варианта использования и ниши на рынке, можно обсудить, можно ли считать эту функцию ограничением для платформы или нет.

Кейс: рекомендация фильма

В этом примере мы использовали среду машинного обучения BigQuery для создания модели на основе явных отзывов с использованием набора данных movielens1m для предоставления рекомендаций с учетом идентификатора фильма и идентификатора пользователя.

1. Создайте набор данных

Для этого примера мы используем набор данных movielens1m.

2. Загрузите набор данных Movielens в BigQuery.

Мы можем сделать это, используя общую линию BQ.

curl -O 'http://files.grouplens.org/datasets/movielens/ml-1m.zip'
unzip ml-1m.zip
bq mk --dataset movielens
sed 's/::/,/g' ml-1m/ratings.dat > ratings.csv
bq load --source_format=CSV movielens.movielens_1m ratings.csv \
  user_id:INT64,item_id:INT64,rating:FLOAT64,timestamp:TIMESTAMP

3. Создайте свою модель явных рекомендаций

Следующий фрагмент кода создает модель с использованием SQL-запросов для рекомендации фильмов. Команда CREATE MODEL обучает созданную модель.

#standardSQL
CREATE OR REPLACE MODEL bqml_tutorial.my_explicit_mf_model
OPTIONS
  (model_type='matrix_factorization',
   user_col='user_id',
   item_col='item_id',
   l2_reg=9.83,
   num_factors=34) AS
SELECT
  user_id,
  item_id,
  rating
FROM movielens.movielens_1m

Примечание. В этом примере мы не оценивали модель, но это можно сделать.

Заключение

BQML постоянно расширяет поддерживаемую модель машинного обучения и продолжает улучшать удобство использования и функции для пользователей. Это помогает сделать машинное обучение доступным, устраняя необходимость в программировании на Python или R и представляя более удобную структуру SQL-запросов для аналитиков данных и специалистов по данным в команде. Хотя цена по-прежнему является барьером для входа, многие малые и средние предприятия используют BigQuery, бессерверное, масштабируемое и экономичное многооблачное хранилище данных, а также его расширение для машинного обучения BigQuery ML.