Amazon Web Services ブログ

Localization Team

Author: Localization Team

AWS PrivateLink を使用した Amazon SageMaker で、セキュアな予測呼び出し

Amazon SageMaker が AWS PrivateLink を使用した Amazon Virtual Private Cloud (VPC) エンドポイントをサポートすることになりました。これで、インターネットに頼ることなく、ユーザーの VPC 内の Amazon SageMaker にホスティングされた機械学習モデルの予測呼び出しを開始できます。 Amazon SageMaker は、開発者やデータサイエンティストが、機械学習モデルをあらゆる規模で、迅速かつ簡単に構築、トレーニング、デプロイできるようにする完全マネージド型プラットフォームです。機械学習モデルは Amazon SageMaker を使用して実稼働状態にデプロイされると、ユーザーのアプリケーションにセキュアな HTTPS エンドポイントを設定します。予測の低いレイテンシーおよび高いスループットを達成するために、アプリケーションに求められるのは SageMaker Runtime API を使用することのみとなりました。AWS PrivateLink をサポートすることで、SageMaker Runtime API はインターネットで接続するのではなく、VPC 内のインターフェイスエンドポイントから呼び出しが可能になります。クライアントアプリケーションと SageMaker Runtime API の間での通信は VPC 内で行われるので、インターネットゲートウェイ、NAT デバイス、VPN 接続、AWS Direct Connect は必要ありません。 AWS コマンドラインインターフェイス (AWS CLI) のコマンドまたは AWS マネジメントコンソールを使用して、SageMaker Runtime に接続するための […]

Read More

Amazon SageMaker で主成分分析を実行する

主成分分析 (PCA) は、主に株式市場の予測から医用画像分類に至るまで数多くのアプリケーションの次元削減のために、データ科学者が使用する非常に一般的な手法です。PCA のその他の用途としては、ノイズ除去および特徴抽出があります。また、PCA は、探索的データ解析ツールとしても使用されます。 PCA をよりよく理解するために、トラックのプロパティで構成されるデータセットの例を考えてみましょう。これらのプロパティは、色、サイズ、コンパクトさ、座席数、ドア数、トランクのサイズなどによってそれぞれのトラックを記述します。測定されるこれらの特徴の多くは重複しているため、こうした重複を取り除き、より少ないプロパティでそれぞれのトラックを説明する必要があります。これが、まさに PCA が目指すものです。 このブログ記事では、カリフォルニア大学アーバイン校のアイリス (あやめ) 標準データセットで実行されている PCA を使用して、Jupyter ノートブックのコードの簡単な例で PCA の基本を紹介し、次に Amazon SageMaker 環境で動作する PCA を紹介します。Amazon SageMaker を使用するメリットのいくつかを指摘します。 PCA とは? PCA は、できるだけ多くの情報を保持しながら、d 個の特徴を p << d 個の特徴に圧縮する技術です。PCA のための古典的なデモンストレーションは、画像で行われます。白黒画像は、各ピクセルのグレースケールを決定する整数の n X d の行列として表すことができます。PCA は、圧縮された画像が元の画像とほぼ同じに見えるように、nd 個ではなく、(n+d) p 個で保存できるマトリックスによる低ランクの表現を提供します。機械学習 (ML) の文脈では、PCA は次元削減技術ということになります。特徴の数が多い場合、ML アルゴリズムには過剰適合のリスクがあるか、トレーニングに時間がかかりすぎることになります。そのために、PCA は入力の次元を減らすことができます。PCA が次元を減らす方法は、相関関係に基づいています。2 つの特徴が相関していて、一方の値が与えられると、もう一方の値について知識を使って推測することができます。p をターゲットの次元とする PCA は、これらの線形関数が元の d 個の特徴を最も正確に予測するような p […]

Read More

Amazon Rekognition Video を使って、スケーラブルかつ適応性のある動画処理パイプラインを構築する

