Начало работы с Google Cloud Platform в 5 шагах

5 шагов для начала работы с Google Cloud Platform

Введение в Google Cloud Platform

 

Целью этой статьи является пошаговый обзор начала работы с Google Cloud Platform (GCP) для науки о данных и машинного обучения. Мы предоставим обзор GCP и его ключевых возможностей для аналитики, пройдем настройку учетной записи, изучим необходимые службы, такие как BigQuery и Cloud Storage, создадим пример проекта данных и используем GCP для машинного обучения. Независимо от того, новичок вы в GCP или ищете быстрое восстановление, читайте дальше, чтобы узнать основы и сразу начать работать с Google Cloud.

 

Что такое GCP?

 

Google Cloud Platform предоставляет целый набор облачных вычислительных услуг, которые помогут вам создавать и запускать приложения на инфраструктуре Google. Для вычислительной мощности есть Compute Engine, который позволяет создавать виртуальные машины. Если вам нужно запустить контейнеры, справится Kubernetes. BigQuery управляет вашими потребностями по размещению данных и аналитики. А с помощью Cloud ML вы получите предварительно обученные модели машинного обучения через API для таких задач, как компьютерное зрение, перевод и многое другое. В целом, GCP стремится предоставить вам необходимые строительные блоки, чтобы вы могли сосредоточиться на создании отличных приложений, не беспокоясь о базовой инфраструктуре.

 

Преимущества GCP для науки о данных

 

GCP предлагает несколько преимуществ для анализа данных и машинного обучения:

  • Масштабируемые вычислительные ресурсы, способные обрабатывать рабочие нагрузки больших данных
  • Управляемые службы, такие как BigQuery, для обработки данных в масштабе
  • Продвинутые возможности машинного обучения, такие как Cloud AutoML и AI Platform
  • Интегрированные инструменты и сервисы аналитики

 

Сравнение GCP с AWS и Azure

 

По сравнению с Amazon Web Services и Microsoft Azure, GCP выделяется своей силой в области больших данных, аналитики и машинного обучения, а также предложением управляемых служб, таких как BigQuery и Dataflow для обработки данных. AI Platform позволяет легко обучать и развертывать модели машинного обучения. В целом, GCP имеет конкурентоспособные цены и является лучшим выбором для приложений, основанных на данных.

 

Функция Google Cloud Platform (GCP) Amazon Web Services (AWS) Microsoft Azure
Ценообразование* Конкурентоспособное ценообразование с скидками за использование Ценообразование за час с скидками на зарезервированные экземпляры Ценообразование за минуту с скидками на зарезервированные экземпляры
Хранение данных BigQuery Redshift Synapse Analytics
Машинное обучение Cloud AutoML, AI Platform SageMaker Azure Machine Learning
Вычислительные услуги Compute Engine, Kubernetes Engine EC2, ECS, EKS Виртуальные машины, AKS
Безсерверные предложения Cloud Functions, App Engine Lambda, Fargate Functions, Logic Apps

 

Обратите внимание, что модели ценообразования упрощены для наших целей. AWS и Azure также предлагают скидки на долгосрочное или коммитируемое использование, похожие на GCP. Структуры ценообразования сложны и могут существенно отличаться в зависимости от множества факторов, поэтому рекомендуется читателям самостоятельно изучить этот вопрос, чтобы определить, каковы могут быть реальные затраты в их конкретной ситуации.  

В этой таблице мы сравнили Google Cloud Platform, Amazon Web Services и Microsoft Azure по различным функциям, таким как ценообразование, хранение данных, машинное обучение, вычислительные службы и предоставление сервера. Каждая из этих облачных платформ имеет свой набор уникальных услуг и моделей ценообразования, которые соответствуют различным бизнес- и техническим требованиям.

 

Шаг 1: настройка вашей учетной записи GCP

 

Создание учетной записи Google Cloud

 

Чтобы использовать GCP, сначала зарегистрируйтесь в учетной записи Google Cloud. Перейдите на домашнюю страницу и нажмите “Начать бесплатно”. Следуйте подсказкам, чтобы создать учетную запись, используя учетные данные Google или Gmail.

 

