Amazon Web Services ブログ

Category: Artificial Intelligence

深く掘り下げて問題を解決する: Well Data Labs が、石油およびガス分野の課題に機械学習を適用

2014 年に CEO の Josh Churlik 氏が Well Data Labs を共同設立したとき、彼は業界における奇妙な二分法を強く意識していました。石油およびガス会社にとって、「坑内」の技術革新 (つまり地下で起こること) は、データや分析の技術革新のペースをはるかに上回っていたのです。当時使用されていたデータシステムは 1990 年代の遺物であり、必要とする人々にとって有益であるよりも、歴史への敬意がより強いものでした。 業界の他の多くの人と同様に、Josh と Well Data Labs のチームは、現場のエンジニアの仕事をずっと容易にする可能性がある情報にアクセスできないことに不満を感じていました。業界がスプレッドシートで発展している間、Churlik 氏と彼のチームは、クラウドコンピューティングの急速な進歩に基づいて最新のソフトウェア会社を設立する機会を見つけました。 その結果生まれた会社である Well Data Labs は、「事業者が自社の内部データを管理、分析、報告するための最速かつ最も簡単な方法を提供するために構築された最新のウェブアプリケーション」と自称しています。 つまり、Well Data Labs は、運用中に作成された厄介な時系列データ (キャプチャ、正規化、構造化、およびそのデータに対する分析の有効化) をすべてウェブベースのアプリケーション内で効率的に処理するのです。 Well Data Labs が提供するものを使用すると、エンジニアはより迅速で、より情報に基づいた決定、つまり運用のコストと成功に直接かつ直接的な影響を及ぼす決定を下すことができます。Well Data Labs の顧客が現場での操作をリアルタイムで監視できるように、同社は手動によるフロントエンドのデータ収集と分析を AWS で実行されるカスタム開発の機械学習 (ML) モデルに置き換えました。 AWS の技術スタックがこのソリューションの原動力です。Churlik 氏は、次のように説明しています。「開始したときに、他のクラウドプロバイダーと AWS の間でベイクオフを行いました。私たちは .NET スタックと SQL データベースを使いましたが、AWS ははるかに高性能でした。」 それで、AWS […]

Read More

正確な住宅料金予想を: Entrata が Amazon SageMaker の使用および 1Strategy との提携によりアパートの占有率上昇に成功

住宅市場は複雑な状況に置かれています。  例えば、大学キャンパス付近の学生用物件では供給状態が常に変動します。さらに、賃貸価格の許容値も、物理的・社会的な要因によって絶え間なく変化します。こうした要因には、他の物件と比較してキャンパスに近いか、近隣に友達が住んでいるか、そしてその他の物件と同じように近隣に駐車場があるかが含まれるでしょう。このような相互作用はあらゆるレベルで起こります。物件全体の価値が変化することにより、特定の物件の価値がさらに下がったり、反作用が発生したりするケースもあります。 不動産管理会社が賃貸物件から最大の収益を得るには、テナントごとのプライスポイントの範囲内で各物件の料金を設定する必要があります。しかし、不動産管理会社側は料金制約条件が何か分からないことがあります。  料金を下げ過ぎて収益を失うことはしたくありません。逆に料金を上げ過ぎると空室状態を招き、結局物件の維持費を管理会社側で支払わなければならなくなります。価格のバランスをとるのは難しい問題です。 集合住宅管理ソリューションを提供する総合テクノロジープロバイダーである Entrata は、AWS の機械学習 (ML) を導入することによってこの問題を解決しています。 具体的には、地域、さらには建物に特化したデータ (占有率やキャンパスへの近さ、賃貸契約期間など) を Amazon SageMaker を実行する ML ベースの動的料金エンジンに入力しています。このモデルにより、Entrata の顧客である不動産管理業者は占有率レベルの予測を行い、結果として学生用住宅物件の料金を最適化することができています。 こうして実装されたこのソリューションでは、数多くの AWS サービスが使用されています。  まず、AWS Glue によって Entrata の履歴データが Amazon S3 に抽出されます。このデータによって Amazon SageMaker での料金予想が可能になります。この価格予想は Amazon S3 のアウトプットバケットに書き出されます。Entrata のアプリケーションは API Gateway を使用してこのデータリクエストを消費します。これにより、AWS Lambda 関数がトリガーされ、空室の物件に最も関連性の高い価格予想が提供されます。 このソリューションは、Entrata と、AWS プレミアコンサルティングパートナーである 1Strategy とのパートナーシップによって開発されました。シアトルに拠点を置く同社は、ビジネスによる AWS 上のワークロードのアーキテクチャ設計、移行、最適化をサポートしているコンサルティング会社です。1Strategy と Entrata の長きに渡るパートナーシップの中、この ML プロジェクトは直近のものであり、間違いなく最高の合同テクニカル事業であると言えます。 2 社のコラボレーションは、以前は […]