VidMob のシニアソフトウェアエンジニア、Joe Monti 氏の投稿記事です。彼らの言葉を借りれば、Vidmob とは「革新的テクノロジーソリューションを備えた、世界をリードするビデオ作成プラットフォームです。高度にトレーニングしたクリエイターネットワークを使って、予測に重点を置き、自分用にカスタマイズしたり拡張もできるマーケティングコミュニケーションの開発を可能にします。VidMob のクリエイターは、ソーシャルあるいはデジタルチャンネル、フォーマット、および言語にわたるあらゆるビデオコンテンツが制作できるようにトレーニングされています。」 動画は、特に複雑で大規模なリアルタイムアプリケーションで使用する場合、自動化したコンテンツ認識を行うのに、特徴的な課題が生じます。例えば、ディープラーニングアルゴリズムを実装し使用するのは、面倒な作業だけでなく、大きな動画ファイルや大きな出力ファイルを処理するために膨大なコンピューティングパワーを必要とします。Amazon Rekognition は AWS 上で利用可能な数多くのツールとサービスを組み合わせることで、こうした難しい部分をより簡単に行えるようにします。そのため、価値ある、そして洗練されたアプリケーションの構築だけに、総力をあげることができるのです。 この記事では、動画ファイルに対してコンテンツ認識を実行する、スケーラビリティおよび適応性が高い処理パイプラインの重要なコンポーネントについて説明します。 アーキテクチャの概要 次のアーキテクチャは、コンテンツ認識を通じて動画を処理し、使用可能なデータセットを構築するために、多くの AWS サービスを統合します。 システムが新しい動画を取り込み、保留中のメディア認識のため Amazon SQS キューへメッセージが送信されると、このプロセスが開始されます。このキューは、Amazon Rekognition API のスループットを管理するためのバッファとして機能します。次のステップで、SQS キューを処理し、Process Rekognition Step Function を開始するため、固定料金スケジュールで設定した Amazon CloudWatch イベントが起動します。このステップ関数は、複数の AWS Lambda 関数を調整し、後に続く Amazon Rekognition リクエストとデータ処理を管理します。 Amazon Rekognition によるリクエスト処理のためのステップ関数 ステップ関数は、コードの実行を調整するシステムで、次に行うことを決定する制御フローロジックを提供します。ですので、ステップ関数を使えば、動画処理パイプラインの機能を迅速に開発、テスト、デプロイ、および向上することができます。この例では、AWS Step Functions で作成したステップ関数を使用して、複数の コンテンツの Amazon Rekognition API 操作による動画処理を可能にします。次の画像は、Amazon Rekognition リクエストを開始、待機、および処理する簡単なステップ関数を表しています。 このステップ関数の状態は、次の通りです。 認識の開始 – Amazon […]

Read More

AWS Lambda がサポートするイベントソースに Amazon Simple Queue Service を追加

Amazon Simple Queue Service (SQS) を使って AWS Lambda 関数をトリガーできるようになりました。これは私が個人的に 4 年以上前から楽しみにしてきた、重要な機能を提供する特別なアップデートです。皆さん、試用を待ち望んでいることでしょうから、昔話に興味のない方は下記を飛ばしてもらって結構です。 SQS は当社が立ち上げた初めてのサービスで、14 年前の 2004 年、AWS より公開されました。ご参考に、2004 年当時と言えば、商用ハードドライブは最大でも約 60 GB、PHP 5 が現れ、Facebook がちょうど開始したところ、テレビ番組のフレンズはシリーズが終了、Gmail はまだ珍しく、そして私はまだ高校生でした。振り返ってみると、今日の AWS を生み出した理念、つまり完全な管理体制、ネットワークにアクセス可能で、プリペイドで契約維持料なしといった方針は、SQS 開発の初期段階であった当時にも少し垣間見ることができます。現在、SQS は数多くの顧客が非常に大規模に使用しているサービスの中でも最も人気が高く、多くのアプリケーションの基本構成部分の 1 つとなっています。 これに対して、AWS Lambda は 2014 年に開催された AWS re:Invent (私はその日の参加者でした) にてリリースした比較的新しいサービスです。Lambda は、サーバーのプロビジョニングや管理を行わずにコードを実行できるコンピューティングサービスであり、2014 年にサーバーレスの革命を起こしたのです。Web およびモバイルバックエンドから IT ポリシーエンジン、データ処理パイプラインまで、幅広いユースケースに即座に採用されました。現在、Lambda は Node.js、Java、Go、C#、Python のランタイムをサポートしているので、既存のコードベースの変更を最小限に抑え、新しいコードベースを柔軟に構築できます。さらにこの過去 4 年間で、Lambda の機能やイベントソースを多数追加したため、さらに迅速な仕事ができるようになりました。Lambda に SQS のサポートを追加することで、ポーリングサービスの実行や、SQS から SNS […]

