Amazon Web Services ブログ

Category: Artificial Intelligence

Amazon Forecast を使用して正確なエネルギー消費量を予測する

 Amazon Forecast は、機械学習 (ML) により、それまでの機械学習経験を待つことなく、非常に正確な予測を生成できる完全マネージド型サービスです。Forecast は、エネルギー需要の予測、製品需要の見積り、人事計画、クラウドインフラストラクチャの使用状況の算定など、さまざまなユースケースに使用できます。 Forecast では、プロビジョニングするサーバーや手動で構築する機械学習モデルはありません。また、使用した分だけお支払いいただくようになっており、最低料金や前払い料金を求められることはありません。Forecast を使用するために必要なことは、予測対象の履歴データをご提供いただくことだけです。オプションとして、予測に影響を与えると思われる追加データもご提供ください。この関連データには、価格、行事、天候など、時により変化するデータと、色、ジャンル、リージョンなどカテゴリに関するデータの、両方が含まれます。このサービスでは、お手元のデータに基づいて機械学習モデルを自動的にトレーニングし、デプロイして、予測を取得するためのカスタム API を提供します。 電力会社と公益事業会社にはいくつかの予測ユースケースがありますが、中でも主なものは、顧客レベルと集計レベルの両方でエネルギー消費量を予測することです。エネルギー消費を正確に予測することにより、顧客がサービスを中断せず、低価格で安定したグリッドシステムを提供することができます。 この記事では、Forecast を使用して、過去の時系列データを気象などの重要な外生変数と組み合わせることにより、このユースケースに対処する方法について説明します。 ユースケースの背景 電力会社が日常業務を効率的に行うには、正確なエネルギー予測が不可欠です。需要は動的であり、季節による気象変化が影響を与える可能性があるため、エネルギー予測は特に困難です。最も一般的な 2 つのユースケースを次に示します。 消費者レベルでの電力消費量予測 – 多くの国では、電力は競争の激しい小売市場によって提供されています。消費者には電気を購入するという選択肢があり、高額の電気代を受け取るプロバイダーや、顧客体験が悪いプロバイダーを切り替えることができます。公益事業会社は、顧客サービスを改善し、将来の支出アラートを積極的に利用することで、顧客のチャーンを減らすことができます。これらのアラートは、個々の顧客レベルでの電力消費を正確に予測することに基づいています。 需要と供給をより適切に管理するための総消費電力予測 – 電力会社として、総需要と総需要のバランスをとる必要があります。ピーク需要を満たすためにエネルギーを購入したり、スポットマーケットで余剰容量を販売したりすることがよくあります。さらに、需要予測は次のような課題に直面しています。 風力や太陽光などの再生可能エネルギー資源の導入。これらは電力会社と最終消費者の両方が所有しており、天候の変化による影響を受けやすく、常に安定した電力を生成するわけではありません。 電気自動車の購入が増え、自動車の所有者が自宅で電気自動車を充電したいという未知の性質。予測の改善により、より費用対効果の高い先物契約を構築するための事前計画が可能になります。 この記事では、消費者レベルで、最初のユースケースのソリューションに焦点を当てています。 最初の手順では、データをセットアップして準備します。データレイクは、ユーティリティにとって革新的であることが証明されています。データウェアハウスは、既に特定の目的で処理された構造化およびフィルター済みデータのリポジトリです。対照的に、データレイクは、必要になるまでネイティブ形式で膨大な量の未加工データを保持するストレージリポジトリです。これは、何百万もの顧客からのメーターの読み取り値を収集、保存、処理する電力会社や公益事業会社にとって非常に価値があります。 ソリューションのアーキテクチャ 次の図は、顧客に請求アラートを表示するために実装できるソリューションのアーキテクチャを示しています。 アーキテクチャには次の手順が含まれます。 住宅の公益事業メーターは、通常、エネルギーを 1 時間に 1 回以上記録し、少なくとも毎日、電力会社に報告します。 さまざまなチャネルを介してデータの取り込みを実装できます。オンプレミスのデータセンターでデータを収集する場合、AWS Direct Connect を介して AWS にデータを送信できます。メーターに IoT 機能がある場合、MQTT トピックを介してデータを AWS IoT Core に送信できます。MQTT は、マシンツーマシン (M2M)/IoT 接続プロトコルです。軽量のパブリッシュおよびサブスクライブメッセージングトランスポートとして設計されました。これは、小さなコードフットプリントを必要とする、またはネットワーク帯域幅が貴重なリモートロケーションでの接続に役立ちます。 Amazon S3 […]

