Amazon Web Services ブログ

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

1億2500万人のゲーマーをオンラインでスムーズにプレーするにはどうすればいいでしょうか?Epic GamesがFortniteについて語ってくれました。

FortniteのクリエイターであるEpic Gamesは、2018年7月17日にニューヨークのJavits Centerで開催されたAWSサミットでAWSサービスへオールインを明らかにしました。 ゲーム上に1億2500万人のプレイヤーを想像してください。1億2500万人、それはニューヨークの人口の15倍になります。マルチプレイヤーゲームをプレイしているすべての人が、夢を実現するでしょう。 プレイヤー全員が素晴らしい時間を過ごすことを保証しなければなりません。どのようにしてこの大変多くの人々のすべてのデータを取り扱うのでしょう? Epic GamesのFortnite クリエイターが今年、自分自身でそれを見つました。Fortomiteのこの驚異的な成長により、Epic Gamesが毎月2ペタバイトのデータを扱わなければいけないことを意味します。2,000テラバイトのハードドライブが積み上がっていることを想像してください。どのようにゲームデベロッパーがその規模の情報量を処理するでしょうか?

Read More

[AWS Black Belt Online Seminar] Amazon Elastic File System (Amazon EFS) 資料及び QA 公開

先日 (2018/7/4) 開催しました AWS Black Belt Online Seminar 「Amazon Elastic File System (Amazon EFS)」 の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 PDF Q. EFSを複数のLambda間でのデータ共有に使ってみたいのですが、可能ですか ? A. Lambda 関数から EFS にアクセスすることはできません。Lambda 関数の間で情報共有を行う場合は DynamoDB を利用するか S3 を介したファイル渡しなどで実装してください。 Q. 最大どれくらいのスループットがでますでしょうか。 A. デフォルトの最大スループットは 1GB/s または 3GB/s が設定されており(リージョンによって異なります)、上限緩和申請を行うことができます。 Q. S3へのバックアップオプションなどはありますか? A. 現時点で EFS の機能として EFS から S3 へのバックアップ機能は提供されておりません。バックアップソフトウエアを利用して(EC2など)、S3に格納することなどをご検討ください。 Q. 拡張するサイズに制限をかけることはできますか? A. ファイルシステムが拡張する際の上限を設ける機能は現時点では提供されていません。 Q. オンプレからはDirect Connect経由でアクセス可能とのことですが、その場合も通信料金(下り課金)は発生しないのでしょうか。 A. AWS Direct Connect のデータ送信の料金が発生します。 Q. AWS Storage Gateway との使い分けはどのように考えるべきですか。 A. File Gateway はその名の通り、S3 へのアクセスに対応していない既存のアプリケーションを容易に S3 を利用できるようにするためのゲートウェイとして稼働するアプライアンスとして開発されているため、バックアップイメージや分析対象データをS3 にアップロードする、といった使い方には向いています。 一方で高い可用性やスループット性能が求められ、頻繁にファイルへの読み書きが発生するようなワークロードを処理するファイルサーバには EFS が向いています。 Q. EFS File Sync Agent というものが何なのか、いまいちよくわからなかったのですが、これは Storage Gateway のような VMなのでしょうか? A. EC2 または VMware ESXi のインスタンス上で動作し、データ同期処理を行うアプライアンスとお考えください。 Q. 例えば、EC2にて起動時にマウントするようにしたイメージを作成すれば、そのイメージからインスタンスを作った場合に起動時からEFSを参照できるようになる、ということであっていますでしょうか。 A. はい。/etc/fstab に EFS のファイルシステムをマウントするよう記述して AMI を作成すれば、そのイメージから起動されたインスタンスは指定したファイルシステムをマウントします。ユーザーデータに記述することでも対応できますので要件に応じて選択してください。 Q. 書き込み途中のファイルを他のマウント元から参照させたくないのですが、そのような制限は可能でしょうか? A. EFS には強力な書き込み後の読み取り整合性がありますので、書き込み途中のファイルが他の NFS クライアントから参照されることはありません。 Q. NFSのsoft […]

Read More

Piksel RetailによるAWS上のSAP Hybris Commerceのホスティング

Piksel Retailのジェネラルマネージャーを務めるJonathan Kirby、同じくPiksel Retailのテクニカルアーキテクトを務めるMichal Stypikによる記事です。 多くの小売環境で、伝統的な方法として最もよく述べられるものに、SAP Hybris Commerceをプロダクションに導入していることがあります。Hybris Commerceは、インプレース方式のコードリリースにより、静的なクラスターとして実装されます。つまり、構成変更のために、実行中のサーバー上でファイルを置き換えたり更新したりする必要があります。アップデートには慎重なリリース計画が必要であり、ダウンタイムを適切に管理する必要もあり、現行ページの裏で変更を行わなければならず、プロセス全体が非常に混乱する恐れもあります。 いくつかの組織で、SAP Hybris Commerceをクラウドに移行することを選択していますが、「リフト・アンド・シフト」の方法を採用しています。これは、クラウドに移行はしたものの、その過程で再構築はしていないことを意味しています。その結果、プラットフォームはオンプレミス環境とほぼ同じように動作しています。 Pikselのグループ企業であるPiksel Retailでは、最近、これらの課題に対処するために、デジタルコマースチャネル (Digital Commerce Channel、DC2)を構築しました。DC2は、SAP Hybrisベースのeコマースソリューションで、Amazon Web Services (AWS)上に導入しています。

