Amazon Web Services ブログ

Category: SageMaker

異常検出にビルトイン Amazon SageMaker Random Cut Forest アルゴリズムを使用する

本日、Amazon SageMaker 向けの最新ビルトインアルゴリズムとして、Random Cut Forest (RCF) のサポートを開始しました。RCF は監視を伴わない学習アルゴリズムで、データセット内の異常なデータポイントや外れ値を検出します。このブログ記事では異常検出に関する問題について紹介するとともに、Amazon SageMaker RCF アルゴリズムについて説明し、実世界のデータセットを使った Amazon SageMaker RCF の使用法を実演します。 異常検出は極めて重要です たとえば、いくつもの街の区画で長期間にわたり交通量のデータを収集してきたとします。交通量が急増した場合、その背後にあるのが何らかの事故なのか、一般的なラッシュアワーなのかを予測することはできますか?交通量の急増が 1 区画だけで起きているのか、複数の区画で起きているのかは重要ですか? また、1 つのクラスターにあるサーバー間にネットワークのストリームがあるとします。そのインフラストラクチャが目下 DDoS 攻撃を受けている最中なのか、またはネットワークアクティビティの増加が良好な状態であるかを自動的に見極めることはできますか? 異常とは、 よく系統立てられた、またはパターン化されたデータから逸脱する観測結果を意味します。たとえば、異常は時系列データ上の想定外の急増、周期性のある中断、または分類不能なデータポイントを示します。データセットにそうした異常なデータが含まれる場合、「通常」データはシンプルなモデルで記述されることから、機械学習タスクの複雑性を急激に増大させる可能性があります。 Amazon SageMaker Random Cut Forest アルゴリズム Amazon SageMaker Random Cut Forest (RCF) アルゴリズムはデータセット内の異常なデータポイントを検出するための監視を伴わないアルゴリズムです。特に、Amazon SageMaker の RCF アルゴリズムは 1 件の異常スコアと各データポイントを関連付けます。異常スコアの値が低ければ、データポイントが「通常」であることを意味し、スコアの値が高ければ異常があることを意味します。「低い」と「高い」の定義はアプリケーションによって異なりますが、慣例から平均スコアから 3 つの値が逸脱していた場合、異常と見なされます。 Amazon SageMaker の RCF アルゴリズムの処理ではまず、トレーニングデータからランダムなサンプルを取得することから始めます。トレーニングデータが 1 台のマシンに入りきらない可能性がある場合は、レザボアサンプリングと呼ばれる手法で、データストリームから効果的にサンプルを抽出します。その後、ランダムカットフォレストの各構成要素ツリーにサブサンプルが配分されます。各サブサンプルはそれぞれの葉が単独のデータを含む 1 つのバウンディングボックスを表すように分割されるまでランダムにバイナリツリーへと分割されていきます。入力データポイントへ割り当てられた異常スコアは、そのフォレストの平均的な深度に対し、逆比例します。詳細については、SageMaker […]

Read More

ノートブックインスタンスのトレーニングに Amazon SageMaker のローカルモードを使用する