Read More

Amazon SageMaker が PyTorch と TensorFlow 1.8 のサポートを開始

今日からは、PyTorch の深層学習モデルのトレーニングとデプロイを Amazon SageMaker で簡単に行うことができます。PyTorch は、TensorFlow、Apache MXNet、Chainer に加え、Amazon SageMaker がサポートすることになった 4 番目の深層学習フレームワークです。  他のフレームワークとまったく同様、普段通りに PyTorch スクリプトを記述し、Amazon SageMaker のトレーニングに分散型トレーニングのクラスター設定、データ転送、さらにはハイパーパラメータのチューニングまで処理を任せることが可能になりました。推論の点では、Amazon SageMaker は、マネージド型で可用性が高く、また必要に応じて自動的にスケールアップ可能なオンラインのエンドポイントを提供します。 PyTorch に加え、最新の TensorFlow 安定版 (1.7 and 1.8) も追加しており、これらバージョンの新機能である tf.custom_gradient や、既成の BoostedTree 推定関数などを今日から活用していくことが可能です。Amazon SageMaker の TensorFlow 推定関数は、最新バージョンを使うようデフォルトで設定されているため、ユーザーはコードを更新する必要すらありません。 それぞれの深層学習フレームワークが得意とする分野は異なるため、開発者にとっては多くの深層学習フレームワークをサポートしていることが重要です。PyTorch は深層学習の研究者がよく使用するフレームワークですが、その柔軟性と使いやすさから開発者の間でも急速に普及してきています。TensorFlow は定評があり、リリースごとに素晴らしい機能を追加し続けています。私たちはこれらのエンジンのほか、MXNet や Chainer のような定評ある他のエンジンの開発も継続していきます。 Amazon SageMaker における PyTorch PyTorch フレームワークは独特です。Pytorch が TensorFlow、MXNet、Caffe など他のフレームワークと異なるのは、リバースモード自動微分という技術を使用しているためで、これにより動的にニューラルネットワークを構築できます。また、Python とも密に統合されており、一般的な Python の制御フローを自身のネットワーク内で使用することや、Cython、Numba、NumPy などを使用して新しいネットワーク層を作ることが可能です。そして最後に、PyTorch は高速であり、MKL、CuDNN、NCCL […]

Read More

Amazon Linux WorkSpaces 提供開始のおしらせ

私は 2 年以上前から Amazon WorkSpace がお気に入りの理由を説明してきました。現在では 3 年間の利用経験を経て、ローカルの、管理されていないデスクトップに戻る理由はありません。私はノート PC の紛失や破損、複数の作業環境の同期化、面倒なハードウェアの更新計画について心配することはありません。どこからでも、どの端末を使用していても、私は自分の WorkSpace にログインし、必要なアプリやファイルを見つけ、作業を完了できることを確信しています。 今すぐ Amazon Linux 2 を使用する WorkSpaces ユーザーは複数のハードウェア構成とソフトウェアバンドルを選択できます。希望する処理能力 (vCPU、仮想 CPU で表現) とメモリ、必要なストレージ構成のハードウェアを選択し、Windows 7 と Windows 10 デスクトップのどちらかを選択します。あなたの組織がすでに Windows ライセンスをお持ちの場合には、BYOL (Bring Your Own License) プログラムを使用して AWS クラウドにライセンスを持ち込むことができます。 本日、もう 1 つのデスクトップオプションを紹介します!Amazon Linux 2、Amazon Linux WorkSpaces デスクトップ、Firefox、Evolution、Pidgin、Libre Office を実行する WorkSpace の提供を開始しました。Amazon Linux WorkSpaces デスクトップは MATE がベースです。CPU とメモリを非常に効率的に使用できるため、生産性と節約の両方が実現できます。これにはファイルマネージャー、イメージエディタ、ターミナルエミュレーターなどのツールとユーティリティが含まれています。 […]

