Amazon Web Services ブログ

Localization Team

Author: Localization Team

自分で事前にトレーニングした MXNet または TensorFlow のモデルを Amazon SageMaker に導入する

Amazon SageMaker は、ML モデルをトレーニングおよびホストするための容易なスケーラビリティとディストリビューションを提供するだけでなく、モデルをトレーニングするプロセスとモデルのデプロイメントを分離するようにモジュール化されています。これは、Amazon SageMaker 以外でトレーニングされたモデルを SageMaker に導入してデプロイできることを意味します。すでにトレーニングを受けたモデルがあり、パイプライン全体ではなく SageMaker のホスティング部分だけを使用したい場合は、これは非常に便利です。また、これは自分のモデルをトレーニングしないが、事前にトレーニングされたモデルを購入する場合にも便利です。 このブログ記事では、TensorFlow または MXNet でトレーニングした自分のモデルを Amazon SageMaker にデプロイする方法について説明します。以下は、プロセス全体の概要です。 ステップ 1: モデル定義を、選択したフレームワークで記述します。 ステップ 2: モデルを、そのフレームワークでトレーニングします。 ステップ 3: モデルをエクスポートし、Amazon SageMaker が理解できるモデル成果物を作成します。 ステップ 4: モデル成果物を Amazon S3 バケットにアップロードします。 ステップ 5: モデル定義、モデル成果物、Amazon SageMaker Python SDK を使用して、SageMaker モデルを作成します。 ステップ 6: SageMaker モデルをエンドポイントとしてデプロイします。 モデルとは何か?、そしてどうすれば手に入るのか? トレーニングされたモデルファイルとは、単にトレーニングプロセスによって作成されたモデル成果物です。これには、モデルのすべてのパラメータの値と、モデルのアーキテクチャに関する追加のメタデータが含まれていて、これらのパラメータが互いにどのように接続されているかを示します。フレームワークが異なると、モデルファイルをエクスポートする方法も異なります。 TensorFlow TensorFlow のモデルは、トレーニングされた TensorFlow Estimator からエクスポートできます。モデルファイルは、Amazon SageMaker がそれを理解できるようにするためのプロトコルに従わなければなりません。 単純な TensorFlow Estimator […]

Read More

Thorn が児童性的虐待、児童売買との闘いで Amazon Rekognition と連携

Thorn は、児童性的虐待資料の拡散を阻止し、児童人身売買業者に立ち向かうことに尽力している非営利団体です。Thorn のツールは、2017 年には性的搾取を目的とした児童人身売買の被害者 5,894 人を割り出し、性的虐待の録画が拡散された 103 人の子どもたちを救出しました。Thorn は Amazon Rekognition のような AWS 製品を使用して、調査時間を 65% 削減しました。これで、もっと速く、もっと多くの犠牲者を探すことが可能になります。 「Amazon Rekognition は Thorn のすばらしいパートナーです。子どもたちを性的虐待から守るという私たちのミッションにおいて画像および動画分析を活用できるのは Amazon Rekognition のおかげです」と Thorn の CEO、Julie Cordua 氏は言います。「加害者たちは最先端の技術を悪用し、子どもたちを食い物にしています。性的な目的で子どもたちをオンラインで売り、虐待の画像と動画を流通させ、虐待をライブストリーミングで配信しているのです。AWS は、この問題解決の一翼を担うことを決めました。パートナーとなってその製品を活用することで、食い物にされている子どもたちの早期発見と虐待撲滅に協力しています。AWS のように先端技術を持つ企業とのコラボレーションは、そうした子どもたちをいち早く見つけ、児童性的虐待資料の拡散に終止符を打つために必要なツールを作り上げるうえで非常に重要です」 性的搾取を目的とした児童売買に関する数千におよぶ広告を調査員がより効率的に、より早く鑑別できるように、Thorn は Amazon Rekognition を使用して Spotlight ツールを強化しています。インターネットに掲載されるこの種の広告は毎日およそ 150,000 にのぼるため、このツールの存在は児童売買との闘いにおいては欠かせません。 そうした広告から検出された情報は Spotlight に送られ、立件、被害者の身元特定、そして最終的にはその子どもの奪還に必要な情報を調査員に提供します。 「いくつかの重要な機能で Amazon Rekognition に依存している Spotlight は、決定的なツールと言えます。これにより、児童売買との闘いに尽力している人たちは、虐待や売買の膨大な資料を鑑別できるようになりました」と、Cordua は述べます。「とにかく、被害者の子どもが最優先です。調査時間が 65% 削減されたことで、さらに多くの被害者をさらに早く発見していきます」 Amazon Rekognition の詳細: […]