Amazon SageMaker が最近、事前構築型の TensorFlow と MXNet コンテナを使用したローカルトレーニングのサポートを開始しました。  Amazon SageMaker はフレキシブルな機械学習プラットフォームで、機械学習モデルを本番環境に、より効果的に構築、トレーニング、およびデプロイできるようにします。  Amazon SageMaker トレーニング環境は管理されています。つまり、即時のスピンアップ、アルゴリズムコンテナのロード、Amazon S3 からのデータ取得、コードの実行、Amazon S3 への結果の出力、クラスターの解体などの処理について、ユーザーが考える必要がなくなります。  トレーニングを別々のマルチノード GPU クラスターにオフロードできる機能は大きな利点です。毎回新しいハードウェアをスピンアップすることは、反復性とセキュリティの面で良いことですが、アルゴリズムコードのテストやデバッグの際には無駄に回転させることになります。 Amazon SageMaker の深層学習コンテナを使用することで、普段通りに TensorFlow または MXNet のスクリプトを書けるようになります。しかし、今後は、これらをトレーニングとホスティングの両方の目的で、管理されている本番グレードの環境にプレビルトコンテナとしてデプロイすることになります。  これまで、こうしたコンテナは Amazon SageMaker 固有の環境でのみ使用できました。  最近これらのコンテナがオープンソース化されました。これにより、ユーザーは自身のアルゴリズムをローカルでテストするためにわずか 1 行のコードを書き換えるだけで、自分の作業環境にコンテナを取り込み、Amazon SageMaker Python SDK でカスタムコードビルトを使用できるようになるのです。  つまり、毎回新しいトレーニング用またはホスティング用のクラスターが構築されるのを待つことなく、自分の作業を反復したり、テストしたりできることを意味します。  小さなデータセットのサンプルをローカルで反復し、フルデータセットを分散してトレーニングするためにスケーリングするのが機械学習の一般的な手法です。  多くの場合、プロセス全体を再度書き込むことになるため、バグが生じないのを願うばかりです。  Amazon SageMaker のローカルモードでは、コードを 1 行書き換えるだけで、ローカルと分散されたマネージドトレーニング間をシームレスに切り替えられます。その他の動作はすべて同じです。 Amazon SageMaker Python SDK のローカルモードは、TensorFlow または MXNet エスティメーターの 1 […]

Read More

EFS ファイルシステムを Amazon SageMaker ノートブックに (ライフサイクル設定を含めて) マウントする

今回のブログでは、Amazon Elastic File System (EFS) を Amazon SageMaker ノートブックインスタンスにマウントする方法について説明します。この方法を使えば、大規模なデータセットを保存してアクセスすること、そして SageMaker ノートブックインスタンスからの機械学習スクリプトを共有することが容易になります。 Amazon SageMaker ノートブックには、Jupyter Notebook サーバーを実行している自分自身のインスタンスに高速にアクセスするための機能が用意されています。そこから、Amazon SageMaker の分散マネージドトレーニング環境にアクセスし、リアルタイムで、実用グレードのホストエンドポイントをセットアップすることができます。Amazon SageMaker の高速でスケーラブルなアルゴリズムや、構築済みディープラーニングフレームワークコンテナを使用できます。Amazon EFS はシンプルでスケーラブルなファイルストレージを提供します。これは同時に複数の AWS リソース間で共有することができます。これら 2 つを組み合わせれば、まさに自分のノートブック環境から、大規模な機械学習データセットや共有コードに簡単にアクセスできます。 現在のところ、 Amazon SageMaker のノートブックインスタンスは、5 GB の Amazon Elastic Block Store (EBS) ストレージから開始し、約 20 GB の非永続的ストレージに拡大するようになっています。さらに大きなファイルは Amazon S3 からアクセスできますが、ファイルシステムと同じほどの柔軟性は提供されていません。柔軟性と大規模なデータセットを必要とするユースケースでは、EFS をノートブックインスタンスにマウントすることにより、その要件を満たすことができます。一部の顧客はまた、すでに EFS をマウントして、ファイルを保存し、既存の EC2 インスタンスにわたって共有しています。これは EFS と Amazon SageMaker が協力できる、別の分野です。 既存の EFS […]

Read More

より高速で、より柔軟性のあるモデルを Amazon SageMaker 線形学習者でトレーニングする