Read More

Amazon Redshift の結果のキャッシュでクエリの応答時間を 1 秒未満に

お客様によると、データウェアハウスやビジネスインテリジェンスのユーザは、常に迅速な意思決定ができるように、非常に高速な応答時間を求めているということです。またユーザは、データが変わっていなくても、同じクエリを何度も繰り返すことがよくある、とも言います。クエリを繰り返すたびにコンピューティングリソースを消費するので、クエリ全体のパフォーマンスが低下します。 今回の記事では、Amazon Redshift のクエリ結果のキャッシュについて説明します。結果のキャッシュは、まさにその名前が示すことを実行します。つまり、クエリ結果をキャッシュに格納するのです。同じデータに対して同じクエリが行われると、同じクエリを再実行するのではなく、前の検索結果をキャッシュから読み取って即座に返します。結果のキャッシュによって、システムの使用が削減され、他のワークロードでより多くのリソースを利用できるようになります。これにより、ユーザーの応答時間が高速になり、クエリ全体のスループットが向上し、並行処理が増加します。

Read More

Amazon Comprehend が構文解析をサポート

Amazon Comprehend が、Syntax API をサポートするようになりました。 これにより、テキストを (たとえば、単語の境界を抽出するために) トークン化し、対応する品詞 (PoS) を単語毎にトークン化することができます。 本日、Amazon Comprehend は、顧客のコメントが否定的であるか肯定的であるかを知ることや、たとえば「Amazon」を「組織」として固有名詞を分類して特定することなど、ユースケースの分析を可能にします。この新しい Syntax API を使用すると、顧客は最も詳細なレベルのテキストとその単語自体の構文的な意味を分析できるため、より幅広いユースケースをカバーするテキスト文書をより細かく分析することができます。 たとえば、キッチンブレンダー製品を発売したばかりで、お客様のコメントを分析して、どの色が最も多く話題に挙げられているかを調べたいとします。 API に対して次の文字列を送信します。 「I love my new red kitchen blender」 応答は、それぞれの単語、トークン ID、単語自体、オフセット (テキスト内でのその単語の位置)、品詞タグ (形容詞、名詞、動詞など)、信頼度スコア (サービスが、正しい品詞タグであると確信できる度合) を返します。 以下は、応答の例です。 { “SyntaxTokens”: [ { “Text”: “It”, “EndOffset”: 2, “BeginOffset”: 0, “PartOfSpeech”: { “Tag”: “PRON”, “Score”: 0.8389829397201538 }, “TokenId”: 1 }, { “Text”: “is”, […]

Read More

Amazon SageMaker を使用して画像を分類する

イメージ分類と画像内の物体検出が最近注目されてきていますが、アルゴリズム、データセット、フレームワーク、およびハードウェアの機能の向上が組み合わさった結果です。こうした改良のおかげで技術が一般大衆化し、イメージ分類のためのソリューションが独自で作成できるようになったのです。 画像内の物体検出は、以下の画像が示すように、こうしたアクティビティを実行するアプリケーションの中でも最も重要な機能です。 人の進路と物体追跡 実際の店舗で、商品の再配置を警告する 視覚的な検索 (画像を入力して検索する) イメージ分類および物体検出に使う技術は、深層学習 (DL) に基づいているのが現状です。DL は、多層のニューラルネットワーク (NN) あるいはディープニューラルネットワークを処理するためのアルゴリズムに焦点を当てた機械学習 (ML) のサブ領域です。一方、ML は人工知能 (AI) のサブ領域で、コンピューターサイエンスの分野です。 誰でもこれらの技術にアクセスできますが、実際のビジネスプロセスをサポートするエンドツーエンドのソリューションとして、これらの要素をつなぎ合わせて使うことはまだ難しい状況です。Amazon Rekognition は、非常に正確な顔分析と画像や動画の顔認識ができるシンプルな API を装備しており、すぐに利用できるサービスなので、最初に選ぶならよい選択肢かもしれません。さらに、顔を検出、分析、比較することができるため、多岐にわたるユーザー検証、人数計算、公共の安全といったユースケースにも利用できます。Amazon Rekognition のドキュメントを読めば、シンプルな API 呼び出しでこれらの機能全てをアプリケーションに簡単に追加できることが分かります。 ただし、ビジネス上でカスタムでのイメージ分類が必要な場合は、機械学習モデルを作成するためのパイプライン全体をサポートするプラットフォームが必要です。Amazon SageMaker は、そのためのものです。Amazon SageMaker は、ML モデル開発の全ての手順、つまりデータ検索と構築、トレーニング、および ML モデルのデプロイをサポートする、完全マネージド型のサービスです。Amazon SageMaker を使用すると、どんなビルトインアルゴリズムでも選択でき使用することができるので、市場投入までの時間と開発コストを削減できます。詳細は、「Amazon SageMaker でビルトインアルゴリズムを使用する」をご参照ください。 カスタムの画像識別子を作成する このブログ記事は、服装品やアクセサリーを識別するための画像識別子の作成を目標としています。これらのアイテムの画像がいくつかあり、それらを見て、何の物体が各画像に含まれているかを言う (予測する) モデルが必要だとしましょう。Amazon SageMaker はすでにビルトインのイメージ分類アルゴリズムを装備しています。これで、データセット (画像コレクションと各オブジェクトのそれぞれのラベル) を準備し、モデルのトレーニングを開始するだけです。 公開データセットを使用します。これは Fashion-MNIST と呼ばれる ML アルゴリズムをベンチマークするための新しい画像データセットです。データセットは、6 万例のトレーニングセットと 1 万例のテストセットで構成されています。各例は、ラベルまたはクラスに関連付けられた、28×28 のグレースケール画像です。データセットには、T […]

Read More

AWS クラウドの GPU を使用した、スケーラブルなマルチノードの深層学習トレーニング

産業規模のデータセットでディープニューラルネットワークを幅広く採用する際、大きな障壁となるのは、それらをトレーニングするのに必要な時間とリソースです。AlexNet は、2012 年の ImageNet Large Scale Visual Recognition Competition (ILSVRC) を受賞し、現在のディープニューラルネットワークのブームを打ち立てましたが、120 万個の画像、1000 カテゴリのデータセット全体をトレーニングするのに約 1 週間かかっていました。機械学習モデルの開発と最適化は、反復的なプロセスです。新しいデータでモデルを頻繁に再トレーニングし、モデルとトレーニングのパラメータを最適化することで、予測精度を向上します。2012 年以降 GPU のパフォーマンスが大幅に向上し、トレーニング時間は数週間から数時間に短縮しましたが、機械学習 (ML) の専門家は、モデルトレーニング時間をさらに短縮しようと努力しています。 同時に、予測精度を向上させるために、モデルはますます大きくなり複雑化し、よって、計算リソースの需要も増加しています。 クラウドがディープニューラルネットワークをトレーニングするためのデフォルトオプションとなったのは、オンデマンドでの拡張が可能で、俊敏性が向上しているためです。さらに、クラウドを使用することで簡単に始めることができ、プリペイド使用モデルもあるからです。 このブログ記事では、分散 / マルチノード同期トレーニングを使用して、深層学習トレーニング時間をさらに最小限に抑えるため、AWS インフラストラクチャを最適化する方法をご紹介します。ImageNet データセットでは ResNet-50 を、NVIDIA Tesla V100 GPU では Amazon EC2 P3 インスタンスを使用して、トレーニング時間をベンチマークします。90 エポックの標準的なトレーニングスケジュールを使ったモデルを、わずか 8 つの P3.16xlarge インスタンス (64 V100 GPU) を使用して、約 50 分で 75.5% を超える最上位の検証精度になるようトレーニングします。 ML 専門家はモデルの構築とトレーニングに様々な機械学習フレームワークを使用するため、Apache MXNet と Horovod を装備した […]

Read More

AWS 深層学習 AMI が、最適化された TensorFlow 1.9 および Keras 2 サポートの Apache MXNet 1.2 で、Amazon EC2 インスタンスでの深層学習を高速化

Ubuntu および Amazon Linux 用の AWS Deep Learning AMI には、ソースから直接構築され、Amazon EC2 インスタンス全体で高性能のトレーニングが可能となるように微調整されている、最適化された TensorFlow 1.9 のカスタムビルドが付属しています。さらに、この AMI には、パフォーマンスとユーザビリティが何点か改善されている最新の Apache MXNet 1.2、高性能のマルチ GPU トレーニングをサポートする新しい Keras 2-MXNet バックエンド、MXNet モデルのトレーニング向けにデバッグと可視化が改善された新しい MXBoard ツールが搭載されています。 最適化された TensorFlow 1.9 と Horovod によるより高速なトレーニング Amazon Machine Images (AMI) には、ソースから直接構築され、インテル Xeon Platinum プロセッサ搭載の Amazon EC2 C5 インスタンスでのトレーニングを高速化できる、コンピューティングに最適化された TensorFlow 1.9 のカスタムビルドが付属しています。C5.18xlarge インスタンスタイプ上で、合成 ImageNet データセットに対し、当社の TensorFlow 1.9 カスタムビルドを使用して […]

Read More