Read More

AWS DeepLens を使用してゴミ選別機を構築する

このブログ記事では、AWS DeepLens を使用してゴミ選別機の試作品を構築する方法を示します。これは、開発者が機械学習を楽しく実践的に学習するために設計された AWS のディープラーニング対応ビデオカメラです。このゴミ選別機の試作品を構築するプロジェクトから、カスタムデータを使用して画像分類モデルをトレーニングする方法が学べます。 画像分類は強力な機械学習手法であり、機械学習モデルは、多くの例を観察することにより、画像内のさまざまなオブジェクトを区別する方法を学習します。このブログ記事でご紹介する手法を活用して、画像に基づいてオブジェクトを異なる箱に分類すること (果物をサイズやグレードで分類するなど) や、画像内のオブジェクトの存在を検出すること (セルフチェックアウト時にオブジェクトのタイプを認識するなど) が求められる問題を解決できます。 このチュートリアルは、AWS Public Sector Builders Fair のために立ち上げられたスマートリサイクルアームプロジェクトに触発されました。詳細については、「Demonstration: Automatic Recycling」を YouTube でご覧ください。   ソリューションの概要 このチュートリアルには、次の手順が含まれます。 ML アルゴリズムにフィードするデータセットを収集して準備する ML モデルをすばやく構築、トレーニング、デプロイする機能を提供するフルマネージドサービスである Amazon SageMaker でモデルをトレーニングする AWS DeepLens でローカルにモデルを実行して、データをクラウドに送信せずにゴミの種類を予測する オプションで、AWS DeepLens が予測を行った後、AWS IoT Greengrass を介して Raspberry Pi にメッセージを送信するように AWS DeepLens を設定し、アイテムをどのゴミ箱に投げ込むかを見ることができます。 以下の図は、このソリューションのアーキテクチャを示しています。 前提条件 このチュートリアルを完了するには、次の前提条件が必要です。 AWS アカウント AWS DeepLens デバイス。Amazon.com (米国)、Amazon.ca (カナダ)、Amazon.co.jp […]

Read More

Dashbot を使用した Amazon Lex 会話の分析と最適化

この記事は、Dashbot の共同創設者兼 CEO である Arte Merritt 氏と共同執筆しました。同社の説明によれば、「Dashbot は、Chatbot と音声スキルのための分析プラットフォームであり、企業は実用的な洞察とツールを通じてエンゲージメント、満足度、および変換を向上させることができます」 ボットをデプロイした後、ボットの相互作用を分析し、この分析から学んで、これらの学びを使用してエンドユーザー体験を向上させることができます。会話型インターフェイスは、ウェブサイトやモバイルアプリケーションよりも簡単に分析を行えます。ページビューをつなぎ合わせてイベントを選択することにより、ユーザーが何を望んでいるかを推測する代わりに、会話からユーザーの行動を直接推測できます。ユーザーは何を望んでいるかを自分の言葉で伝え、ニーズ、願望、期待、失望に関してコミュニケーションを取っています。この貴重なデータを応用して、ユーザーの意見に耳を傾け、学び、最適化できるかはあなた次第です。 Amazon Lex インターフェイスを Dashbot と簡単に統合できるようになりました。Dashbot は、最初から会話型アプリケーションを分析して理解するために構築された、分析と最適化のプラットフォームです。Dashbot は、ユーザー数、保持メトリック、ファネルの追跡など、分析プラットフォームに期待されるレポートを提供します。さらに、Dashbot は、検索可能な記録、会話パス、フレーズクラスターなど、会話型アプリケーション用に特別に構築されたいくつかのソリューションを提供します。  この記事では、Dashbot 機能を使用して Amazon Lex ボットとの相互作用を分析する方法について説明します。 ソリューションのアーキテクチャ AWS Lambda 関数を使用して、Amazon CloudWatch Logs から会話ログデータをストリーミングします。ロググループから Lambda 関数をトリガーするイベントをセットアップします。Lambda 関数は JSON データを Dashbot アカウントに投稿します。これらのリソースを配置したら、Dashbot でダッシュボードを作成できます。 このソリューションでは、Amazon Lex 会話ログデータを使用してボットの相互作用をキャプチャし、Dashbot サービス機能を使用してキャプチャした相互作用を分析できます。以下の画像は、インテントの上位メッセージを示しています。 Dashbot でアカウントを作成する Dashbot アカウントをセットアップするには、以下の手順通りに実行します。 dashbot.io に移動します。 [サインアップ] を選択します。注意: メールアドレス、会社名、パスワードを入力する必要があります。 [ChatBot を追加] を選択します。 [ボット名] […]

