Amazon Web Services ブログ

Category: SageMaker

ライフサイクル構成およびインターネットアクセスを無効にするオプションを使用して Amazon SageMaker ノートブックインスタンスをカスタマイズする

Amazon SageMaker は、データの探索と前処理用に Jupyter ノートブックを実行する、完璧なマネージドインスタンスを提供します。顧客は、構成済みのノートブックインスタンスをワンクリックで簡単に起動できることに大きな価値を見出しています。現在、私たちは、2 つの新しいオプションを提供することによってカスタマイズ性を向上させることに取り組んでいます。すなわち、ノートブックインスタンスのカスタマイズプロセスの自動化を支援するライフサイクル構成と、ノートブックインスタンスに制御されたセキュリティ環境を提供するために、ノートブックインスタンスをパブリックインターネットから切り離す機能です。 ノートブックインスタンスのライフサイクル構成 Amazon SageMaker は現在、追加ライブラリをノートブックインスタンスに手動でインストールする機能を備えています。しかし、ノートブックインスタンスを停止させると、これらの追加したカスタマイゼーションも、同時に削除されてしまいます。そのため、ノートブックインスタンスを再起動した場合、これらを再び手動で追加する必要があります。Amazon SageMaker の新しいライフサイクル構成機能を使用すると、これらのカスタマイゼーションをインスタンスのライフサイクルのさまざまなフェーズで適用するのを自動化することができるようになります。たとえば、一連のライブラリをインストールするスクリプトを作成し、ライフサイクル構成機能を使用して、ノートブックインスタンスが起動されるたびにスクリプトが自動的に実行されるように構成することができます。あるいは、ノートブックインスタンスが作成されたとき、スクリプトが一度だけ、自動的に実行されるように構成することもできます。 TurboTax や QuickBooks など、グローバルに製品およびプラットフォームを提供していることで知られる Intuit は、ライフサイクル構成を使用して、セキュリティスキャナーのデプロイや、ルーティングルールの再構成など、ノートブックインスタンスのセキュリティ環境をカスタマイズしています。また Intuit は、ノートブックインスタンスではインターネットへの直接アクセスを無効にし、ライフサイクル構成を使用して、VPC にデプロイされたプライベートパッケージインデックスを利用する、パッケージのインストールをブートストラップしています。 ノートブックインスタンスのインターネットへの直接アクセスを無効にするオプション 従来は、すべての Amazon SageMaker ノートブックインスタンスがデフォルトでインターネットへの直接アクセス権を持っており、それを無効にすることはできませんでした。これにより、パブリックインターネットから、人気のあるパッケージ、ノートブック、データセットをダウンロードしたり、他の Amazon SageMaker コンポーネントにアクセスしたりすることができました。しかし、ノートブックインスタンスを仮想プライベートクラウド (VPC) に接続すると、ノートブックインスタンスは、『ノートブックインスタンスのセキュリティ』で議論しているように、データアクセスのための余計なアベニューを装備することになります。その結果、いくつかの顧客から、インターネットアクセスを制御する機能についての要望がありました。特に、自社の VPC に接続するノートブックインスタンスについての要望です。現在、Amazon SageMaker ノートブックインスタンスのデフォルトのインターネットへの直接アクセスを無効にするオプションが用意されました。これを使用すると、VPC 構成を信頼して、ノートブックインスタンスにインターネットアクセスを許可するかしないかを制御させることができます。 これらの新しい機能について調べるために、Amazon SageMaker コンソールを開いて、ノートブックインスタンスを作成します。ページの下にある [Lifecycle configuration (ライフサイクル構成)] にナビゲートします。  始めて使用する場合、アカウントにはいかなるライフサイクル構成も含まれていないので、[Create a lifecycle configuration (ライフサイクル構成の作成)] を選択します。 最初のライフサイクル構成を作成するための作業ウィンドウがポップアップします。ライフサイクル構成を追加していけば、このウィンドウのドロップダウンリストから既存の構成を選択することができるようになります。 このポップアップウィンドウで、ライフサイクル構成に名前を付け、[Start notebook (ノートブックの起動)] または [Create […]

Read More

Gluon on Amazon SageMaker 上の Gluon および AWS Batch によるテキスト分類

当社の顧客は問題を抱えていました。手作業による保証クレームの分類がボトルネックとなっていたのです。これらのクレームは、イベントの詳細を短く説明するテキストフィールドに基づくものです。テキストの例は次のようなものです。「近年、天候不順が見られるアリゾナ州において、ある暑い日にプルトニウムを燃料とする原子炉が加熱しました。高温による損傷が、流束キャパシタに及びました。交換せずに元に戻すことはできません」。このクレームを分類するとしたら、「火災」か何かになるでしょう。 クレーム部門の担当者は、通常何千件にもなる、山のような保証クレームを読み、提出者がクレームを正しく分類していたことを確認するために、それぞれの例を手作業で適切な保証カテゴリに分類しなければなりません。 会社は、クレームの解決にかかる時間をできる限り短縮するため、このパイプラインをスピードアップすることを望んでいました。これは顧客満足度を保つ点で中心的な要件です。会社は過去の保証クレームについての大規模で広範なデータベースを有していたので、次のステップとして、教師あり学習のソリューションに目を向けるのは論理的なことでした。 今回のブログでは、技術には強くないクレームチームと、よりソリューションに注意を向ける傾向のあるデータサイエンスチームの間の溝を埋めることにより、顧客のワークフローをスピードアップするのに役立つ、特定のテキスト中の感情を分析するソリューションの概要について説明します。この例示シナリオでは、当社の分類モデルを MXNet の Gluon と Amazon SageMaker によってトレーニングした後、AWS Batch の弾力性のあるリソースを用いて大量のテキストのバッチを処理するため、AWS Lambda に基づいてアプリケーションを構築することになります。 始める前の注意ですが、Python、AWS のコマンドラインインターフェース (CLI)、そして Python Boto3 向けの AWS SDK になじみがあれば、このブログから十分な益を得られるでしょう。 データ 今回のブログでのデモのため、IMDB Large Movie Review Dataset のサブセットを使うことにします。これはすでにテストとトレーニングセットに分けられています。次に示すのは、コンマ区切りのテキストと、そのテキストの感情分類です。 感情: 1、テキスト: 「あなたは今までに、スポーツのために出かけ、ベストを尽くした結果、短い時間でも自分が重要な役割に就いていて、ヒーローかチャンピオンになるチャンスが開かれていることに気づきましたが…結局失敗した、ということがありましたか? 私たちの多くは、人生できっとそのような瞬間を経験したに違いないと思います。これが、「明日へのタッチダウン」(原題は “The Best of Times.”) という映画の背景です。この物語の中で、中年の銀行員 Jack Dundee (Robin Williams) は、何年も前のフットボールの試合でのミスのために深い憂鬱を抱えていたのですが、もう一度試合をやり直そうと決心します。そのため彼は、かつて偉大なフットボールのクォーターバックだった Reno Hightower (Kurt Russell) にカムバックするように説得しなければなりませんでした。Reno は現在の苦しい生活のことをあきらめていて、心の支えであり、年とともに忘れがたくなっていた過去の栄光を書き換えることを望みません。彼らはどちらも、年月は過ぎ去ったという事実に直面しているだけでなく、結婚関係でも泥沼に陥っていて、何とかすることが必要でした。Jack の義父 (Donald Moffat) は何かにつけ、彼のミスのことを思い出させるので、容易なことではありません。それでも […]

Read More

Amazon Sagemaker を使用してマーチ・マッドネスを予測する

ここは米国で 3 月中旬です。ということは、思いつくのはたった一つのことしかありません。マーチマッドネス (全米大学男子バスケットボール大会) です。毎年数え切れないほど多くの人々が、トーナメント表にメモを書き込んで、どの大学バスケットボールチームが制覇するかを予想します。あなたが 2018 年の優勝は間違いなしと思っている贔屓のチームはありますか。 このブログポストでは、Amazon SageMaker を使ってマーチマッドネスの予測変数を作成する方法を紹介します。Amazon SageMaker は、開発者やデータサイエンティストがいかなる規模の機械学習モデルであっても容易に構築、トレーニング、およびデプロイすることを可能にする完全マネージド型サービスです。このポストでは、プロセスをゼロから作り上げる手順について紹介します。モデリングのため、私たちは、チームごとの成績統計情報 (2002 年から現在) を記録している kenpom.com (https://kenpom.com/) と、過去の得点 (2011 年から現在) を記録している College Basketball Reference (https://www.sports-reference.com/cbb/) の公開されているフロントページのデータを利用します。私たちは、Jupyter Notebook をダウンロードする方法を説明しますが、このノートブックを使用すると、データの処理と探索、大学バスケットボール試合の結果の予測、そして最終的に Sagemaker エンドポイントの作成を行うことができます。 Amazon SageMaker を使用してマーチマッドネスを予測する Amazon SageMaker でサポートされるマーチマッドネス予測変数アプリケーションを作成する このポストは、Amazon SageMaker を使用するプロセスのモデリングとホスティングにフォーカスします。将来のポストでは、あなたのモデルを使用して構築するアプリケーションの作成方法を紹介します。たとえば、Amazon SageMaker エンドポイントを使ってウェブサイトを補強することによって、予定されている今後の試合に関する予測を自動的に生成したり、2018 NCAA トーナメントをシミュレートしたり、仮定の対戦に関するユーザ入力に対応したりすることができるようになります。 ザビエル大学は Sweet 16 におけるゴンザガ大学の勝敗の行方を見届ける必要がある。仮定の Elite 8 の対戦では、デューク大学とミシガン州立大学は、それぞれ、第 2 シードと第 3 シードだが、中西部では、両校とも第 1 […]

Read More

Amazon Sagemaker モデルのパフォーマンスのリアルタイム監視に Amazon CloudWatch カスタムメトリックスを使用する

ディープラーニング (DL) モデルのトレーニングおよびラーニングプロセスは、費用と時間がかかるものになりがちです。データサイエンティストは、トレーニング精度、トレーニング誤差、検証精度、検証誤差など、モデルのメトリックスを監視し、これらのメトリックスに基づいて、情報に基づく意思決定を行う必要があります。このブログポストでは、一定の時間内のモデルメトリックスの履歴を保存し、モデルパフォーマンスメトリックスをビジュアル化し、CloudWatch ダッシュボードを作成するために、Amazon SageMaker インテグレーションを Amazon CloudWatch にまで拡大する方法について説明します。私はこのデモでは MXNet フレームワークを使用しますが、このアプローチはすべての機械学習/深層学習 (ML/DL) フレームワークに適用することができます。 Amazon SageMaker には CloudWatch との既製のインテグレーションが付属しており、トレーニングジョブコンテナーの CPU、メモリ、GPU 使用率など、トレーニングジョブインスタンスの準リアルタイム使用率メトリックスについてデータを収集することができます。詳細については、『Amazon CloudWatch を使用して Amazon SageMaker を監視する』を参照してください。 ソリューションの概要 この例では、Amazon SageMaker を使用してノートブックインスタンスを作成した後、Apache MXNet 手書き数字認識モデルを構築して、トレーニングします。私は、簡素化するために、Gluon、MNIST データセット、および畳み込みニューラルネットワーク (CNN) アーキテクチャを使用します。また、トレーニングメトリックスを CloudWatch に送信して、それらのメトリックスのダッシュボードを作成するために、Amazon CloudWatch API 演算を使用します。最後に、モデルが過剰適合になった場合、私は Amazon Simple Notification Service (Amazon SNS) および AWS Lambda を使用して、通知を送信します。 アーキテクチャ 構成 Amazon SageMaker には、CloudWatch メトリックスを作成するための権限が必要です。これは必要な CloudWatch […]

Read More

Amazon SageMaker がサポートする、「マーチマッドネス」予想アプリケーションを構築する

「マーチマッドネス」バスケットボールトーナメントゲームのオープニングラウンドはどれもすごい試合でした!ブザービーターあり、歴史的な大番狂わせありで、どのゲームも興奮させるものでした。最初のブログ (パート 1) で構築したモデルは、いくつかあまり可能性のなさそうな番狂わせ (下位シード校の勝利) の候補を指摘しましたが (Loyola IL、 Butler)、一部の結果は予見できませんでした (Marshall、UMBC)。これから数週間は、さらなる熱狂 (マッドネス) が待ち受けているに違いありません。 私たちの側では、マーチマッドネス予測アプリケーションを作成することにしましょう。これはパート 1 で Amazon SageMaker を使用して作成したモデルとエンドポイントを活用するものです。 Amazon SageMaker を使用してマーチマッドネスを予測する Amazon SageMaker でサポートされるマーチマッドネス予測変数アプリケーションを作成する 今回のブログでは、静的な Amazon Simple Storage Service (Amazon S3) ウェブサイトを作成し、ユーザーが 2011~2018 年のデータから想像上の対戦をシミュレートして、本日時点での全ゲームの予想スコアを表示するとともに、2018 年 NCAA トーナメントのすべての対戦について、予想スコアと勝利確率を表示できるようにします。 私たちは AWS CloudFormation スクリプトを活用して、このウェブサイトを作成するの日必要な AWS サービスを起動します。CloudFormation は強力なサービスで、クラウド環境に必要なすべてのインフラストラクチャとリソースを、シンプルな JSON または YAML テンプレートで記述し、準備できるようにします。この例では、次の物が含まれます AWS Lambda 関数。データを変換して、予測を行う Amazon SageMaker エンドポイントに送信します。 Amazon […]

Read More

Amazon SageMaker を使用して Word-Pronunciation シーケンスツーシーケンスモデルを作成する

Amazon SageMaker seq2seq は、シーケンス ツー シーケンスタスクで、最新鋭のエンコーダーデコーダーアーキテクチャ (アテンションメカニズムなど) を利用するための非常に単純な方法を提供します。あなたがすべきことは、recordio-protobuf 形式のシーケンスデータと、JSON 形式のボキャブラリマッピングファイルを用意して、それを Amazon Simple Storage Service (Amazon S3) にアップロードすることのみです。その後は、Amazon SageMaker の内蔵アルゴリズムが、あなたに代わって、ディープラーニング (DL) アーキテクチャの構築とトレーニングを行います。 このブログポストでは、あなたに SageMaker seq2seq を習熟してもらうために、サンプルの Amazon SageMaker Word-Pronunciation ノートブックを使って手順に沿って説明します。英語の場合、単語の発音をスペルに基づいてデコードするために、暗黙的ではあるものの複雑なルールがあります。私たちは、アルファベット文字のシーケンスをソース入力として、そしてそれらに対応する音素のシーケンスをターゲット出力として使って、ルールをモデル化します。このモデルの種類は、シーケンス ツー シーケンスと呼ばれます。 seq2seq モデルの用途は、単語と発音の関係に留まりません。他の使用例としては、英語の文章からドイツ語の文章、テキストからサマリ、テキストからタイトル、質問から回答などが挙げられます。このブログポストでは、Amazon SageMaker を使用して、独自のシーケンスデータをデプロイして、独自のカスタム seq2seq モデルを開発する方法について紹介します。 Amazon SageMaker seq2seq は、Apache MXNet を使用した seq2seq モデリングのフレームワークである、Sockeye パッケージをベースにしています。詳細については、この AWS ブログを参照してください。 ただしそこでは、Amazon SageMaker を効果的に機能させるために、異なる入力データ形式が使われており、いくつかのハイパーパラメーターについては名前が変更されています。 データ: カーネギーメロン大学の発音辞書 (cmudict-0.7b) このブログポストでは、カーネギーメロン大学の発音辞書 (cmudict-0.7b)のデータを使用します。ボキャブラリの単語を音素のシーケンスにマッピングする表音辞書は、テキスト読み上げシステムでは非常に重要です。オリジナルのローデータは、以下のリンク先にあります。 […]

Read More

新機能 – AWS Greengrass を使用したエッジでの機械学習推論

IoT、機械学習とエッジコンピューティングを組み合わせると何が起こるでしょうか。答をお教えする前に、それぞれを見直して、AWS が何を提供するかについてお話ししましょう。 モノのインターネット (IoT) – 物理的な世界とデジタルの世界を結びつけるデバイスです。ひとつ、または複数のタイプのセンサーが装備されていることがほとんどのこれらのデバイスは、工場、車両、鉱山、農地、家庭などその他いろいろな場所に設置されています。重要な AWS のサービスには、AWS IoT Core、AWS IoT Analytics、AWS IoT Device Management、および Amazon FreeRTOS に加え、AWS IoT ページに記載されているその他サービスが含まれます。 機械学習 (ML) – 大規模のデータセットと統計アルゴリズムを使用して訓練できるシステムで、新しいデータから推論を得るために使用されます。アマゾンでは、お買い物のときに表示される推薦を駆動させたり、フルフィルメントセンターのパスの最適化、ドローンの飛行などを行ったりするために機械学習を使用します。AWS は TensorFlow および MXNet といった優れたオープンソース機械学習フレームワークをサポートし、Amazon SageMaker を通じて ML をアクセスが簡単で、使いやすいものにしています。また、イメージとビデオ用に Amazon Rekognition、チャットボット用に Amazon Lex を提供し、テキスト分析、翻訳、音声認識、そして Text to Speech 用に幅広い言語サービスを提供しています。 エッジコンピューティング – 異なる場所にコンピューティングリソースと意思決定機能を備える力で、多くの場合、クラウドに対しては断続的な接続性しかないか、接続されていません。AWS Greengrass は AWS IoT を基礎としており、Lambda 関数を実行し、インターネットに接続されていないときでさえもデバイスを同期状態に保つ機能を提供します。 エッジにおける ML 推論 私は今日、これらの重要な新テクノロジーをすべてブレンダーに投げ込みたいと思います!AWS […]

Read More

機械学習で、マーチ・マッドネスを予測!

3 月中旬の米国では、何百万人もの人々が大学のバスケットボールを観戦し、賭けています (私はここに住んでいますが、見ていませんでした)。NCAA カレッジ選手権が続く中、プロフェッショナルサービス機械学習スペシャリストである Wesley Pasfield の仕事を簡単に紹介したいと思います。 Wesley は、kenpom.com およびカレッジバスケットボールの参考データからデータを取得し、Amazon SageMaker に組み込まれている XGBoost アルゴリズムを使用してマーチ・マッドネスの結果を予測するモデルを構築することができました。 Wesley は、データの取得、探索的データ分析の実行 (データサイエンス用語集の EDA)、xgboost アルゴリズム向けのデータの再構成、SageMaker SDK を使用した 2 つの異なるモデルのトレーニングジョブの作成、最後に https://cbbpredictions.com/ で予測を提供するための SageMaker 推論エンドポイントの作成を示してくれます。ブログの投稿のパート 1 およびパート 2 をご確認ください。 素晴らしいですね。ノートパソコンを開いて、xgboost アルゴリズムを試してみませんか?予測にはいくつかの注意点があるので、チャンピオン予測はまだ作成していないことにご注意ください。 – Randall

Read More

Scikit Docker コンテナを構築して、Amazon SageMaker で Scikit-learnモデルのトレーニングとホストを行う

re:Invent 2017 で登場した Amazon SageMaker は機械学習モデルを規模に応じてビルド、トレーニング、デプロイするためのサーバーレスデータサイエンス環境を提供します。お客様はまた、Scikit-learn など、最も身近なフレームワークで作業できます。 このブログ記事では次の 2 つの目標に沿って進めていきます。まずは、Amazon SageMaker がモデルのトレーニングやホストのためにどのようにコンテナを使用するかについて、高水準の説明を行います。続いて、Amazon SageMaker で Scikit モデルのトレーニングおよびホスト用に Docker コンテナをビルドする方法について説明します。 概要では、モデルのトレーニングとホスト用に Amazon Elastic Container Service (ECS) からロードされた Docker イメージが Amazon SageMaker 上でどのように実行されるかについて説明します。また、トレーニングコードや推論コードなど、SageMaker Docker イメージの仕組みについても説明します。 そのため、Amazon SageMaker で Scikit モデルをビルド、トレーニング、デプロイする方法についてのみ興味をお持ちの場合は、概要の部分を飛ばしてお読みください。SageMaker で最小限の手間で Scikit モデルをコンテナ化するかについて、ハンズオンでもご覧いただけます。 目次 Amazon SageMaker 用コンテナの概要 Scikit-学習との連携のビルド Amazon SageMaker 用コンテナの概要 SageMaker は、ユーザーがアルゴリズムをトレーニングし、デプロイできるように、Docker コンテナの用途を拡張します。開発者とデータサイエンティストたちは、コンテナを活用することで Docker をサポートするあらゆるプラットフォームで着実に稼動する標準化されたユニットにソフトウェアをパッケージングできるようになります。コンテナ化することで、コード、ランタイム、システムツール、システムライブラリ、設定などのすべてを 1 か所にまとめ、環境から分離し、どこで開始するかに関係なく、一貫したランタイムを確保します。 […]

Read More