Read More

言葉がゲームボードであり、Amazon Polly が楽しさをもたらす Volley での音声プレイ

音声による体験が、勢いを増し、人気を集めています。Volley は、一連の人気のあるスマートスピーカーゲームでの音声制御エンターテイメントの最先端にいます。そして、Volley の多くの側面は Amazon Polly を活用しています。 毎日、ますます多くの人々がボタンを押すことによってではなく、スマートスピーカーへの口頭でのコマンドでライトをつけ、お天気をチェックし、音楽を楽しんでいます。Volley は、元はハーバードでのルームメートであった Max Child 氏 (CEO) と James Wilsterman 氏 (CTO) によって 2016 年に共同設立されたサンフランシスコに拠点を置くスタートアップ企業です。同社の使命は、スマートスピーカーを使って、楽しい体験を築くことです。 Volley は、歌のクイズから政治的風刺、ロールプレイングゲームまで、あらゆる種類のゲームを制作しています。「Yes Sire」などの後者のゲームの多くは、自分独自の冒険スタイルを選ぶゲームを特徴としており、そこでは各プレイヤーの選択によって無限の対話が繰り広げられます。Volley が複数のキャラクターがやり取りする中でこうした対話を拡大できるのは、Amazon Polly に大きく依存しています。 「それぞれのキャラクターを特定の Amazon Polly の声に関連付けています」と、Wilsterman 氏は語りました。「私たちのオンザフライ TTS 生成がうまくいくのは、Amazon Polly の text-to-speech API のレイテンシーがユーザーが本質的に知覚できないほど十分に低いからなのです。」 コストの観点からすると、この比較は非常に簡単です。ゲームを発声するために声優を雇うことは、1,000 倍もコストがかかることになります (文字通り、一斉射撃 (Volley) が成果をあげたのです)。Amazon Polly は反応速度が決まっており、人間よりも反応が速いのです。また、録音された脚本に従った声優の場合よりも多様なキャラクターや反応を提供できます。 「私たちは、ゲームで多様で記憶に残るキャラクターを披露したいのです」と、Wilsterman 氏は言いました。「Amazon Polly が、そのために役立つさまざまな言語、アクセント、年齢層をサポートしていることに感謝しています。」 たとえば、Amazon Polly に組み込まれているドイツ語のサポートは、Volley が最近ドイツ向けにローカライズ版の「Yes Sire」 (名前は「Ja […]

Read More

Course Hero, により学生の学習を支援、Amazon SageMaker による対応

Course Hero は学生に学習ガイド、クラスノート、および多くの科目の練習問題を含む 2500 万のコース特有の学習資料へのアクセスを提供するオンライン学習プラットフォームです。このプラットフォームは AWS 上で実行され、各学生が自信をもち、準備ができた気持ちでコースを受講できるように設計されています。Course Hero はそれを実現するために、Course Hero にパワーを与え、主たる人工知能と ML プラットフォームとして機能する Amazon Machine Learning (Amazon ML) を使用して、自ら学習できるように装備しています。 Course Hero の人工知能グループは、会社のセマンティック知識グラフを作成することをタスクとしています。この常に拡大しているグラフにより、受講生はパーソナライズされた学習体験にアクセスでき、教育者は独自のコースコンテンツを作成するためのツールを利用できます。 Course Hero のオファーのほとんどの側面は、様々な形態で AWS に依存しています (計算または ML のいずれか)。たとえば、Amazon Elasticsearch Service (Amazon ES) は、学生と教育者が教材を検索するために使用する検索機能を強化します。Amazon ES プラットフォームは、Course Hero チームが API 拡張プラグイン を通じて独自の実施を書くことができるようにします。このプラグインにより、ローカルに凝縮したセマンティック検索機能を必要とするより難解な検索に対しても、関連性のあるユーザーエクスペリエンスを柔軟に作成できます。 学生および教育者は、自分のコンテンツをアップロードするのと引き換えに、Course Hero のドキュメントライブラリ(自由にアクセス可能)を検索します。Course Hero はすべての文書を公開可能なライブラリ資料として受け付けていません。 文書は、クラウド主導の審査プロセスを経た後でライブラリに受け入れられます。新しい文書がアップロードされると、Amazon EMR および Amazon SageMaker Inference Pipelines で実行中の人工知能プラットフォームが文書に不正、倫理規定違反、著作権侵害、およびスパムがないかどうか確認し、検証します。 […]

Read More

Model Server for Apache MXNet を使って、独自の深層学習フレームワークを Amazon SageMaker で使用する

深層学習 (DL) フレームワークを使用すれば、機械学習 (ML) モデルを構築し、トレーニングできます。しかし ML モデルを本番環境でデプロイし、予測 (推論ともいう) をリアルタイムで処理するプロセスは複雑です。そのため ML の実践者は、これらのモデルをホストし推論リクエストを大規模に処理できる、スケーラブルかつパフォーマンスの高いモデルサーバーを構築する必要があります。 この問題に対処しようと、Model Server for Apache MXNet (MMS) が開発されました。MMS は極めてスケーラブルなだけでなく、すぐに使える推論サーバーです。MMS は ML/DL フレームワークに依存しないように設計されているため、どんな ML/DLフレームワークでトレーニングしたモデルでもホストできます。 この記事では MMS を利用して、運用中の ML/DL フレームワークまたはツールキットを使ってトレーニングしたモデルをホストする方法をご紹介します。本番用ホスティングには、Amazon SageMaker を使います。この PaaS ソリューションはインフラストラクチャを構築する数多くの作業を行ってくれるため、自身のユースケースに集中できます。 今回のソリューションでは、「Amazon SageMaker ホスティングサービスでの独自の推論コードの使用」で概説したアプローチを使用します。この記事では、必要とされるすべての依存関係、ライブラリ、フレームワークとその他のコンポーネントとともにモデルを使用する方法について説明します。それらを 1 つのカスタム Docker コンテナにコンパイルしてから、Amazon SageMaker でホストします。 MMS が ML/DL フレームワークに依存しないアーキテクチャーであることをお見せするため、PaddlePaddle フレームワークでトレーニングしたモデルを本番で投入することにしました。MMS 持ち込み (BYO) コンテナを使って、ML/DL フレームワークでトレーニングしたモデルを Amazon SageMaker で使用する手順を次の図に示しました。 この図が示すように、MMS BYO […]

Read More

Amazon TensorFlow を使用した Amazon Elastic Inference でのコストの最適化

Amazon Elastic Inference を使用すると、低コストの GPU によるアクセラレーションを Amazon EC2 および Amazon SageMaker インスタンスに適用して、深層学習推論の実行コストを最大 75% 削減できます。EIPredictorAPI を使うと、Elastic Inference を簡単に使用できます。 この記事では、EIPredictor を使用し、Elastic Inference で TensorFlow を使用するための段階的なサンプルを説明します。さらに、TensorFlow とともに Elastic Inference を使用することによるコストとパフォーマンスの利点についても説明します。40 ビデオフレームに対する FasterRCNN-ResNet50 の総推論時間を以上で ~113.699 秒から ~8.883 秒に改善し、コスト効率を 78.5% 向上させた方法について丁寧に説明します。 EIPredictor は TensorFlow Predictor API に基づいています。EIPredictor は TensorFlow Predictor API と一貫性があるように設計されているので、2 つのデータ構造間ではコードの移植性があります。EIPredictor は、単一の Python スクリプトまたはノートブック内で Elastic Inference を簡単に使用できる方法であることを意図しています。TensorFlow Predictor をすでに使用しているフローでは、コードを 1 つ変更するだけで済みます。EIPredictorをインポートして指定するだけです。この手順は、後で示します。 Elastic Inference […]

Read More

カスタム語彙を構築して、Amazon Transcribe による speech-to-text 文字起こしの精度を高める

Amazon Transcribe は、開発者が speech-to-text 機能をアプリケーションに追加することを容易にする完全マネージド型の自動音声認識サービス (ASR) です。ユースケースによっては、正しく文字起こしされていない分野固有の用語がある可能性があります (例、「EBITDA」や「myocardial infarction (心筋梗塞)」)。この記事では、カスタム語彙機能 (カスタム発音とカスタム表示フォーム) を活用して、ユースケースに関連する分野固有の単語や語句の文字起こし精度を向上させる方法を紹介します。 カスタム語彙は、他の方法では一般的な ASR サービスの一部にはならない用語を文字起こしするのを助ける強力な機能です。たとえば、ユースケースによって、「Hogwarts」のように、通常は言語モデルの一般的な辞書の一部ではないブランド名や固有名詞が含まれることがあります。この場合、カスタムテキストを追加できるだけでなく、発音に関して ASR サービスに指示し、システムが不慣れな用語をよりよく認識できるようにすることもできます。関連した話では、おそらく車のブランド名として「ロータス」と言う用語があるでしょう。当然のことながら、私たちはすでに「蓮 (ロータス)」を花として認識しています。しかし、ユースケースによっては、認識する状況の中で適切に大文字化することで、その用語を車両の製造元またはモデルとして文字起こしさせたいと望むでしょう。最近追加されたカスタム表示フォームを使用すると、これを実現することができます。 それでは、カスタム発音とカスタム表示フォームの両方を使用している例をいくつか見てみましょう。 まず、サンプルオーディオを録音して S3 バケットに保存しました (これは前提条件であり、次のドキュメントに従って実現できます)。参考までに、オーディオファイルの正確さや整合性をチェックするためのテキストは次の通りです。 「Hi, my name is Paul.And I’m calling in about my order of two separate LEGO toys.The first one is the Harry Potter Hogwarts Castle that has a cool Grindelwald mini-fig. The second […]

Read More

Amazon Machine Learning で実行する社会的支援ロボットを使って車椅子の利用者に力を与える

Loro は社会的支援ロボットで、身体が不自由なユーザーが、周囲を見たり、感じたり、話したり、人々と対話したりするのを支援することによって、世界をよりしっかりと体験するのをサポートしています。  Loro は、さまざまな AWS 人工知能 (AI) サービス、特に機械学習 (ML) サービスを駆使して、幅広いユースケースで役立っています。 車椅子の利用者やその他の身体が不自由な人たちが直面する困難は、身体的な制約にとどまりません。社会的なやり取りや個人の健康と安全が、生活の中で絶えず直面する難題です。Loro の共同創設者 David Hojah 氏と Johae Song 氏は、車椅子に縛られた友人でメンターの Steve Saling に触発されて、これらの難題を軽減するために社会的支援ロボットを創作しようと決意しました。CTO の Hojah 氏は「Loro が肩に乗ったオウムのようにフレンドリーな伴侶になれればと思いました」と言葉をつづっています。 この「オウム」とそのコンパニオンアプリを徹底的にバックアップしているのが、AWS AI/ML です。  Among the services that work in concert to give Loro its assistive abilities are Amazon SageMaker and AWS DeepLens, as well as a wide combination of Amazon […]

Read More

MXNet モデルサーバーを使った PyTorch 推論のデプロイ

トレーニングと推論は、機械学習 (ML) 開発サイクルの重要な要素です。トレーニングの段階で、特定の問題に対処するためのモデルを教えます。このプロセスを通じて、本番稼働で使用する準備ができたバイナリモデルファイルを入手できます。 推論については、TensorFlow Serving や Model Server for Apache MXNet (MMS) など、モデルデプロイ用のフレームワーク固有のいくつかのソリューションから選択することができます。PyTorch は、PyTorch でモデルサービングを実行するためのさまざまな方法を提供します。 このブログ記事では、MMS を使用して PyTorch モデルをサーブする方法を説明します。 MMS はオープンソースのモデルサービングフレームワークであり、大規模な推論のための深層学習モデルをサーブするように設計されています。MMS は、本番稼働での ML モデルのライフサイクルを完全に管理します。MMS は、コントロールプレーンの REST ベースの API と共に、ロギングやメトリクスの生成など、本番ホストのサービスに必要な重要な機能も提供します。 以下のセクションでは、MMS を使用して PyTorch モデルを本番環境にデプロイする方法について説明します。 MMS による PyTorch モデルのサービング MMS は、ML フレームワークに依存しないように設計されています。言い換えれば、MMS はあらゆるフレームワークのバックエンドエンジンとして機能するのに十分な柔軟性を備えています。この記事では、PyTorch で MMS を使用した、堅牢な本番稼働レベルの推論について説明します。 アーキテクチャ 次の図に示すように、MMS はモデルをモデルアーカイブの形式で使用します。 モデルアーカイブは、Amazon S3 バケットに配置することも、MMS が実行されているローカルホストに配置することもできます。モデルアーカイブには、推論を実行するためのすべてのロジックとアーティファクトが含まれています。 また、MMS では、ML フレームワークおよびその他の必要なシステムライブラリを事前にホストにインストールする必要もあります。MMS は ML […]

Read More

Amazon SageMaker のバッチ変換を使用して予測結果を入力データに関連付ける

大規模なデータセットに対して予測を実行するときは、実行前にいくつかの入力属性を削除することをお勧めします。これは、これらの属性が信号を伝達しない、または機械学習 (ML) モデルのトレーニングに使用するデータセットの一部ではなかったという理由からです。ジョブの完了後、予測結果をすべてまたは一部の入力データに分析用としてマッピングすることにも役立ちます。 たとえば、ID 属性を持つデータセットを考えてみましょう。一般に、観測 ID は特定の ML 問題に対する信号を伝送しないランダムに生成した番号か連続番号です。このため通常、観測 ID はトレーニングデータ属性の一部ではありません。しかし、バッチ予測を行う場合は、出力に観測 ID と予測結果の両方を 1 つのレコードとして含めることもできます。 バッチ変換機能は Amazon SageMakerで、Amazon S3 に格納されているデータセットに対して予測を実行します。以前はバッチ変換ジョブの作成前に入力データをフィルター処理し、ジョブの完了後に予測結果を目的の入力フィールドに結合する必要がありました。Amazon SageMaker のバッチ変換を使えば、予測を実行する前に属性を除外できるようになりました。CSV、テキスト、JSON 形式のデータを使用すると、予測結果を部分的または全体の入力データ属性と結合することもできます。このため、追加の前処理や後処理が不要となり、ML プロセス全体が高速化します。 この投稿では、この新しい機能を使用して Amazon SageMaker のバッチ変換ジョブの入力データをフィルター処理し、予測結果を入力データセットの属性と結合する方法を説明します。 背景 Amazon SageMaker は ML のワークフロー全体を対象にした完全マネージド型サービスです。このサービスは、データにラベルを付けてデータを準備し、アルゴリズムを選択して、モデルのトレーニングを行い、デプロイ用にモデルを調整および最適化を行い、予測を行い、実行します。 Amazon SageMaker はバッチ変換ジョブの開始時に、リソースのプロビジョニングを管理します。ジョブが完了するとリソースを解放するので、ジョブの実行中に使用したリソースに対してのみ支払うことになります。ジョブが完了すると、Amazon SageMaker は指定された S3 バケットに予測結果を保存します。 バッチ変換の例 UCI の乳がん検出のためのパブリックデータセットを使って、特定の腫瘍が悪性 (1) または良性 (0) である可能性があるかどうかを検出するバイナリ分類モデルをトレーニングします。このデータセットには各腫瘍の ID 属性が付属しています。これらはトレーニングと予測の際に除外されます。ただし、バッチ変換ジョブからの各腫瘍の悪性腫瘍について予測した確率を使用して、ID 属性を最終的なアウトプットに戻し、記録します。 手引きとなる Jupyter ノートブックもダウンロードできます。この記事の以下の各セクションはノートブックのセクションに対応していますので、読みながら各ステップのコードを実行してください。 設定 […]

Read More