Создание учетной записи для выставления счетов

 

Затем вам потребуется настроить учетную запись для выставления счетов и способ оплаты. Это позволит вам использовать платные услуги, превышающие бесплатный уровень. Перейдите к разделу “Счета” в консоли и следуйте подсказкам, чтобы добавить информацию о платеже.

 

Понимание ценообразования GCP

 

GCP предлагает щедрый 12-месячный бесплатный уровень с кредитом в размере 300 долларов США. Это позволяет использовать основные продукты, такие как Compute Engine, BigQuery и другие, бесплатно. Просмотрите расчеты ценообразования и документацию, чтобы оценить полные затраты.

 

Установка Google Cloud SDK

 

Установите Cloud SDK на свое локальное устройство для управления проектами и ресурсами с помощью командной строки. Загрузите его с страницы руководства по Cloud SDK и следуйте инструкциям по установке.

 Наконец, обязательно ознакомьтесь и имейте под рукой документацию по началу работы с Google Cloud.

 

Шаг 2: Сервисы GCP для науки о данных

 

Google Cloud Platform (GCP) забит разнообразными сервисами, разработанными для удовлетворения различных потребностей в науке о данных. Здесь мы более подробно рассмотрим некоторые из основных сервисов, такие как BigQuery, Cloud Storage и Cloud Dataflow, раскрывая их функциональность и потенциальные применения.

 

BigQuery

 

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

 Пример: Исследование публичного набора данных по рождаемости для получения информации о рождаемости в США.

SELECT * FROM `bigquery-public-data.samples.natality`LIMIT 10

 

Cloud Storage

 

Cloud Storage обеспечивает надежное, безопасное и масштабируемое объектное хранилище. Это отличное решение для предприятий, поскольку позволяет хранить и извлекать большие объемы данных с высокой доступностью и надежностью. Данные в Cloud Storage организованы в бакеты, которые являются отдельными контейнерами для данных и могут быть управляться и настраиваться отдельно. Cloud Storage поддерживает классы хранения Standard, Nearline, Coldline и Archive, что позволяет оптимизировать цену и требования к доступу.

 Пример: Загрузка образца CSV-файла в Cloud Storage бакет с помощью инструмента gsutil CLI.

gsutil cp sample.csv gs://my-bucket

Cloud Dataflow

Cloud Dataflow – это полностью управляемый сервис для обработки потоковых и пакетных данных. Он превосходит в реальном времени или близком к реальному времени аналитику и поддерживает задачи Extract, Transform, and Load (ETL), а также случаи использования реального времени аналитики и искусственного интеллекта (ИИ). Cloud Dataflow создан для обработки сложностей больших объемов данных надежным и устойчивым образом. Он безупречно интегрируется с другими службами Google Cloud Platform, такими как BigQuery для анализа и Cloud Storage для хранения и временных результатов данных, что делает его основой для создания полных цепочек обработки данных.

Шаг 3: Создание вашего первого проекта данных

Для начала работы над проектом данных необходим систематический подход, чтобы обеспечить точные и информативные результаты. На этом шаге мы рассмотрим создание проекта на Google Cloud Platform (GCP), включение необходимых API и подготовку для ввода, анализа и визуализации данных с использованием BigQuery и Data Studio. В рамках нашего проекта давайте изучим анализ исторических погодных данных для выявления тенденций климата.

Настройка проекта и включение API

Начните свое путешествие, создав новый проект на GCP. Перейдите в консоль Cloud, нажмите на выпадающий список проектов и выберите “Создать проект”. Назовите его “Анализ погоды” и следуйте инструкциям в мастере настройки. По завершении создания проекта перейдите в панель инструментов API и служб, чтобы включить основные API, такие как BigQuery, Cloud Storage и Data Studio.

Загрузка набора данных в BigQuery

Для анализа погоды нам понадобится обширный набор данных. В NOAA доступны исторические данные о погоде. Скачайте часть этих данных и перейдите в консоль BigQuery. Здесь создайте новый набор данных с именем `weather_data`. Нажмите “Создать таблицу”, загрузите файл данных и следуйте инструкциям для настройки схемы.