Read More

教師あり学習に Amazon SageMaker の Amazon Mechanical Turk を使用する

教師付き学習には、プロジェクトのトレーニング段階で、何が正しい答えかをアルゴリズムに教えるラベルまたはアノテーションが必要です。事実、MXNet 、TensorFlow 、および PyTorch を使った例の多くは、これらのフレームワークが持ついろんな機能を調べるのに利用するアノテーション付きデータセットから始めています。しかし残念ながら、例からアプリケーションに移行する際に、完全なアノテーションが付随するデータセットを簡単に入手できることはまずありません。このチュートリアルでは、Amazon SageMaker ノートブックの中から Amazon Mechanical Turk (MTurk) を使って、データセットのアノテーションを取得し、トレーニングに使用する方法を解説します。 TensorFlow では、ニューラルネットワーク識別子を使ってアイリス ( アヤメ ) を識別するのに、エスティメーターを利用するという例があります。この例も、SageMaker サンプルノートブックライブラリ、または GitHub の SageMaker Examples プロジェクトの中にあります。チュートリアルとサンプルノートの両方でアイリスデータセットを使用しています。これには、3 つの関連するアイリス種および関連する種の測定が含まれます。これらのデータポイントは、4 つの測定値に基づいてアイリスの種を予測するモデルをトレーニングするのに使用します。 左から右へ、Iris setosa ( 画像は Radomil 氏、CC BY-SA 3.0) 、Iris versicolor ( 画像は Dlanglois 氏、CC BY-SA 3.0) 、および Iris virginica ( 画像は Frank Mayfield 氏、CC BY-SA 2.0) 。 これは TensorFlow […]

Read More

AWS IoT Device Defender が利用可能に – 接続されたデバイスを安全に保つ

週末に事務所を清掃していて、たまたま 1997 年に作成したネットワークマップを見つけました。当時、完全に有線のネットワークに 5 台の PC と 2 台のプリンタを接続していました。現在は、子供たちがすべて育ち、家を出たので、2 台の PC だけになっています。ただし、我が家のネットワークには、2 台のラズベリーパイ、数台の携帯電話、タブレット、TV、ニンテンドー 3DS (Eric および Ana に感謝)、4 または 5 台の Echo デバイス、 いくつかのブランドのセキュリティカメラ、私が購入したさまざまなガジェットがつながっています。また、ランダムな電話やタブレット、そして完全には信頼していないいくつかのデバイスの一時的なホームとなるゲストネットワークもあります。 これはもちろん、一般的なオフィスや工場と比べるとかなり貧弱なコレクションですが、IoT デバイスがますます普及するにつれて私たちが直面しているいくつかの課題を指摘するために使用したいと思います。私はフルタイムのシステム管理者ではありません。強力なパスワードを設定し、気づいた度に更新を適用しますが、それでもセキュリティは常に懸念事項です。 新しい AWS IoT Device Defender 今回は、AWS IoT Device Defender について説明したいと考えています。 これは新しい、完全マネージド型サービス (最初の発表は re:Invent) であり、接続しているデバイスの保護に役立ちます。一群のデバイスを監査し、異常な動作を検出し、発見した問題の緩和措置を推奨します。複数のタイプのデバイスを含む規模および環境で機能することができます。 Device Defender は、推奨されるセキュリティのベストプラクティスに対して IoT デバイスの設定を監査します。監査は、スケジュールに従って実行することもできますし、オンデマンドでも実行することができ、以下のチェックを行います。 不完全な設定 – 監査では、有効期限切れの証明書や失効済みの証明書、複数のデバイスで共有される証明書、重複したクライアント識別子などを探します。 AWS の問題 – 監査では、過度に許可している IoT ポリシー、過度にアクセス権を持つ Cognito […]