Read More

Amazon SageMaker エンドポイント用のサーバーレスフロントエンドを構築する

Amazon SageMaker は、AWS の本番環境に機械学習モデルを構築、トレーニング、およびデプロイするための強力なプラットフォームです。この強力なプラットフォームを Amazon Simple Storage Service (S3)、Amazon API Gateway、および AWS Lambda のサーバレス機能と組み合わせることで、Amazon SageMaker エンドポイントを、様々なソースから新しい入力データを受け入れて、その推論の結果をエンドユーザに提示する Web アプリケーションへと変換できるようになりました。 このブログ記事では、有名な Iris データセットモデルを使って、簡単な SageMaker モデルを生成し、それを Amazon SageMaker エンドポイントとしてデプロイします。次に、Chalice パッケージを使用して、API Gateway エンドポイントを作成し、SageMaker エンドポイントを呼び出す Lambda 関数をトリガーし、独自の予測を行います。最後に、アプリケーションのユーザーインターフェイスとして機能させるために、Amazon S3 で静的 HTML フォームを生成します。最終的に製品は、新しいユーザーデータを受け入れ、そのデータに基づいてオンデマンド予測を生成し、ユーザーのブラウザに戻ることができるシンプルな Web アプリケーションとなります。 これは AWS Lambda アーキテクチャバージョンで、SageMaker のドキュメントが提案するアーキテクチャと類似していますが、全てのユースケースに対して最適なアーキテクチャではない可能性があります。レイテンシーが懸念される場合は、データ変換を SageMaker エンドポイントでホストした Docker コンテナに直接組み込むことが合理的です。けれども、API Gateway と Lambda の導入は、複数の潜在的なフロントエンドおよび / またはデータソースが 1 つのエンドポイントとやり取りしているような複雑なアプリケーションを使用している場合に最適なのです。このブログ記事を参考に、デモ、コンセプト検証 […]

Read More

Amazon SageMaker ニューラルトピックモデルのご紹介