Имя таблицы: historical_weather
Схема: Дата:DATE, Температура:FLOAT, Осадки:FLOAT, Скорость ветра:FLOAT

Запрос данных и анализ в BigQuery

Когда у вас есть данные, пришло время обнаружить полезные сведения. Интерфейс SQL BigQuery позволяет выполнять запросы в удобной форме. Например, чтобы найти среднюю температуру за годы:

SELECT EXTRACT(YEAR FROM Date) as Year, AVG(Temperature) as AvgTemperatureFROM `weather_data.historical_weather`GROUP BY YearORDER BY Year ASC;

Этот запрос дает разбивку средних температур по годам, что важно для анализа тенденций климата.

Визуализация результатов с Data Studio

Визуальное представление данных часто раскрывает закономерности, незаметные в сырых числах. Подключите ваш набор данных BigQuery к Data Studio, создайте новый отчет и начните создавать визуализации. Хорошим началом будет линейный график, демонстрирующий тенденции температуры за годы. Интуитивный интерфейс Data Studio позволяет легко перетаскивать, настраивать и настраивать свои визуализации.

Поделитесь своими результатами с командой, используя кнопку “Поделиться”, что облегчит доступ и взаимодействие заинтересованным сторонам с вашим анализом.

Начав выполнять этот шаг, вы создали проект на GCP, загрузили реальный набор дан-ных, выполнили SQL-запросы для анализа данных и визуализировали результаты для лучшего понимания и обмена. Этот практический подход помогает не только осознать механику работы с GCP, но и получить практические рек-омендации по анализу данных.

Шаг 4: Машинное обучение на GCP

Использование машинного обучения (ML) может значительно улучшить анализ данных, предоставляя более глубокие понимание и прогнозы. На этом шаге мы расширим наш проект “Анализ погоды”, используя ML-сервисы GCP для прогнозирования будущих температур на основе исторических данных. GCP предлагает два основных ML-сервиса: Cloud AutoML для начинающих в ML и AI Platform для более опытных пользователей.

Обзор Cloud AutoML и AI Platform

  • Cloud AutoML: Это полностью управляемый сервис машинного обучения, который упрощает обучение настраиваемых моделей с минимальным количеством кода. Он идеально подходит для тех, у кого нет глубокого понимания машинного обучения.
  • AI Platform: Это управляемая платформа для создания, обучения и развертывания моделей машинного обучения. Она поддерживает популярные фреймворки, такие как TensorFlow, scikit-learn и XGBoost, что делает ее подходящей для тех, кто имеет опыт работы с машинным обучением.

Практический пример с использованием AI Platform

Продолжая наш проект анализа погоды, нашей целью является предсказание будущих температур с использованием исторических данных. Исходно, подготовка данных для обучения является ключевым шагом. Обработайте ваши данные в формат, подходящий для машинного обучения, обычно CSV, и разделите их на тренировочный и тестовый наборы данных. Обеспечьте чистоту данных, выбрав соответствующие признаки для точного обучения модели. После подготовки загрузите наборы данных в бакет Cloud Storage, создавая структурированную директорию, например, gs://weather_analysis_data/training/ и gs://weather_analysis_data/testing/.

Следующим значимым шагом является обучение модели. Перейдите на AI Platform на GCP и создайте новую модель. Выберите предварительно построенную регрессионную модель, так как мы предсказываем непрерывный параметр – температуру. Укажите модели вашу тренировочную выборку в Cloud Storage и установите необходимые параметры для обучения. GCP автоматически обработает процесс обучения, настройку и оценку, что упрощает процесс создания модели.

После успешного обучения, разверните обученную модель на AI Platform. Развертывание модели позволяет легко интегрировать ее с другими службами GCP и внешними приложениями, упрощая использование модели для предсказаний. Убедитесь, что вы установили соответствующие версии и контроли доступа для безопасного и организованного управления моделью.