Read More

新機能 – Amazon Elastic File System (EFS) のプロビジョンドスループット

Amazon Elastic File System を利用すると、何百、何千もの Amazon Elastic Compute Cloud (EC2) サーバーやオンプレミスのリソースから超並列アクセスが可能なペタバイト規模のファイルシステムを作成でき、アプリケーションを中断させることなくオンデマンドでスケールできるようになります。内部的には、スケーラブルで、高い耐久性を備えた、高可用性があるファイルシステムを提供するために、ストレージは複数のアベイラビリティーゾーンと冗長ストレージサービスをまたいで分散されます。スペースの割り当ておよび請求は従量制であるため、実際の使用量に比例したコストをキープしながら、必要な分だけ消費することができます。アプリケーションは、一貫した低レイテンシーで、高いレベルの総スループットと IOPS を実現できます。EFS は、メディア処理のワークフロー、ビッグデータアナリティクスジョブ、コードリポジトリ、ビルドツリー、コンテンツ管理リポジトリなど、幅広いユースケースで使用されています。これらを利用するお客様は、既存のファイルベースのアプリケーションやワークフローを簡単にリフトアンドシフトでクラウドに移行できるという利点を活かすことができます。 要覧 すでにご存じかも知れませんが、EFS ではファイルシステムを作成するたびに 2 種類のパフォーマンスモードから 1 つを選択します。 汎用 – デフォルトモードであり、こちらから始める必要があります。レイテンシーに敏感なユースケースに最適で、ファイルシステムごとに 1 秒あたり最大 7,000 件までの処理に対応します。 最大 I/O – このモードではより高いレベルの総スループットとパフォーマンスにスケールできますが、わずかにレイテンシーが長くなります。1 秒あたりの処理量に固有の制限はありません。 スループットは、どちらかのモードで、ファイルシステムのサイズに合わせてスケールします。また、必要に応じて高いレベルにバーストすることも可能です。ファイルシステムのサイズにより、どれだけ高く、どれだけ長くバーストできるかの上限が決まります。以下はその例です。 1 TiB – 1 TiB のファイルシステムでは、50 MiB/秒での連続配信が可能で、毎日最大 12 時間、100 MiB/秒までバーストできます。 10 TiB – 10 TiB のファイルシステムでは、500 MiB/秒での連続配信が可能で、毎日最大 12 時間、1 GiB/秒までバーストできます。 EFS […]

Read More

Amazon Lex と Amazon Elasticsearch Service を使用してドキュメントサーチボットを構築する

私たちはドキュメントの検索に多大な時間を費やしています。ドキュメントストアにまずアクセスし、関連するドキュメントを検索します。ドキュメント内のテキストを検索するには、別の検索を行う必要があります。 このブログ記事では、音声やテキストを使用してドキュメントを検索する方法について説明します。  検索結果は、検索するドキュメントの中で一致する段落の最初のいくつかの文字も表示します。最後に、ボットをウェブアプリケーションと統合します。実践的な状況において、この検索機能は利用できます。例えば、顧客のビジネスで技術者が不完全なマシンで作業している場合、チャットボットを使用して必要なドキュメントを検索できます。チャットボットについては、QnA ボットブログで説明していますが、このブログ記事では、インテント抽出とインポート / エクスポート機能を使った対話管理を解説します。 さらに、Amazon S3 を使用してドキュメントストアを作成し、Amazon Elasticsearch Service (Amazon ES) でドキュメントをインデックスし、プロセス全体を自動化する方法についても説明します。 最終的なボットは、次のスクリーンショットのようになります。: アーキテクチャ アーキテクチャには、Amazon S3 を使って開発したドキュメントストアがあり、ドキュメントは Amazon ES を使用してインデックスを作成しています。インデックスは、Amazon S3 オブジェクト作成イベントに登録済みの AWS Lambda 関数を使って作成します。もう一つの AWS Lambda 関数は、Amazon Lex インテントを実行するのに使用します。最後に、ウェブアプリケーションと Amazon Lex を統合します。Amazon Cognito サービスは、ウェブアプリケーションから Amazon Lex サービスへの呼び出しを認証し、認可します。 使用するコンポーネント Amazon Lex – サーチボットのための対話型インターフェースを構築します。 AWS Lambda – Amazon Lex サービスが提供するインテントを実行するのに、この関数を使用します。 Amazon Elasticsearch Service – 製品の FAQ、およびインストールのためのドキュメントのインデックスを作成します。 Amazon […]