構造化データおよび非構造化データは前例のないペースで生成されているため、膨大な量の情報を整理し、検索し、理解するための適切なツールが必要です。こういったデータの有効活用は難しいことです。これは特に非構造化データの場合に当てはまります。企業が持つデータの 80% 以上が構造化されていないと推定されています。 テキスト分析とは、非構造化テキストを意味のあるデータに変換することで事実に基づく意思決定をサポートすることを目的とした分析プロセスです。トピックモデリング、エンティティとキーフレーズの抽出、センチメント分析、および共参照関係の解決など、テキスト分析にはさまざまな技術が使用されています。 それでは、トピックモデリングとは一体何なのでしょうか? トピックモデリングとは、ドキュメントのコーパスを「トピック」に編成するために使用されます。これは、ドキュメント内の単語の統計的分布に基づくグループ化のことを指します。完全マネージド型のテキストアナリティクスサービスである Amazon Comprehend は、顧客からのフィードバックの整理、インシデントやワークグループ文書のサポートなど一般的なユースケースに最も適した、事前設定済みのトピックモデリング API を提供します。Amazon Comprehend は、トークン化やモデルのトレーニング、パラメータの調整などのトピックモデリングに関連する多くの一般的な手順を取り除くために提案されたトピックモデリングの選択肢です。Amazon SageMaker のニューラルトピックモデル (NTM) は、特定の文体やドメインのテキストコーパス上でのモデルのトレーニングやトピックモデルの Web アプリケーションの一部としてのホスティングなど、細かく制御されたトレーニングや最適化、そしてトピックモデルのホスティングが必要なユースケースに対応しています。Amazon SageMaker NTM は最先端のトピックモデリングの出発点を提供し、それにより顧客はネットワークアーキテクチャやデータセットの特異性に対応するためのハイパーパラメーターの変更、そしてそれらのアプリケーションに基づいた文書モデリングの精度、人間の解釈可能性、および学習されたトピックの粒度などののような多数のメトリックとの間のトレードオフの調整といった柔軟性を手に入れることができます。さらに、Amazon SageMaker NTM は簡単に構成可能なトレーニングおよびホスティングインフラストラクチャ、自動的なハイパーパラメータの最適化、Auto Scaling による完全マネージド型のホスティングなど、Amazon SageMaker プラットフォームのフルパワーを活用しています。 トピックモデリングの技術的定義は、各トピックは単語の分布であり、各文書は一連の文書 (コーパスとも呼ばれる) にわたるトピックの混合物であるということです。たとえば「自転車」、「車」、「マイル」、「ブレーキ」などの単語が頻繁に出現するドキュメントのコレクションは、「輸送」に関するトピックを共有する可能性があります。もしも別のコレクションが「SCSI」、「ポート」、「フロッピー」、「シリアル」などの単語を共有する場合、「コンピュータ」に関するトピックについて議論している可能性があります。トピックモデリングのプロセスとは、すべてのトピックへの単語の分布やトピックの混合分布などの隠れた変数を文書全体のコレクションを観察することにより推測することなのです。次の図は、単語、トピック、およびドキュメントの間の関係性を示しています。 トピックモデリングには、検出されたトピックに基づくドキュメントの分類、トピックにマップされたタグを使用したコンテンツの自動タグ付け、ドキュメント内のトピックを使用したドキュメントの要約、トピックを使用した情報検索、トピックの類似性に基づくコンテンツの推奨などの多くの実践的なユースケースが存在します。トピックモデリングは、ダウンストリームのテキストに関連した機械学習タスクのための機能エンジニアリングステップとしても使用できます。また、トピックモデリングは根底にあるテーマとの一連の観測を記述しようと試みる一般的なアルゴリズムでもあるのです。ここではテキストドキュメントに焦点を当てていますが、この観測は他のタイプのデータにも適用可能です。例えば、トピックモデルはインターネットサービスプロバイダや企業ネットワークのネットワーク上のピアツーピアアプリケーションの発見など、他の離散データユースケースのモデリングにも使用されます。 Amazon SageMaker ニューラルトピックモデル (NTM) Amazon SageMaker は、Jupyter ノートブックホスティングサービス、拡張性の高い機械学習トレーニングサービス、Web スケールの組み込みアルゴリズム、モデルホスティングサービスを提供するエンドツーエンドの機械学習プラットフォームです。Amazon SageMaker Neural Topic Model (NTM) と Amazon SageMaker Latent Dirichlet Allocation (LDA) の 2 […]

Read More

XGBoost と Amazon SageMaker を使った機械学習の簡素化

