ご自身が銀行で働いている機械学習開発者であることを想像してみてください。投資判断を行うために読む必要があるニュースを社内のアナリストに提供するための機械学習モデルを開発するように依頼されました。モデルは、約 20,000 の文書の 20 のトピックに関する情報を含む 20newsgroups データセットでトレーニングされます。

モデルの一部として、ニュースデータからセマンティックな情報を抽出し、コーパスから類似のニュース記事を特定し、アナリストが読んでいるニュース記事に基づいて類似のニュース記事のコンテンツレコメンデーションを提供する必要があります。

このラボでは、Amazon SageMaker Notebook インスタンスを作成し、Jupyter ノートブックを使用してデータセットをダウンロード、準備、およびステージングし、トピックモデルをトレーニングしてデプロイし、最後にコンテンツレコメンドモデルをトレーニングしてデプロイする方法を学びます。

モジュール 1 では、ラボで使用する環境を構成します。

モジュールの所要時間: 20 分

 


  • ステップ 1: AWS アカウントを作成する

    このラボでは、個人の AWS アカウントを使用するか、新しい AWS アカウントを作成します。組織のアカウントを使用しないでください。これにより、必要なサービスへのフルアクセスが可能になり、ラボのリソースを残しません。終了時にこのラボで使用したリソースを削除しないと、AWS の料金が発生する場合があります。

  • ステップ 2: Amazon S3 バケットを作成する

    Amazon Simple Storage Service (Amazon S3) は、業界をリードするスケーラビリティ、データ可用性、セキュリティ、およびパフォーマンスを提供するオブジェクトストレージサービスです。

    モデルをトレーニングすると、モデルトレーニングデータとモデルアーティファクトが生成されます。このラボでは、Amazon S3 バケットを使用してトレーニングと検証のデータセットをステージングし、モデルのトレーニング中に Amazon SageMaker によって生成されたモデルアーティファクトを保存します。

    Amazon S3 バケットを作成するには:

    1. AWS マネジメントコンソールにサインインして、Amazon S3 コンソールを開きます。
    2. [バケットの作成] を選択します。
    3. [バケット名] に sagemaker-xx と入力します。xx はバケット名を一意にするためのご自身のイニシャルです。
    4. [リージョン] で、バケットを配置する AWS リージョンを選択します。
    5. [ブロックパブリックアクセスバケット設定] で、設定を有効のままにします。
    6. [バケットの作成] を選択します。
  • ステップ 3: Amazon SageMaker Notebook instance を作成する

    Amazon SageMaker ノートブックインスタンスは、Jupyter Notebook アプリを実行するフルマネージド型の機械学習 (ML) Amazon Elastic Compute Cloud (Amazon EC2) コンピューティングインスタンスです。

    このラボでは、ノートブックインスタンスを使用して、データの準備と処理、およびコンテンツレコメンデーションの機械学習モデルのトレーニングとデプロイに使用できる Jupyter ノートブックを作成および管理します。   

    Amazon SageMaker Notebook インスタンスを作成するには:

    1. Amazon SageMaker コンソールを開きます。
    2. [ノートブックインスタンス] を選択し、[ノートブックインスタンスの作成] を選択します。
    3. [ノートブックインスタンスの作成] ページの [ノートブックインスタンス名] に、ノートブックインスタンスの名前を入力します。
    4. [インスタンスタイプ] で、ml.t2.medium を選択します。これは、ノートブックインスタンスがサポートする最も安価なインスタンスタイプであり、この演習ではこれで十分です。
    5. IAM ロールの場合は、[新しいロールの作成] を選択し、[ロールの作成] を選択します。
    6. [ノートブックインスタンスの作成] を選択します。

    数分で、Amazon SageMaker は ML コンピューティングインスタンス (この場合はノートブックインスタンス) を起動し、それに ML ストレージボリュームを接続します。ノートブックインスタンスには、構成済みのJupyter ノートブックサーバーと Anaconda ライブラリのセットがあります。

  • ステップ 4: Jupyter ノートブックを作成する

    Amazon SageMaker Notebook インスタンスで Jupyter ノートブックを作成します。また、ノートブックが Amazon SageMaker API を実行するために必要な IAM ロールを取得し、トレーニングデータに使用するデータセットと Amazon SageMaker トレーニングジョブが出力するモデルアーティファクトを格納するために使用する Amazon S3 バケットの名前を指定するセルを作成します。

    Jupyter ノートブックを作成するには:

    1. Amazon SageMaker コンソールを開きます。
    2. [ノートブックインスタンス] を選択してから、クラシック Juypter ビューの場合は [Jupyter を開く] を、JupyterLab ビューの場合は [JupyterLab を開く] を選択して、作成したノートブックインスタンスを開きます。
      注意: [ステータス] 列のノートブックインスタンスの右側に [保留] が表示されている場合、ノートブックはまだ作成中です。ノートブックを使用できるようになると、ステータスが [InService] に変わります。
    3. ノートブックを作成します。
      • Jupyter でノートブックを開いた場合は、[ファイル] タブの [新規] で [conda_python3] を選択します。このプレインストールされた環境には、デフォルトの Anaconda インストールと Python が含まれています
      • JupyterLab でノートブックを開いた場合は、[ファイル] メニューの [新規] を選択で [ノートブック] を選択します。[カーネルの選択] で [conda_python3] を選択します。このプレインストールされた環境には、デフォルトの Anaconda インストールと Python 3 が含まれています。
    4. Jupyter ノートブックで、[ファイル] で [名前を付けて保存] を選択し、ノートブックに名前を付けます。

このモジュールでは、このラボでトレーニングするサンプル ML モデルについて学びました。また、Amazon S3 バケット、Amazon SageMaker Notebook インスタンス、Jupyter ノートブックを使用して、AWS アカウントとラボ環境をセットアップしました。

これで、ラボを開始する準備が整いました。次のモジュールでは、データセットをダウンロード、準備、およびステージングします。