Read More

AWS 深層学習 AMI に ONNX が含まれ、深層学習フレームワーク間でのモデルの移植性が向上

Ubuntu および Amazon Linux 用の AWS 深層学習 AMI (DLAMI) に完全に設定済みの Open Neural Network Exchange (ONNX) がプリインストールされることになり、深層学習フレームワーク間でのモデルの移植性が向上しました。このブログ記事では、ONNX を紹介し、DLAMI で ONNX を使用してフレームワーク間でモデルを移植する方法を示します。 ONNX とは ONNX は、オープンソースライブラリであり、シリアライゼーションフォーマットを使って深層学習モデルをエンコードおよびデコードします。ONNX は、ニューラルネットワークの計算グラフのフォーマットと、ニューラルネットワークアーキテクチャで使用される演算子の広範なリストを定義します。ONNX は、Apache MXNet、PyTorch、Chainer、Cognitive Toolkit、TensorRT などの一般的な深層学習フレームワークですでにサポートされています。普及しているツールで ONNX のサポートが拡大することにより、機械学習の開発者は、ツールの違いを超えてモデルを移動し、必要な作業に最適なツールを選択することができるようになります。 Chainer モデルを ONNX にエクスポートする それでは、Chainer モデルを ONNX ファイルにエクスポートする手順を見てみましょう。 まず、Ubuntu または Amazon Linux で DLAMI のインスタンスを起動します。以前に起動したことがない場合は、DLAMI を使い始める方法を説明しているこの素晴らしいチュートリアルをご覧ください。 SSH 経由で DLAMI に接続したら、DLAMI に設定済みでプリインストールされている Chainer Python 3.6 […]

Read More

機械学習の正確性に関する考察