Read More

AWS が NVIDIA GTC Digital でオンラインセッションを開始

2020 年 3 月 24 日より、NVIDIA GTC Digital では皆さんが ML の目標をより速く、より簡単に達成できるよう、AWS のベストプラクティスを学べるコースの提供を開始します。登録は無料ですので、すぐにご登録ください。AWS では以下のセッションをご用意しました。 S22492: Train BERT in One Hour Using Massive Cloud Scale Distributed Deep Learning AWS で BERT のトレーニングをほぼ直線的に 2,048 NVIDIA V100 GPU までスケーリングした方法、そして、皆さん独自のトレーニングジョブをクラウド規模にスケーリングする方法をご紹介しています。大規模なトレーニングクラスターを作成し、AWS の新しい分散型トレーニングフレームワーク (クラウド上で BERT の最短トレーニング時間を達成するために使用) を活用する方法をご覧ください。 Aditya Bindal、AWS Deep Engine、シニアプロダクトマネージャー Indu Thangakrishnan、 AWS Deep Engine、ソフトウェア開発エンジニア S22493: Improve ML Training Performance with […]

Read More

AWSも提言を行った、農水省DX室の「デジタル地図」構想がプレスリリースに至りました

農林水産省(以下「農水省」)様より、”「デジタル地図」を活用した農地情報の管理に関する検討会』取りまとめ” が公開されました(2020年3月下旬公開、以下「取りまとめ」)。2019年秋以降、本検討会へはAWSメンバーも参加して各種の提言を行って参りました。以下、AWSパブリックセクターより、本「取りまとめ」の意義や要点を解説しながら、農林水産政策分野やデジタル地図に関連するAWSのサービスや事例をご紹介させていただきます。   ❖「デジタル地図」検討会設置の目的 農水省では、現状の”農地情報は各施策の実施機関ごとに個別に収集・管理されている”こと、つまりは情報が散在していることに起因し、 1)農業者は、同様の情報でも実施機関ごとに個別に申告、 2)実施機関ごとに、農地情報を独立したデータベースで管理、 3)現地確認も実施機関ごとに実施しているため、情報の整合性を保つための突合作業等は大きな負担となっており、また、整合性が取れていないケースもあるといった状態 ────といった問題があることを特定しました。 これらの問題意識から出発し、農水省DX室は今回の「デジタル地図」を活用した農地情報の管理に関する検討会の設置を決め、約半年間に渡り活動を重ねてきました。この、先進技術と政策の融合を目指した取り組みに関しては、「農地情報をデジタル地図に 農水省が一元化」と題して日経新聞など各種メディアでも報じられていたところです。 検討会での主な論点となったのは、「農地情報の一元的な管理を可能とする技術的環境が整備されつつある」なか、いかにして「農地情報の正確性と整合性を確保しつつ、農業者や実施機関等の関係者の負担軽減を図ることができる」か──という点です。特に、「幅51cmもの、農地転用に関する分厚い書類」「2,136時間&57,300枚が、経営所得安定対策の申請受付等に費やされる」「7,200経営体が22,000筆のデータを個別にPDF化し打ち込み」といった全国の農業関係者が直面する困難がデータポイントで列記される「第2章 現状と課題」は圧巻です。 これらの負担を先端技術により解決することを目指した本検討会においては、クラウドを活用することで高水準で実現することができる”拡張性”・”信頼性”・”柔軟性”・”堅牢性”・”可用性” 等の観点から整理をいただき、”システムの構築・運用に当たっての原則”として記載をいただいております。詳しくは、「取りまとめ」の“第5章 デジタル地図のシステム要件”をご参照ください。 (参考) ↓:「取りまとめ」文書中の、システムの構築・運用の原則 こうした方向性のもと取りまとめられた今回の農水省DX室のイニシアティブが、以下サイトにてプレスリリースされました: ”「デジタル地図」を活用した農地情報の管理に関する検討会』取りまとめについて”   ❖ AWSからの提言:クラウドが「デジタル地図」の有効活用を加速する 農水省の「取りまとめ」には、幾つもの政策的・技術的に踏み込んだ内容が記載されており、以下のとおりAWSからの提言と合致する論点も盛り込まれています: オンプレからクラウドへの転換:「従来のオンプレミス[・・中略・・]では、限られたネットワーク内でしかGIS[注:地理情報システム]上の地図情報の閲覧、編集ができなかったが、クラウドベースのGISを活用することにより、インターネット接続による地図情報の閲覧、編集が格段と容易になる」との記載にて、クラウドベースでの技術のメリットを明記いただいています。 ”地図”に関連し、DX室にも紹介させていただいた、高精度地図データ配信にAWSの機械学習モデルを活用した株式会社ゼンリンデータコム様の事例に関しては、こちらをご覧ください。 拡張性の高いデータベース:「データベース管理については、将来的なデータ項目の追加や、レコード数やアクセス数の増大等によるアクセス速度の低下防止に対応できるようにすることが重要であるが、データ項目の柔軟な加除やシステムの高速化を可能とするNoSQL等の新しいデータベース管理手法も活用可能となってきている」との記載にて、新型のDBMS採用を模索する方向性を明記いただいています。NoSQLデータベースを含む、AWSのデータベースサービスの全容に関してはこちらをご参照ください。 超大規模データのオープン化:「国や地方自治体において、様々なデータをリアルタイムで集約し、データに基づいた多元的な分析を行うことで、農業施策に反映させることで、課題の的確な把握・対応を可能とする。また、集約されたデータをオープン化することで、研究機関等による多様なデータ分析に基づいた政策提言を容易にする」との記載にて、オープンデータ化の方向性を明記いただいています。オープンデータを加速するAWSの取り組みに関してはこちらをご覧ください。特に、公的機関向けにストレージ費用をAWSが負担する「AWS Public Dataset Program」は現在、「衛星画像」「地理情報」「気候」等のカテゴリーを設け、NOAA(アメリカ海洋大気庁)等が収集した、合計で120を超えるDatasetを公開しております(2020年3月現在)。 パブリッククラウドとLGWANとの接続:「地方自治体においては関係業務がLGWAN環境で行われる一方、現場におけるインターネット環境でのタブレット等による農地情報の閲覧、編集のニーズがあることを踏まえ、LGWANとインターネットのハイブリッド方式を採用」「LGWANとパブリッククラウドの接続のあり方に関しては現在総務省において検討が進んでおり、その結果を踏まえ、必要な検討を行う」との記載にて、農業関係者皆様にとっての高い利便性確保のための整理が待たれる旨、明記いただいています。 AWSは、クラウドが次世代の農業をサステナブルかつ、魅力的な産業へと進化させていくことに強くコミットしています。自身も農業の盛んな米国ケンタッキー州の出身であると回顧することから始まるテレサ・カールソン(AWS Worldwide パブリックセクターのバイスプレジデント)のブログも併せてご参照ください:”Mission: Technology-enabled, sustainable agriculture”。   ❖ 提言させていただいたAWSのサービス 今回の農水省の検討会では、以下のAWSサービスが特に「デジタル地図」の構想と親和性が高いものと判断し、提言に盛り込ませていただきました。 データレイク構築の要となる“Amazon S3(Simple Storage Service)”:様々なデータを分析し正しい意思決定を行うためには、規模にかかわらず、全ての構造化データと非構造化データを長期間、安全に保存することが可能な「データレイク」を構築する必要があります。Amazon S3を活用いただくことが、圧倒的低コストでのデータレイク構築のための近道です。 軌道衛星からのデータを受信する “AWS Ground Station”:天気予報、地表画像撮影、通信、放送など軌道衛星からのデータを、独自の地上基地局を管理することなくご活用いただけます。AWS Grand Stationで受信されたデータは、AWSグローバルインフラストラクチャ(世界規模の低遅延ファイバーネットワーク)を経由し、Amazon S3等へ蓄積し利活用が可能です。 Amazon DynamoDBなど多種多様なデータベース:データ処理を高速、低コストで実現するためには、アプリケーションや利用ユースケースに最適なデータベースを無理なく選択する必要があります。AWSが提供しているデータベースは、一般的な利用ユースケースをほぼ網羅するデータベースが7分類あり、AWS上で簡単に相互連携することで、高速、低コストなデータ処理を実現可能です。 ”Amazon […]