Теперь, когда модель развернута, пришло время протестировать ее предсказания. Отправьте запросы для проверки предсказаний модели, используя GCP Console или SDK. Например, введите исторические параметры погоды для определенного дня и наблюдайте предсказанную температуру, что даст представление о точности и производительности модели.

Практическое использование Cloud AutoML

Для более простого подхода к машинному обучению, Cloud AutoML предлагает удобный интерфейс для обучения моделей. Начните с того, чтобы убедиться, что ваши данные правильно форматированы и разделены, затем загрузите их в Cloud Storage. Этот этап аналогичен подготовке данных в AI Platform, но ориентирован на тех, у кого меньше опыта работы с машинным обучением.

Продолжайте перемещаться в AutoML Tables на GCP, создайте новый набор данных и импортируйте свои данные из Cloud Storage. Эта настройка довольно интуитивна и требует минимальных конфигураций, что упрощает подготовку данных для обучения.

Обучение модели в AutoML просто. Выберите тренировочные данные, укажите целевой столбец (Температура) и запустите процесс обучения. AutoML Tables автоматически выполняет предобработку признаков, настройку модели и оценку, что снимает с вас большую часть работы и позволяет сосредоточиться на понимании вывода модели.

После обучения вашей модели, разверните ее в Cloud AutoML и проверьте ее точность предсказаний, используя предоставленный интерфейс или отправляя запросы через SDK GCP. Этот шаг оживляет вашу модель, позволяя делать прогнозы на новых данных.

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

Погружаясь в AI Platform и Cloud AutoML, вы получаете практическое понимание использования машинного обучения на GCP, обогащая ваш проект анализа погоды предсказательными возможностями. Через эти примеры “с практическими примерами” путь к интеграции машинного обучения в ваши проекты с данными разоблачается, положив прочный фундамент для более продвинутых исследований в машинном обучении.

Шаг 5: Развертывание моделей в продакшн

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

Развертывание предсказаний с помощью безсерверных сервисов

Безсерверные сервисы на GCP, такие как Cloud Functions или Cloud Run, могут быть использованы для развертывания обученных моделей и обслуживания предсказаний в реальном времени. Эти сервисы абстрагируют от задач управления инфраструктурой, позволяя вам сосредоточиться только на написании и развертывании кода. Они хорошо подходят для случайных или маловольюмных запросов на предсказание благодаря своим возможностям автомасштабирования.

Например, развертывание модели предсказания температуры через Cloud Functions включает упаковку вашей модели в функцию, а затем ее развертывание в облаке. После развертывания Cloud Functions автоматически масштабируется вверх или вниз в зависимости от количества поступающих запросов.

Создание сервисов предсказаний

Для предсказаний с высоким объемом или требовательными к задержке используйте упаковку обученных моделей в контейнеры Docker и их развертывание в Google Kubernetes Engine (GKE). Такая настройка позволяет создавать масштабируемые сервисы предсказаний, обслуживающие потенциально большое количество запросов.

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

Лучшие практики

Развертывание моделей в продакшн также включает соблюдение лучших практик, чтобы обеспечить бесперебойную работу и непрерывную точность ваших моделей.

  • Отслеживание моделей в продакшн: Тщательно следите за производительностью вашей модели со временем. Мониторинг может помочь выявить проблемы, такие как изменение модели с течением времени, которое происходит, когда предсказания модели становятся менее точными из-за изменения распределения данных.
  • Регулярно переобучайте модели на новых данных: По мере появления новых данных переобучайте модели, чтобы обеспечить точность предсказаний.
  • Применение A/B тестирования для итераций моделей: Перед полным замещением существующей модели в продакшн, используйте A/B тестирование для сравнения производительности новой модели с предыдущей.
  • Обработка сценариев отказа и отката: Будьте готовы к сбоям и имейте план отката для возврата к предыдущей версии модели при необходимости.

Оптимизация расходов