本ブログ記事は、機械学習の正確性とバイアスについての大まかな考えをいくつかまとめたものです。 まず、顔認識トライアルを実施した最近の ACLU ブログ記事に関する意見から始めましょう。ACLU は Rekognition を使って、公開されている 25,000 枚の逮捕写真を用いた顔データベースを構築してから、アメリカ連邦議会の現議員全員の公開写真でデータベースの顔の類似性検索を実行しました。この検索では 535 件中 28 件の誤一致 (信頼水準 80%) が見つかり、これは 5% の誤認 (「偽陽性」とも呼ばれます) 率、95% の 正解率となります。ACLU はデータセット、手法、または詳細な結果を公開していないので、ここでは ACLU が公表した事柄に基づいて判断することしかできませんが、ACLU の主張に関しては以下のように考えています。 Rekognition における顔認識 API のデフォルト信頼性しきい値は 80% です。これは、広範な一般的ユースケース (ソーシャルメディアで著名人を認識する、または写真アプリでよく似た家族を認識するなど) には適切ですが、公共安全のユースケースには適切ではありません。ACLU が使った 80% の信頼性しきい値は、個人の正確な認識を確実にするには低すぎる値です。このレベルの信頼性では、偽陽性は避けられません。 AWS では、公開されている AWS ドキュメントに記載されているとおり、精度の高い顔の類似性一致が重要となるユースケースには 99% を推奨しています。偽陽性に対する信頼性しきい値の影響を説明するために、AWS は、学究的環境で一般的に使用される 850,000 を超える顔のデータセットを使って顔コレクションを作成し、テストを実施しました。次に、アメリカ連邦議会 (上院および下院) の全議員の公開写真を使い、ACLU ブログと似た方法でこのコレクションの検索を行いました。 信頼性しきい値を 99% (AWS ドキュメントで推奨されている値) に設定した場合、より大きな顔のコーパス (ACLU のテストよりも […]

Read More

TensorFlow コンテナと Amazon SageMaker での「独自のアルゴリズムの導入」を活用する、カスタムラベルの転移学習

データ科学者および開発者は、Amazon SageMaker の完全マネージド型機械学習サービスを使用して機械学習 (ML) モデルを構築およびトレーニングし、実稼働対応可能なレベルでホストされている環境に直接デプロイすることができます。 このブログ記事では、Amazon SageMaker を使用して、トレーニングと推論のための独自のコードで TensorFlow コンテナによる転移学習を行う方法を説明します。 転移学習は、追加のカスタムラベルのために AlexNet や ResNet[1] などの既にトレーニングされたニューラルネットワークを再トレーニングするためにコンピュータビジョンの問題で使用されるよく知られているテクニックです。また、Amazon SageMaker は、組み込みの画像分類アルゴリズムによる画像分類のための転移学習もサポートしており、独自のラベル付き画像データを使用して ResNet[1] ネットワークを再トレーニングすることもできます。Amazon SageMaker についての詳細は、この画像分類のドキュメントを参照してください。転移学習および関連するガイドラインをいつ使用するかを理解するには、こちらをご覧ください。 Amazon SageMaker の組み込みの画像分類アルゴリズムは幅広い種類の用途に適していますが、事前にトレーニングされたネットワークとそれがトレーニングされた画像データの異なる組み合わせが必要となる場合があります。たとえば、念頭に置いておくべき基準のいくつかは、元のデータセットと新しいデータセットの類似性、新しいデータセットのサイズ、必要なラベルの数、モデルの精度、トレーニングしたモデルのサイズ、そして再トレーニングに必要なコンピューティング能力の量などです。仮に、トレーニングしたモデルをハンドヘルドデバイスにデプロイしようとしているなら、MobileNet などのフットプリントが小さいモデルを採用する方が良いかもしれません。あるいは、コンピューティング効率がより良いモデルが欲しいなら、Xception のほ方が VGG16 や Inception よりも優れています。 このブログ記事では、ImageNet データセットで事前にトレーニングした inception v3 ネットワークを採用し、Caltech-256 データセット (Griffin、G. Holub、AD. Perona、P. The Caltech 256. Caltech Technical Report) を使用して再トレーニングします。Amazon SageMaker を使用すると、独自のコンテナをバンドルして Amazon Elastic Container Registry (Amazon ECR) にインポートするのが非常に簡単になります。あるいは、Amazon […]

Read More

R5、R5d、z1d インスタンスが利用可能になりました

つい先週のことですが、私は高速なプロセッサーとより多くのメモリを使用する EC2 インスタンスを起動する計画について語りました。本日より R5、R5d、z1d インスタンスが利用開始となったことを報告させていただきます。では詳しく見てみましょう。 R5 インスタンス メモリ最適化された R5 インスタンスは、カスタム Intel® Xeon® Platinum 8000 シリーズ (Skylake-SP) プロセッサーを使用し、持続するオールコア Turbo Boost を搭載した最大 3.1 GHz で動作します。これらは分散インメモリキャッシュ、インメモリ分析、ビッグデータ解析に最適で、6 つのサイズが利用できます。 インスタンス名 vCPU メモリ EBS 最適化された帯域幅 ネットワーク帯域幅 r5.large 2 16 GiB 最大 3.5 Gbps 最大 10 Gbps r5.xlarge 4 32 GiB 最大 3.5 Gbps 最大 10 Gbps r5.2xlarge 8 64 GiB 最大 […]

Read More