Read More

Amazon SageMaker の強化学習を使用して AI で駆動する Battlesnake を構築する

Battlesnake は、従来のスネークゲームを基礎にした AI コンペティションで、複数の AI を搭載したスネークが生き残りをかけて競います。Battlesnake は、あらゆるレベルの開発者のコミュニティを魅了しています。何百ものスネークが競い合い、オンラインの Battlesnake グローバルアリーナでランキング上位に入ることを目指します。Battlesnake はまた、1,000 人以上の開発者と非開発者が参加するオフラインイベントを開催しており、その様子は Twitch でストリーミング配信されています。開発者のチームは、コンペティションのためにスネークを作り、新しい技術スキルを学び、協力することを学び、楽しんでいます。チームは、最先端の深層強化学習 (RL) アルゴリズムから独自のヒューリスティックベースの戦略まで、さまざまな戦略を駆使してスネークを構築できます。 この記事では、Amazon SageMaker を使用して RL ベースのスネークを構築する方法を説明します。 従来のスネークゲームでは、スネークを上下左右に移動するようにコントロールします。スネークが壁、別のスネーク、またはスネーク自身の体にぶつかると、スネークは死にます。スネークが食物を食べると、体が長くなります。従来のスネークゲームと比べると、Battlesnake にはいくつか違う点があります。まず、スネークを制御するのは、プログラムです。2 頭のスネークが正面衝突すると、小さいスネークが死にます。また、飢えメカニズムがあります。100 手動いて食物を食べられなかったスネークは死にます。そのため、生存率を最大にする、他のスネークを積極的に攻撃する、または他のスネークを避けようとすることはすべて、プレイヤーが採用している実践的な戦略です。スネークはプログラムされたウェブサーバーとして実装され、Battlesnake エンジンはゲームの現在の状態を考慮して次の動きをクエリします。詳細については、Battlesnake ウェブサイトの「開始方法」を参照してください。 この記事では、SageMaker Battlesnake スターターパックを使用して、スネークの構築に必要な時間と労力を節約する方法を示します。SageMaker Battlesnake スターターパックは、RL でトレーニングされた AI 搭載のスネークを提供します。スターターパックは、独自の RL ポリシーと、RL アルゴリズムの上にカスタムヒューリスティックベースのルールを構築するツールをトレーニングするための環境も提供します。さらに、AI ボットをデプロイおよびホストするウェブインフラストラクチャが自動的に生成されます。SageMaker Battlesnake スターターパックでは、周囲のインフラストラクチャを気にすることなく、AI の開発に集中できます。 Amazon SageMaker Battlesnake スターターパックは、AWS CloudFormation の quick-create リンクを使用します。これにより、GitHub repo から AWS マネジメントコンソールへ 1 クリックデプロイを行えます。スタックを作成すると、次の […]

