「5つの手順でGoogle Cloud Platformを始める」
「5つの手順でGoogle Cloud Platformを始めよう」
Google Cloud Platformの紹介
この記事では、データサイエンスと機械学習を対象としたGoogle Cloud Platform(GCP)の始め方を段階的に説明します。GCPの概要と分析のための主な機能について概説し、アカウントの設定手順を説明し、BigQueryやCloud Storageなどの必須サービスを探求し、サンプルデータプロジェクトを構築し、機械学習にGCPを使用します。GCPが初めての方や短期間の復習をお探しの方は、Google Cloudで基本を学び、すぐに開始することができます。
- データサイエンスのためのクラウドコンピューティング入門’ (Dēta saiensu no tame no kuraudo konpyūtingu nyūmon)
- 「データサイエンスのトップ7の無料クラウドノートブック」
- データサイエンティストになりたいですか?パート2:必要な10のソフトスキル
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は、MLモデルのトレーニングと展開を容易にします。全体的に、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 | Virtual Machines、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は、Googleのインフラストラクチャの処理能力を活用して、追加される可能性のあるテーブルに対する超高速なSQLクエリを実現します。これは単なるクエリ実行ツールではなく、ペタバイト単位のデータを処理できる堅牢な大規模データウェアハウジングソリューションです。サーバーレスアプローチにより、データベース管理者の必要性を排除し、運用のオーバーヘッドを削減することができます。
例:米国での出生に関する洞察を得るために、パブリック出生データセットに詳細なクエリを実行します。
SELECT * FROM `bigquery-public-data.samples.natality`LIMIT 10
Cloud Storage
Cloud Storageは、堅牢で安全でスケーラブルなオブジェクトストレージを提供します。データの保管と検索に優れたソリューションであり、高い可用性と信頼性で大量のデータを保管できます。Cloud Storageでは、データはバケットに組織化され、個別に管理および設定できる個別のコンテナとして機能します。Cloud Storageは、標準、ネアライン、コールドライン、アーカイブのストレージクラスをサポートしており、価格とアクセス要件の最適化が可能です。
例:gsutil CLIを使用して、サンプルCSVファイルをCloud Storageバケットにアップロードします。
gsutil cp sample.csv gs://my-bucket
Cloud Dataflow(クラウドデータフロー)
Cloud Dataflowは、データのストリームおよびバッチ処理のための完全に管理されたサービスです。リアルタイムまたはほぼリアルタイムの分析に優れており、抽出、変換、ロード(ETL)タスク、リアルタイム分析、および人工知能(AI)のユースケースをサポートしています。Cloud Dataflowは、豊富なデータの処理の複雑さを信頼性の高い容認許容な方法で処理するために構築されています。BigQueryによる分析やデータステージングおよび一時的な結果のためのCloud Storageなど、他のGCPサービスとシームレスに統合されており、エンドツーエンドのデータ処理パイプラインの基盤となっています。
ステップ3:最初のデータプロジェクトの構築
データプロジェクトに乗り出すには、正確で洞察に富んだ結果を得るための体系的なアプローチが必要です。このステップでは、Google Cloud Platform (GCP)上でプロジェクトの作成、必要なAPIの有効化、およびBigQueryとData Studioを使用したデータの取り込み、分析、および可視化のためのステージ設定について説明します。私たちのプロジェクトでは、気候トレンドを把握するために歴史的な気象データの分析に取り組んでみましょう。
プロジェクトのセットアップとAPIの有効化
GCPで新しいプロジェクトを作成して旅をスタートさせましょう。クラウドコンソールに移動し、「プロジェクトのドロップダウン」をクリックして「新しいプロジェクト」を選択します。名前を「Weather Analysis(天気分析)」とし、セットアップウィザードに従って進めます。プロジェクトが準備できたら、API&サービスダッシュボードに移動して、BigQuery、Cloud Storage、Data Studioなどの重要なAPIを有効にします。
BigQueryへのデータセットのロード
気象分析には、豊富なデータセットが必要です。NOAAから利用可能な大量の歴史的な気象データがあります。このデータの一部をダウンロードし、BigQueryコンソールに移動します。ここで、`weather_data`という名前の新しいデータセットを作成します。「テーブルの作成」をクリックし、データファイルをアップロードし、スキーマを設定するためのプロンプトに従います。
テーブル名: historical_weatherスキーマ: Date:DATE, Temperature:FLOAT, Precipitation:FLOAT, WindSpeed:FLOAT
BigQueryでのデータのクエリと分析
データが手元にあるので、洞察を探る時が来ました。BigQueryのSQLインターフェースを使用すると、クエリを実行するのが簡単です。例えば、年ごとの平均気温を求めるには次のクエリを実行します:
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)を活用することで、歴史データに基づいたより深い洞察と予測を提供することができ、データの分析を大幅に向上させることができます。このステップでは、「Weather Analysis(天気分析)」プロジェクトを拡張し、GCPのMLサービスを使用して将来の気温を予測します。GCPには、MLに初めて取り組む方に向けたCloud AutoMLと、より経験豊富なプラクティショナー向けのAI Platformの2つの主要なMLサービスが提供されています。
Cloud AutoMLとAI Platformの概要
- Cloud AutoML:これは、最小限のコーディングでカスタムモデルのトレーニングを容易にする完全管理型のMLサービスです。深い機械学習のバックグラウンドを持たない人に最適です。
- AI Platform:これは、MLモデルの構築、トレーニング、展開をサポートするマネージドプラットフォームです。TensorFlow、scikit-learn、XGBoostなどの人気のあるフレームワークをサポートしており、機械学習の経験を持つ人に適しています。
AI Platformを使用した実際の例
天気分析プロジェクトを続けるにあたり、私たちの目標は過去のデータを使用して将来の気温を予測することです。トレーニングデータの準備は最も重要なステップです。通常、MLに適した形式(CSVなど)にデータを前処理し、トレーニングデータセットとテストデータセットに分割します。データがクリーンであり、正確なモデルトレーニングのために適切な特徴が選択されていることを確認します。準備ができたら、データセットをCloud Storageバケットにアップロードし、gs://weather_analysis_data/training/
やgs://weather_analysis_data/testing/
などのような構造化されたディレクトリを作成します。
モデルのトレーニングは次の重要なステップです。GCPのAI Platformにアクセスし、新しいモデルを作成します。連続的なターゲットであるため、事前にビルトインの回帰モデルを選択します。Cloud Storageのトレーニングデータをモデルに指定し、トレーニングに必要なパラメータを設定します。GCPは自動的にトレーニングプロセス、チューニング、評価を処理するため、モデル構築プロセスを簡素化します。
トレーニングが成功したら、AI Platformにトレーニング済みモデルをデプロイします。モデルをデプロイすることで、他のGCPサービスや外部アプリケーションとの簡単な統合が可能になり、予測にモデルを活用することができます。適切なバージョニングとアクセス制御を設定して、安全で組織化されたモデル管理を行ってください。
モデルがデプロイされたら、予測をテストする時間です。GCPコンソールやSDKを使用して、モデルの予測をテストするためのクエリリクエストを送信します。特定の日の過去の天気パラメータを入力し、予測される気温を観察することで、モデルの精度とパフォーマンスを確認できます。
Cloud AutoMLを使用した実践例
より簡単なアプローチで機械学習を行いたい場合、Cloud AutoMLはユーザーフレンドリーなインターフェースでモデルのトレーニングを提供します。データが適切にフォーマットされ、分割されていることを確認したら、それをCloud Storageにアップロードします。この手順はAI Platformのデータ準備と同じですが、MLの経験が少ない人を対象にしています。
次に、GCPのAutoML Tablesに移動し、新しいデータセットを作成し、Cloud Storageからデータをインポートします。このセットアップは非常に直感的で、最小限の構成が必要であり、トレーニングの準備が簡単です。
AutoMLでのモデルのトレーニングは簡単です。トレーニングデータを選択し、ターゲット列(温度)を指定し、トレーニングプロセスを開始します。AutoML Tablesは自動的に特徴エンジニアリング、モデルの調整、評価を処理するため、重要な作業をサポートし、モデルの出力を理解することに集中することができます。
モデルがトレーニングされたら、Cloud AutoML内でデプロイし、提供されるインターフェースまたはGCP SDKを使用して予測の精度をテストします。この手順により、新しいデータに対して予測を行うことができ、モデルを活用することができます。
最後に、モデルのパフォーマンスを評価します。モデルの評価メトリクス、混同行列、特徴の重要性を確認し、パフォーマンスをよりよく理解します。これらの洞察は、モデルの精度を向上させるための追加のチューニング、特徴エンジニアリング、またはより多くのデータの収集の必要性についての情報を提供します。
AI PlatformとCloud AutoMLの両方に没頭することで、GCPでの機械学習の活用について実践的な理解を得ることができ、予測能力を持った天気分析プロジェクトを豊かにすることができます。これらの実践的な例により、データプロジェクトに機械学習を統合するための道筋が明確になり、機械学習におけるより高度な探索のための堅牢な基盤が築かれます。
ステップ5:モデルの本番環境へのデプロイ
機械学習モデルのトレーニングが満足のいくものになったら、次の重要なステップは本番環境へのデプロイです。このデプロイにより、モデルは実世界のデータを受け取り、予測を返すことができます。このステップでは、GCP上のさまざまなデプロイオプションを探索し、モデルが効率的かつ安全に提供されることを確認します。
サーバーレスサービスを介した予測の提供
Cloud FunctionsやCloud RunのようなGCPのサーバーレスサービスを活用すると、訓練済みモデルをデプロイしてリアルタイムの予測を提供することができます。これらのサービスはインフラストラクチャの管理タスクを抽象化し、コーディングとデプロイに集中することができます。自動スケーリング機能により、断続的または低ボリュームの予測リクエストに最適です。
たとえば、温度予測モデルをCloud Functionsを通じてデプロイする場合、モデルを関数にパッケージ化し、クラウドにデプロイする必要があります。デプロイ後、Cloud Functionsは自動的に必要な数のインスタンスをスケーリングアップまたはダウンして、着信リクエストのレートに対応します。
予測サービスの作成
大量のリクエストやレイテンシーセンシティブな予測には、トレーニング済みモデルをDockerコンテナにパッケージ化してGoogle Kubernetes Engine(GKE)にデプロイする方が適しています。このセットアップにより、大量のリクエストに対応するスケーラブルな予測サービスを提供することができます。
モデルをコンテナにカプセル化することで、移行先に関係なく同じように実行される移植性と一貫性のある環境を作成します。コンテナの準備ができたら、コンテナ化されたアプリケーションを効率的にオーケストレートするマネージドKubernetesサービスを提供するGKEにデプロイします。
ベストプラクティス
モデルを本番環境にデプロイする際は、スムーズな運用とモデルの持続的な精度を確保するためにベストプラクティスに従う必要があります。
- 本番環境でモデルをモニタリングする:モデルのパフォーマンスを時間とともに監視します。モニタリングはモデルのドリフトなどの問題を検出するのに役立ちます。ドリフトとは、モデルの予測が基礎となるデータ分布の変化に伴い、より正確性が低下する状態のことです。
- 新しいデータでモデルを定期的にリトレーニングする:新しいデータが利用可能になるたびに、モデルを再訓練して正確な予測を続けるようにします。
- A/Bテストによるモデルのイテレーション:既存のモデルを本番環境で完全に置き換える前に、A/Bテストを使用して新しいモデルと旧モデルのパフォーマンスを比較します。
- 障害シナリオとロールバックの処理:障害に備え、必要に応じて以前のモデルバージョンに戻すためのロールバック計画を用意しておきます。
コストの最適化
パフォーマンスと費用のバランスを維持するために、コストの最適化は重要です。
- プリエンプティブVMとオートスケーリングの使用:コスト管理のために、通常のVMよりも遥かに安価なプリエンプティブVMを利用します。これをオートスケーリングと組み合わせることで、必要なリソースを過剰に割り当てることなく必要な時に利用できます。
- サーバーレスとコンテナ化デプロイの比較:サーバーレスとコンテナ化のデプロイのコストの違いを評価し、利用ケースに最も適したコスト効果の高いアプローチを選択します。
- モデルリソースのニーズに合わせたマシンタイプの選択:モデルのリソース要件に合わせてマシンタイプを選択し、利用されていないリソースに過剰な費用をかけないようにします。
セキュリティの考慮事項
デプロイメントのセキュリティ確保は、モデルと処理するデータの両方を保護するために非常に重要です。
- IAM、認証、暗号化のベストプラクティスを理解する:Identity and Access Management(IAM)に精通し、適切な認証と暗号化を実装してモデルとデータへのアクセスを保護します。
- 本番環境のモデルとデータへの安全なアクセス:許可された個人やサービスのみが本番環境のモデルとデータにアクセスできるようにします。
- 予測エンドポイントへの不正アクセスの防止:予測エンドポイントへの不正アクセスを防ぐために堅牢なアクセス制御を実装し、モデルの悪用からモデルを保護します。
GCPでモデルを本番環境にデプロイするには、技術的な考慮事項と運用上の考慮事項の両方が組み合わさります。ベストプラクティスの遵守、コストの最適化、セキュリティの確保により、実世界のアプリケーションでモデルから価値を提供する準備が整います。
次に進む
この包括的なガイドでは、Google Cloud Platform(GCP)での機械学習とデータサイエンスの旅を始めるための基本を学びました。GCPアカウントのセットアップから本番環境でのモデルのデプロイまで、各ステップは堅牢なデータ駆動型アプリケーションの構築のための基本です。以下に、GCPでの探索と学習を続けるための次のステップを示します。
- GCP Free Tier: GCPの無料利用枠を活用して、クラウドサービスをさらに探求し、実験してみましょう。無料利用枠では、基本的なGCP製品にアクセスできます。追加の費用をかけることなく、実践的な経験を積む良い方法です。
- 高度なGCPサービス: Pub/Subを使ったリアルタイムメッセージング、Dataflowを使ったストリーム処理やバッチ処理、またはKubernetes Engineを使ったコンテナオーケストレーションなど、より高度なGCPサービスにも踏み込んでみましょう。これらのサービスを理解することで、GCP上で複雑なデータプロジェクトを管理する能力と知識を広げることができます。
- コミュニティとドキュメンテーション: GCPコミュニティは豊富な知識の源ですし、公式のドキュメンテーションも包括的です。フォーラムに参加したり、GCPのミートアップに参加したり、チュートリアルを探検したりして、学び続けましょう。
- 認定資格: Google Cloudの認定資格(たとえば、Professional Data EngineerやProfessional Machine Learning Engineerなど)を取得することも検討してみてください。これによって、自分のスキルを認めてもらい、キャリアの展望を広げることができます。
- プロジェクトでの協力: 同僚とのプロジェクト協力や、GCPを活用したオープンソースプロジェクトへの貢献など、プロジェクトへの協力は異なる視点をもたらし、問題解決能力を高めます。
テクノロジーの世界、特にクラウドコンピューティングと機械学習は絶えず進化しています。最新の進歩についていくためには、コミュニティと接触し、実践的なプロジェクトを取り組むことが重要です。また、完了したプロジェクトを振り返り、直面した課題から学び、その知見を将来の取り組みに活かしましょう。各プロジェクトは学ぶ機会であり、持続的な成長がGCPでのデータサイエンスと機械学習の成功の鍵です。
このガイドに従うことで、Google Cloud Platformでの冒険のために堅固な基盤が築かれました。これからの道は学びの絶えない旅であり、探求の旅であり、データプロジェクトで重要な影響を与える機会が豊富にあります。
Matthew Mayo (@mattmayo13)は、コンピュータサイエンスの修士号とデータマイニングの大学院修了証を持っています。VoAGIの編集長として、Matthewは複雑なデータサイエンスの概念を理解しやすくすることを目指しています。彼の専門的な関心事は自然言語処理、機械学習アルゴリズム、新興のAIの探求です。彼はデータサイエンスコミュニティでの知識を広めるという使命に駆られています。Matthewは6歳の時からプログラムを書いています。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles