Общий обзор инструментов
Google очень плотно использует искусственный интеллект в своих продуктах с конца 2016: сейчас технологии машинного обучения стали неотъемлемой частью девяти наиболее популярных сервисов, которыми пользуется более миллиарда людей по всему миру. Google Translate использует нейросети для улучшения визуального распознавания слов, Google Photos умеет сортировать фотографии по ключевым словам, а в Gmail появилась функция «умных ответов», которая предлагает подсказки по ходу написания письма.
Свои наработки компания предлагает для использования сторонним лицам: разработчикам, аналитикам, владельцам бизнеса и просто рядовым пользователям. В зависимости от тонкости и сложности настройки все сервисы по машинному обучению от Google делятся на три категории: полуготовые составные блоки, которые можно собрать под решение какой-то задачи, платформенные технологии, на которых можно построить продукт практически любой сложности, и готовые решения. Достоинство всех сервисов в том, что пользоваться ими могут люди с не очень высокой экспертизой в области машинного обучения или программирования.
Составные блоки
Составные блоки представляют собой готовые сервисы для решения конкретных задач. Их можно разделить на четыре крупных категории:
-
сервисы для работы с изображениями (Vision, Video Intelligence),
-
сервисы для работы с речью (анализ языка, переводы, Translation, Natural Language),
-
сервисы для работы с диалогами (Dialogflow для чат-ботов, Text-to-Speech, Speech-to-Text),
-
сервисы для работы со структурированными данными (AutoML Tables, Recommendations AI).
Все они работают очень просто: пользователь загружает в них свои сырые данные ― текстовые документы, изображения, аудио- или видеофайлы, ― и тренирует сеть сортировать или анализировать эти данные и строить на их основе прогнозы и предсказания. На выходе получается готовый API (Application Programming Interface ― интерфейс программирования приложений), который можно просто добавить в свое приложение.
В Auto ML Vision можно загружать изображения, размеченные определенными лейблами, модель тренируется и учится их определять. Например, можно отсортировать изображения товаров в интернет-магазине, чтобы модель сама распределяла их по категориям: виды одежды, бытовая техника, детские товары и так далее.
AutoML Natural Language можно использовать, например, в агрегаторах новостей. Модель можно научить распознавать категории статей (политика, финансы, спорт, культура и так далее) на основе анализа текстов и используемых в них слов.
Auto ML Tables работает со структурированными данными в виде таблиц и позволяет существенно сократить время на дата-инжиниринг и фичер-инжиниринг, то есть ранжирование данных по определенным признакам. Загружаются данные в сыром виде, без дополнительной подготовки, к тому же есть интеграция с различными сервисами потоковой обработки данных.
На основе введенных в него данных Auto ML Tables подбирает различные параметры ― выбирает, какие признаки имеют значение, то есть проводит фиче-инженеринг за пользователя, перебирает различные варианты нейронных сетей, которыми он будет предсказывать значения тех полей, которые были указаны ему для предсказания. Уже обученная модель полностью готова к дальнейшему использованию ― в нее можно загружать новые строки, анализировать их она будет сама.
BigQuery ML ― достаточно популярный продукт, который тесно интегрируется с рекламными сервисами Google и поэтому часто используется аналитиками и специалистами по маркетингу. Это сервис для интерактивного анализа больших наборов данных, расположенных в Google Storage, например, корпуса запросов, тегов и так далее.
Встроенный функционал машинного обучения позволяет создавать модель прямо внутри BigQuery, без использования сторонних сервисов. Создавать и использовать модель можно в синтаксисе языка SQL ― основного инструмента для работы с базами данных.
Чтобы пользователь рекламных технологий мог получить непосредственный доступ к данным из Google Storage, есть сервис Ads Data Hub. Дело в том, что с недавнего времени Google не дает делать выборки из первичных исходных данных, принадлежащих ему. Но в Ads Data Hub можно загружать запросы с использованием ваших данных и обогащать их за счет данных со стороны Google. Получается такая замочная скважина, через которую можно получить доступ к огромному блоку данных Google, но не детальную, а общую, и на ее основе уже анализировать целевые аудитории, строить рекламные стратегии и использовать их в своих приложениях.
Платформенные сервисы
Для создания полноценных приложений с использованием машинного обучения есть сервис AI Platform. Это, по сути, интегрированная среда разработки. Построена она на основе Kubeflow ― известной бесплатной платформы машинного обучения с открытым исходным кодом.
Сервис от Google предлагает полный набор инструментов для ввода данных, их маркировки, создания моделей и их тренировки. В нем есть все необходимые фреймворки и библиотеки для работы, готовые образы виртуальных машин, возможность использовать аппаратную инфраструктура для ускорения процесса обработки данных.
AI Platform тесно интегрирован с Big Query, Dataflow (сервис для пакетной и потоковой обработки данных), Dataprep (сервис для подготовки данных), а также позволяет отгружать все выходные данные в Google Data Studio и Dashboard для визуализации результатов и построения графиков.
AI Platform станет полезным для специалистов по машинному обучению и искусственному интеллекту ― для облегчения и ускорения своих задач или тренировки, Data-инженеров ― для подготовки данных и выкладок по ним, разработчиков ― для использования моделей в своих приложениях и сервисах, специалистов по Data science ― для исследования больших данных и проверки своих гипотез, бизнес-аналитиков и маркетологов ― для анализа и разработки стратегии продаж.
Готовые решения для бизнеса
Чтобы облегчить задачу использования и внедрения технологий машинного обучения и искусственного интеллекта, в Google разработаны законченные решения более высокого уровня. Одно из них ― Contact Center AI. Это готовые интеллектуальные чат-боты и голосовые боты, разработанные совместно с крупнейшими телекоммуникационными компаниями. Такие боты могут встраиваться в работу контакт-центров: используя функцию распознавания речи, они помогают разгрузить сотрудников, беря на себя функцию первичной обработки звонков и ответов клиенту на вопросы.
Таким образом, Google предоставляет различные готовые и полуготовые решения: сервисы для манипуляций с данными (загрузка, первичная обработка, хранение), процессорные и графические ускорители для более быстрого процесса обучения нейросети, готовые библиотеки и фреймворки для работы с данными, сервисы для подготовки и визуализации конечных результатов. Для более продвинутых специалистов ― отдельные компоненты и блоки, которые можно использовать как конструктор под свои нужды. На самом высоком уровне ― тонко настраиваемые Auto ML, которые позволяют «дообучить» готовые модели на основе собственных данных.
Полную версию лекции можно посмотреть на канале ML Meetup на Youtube.