本日、Amazon SageMaker は、内蔵の線形学習者アルゴリズムに対して、いくつかの機能追加を実施しました。Amazon SageMaker アルゴリズムは、労力を必要とせずに巨大なデータセットにスケールし、比類のない速度を達成できる、最新のハードウェア最適化の利点を活用できるように設計されています。Amazon SageMaker の線形学習者アルゴリズムは、線形回帰および二項分類アルゴリズムの両方を包含しています。 これらのアルゴリズムは金融、不正/リスク管理、保健、ヘルスケアにおいて広く使われています。学習者アルゴリズムの新しい機能は、トレーニングの速度を向上させ、異なるユースケースに合わせてモデルをカスタマイズしやすくするものです。例としては、不均衡クラスによる分類が含まれます。これは、ある結果が別のものよりずっとまれにしか生じないような分類です。また、回帰に特化した損失関数もあります。特定のモデルエラーに対して、他のものよりも大きなペナルティを科すことが重要な場合に対応します。 このブログでは、次の 3 つの点を扱います。 最適なモデルに対しては早期に終了して保存すること。 線形学習者モデルをカスタマイズする新しい方法。次のものが含まれます。 ヒンジ損失 (サポートベクターマシン) 分位点損失 Huber 損失 イプシロン不感応損失 クラス重み付けオプション それから、二項分類におけるパフォーマンスを向上させるためにクラス重み付けを用いる例を実際に試してみます。 早期終了 線形学習者は、確率的勾配降下法 (SGD) または Adam のような SGD の変種を用いて、モデルをトレーニングします。トレーニングでは複数回にわたってデータを処理することが求められます。これはエポックと呼ばれています。データはバッチ、ときにはミニバッチと呼ばれる塊として、メモリに読み込まれます。エポックは何回実行するべきでしょうか。理想的には、収束するまでトレーニングを行いたいところです。つまり、これ以上繰り返しても利点が増えなくなるところまでです。モデルが収束してからもエポックを実行するのは時間とメモリの無駄ですが、適切なエポック数を推測するのは、実際にトレーニングジョブを実行するまでは困難です。トレーニングのエポック数が少なすぎると、モデルの精度は本来可能な精度よりも落ちてしまいます。しかし、エポック数が多すぎると、リソースが無駄になりますし、過剰適合によってモデルの精度が悪化する可能性もあります。当て推量を避け、モデルトレーニングを最適化するために、線形学習者には 2 つの新しい機能が追加されました。自動的な早期終了と、最適なモデルの保存です。 早期終了は 2 つの基本的様式で動作します。検証セット付きと検証セットなしです。多くの場合、データはトレーニング、検証、および試験データセットに分割されます。トレーニングは損失の最適化のため、検証はハイパーパラメーターのチューニングのため、試験はモデルがまだ得ていない将来のデータに対しどの程度のパフォーマンスを出せるかを、公平に見積もるために行われます。検証データセット付きの線形学習者アルゴリズムを提供した場合、検証損失について向上が見られなくなると、モデルのトレーニングは早期に終了します。検証セットが利用できない場合、トレーニング損失について向上が見られなくなると、モデルのトレーニングは早期に終了します。 検証データセット付きの早期終了 検証データセットを利用することの大きな利点としては、トレーニングデータに対する過剰適合が起きたかどうか、そしていつ起きたかについて判断できることが挙げられます。過剰適合は、トレーニングデータへの適合性が緊密すぎる予測をモデルが与えるようになって、汎化されたパフォーマンス (まだ得ていない将来のデータに対するパフォーマンス) が低下することを指しています。下のグラフの右側は、検証データセット付きのトレーニングの典型的な進行状況を示しています。エポック 5 までは、モデルはトレーニングセットからの学習を続けており、検証セットでの成績が次第に良くなっています。しかしエポック 7~10 では、モデルがトレーニングセットへの過剰適合を起こし始めていて、検証セットでの成績が悪くなっていきます。モデルがトレーニングデータでの向上 (過剰適合) を続けていたとしても、モデルが過剰適合を始めたら、トレーニングを終了しなければなりません。そして、過剰適合が始まる直前の、最善のモデルを復元する必要もあります。これらの 2 つの機能は、線形学習者ではデフォルトでオンになっています。 早期終了のためのデフォルトのパラメーター値を下のコードに示します。早期終了の動作をさらに調整するため、値の変更を試してみてください。早期終了を完全にオフにするには、early_stopping_patience の値を実行するエポック数より大きくしてください。 early_stopping_patience=3, early_stopping_tolerance=0.001, パラメーター early_stopping_patience は、改善が見られない場合にも、トレーニングを終了するまで何回のエポックを待つかを定義します。早期に終了することにした場合でも、このパラメーターをある程度の大きさにするのは有用です。学習曲線には凹凸ができることがあるからです。改善がまだ続く場合でも、パフォーマンスが 1 ないし […]

Read More

ライフサイクル構成およびインターネットアクセスを無効にするオプションを使用して 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