Оптимизация расходов является важным аспектом для поддержания баланса между производительностью и затратами.

  • Используйте Preemptible VM и автомасштабирование: Для управления затратами используйте Preemptible VM, которые значительно дешевле обычных VM. Комбинирование этого с автомасштабированием обеспечивает необходимые ресурсы по мере их потребности, без чрезмерной предоставки.
  • Сравните развертывание безсерверных и контейнеризованных решений: Оцените разницу в стоимости между безсерверными и контейнеризованными развертываниями, чтобы определить наиболее экономичный подход для вашего случая использования.
  • Выберите типы машин, соответствующие потребностям ресурсов модели: Выберите типы машин, соответствующие требованиям вашей модели, чтобы избежать излишних расходов на недополнительно используемые ресурсы.

Соображения безопасности

Обеспечение безопасности вашего развертывания является важным для защиты ваших моделей и обрабатываемых ими данных.

  • Понимание IAM, аутентификации и лучших практик шифрования: Ознакомьтесь с Identity and Access Management (IAM) и реализуйте соответствующую аутентификацию и шифрование для обеспечения безопасного доступа к вашим моделям и данным.
  • Обеспечьте безопасный доступ к моделям и данным в продакшн: Обеспечьте доступ только авторизованным лицам и сервисам к вашим моделям и данным в продакшн.
  • Предотвратите несанкционированный доступ к точкам предсказания: Реализуйте надежные механизмы контроля доступа, чтобы предотвратить несанкционированный доступ к точкам предсказания, защищая ваши модели от возможного злоупотребления.

Развертывание моделей в продакшн на GCP включает в себя комбинацию технических и операционных аспектов. Соблюдая лучшие практики, оптимизируя затраты и обеспечивая безопасность, вы создаете прочный фундамент для успешного развертывания машинного обучения, готового предоставлять ценность благодаря вашим моделям в реальных приложениях.

Движение вперед

В этом исчерпывающем руководстве мы рассмотрели основы начала вашего пути на платформе Google Cloud Platform (GCP) для машинного обучения и науки о данных. От создания учетной записи GCP до развертывания моделей в продакшн, каждый шаг является строительным блоком для создания надежных приложений на основе данных. Вот следующие шаги для продолжения вашего исследования и обучения на GCP.

  • GCP Free Tier: Воспользуйтесь бесплатным уровнем GCP, чтобы более подробно изучать и экспериментировать с облачными сервисами. Бесплатный уровень предоставляет доступ к основным продуктам GCP и является отличным способом получить практический опыт без дополнительных затрат.
  • Продвинутые сервисы GCP: Изучите более продвинутые сервисы GCP, такие как Pub/Sub для обмена сообщениями в реальном времени, Dataflow для потоковой и пакетной обработки данных или Kubernetes Engine для оптимизации работы с контейнерами. Понимание этих сервисов расширит ваши знания и навыки в управлении сложными проектами с данными на GCP.
  • Сообщество и документация: Сообщество GCP является богатым источником знаний, и официальная документация включает в себя исчерпывающую информацию. Участвуйте в форумах, посещайте встречи и изучайте учебники, чтобы продолжать обучение.
  • Сертификация: Рассмотрите возможность получить сертификат Google Cloud, например, “Профессиональный инженер данных” или “Профессиональный инженер машинного обучения”, чтобы подтвердить свои навыки и повысить ваши карьерные перспективы.
  • Сотрудничество над проектами: Сотрудничайте с коллегами над проектами или вносите вклад в проекты с открытым исходным кодом, использующие GCP. Практическое сотрудничество позволяет увидеть проблемы под другим углом и улучшает навыки решения задач.

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

Следуя этому руководству, вы положили прочный фундамент для своих приключений на платформе Google Cloud. Впереди вас ждут учеба, исследования и множество возможностей для значительных достижений в ваших проектах с данными.

Мэтью Майо (@mattmayo13) имеет степень магистра компьютерных наук и диплом выпускника по добыче данных. В качестве главного редактора VoAGI, Мэтью стремится сделать сложные концепции науки о данных доступными. Его профессиональные интересы включают обработку естественного языка, алгоритмы машинного обучения и исследование новейших достижений в области искусственного интеллекта. Он движим миссией демократизации знаний в сообществе науки о данных. Мэтью начал программировать в 6 лет.