Read More

Amazon API Gateway マッピングテンプレートと Amazon SageMaker を使用して機械学習を搭載した REST API の作成

Amazon SageMaker を使用して、組織は機械学習モデルを構築、トレーニング、およびデプロイできます。コンシューマー向けの組織は、パーソナライズされた製品の推奨事項を作成したり、顧客の好みに基づいてアプリケーションの動作を自動で調整したりすることにより、顧客体験を豊かにすることができます。そのようなアプリケーションを構築する場合、コンシューマーデバイスで実行されているクライアントソフトウェアでランタイム推論エンドポイントを使用可能にする方法は、アーキテクチャ上の重要な考慮事項の 1 つです。通常、エンドポイントは、クライアントソフトウェアに一連の完全なアプリケーション機能を提供する REST など、ウェブ上で使いやすい従来のアプローチに基づいて、より広範囲な API の一部として提供されます。 Amazon API Gateway は、開発者があらゆる規模の API を簡単に作成、公開、保守、監視、保護できるようにするフルマネージド型サービスです。API Gateway を使用して、Amazon SageMaker エンドポイントの外部に面した単一のエントリポイントを提示できます。これには、次の利点があります。 クライアント向けの REST API と、基となる Amazon SageMaker ランタイム推論 API の間を変換することにより、基本実装仕様からクライアントを隔離 クライアントリクエストの認証と承認をサポート 調整、評価制限、およびクォータ管理を使用してクライアントリクエストを管理 AWS WAF が提供するファイアウォール機能を使用 キャッシングとリクエストの検証により、コスト削減と運用の最適化を実現 モデルの変更を安全に導入するためのカナリアデプロイメントを簡単に作成 この記事では、マッピングテンプレートと呼ばれる API Gateway 機能を使用して、REST API の一部として Amazon SageMaker 推論エンドポイントを処理する方法をお見せします。この機能により、REST API を Amazon SageMaker ランタイムエンドポイントに直接統合できるため、エンドポイントを呼び出すための中間コンピューティングリソース (AWS Lambda または Amazon ECS コンテナなど) […]

Read More

Amazon Translate、AWS Lambda、および、新しいバッチ翻訳 API を使ってのドキュメント翻訳

ビジネスや個人向けに、世界中で共有されるデジタルのテキストドキュメントの数が増加し続けている中、翻訳機能への要求はさらに強まってきています。オンライン上には、ユーザーがテキストをコピー&ペーストすればその内容を希望の言語に翻訳できるツールが複数存在します。(分量に限度があり) その場しのぎで テキストを翻訳するのであれば、これも非常に有用だと言えますが、頻繁にこれを行うとなれば、退屈で時間だけがかかる仕事になります。 各組織では、製品やサービスを説明するためのコンテンツを大いに活用することで、問い合わせの方法を顧客に知らせたり、事業上の訴求ポイントなどを広告しています。こういったコンテンツでは、しばしばテキスト量が増えがちで、また、ほとんどは母国語で記述されているでしょう。その言語についての十分な知識のないユーザーが内容を理解しようとすることはやっかいなことです。そして、企業と顧客との関係においても、直接的な影響を与える可能性があります。ドキュメント一式をある言語から別な言語に素早くコスト効率良く翻訳できる、自動化されたソリューションが求められています。 このブログ記事では、ドキュメント翻訳に関する 2 つのソリューションについて解説していきます。その 1 つは、収集したドキュメントに非同期のバッチ翻訳を行うシンプルな翻訳手法のアプローチで、もう一方は、AWS Lambda と Amazon のリアルタイム翻訳を使い、ドキュメントを入手する度に同期的に翻訳を行う、より進んだアプローチです。お客様は、必要に応じ最適な方を選び、ご使用いただけます 同期バッチ翻訳を使うシンプルなアプローチ Amazon Translate は、現実的な価格で迅速かつ高品質な翻訳を実現するニューラル機械翻訳サービスです。ニューラル機械翻訳は、深層学習モデルを応用した自動翻訳の一形態です。これによれば、従来の統計学や規則をベースにした翻訳アルゴリズムと比べて、正確かつ自然な響きのある翻訳を提供できますこの翻訳サービスは、多様なコンテンツにも適格に対応するため、異なるユースケースやドメイン間での多様な文章を使ってトレーニングされています。この詳細については、Amazon Translate の製品ページをご参照ください。 近頃、Amazon Translate では、大量に集積したテキストや HTML ドキュメントの翻訳に使える、非同期のバッチ翻訳機能を公開しました。これにより、1 回の API 呼び出しのみで、ドキュメント一式をある言語から別な言語に翻訳できます。非同期バッチ翻訳を使うことで、ドキュメントやチュートリアル素材、あるいはブログなどを、日ごとに希望の言語に翻訳しローカライズすることが可能です。さらに、バッチ翻訳ジョブの進行状況をモニタリングしたり、指定した出力フォルダーから翻訳結果を取得することもできます。それでは、非同期バッチ翻訳の使用方法を確認していきましょう。 Amazon Translate のバッチ翻訳を試すために、ここでは、次に示すような 3 つのテキストファイルを使用します。 これらのテキストファイルは、こちらからダウンロードできます。 テキストファイル 1: Amazon Translate is a neural machine translation service that delivers fast, high-quality, and affordable language translation. テキストファイル 2: Neural machine translation is […]

Read More

Amazon CodeGuru Profiler でパフォーマンスの問題を調査する