機械学習は、コンピュータビジョン、自動運転車、自然言語処理といった、これまでになかったユースケースを可能にした強力なツールです。機械学習は有望な技術ではありますが、実際に実装するとなると複雑です。このブログ記事では、XGBoost というシンプルかつパワフルで、いろんなユースケースに対応可能な機械学習ライブラリについてお話します。XGBoost を Amazon SageMaker のサンプルデータセットで実行するためのステップバイステップチュートリアルもあり、その中で、クレジットカード債務不履行になる可能性を予測するモデルの構築方法が紹介されています。 XGBoost とは ? XGBoost (extreme gradient boosting) は、勾配ブースティング木を使ったアルゴリズムを、広く普及する効率的なオープンソース使って実装するソフトウェアです。勾配ブースティングとは、より単純で弱いモデルセットの推定値を組み合わせることで、目標変数を正確に予測しようとする機械学習アルゴリズムです。決定木モデルに勾配ブースティングをスケーラブルに適用することで、XGBoost は機械学習競争の中でも非常によく機能させることができます。さらに、様々なデータタイプ、関係、および分散を確実に処理します。モデルのパフォーマンスを向上するためにチューニングできる変数であるハイパーパラメータを数多く提供できます。こうした柔軟性により、XGBoost は様々な機械学習の問題を解決できるのです。 XGBoost で扱われる問題とユースケース XGBoost が最もよく解決する問題は 3 つ、分類、回帰、そしてランク付けです。 分類分類は、入力値を取りそれを 2 つ以上のカテゴリに分類することが目標です。分類のユースケースの例として、不正検出が挙げられます。不正検出とは、トランザクションに関する情報を取得し、それが不正か否かを判断することです。XGBoost に過去のトランザクションのデータセットを与えると、不正であるか否かにかかわらず、入力トランザクションデータをそれが不正である可能性にマッピングする関数を学習します。 回帰 回帰では、入力をクラスの離散数にマッピングする代わりに、目標が数値として出力されます。回帰で使われる問題の一例は、家の売却価格の予測です。この場合、XGBoost に住宅や販売価格に関する履歴データを与えると、住宅に関するメタデータが与えられた場合に、その家の販売価格を予測する機能を習得するのです。 ランク付けクエリと一連のドキュメントが与えられたとします。ランク付けは、ドキュメントの相対的な重要性を見つけ出し、関連性に基づいて順序付けすることが目標です。ランク付けに関するユースケースの一例は、電子商取引用ウェブサイトでの商品検索です。検索結果、クリック、および購入成功例に関するデータを活用し、XGBoost をトレーニングに適用することができます。こうすることで、検索する製品の関連性スコアを示すモデルが生成されるのです。 Amazon SageMaker での XGBoost の利用 XGBoost はダウンロード可能なオープンソースライブラリで、ほとんどどこででも実行できるため、Amazon SageMaker でも使用可能です。Amazon SageMaker は、機械学習ワークフロー用のマネージド型トレーニングおよびホスティングプラットフォームです。開発者やデータサイエンティストは、Amazon SageMaker を使用して、どんなインフラストラクチャも管理することなく、機械学習モデルをトレーニングし、デプロイすることができます。Amazon SageMaker プラットフォームに、独自のトレーニングとホスティングコンテナをいつでも持ち込むことができますが、XGBoost を含む Amazon SageMaker に付属のアルゴリズムとライブラリを活用することも可能です。Amazon SageMaker で XGBoost を使う理由は、数多くあります。 すぐに使える分散型トレーニングXGBoost […]

Read More

Amazon SageMaker の因数分解機を使った、ムービーレコメンダーを構築する

レコメンドは機械学習 (ML) の中でも最も一般的なアプリケーションのひとつです。このブログ記事では、因数分解機に基づいた動画レコメンドモデルを構築する方法を紹介します。これは組み込みアルゴリズムのひとつで、Amazon SageMaker の中でもよく使われている MovieLens データセットです。 因数分解機について 因数分解機 (Factorization Machines, FM) は、2010 年に導入された教師あり機械学習技術です ( 研究論文、PDF ) 。FM は、行列因数分解を使うと問題次元数の削減が可能なことから名付けられました。。 FM は分類や回帰に使用でき、線形回帰などの従来のアルゴリズムよりも大規模な疎データセットにおいて、計算効率がより大幅に向上できます。そのため、FM がレコメンドに広く使用されているのです。実際のレコメンドの数は非常に少ないものの ( ユーザーは利用可能なアイテム全てを評価しません )、ユーザー数とアイテム数はとても多いのが普通です。 以下に簡単な例を示します。密なユーザー行列 ( 次元 4×2 ) と密なアイテム行列 (2×4) に、疎な評価行列 ( 次元 4×4) を組み込む場合です。ご覧のように、因数の数 (2) が評価行列 (4) の列数よりも小さいです。さらに、この乗算によって、評価行列の全てのブランク値を埋めることができます。これを利用して、新しいアイテムをどのユーザーにもレコメンドすることができるのです。 出典 : data-artisans.com この記事では、FM を使用して、ムービーレコメンダーを構築します。Companion Jupyter ノートブックは Amazon S3 または Github からダウンロードできます。 MovieLens データセット […]

Read More