Amazon CodeGuru (プレビュー) は、アプリケーションのパフォーマンス特性を分析し、それを改善する方法を自動的に推奨します。Amazon CodeGuru Profiler は、アプリケーションで時間が費やされている部分をインタラクティブに視覚化します。このフレームグラフは、どのコードメソッドが遅延を引き起こしているのか、CPU を過度に使用しているのかをトラブルシューティングするのに役立つ強力なツールです。この記事では、フレームグラフを解釈する方法を説明し、次の場合にどう使用したらよいかを示します。 アプリケーションのパフォーマンスプロファイルを分析し、それが既知のコードとどのように関連しているかを理解する プロファイル内の明らかな異常を見つける レイテンシーの問題を調査する CPU 使用率の最適化とコスト削減の機会を探す アプリケーションを分析する プロファイリンググループを開く アプリケーションのプロファイリングを開始する前に、デモアプリケーションのおかげで、セットアップなしで CodeGuru Profiler をすぐに使用開始できます。AWS アカウントを持っている人なら誰でもご利用いただけます。デモアプリケーションにアクセスするには、Amazon CodeGuru コンソールで、[Profiler]、[Profiling groups] を選択します。この記事では DemoProfilingGroup-WithoutIssues を使用しています。 [Profiling groups] ページから選択すると、フレームグラフが表示されます。次のスクリーンショットは、この特定のデモアプリケーションのフレームグラフを示しています。 フレームグラフとは何ですか? フレームグラフは、スタックトレースで表示される方法と同様に、階層的な方法で示されます。CodeGuru Profiler は、一定期間 (5 分など) にアプリケーションで実行されているコードからスタックトレースのスナップショットを定期的に取得し、1 度の視覚化で表示します。フレームと呼ばれる水平バーは、各メソッドを表します。CodeGuru Profiler がスタックトレース内のメソッドを頻繁に見るほど、グラフ内のフレームが広くなります。十分なサンプルを用いることで、アプリケーションが各メソッドに費やす時間の割合を確認できます。 フレームグラフには、時間に関する 2 つの概念があります。 CPU の稼働時間 – プロセッサがそのメソッドでアクティブに動作していた時間を表したもの。表示するには、CPU ビューモードを使用します。 実際の経過時間 – これは、稼働時間に加えて、プロセスが待機していた時間も考慮します。表示するには、レイテンシービューモードを使用します。 デモアプリケーションが行っていること 視覚化により何が表示されるかを理解するには、実際にプロファイルされたアプリケーションが何をしているかを知るのがよいでしょう。 このデモアプリケーションでは、2 つの個別のスレッドを実行しています。スレッドの 1 […]

Read More

Amazon Elastic Inference を使用して Amazon SageMaker で PyTorch モデルの ML 推論コストを削減する

本日、Amazon Elastic Inference を使用して、Amazon SageMaker と Amazon EC2 の両方で PyTorch モデルの推論を加速し、推論コストを削減できるようになったことを発表します。 PyTorch は、動的なコンピューティンググラフを使用する一般的なディープラーニングフレームワークです。これにより、命令的で慣用的な Python コードを使用してディープラーニングモデルを簡単に開発できます。推論は、トレーニングされたモデルを使用して予測を行うプロセスです。PyTorch などのフレームワークを使用するディープラーニングアプリケーションの場合、推論は計算コストの最大 90% を占めます。ディープラーニングモデルはさまざまな量の GPU、CPU、およびメモリリソースを必要とするため、推論に適切なインスタンスを選択することは困難です。通常、スタンドアロン GPU インスタンスでこれらのリソースの 1 つを最適化すると、他のリソースが十分に活用されなくなります。したがって、未使用のリソースに対して料金を支払うことになる可能性があります。 Amazon Elastic Inference は、Amazon SageMaker や EC2 インスタンス、または Amazon ECS タスクに適切な量の GPU による推論アクセラレーションをアタッチできるようにすることで、この問題を解決します。アプリケーションの全体的なコンピューティングとメモリのニーズに最適な AWS の CPU インスタンスを選択し、アプリケーションのレイテンシー要件を満たすために必要な適切な量の GPU による推論アクセラレーションを個別にアタッチできます。これにより、リソースをより効率的に使用し、推論コストを削減できます。今日、PyTorch が、Elastic Inference でサポートされるディープラーニングフレームワークとして TensorFlow と Apache MXNet に加わります。この記事の執筆時点でリリースされているバージョンは 1.3.1 です。 Amazon SageMaker は、すべての開発者およびデータサイエンティストが […]

Read More