Amazon Web Services ブログ

Category: Artificial Intelligence

[AWS Black Belt Online Seminar] AWS AI Language Services 資料及び QA 公開

先日 (2020/06/02) 開催しました AWS Black Belt Online Seminar「AWS AI Language Services」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20200602 AWS Black Belt Online Seminar AWS AI Language Services from Amazon Web Services Japan AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. Amazon Textract = AI-OCR という理解で宜しいでしょうか。 A. OCR (Optical Character Recognition) は単純な文字認識を一般的に指すかと思いますが、Amazon Textarct はひとまとめの文字を単語として認識したり、フォームやテーブルもあわせて認識することが可能です。 Q. Textract のフォームの抽出とありましたが、フォームとは具体的にどういったものでしょうか? A. 入力項目とその入力内容がセットになっている項目を指します。例えば、確定申告書のようなものであれば、「First Name」という項目に「John」のように氏名を記入する項目があるかと思いますが、これをフォームと呼んでいます。Textract は「First Name」と「John」をセットで抽出することが可能です。 Q. 現在対応していないファイル形式でもText に変換すれば良いでしょうか? […]

Read More

Amazon Personalize を使用して StockX でパーソナライズされたユーザーエクスペリエンスを先駆けて提供

この記事は、StockX 社の Sam Bean 氏と Nick Roberts II 氏によるゲスト投稿です。彼らの言葉を借りると、「StockX はユニークなビッド/アスク市場で e コマースに革命を起こしているデトロイトのスタートアップ企業です。当社のプラットフォームはニューヨーク証券取引所をモデル化し、スニーカーやストリートウェアなどの製品を高価値の取引可能な製品として扱っています。StockX は、透明なマーケットエクスペリエンスにより、真の市場価格で信頼性の高い、人気の高い製品を手に入れられるようにしています」。 2019 年に StockX が急成長している間に、機械学習 (ML) エンジニアの小さなグループが Amazon Personalize を使用してホームページに Recommended For You 製品行を追加しました。これが最終的にトップパフォーマンスを発揮するホームページ行になりました。この記事では、カスタマイズされたユーザーエクスペリエンスを提供するために Amazon Personalize とこれまでどのように取り組んできたかをご紹介します。 当社の市場のダイナミクスから、パーソナライズされたユーザーエクスペリエンスを提供する必要があります。サイトへのトラフィックの急上昇は、主にドロップによって引き起こされます。スニーカーやストリートウェア市場では、ドロップは人気の高い限定版アイテムを事前に伝達してリリースすることを指します。顧客の製品に対する関心の多様性は急拡大していますが、ユーザーはまだまだ最新リリースから特定の人気商品を検索することがよくあります。その結果、頻繁に大規模な DDoS のようなトラフィックがプラットフォームに流入することになり、バックエンドのスケーラビリティが最優先事項になります。さらに、当社のチームは、ブラックフライデーの直前に、Recommend For You 製品行をリリースする予定でした。このような要因により、スケーリング、リアルタイムでの変更、顧客の変化に対応できる堅牢なレコメンデーションエンジンの必要性が高まりました。 当社の取り組みも 3 年が経過し、ユーザーエクスペリエンスのパーソナライゼーションを成長の中心的な目標として優先するようになりました。当社の顧客ベースは、スニーカーコレクターのみから着実に進化し、ますますカジュアルで好奇心の強いユーザーを抱えるようになりました。感謝祭の週末は、このような新しい顧客にパーソナライズされたエクスペリエンスを提供することにより、顧客維持を図る機会になりました。2019 年の年末が近づき、計画にさらなる制約が加わりましたが、Amazon Personalize により、季節性のトラフィックの急増に合わせて、拡大し続けるユーザーのために高度に精選された魅力的なエクスペリエンスを創造することができました。 初期段階 当社のチームは当初、プラットフォームのパーソナライゼーションのギャップを埋めるためにサードパーティベンダーを模索しました。ただし、既製のソリューションを購入するのは費用がかかり、他とは一線を画す当社の e コマース市場にとっては柔軟性に欠けていました。このような既製のソリューションは、多くの場合、ML プロセスのすべての側面について融通が利きませんでした。サードパーティが提供できるものよりも高い柔軟性が必要ではありましたが、この問題に完全に自前のソリューションが必要であるとまでは考えませんでした。 次に、階層型リカレントニューラルネットワーク (HRNN) である Amazon Personalize コアリコメンダーと同等のカスタムニューラルネットワークを構築することについて調査しました。当社のチームはモデルを構築する準備ができていましたが、堅牢性、スケーラビリティ、時間など、特定の交絡変数を考慮する必要がありました。当社は、質の高いサービスを構築して、顧客に説得力のある体験をしてもらい、休日のトラフィックの急増に追いつくために、時間と戦っていました。カスタムモデルの調整に必要な開発時間および推論パフォーマンスにまつわる不確実性により、ML マイクロサービスを構築するのに相応しい要件を挙げていく必要がありました。これにより、どの部分を構築し、どの部分を購入するかを特定できました。当社の要件は次のとおりです。 データ収集 – […]

Read More

Ubuntu 18 DLAMI、P3dn インスタンスの EFA、Amazon FSx for Lustre を使用した大規模なマルチ GPU 分散深層学習トレーニング

AWS Deep Learning AMI (Ubuntu 18.04) は、EC2 Accelerated Computing インスタンスタイプの深層学習用に最適化されており、複数のノードにスケールアウトして分散ワークロードをより効率的かつ簡単に実行できます。同 AMI は、分散型深層学習のトレーニング向けにビルド済み Elastic Fabric Adapter (EFA)、Nvidia GPU スタック、および多くの深層学習フレームワーク (TensorFlow、MXNet、PyTorch、Chainer、Keras) を備えています。深層学習ソフトウェアとドライバーのインストールや機械学習 (ML) インフラストラクチャの構築に時間を費やす必要はありません。代わりに、より短時間で大規模なジョブのトレーニングに集中し、ML モデルでより速く反復することができます。 この記事では、AWS High Performance Computing (HPC) アーキテクチャで大規模な高性能、ネットワーク依存、低レイテンシー、高度に結合された ML 分散トレーニングを簡単に実行できることを示します。HPC アーキテクチャには、Ubuntu 18 DLAMI、P3dn インスタンス上の Elastic Fabric Adapter (EFA)、および Amazon FSx for Lustre が含まれます。また、マルチノード GPU クラスターで PyTorch フレームワークを使用して Bidirectional Encoder Representations from Transformers モデルを実行する方法について説明します。さらに、この記事では、AWS ParallelCluster […]

Read More

Amazon Forecast がサポートする自動補完機能による、ターゲットおよび関連データセット内での欠落した値の管理

Amazon Forecast は、機械学習 (ML) を使用する完全マネージド型サービスです。このサービスでは、ML の経験を必要とせずに非常に正確な予想を生成できます。Forecast が利用可能なユースケースは多岐にわたります。たとえば、製品需要の見積り、サプライチェーンの最適化、人事計画、エネルギー需要の予測、クラウドインフラストラクチャの使用状況の算定などが考えられます。 Forecast では、プロビジョニングすべきサーバー、あるいは手動で構築すべき機械学習モデルなどは存在しません。また、お支払いは実際に使用した分のみであり、最低料金や前払い料金を求められることはありません。Forecast の使用には、予想すべき数値に関する履歴データと、その予想に影響を与える可能性のある関連データが必要がなだけです。この関連データとしては、価格、行事、天候など、時間的に変化するデータや、色、ジャンル、地域など分類に関するデータなどがあります。このサービスは、用意されたデータに基づき、機械学習モデルのトレーニングとデプロイを自動的に行います。また、予想結果を取得するためのカスタム API も利用できます。 現実世界で予想を実施する際に一般的に見られる事象として、生データにおける値の欠落が挙げられます。履歴 (あるいは時系列の) データから値が欠落しているということは、すべての時点において対応した値が利用可能とは限らない、ということを意味します。値が欠落するには、多くの理由があります。たとえば、特定の時点でトランザクションが発生しなかったり装置にエラーがある場合、あるいは、測定自体が適切に実施されなかった場合などに、値の欠落が生じます。 Forecast では、関連あるいはターゲットの時系列データセット、および履歴上や予想期間における、欠落データ (既存の NaN も含みます) の自動補完機能をサポートしています。関連時系列 (RTS) データには、通常、プロモーションや価格もしくは在庫切れなどの、ターゲットの数値 (製品需要) と相関性がある情報が含まれています。これらにより、予想結果の精度が向上することが期待できます。欠落した値に関しては、value、median、min、max、zero、mean、および nan (対象が時系列の場合のみ) といった各種のロジックを、特定のユースケースに合わせ適用できます。Forecast では、CreatePredictor API の FeaturizationConfig により、これらの機能を提供しています。 今回の記事では、Forecast の GitHub レポジトリ からサンプルノートブックを入手して、関連がある、あるいはターゲットの時系列 (TTS) データセットに対し、欠落した値の補完機能を適用していきます。 Forecast における欠落した値の処理 時系列上で値が欠落しているということは、結局、多くの理由により、それ以降の処理のために対応した値が利用不可能になるということを意味します。製品セールスを表している時系列データが欠落していることは、その製品が販売不可能な状態にあると解釈できます。この状況としては、製品が存在しない期間 (リリース前や非推奨となった後など) 、もしくは、製品は存在するものの販売できない期間 (部分的な在庫切れ) などが挙げられます。また、ある期間にセールスデータが記録されなかった場合も、値の欠落が生じます。 「(not available for sale (販売中止)」というユースケースでは、一般的にターゲットの値が zero となりますが、そこで失われたはずの値 (nan) […]

Read More

AWS DeepComposer での独自のデータを使った音楽ジャンルモデルの作成

 AWS DeepComposer は、生成 AI を教え、敵対的生成ネットワーク (GAN) を使って提供されたメロディを完全にオリジナルな曲に変換する AWS の教育サービスです。AWS DeepComposer を使用することにより、事前訓練済みの音楽ジャンルモデル (ジャズ、ロック、ポップ、シンフォニー、ジョナサン・コールトンなど) のひとつを使用する、または独自のモデルをトレーニングできます。音楽データファイルは、カスタム音楽ジャンルモデルをトレーニングする一環として NumPy オブジェクトに保存します。この記事は、GitHub にある Lab 2 – Train a custom GAN model のトレーニング手順に沿って、MIDI ファイルを AWS DeepComposer に適切なトレーニング形式に変換する方法について説明します。 このユースケースでは、レゲエ音楽ジャンルモデルをトレーニングするために独自の MIDI ファイルを使用します。源をジャマイカ島に発するレゲエ音楽は、通常、ベースギター、ドラム、および打楽器を使用しますが、この記事の手順は汎用性が高いため、どの音楽ジャンルにでも使用できます。 トレーニングデータを生成するためのデータ処理 トレーニングデータの開始状態となるのが MIDI (.mid) ファイルです。ソフトウェアはファイルを生成 (および読み込み) し、ファイルには曲譜と再生サウンドに関するデータが含まれています。データ処理の一環として、MIDI ファイルを NumPy アレイに変換し、それらを単一の .npy ファイルでディスクに永続化する必要があります。以下の図は、この変換プロセスを示すものです。 .csv ファイルは、機械学習でのデータの保存用に幅広く使用されていますが、.npy ファイルはトレーニングプロセスにおけるより高速な読み込み用に高度に最適化されています。.npy ファイルの最終シェイプは (x、32、128、4) になります。これは、(number of samples, number of […]

Read More

Alexa が Amazon Translate の使用により、海外のお客様の獲得を拡大

 Amazon Alexa は、15 のロケールで利用でき、8 言語に対応しています。Alexa が異なる言語を理解して対応するには、新しい文法規則を学習する必要があります。また、Alexa に搭載されるコンテンツを新しい言語に翻訳する必要があります。さらに、Alexa は、新しいサッカーリーグ、地域の有名人、重要な歴史上の出来事など、国固有のトピックについて学ぶ必要があります。 この投稿では、Alexa が Amazon Translate を使用して数多くの質問をさまざまな言語で理解し、意味の通じる回答を迅速に提供する方法について説明します。 Amazon Translate とは Amazon Translate は、高品質な翻訳を手頃な価格で迅速に提供するニューラル機械翻訳サービスです。ニューラル機械翻訳とは、深層学習モデルを使用して正確で自然な音声の翻訳を提供する、言語翻訳の一種です。Amazon Translate でサポートされている言語の詳細については、「サポートされている言語」を参照してください。 Alexa とは Alexa は、Amazon 製かサードパーティー製かを問わず、何億ものデバイスで利用できる Amazon のクラウドベースの音声サービスです。Alexa によって自然な音声による体験を構築でき、日常的に使用するテクノロジーをさらに直感的に操作できます。 Alexa による Amazon Translate の使用方法 Alexa は毎日新しいタイプの質問を受けています。Alexa に 1 つのインテントを認識する学習をさせるには、そのインテントを呼び出すための発話リストを手作業で作成しなければならない場合があります。詳細については、「Best Practices for Sample Utterances and Custom Slot Type Values」を参照してください。 たとえば、以下のコードはインテント GetStockPrice に対する数例の発話リストです。 {会社} の株価を知りたいのですが {会社} […]

Read More

Kubeflow Pipelines 用 Amazon SageMaker コンポーネントの紹介

本日、Kubeflow Pipelines 用の Amazon SageMaker コンポーネントを発表しました。今回の記事では、Kubeflow Pipelines SDK を使用しながら、Amazon SageMaker コンポーネントにより最初の Kubeflow パイプラインを構築する方法をご説明します。 Kubeflow は、カスタム ML パイプラインを構築しようとする Kubernetes ユーザーに良く使用されている、オープンソースの機械学習 (ML) ツールキットです。  Kubeflow Pipelines は Kubeflow のアドオン機能であり、ポータブルかつスケーラブルなエンドツーエンドの ML ワークフローのために、構築およびデプロイの手段をユーザーに提供します。しかしながら、この Kubeflow Pipelines をデータサイエンティストが使用する際には、データラベリングのワークフローやモデルチューニングなど、生産性向上のためのツールを、ご自身で追加で実装する必要があります。 さらに、Kubeflow Pipelines を使用する ML Ops チームには、CPU や GPU インスタンスを含む Kubernetes クラスターの管理が必要であり、投資から得る収益を最大化するために、それらの利用率を常に高く維持することも求められます。データサイエンスチーム全体でクラスターの利用率を最大化することは簡単ではなく、ML Ops チームに余計な運用経費を負担させることになります。たとえば、GPU インスタンスの利用は深層学習トレーニングや推論といったような要求の厳しいタスクに制限し、CPU インスタンスには、データの前処理や Kubeflow Pipelines のコントロールプレーンなど要求レベルの低いタスクを受け持たせる、といったことが必要です。 その代替手段である Kubeflow Pipelines 向けの Amazon SageMaker コンポーネントにより、ユーザーはパワフルな […]

Read More

AWS COVID-19 ナレッジグラフの作成とクエリ

このブログ記事では、AWS CloudFormation および Amazon Neptune を使用して AWS COVID-19 ナレッジグラフ (CKG) を再作成し、お客様の AWS アカウントの Amazon SageMaker でホストされている Jupyter ノートブックを使用してグラフをクエリする方法について詳しく説明します。CKG は、AWS COVID-19 データレイクでホストされる COVID-19 Open Research Dataset (CORD-19) の探索と分析を支援します。グラフの強みは、学術論文、著者、科学的概念、機関の間のつながりにあります。CKG は、CORD-19 検索ページの強化にも役立ちます。 AWS COVID-19 データレイクは、新型コロナウイルス (SARS-CoV-2) とこれに関連する病気である COVID-19 の広がりおよび特性についての、またはそれに関する最新のデータセットが収集され、一元化されたリポジトリで、一般公開されています。詳細については、「COVID-19 データの分析用のパブリックデータレイク」と「AWS COVID-19 パブリックデータレイクの探索」を参照してください。 CKG は、Neptune、CORD-19 データセット、および Amazon Comprehend Medical のアノテーションを使用して構築されています。2020 年 4 月 17 日の時点で、CORD-19 データセットは 52,000 件を超える学術論文で構成され、そのうち 41,000 […]

Read More

Amazon Transcribe Medical を使用して COVID-19 関連用語の音声テキストの精度を向上させる

世界中がパンデミックの進行具合に合わせて対応しているため、COVID-19 に関連する情報に正確にアクセスし、その情報を利用して分析することは、これまで以上に重要になりました。医療危機に関するトピックは、ニュースレポート、ソーシャルメディア、ビジネス会議、ラジオとポッドキャスト、カスタマーサポートコール、特に臨床医と患者の会話などのさまざまなチャネルを通じて、私生活や仕事におけるさまざまな側面に浸透しています。より多くのデータ分析アプリケーションビルダーが求める医療用音声認識機能では、COVID-19 用語を含む動画と音声をダウンストリーム分析用のテキストに効率的かつ正確に文字起こしすることができます。この記事は、Amazon Transcribe Medical でカスタム語彙を使用して COVID-19 用語をよりよく認識する方法を示しています。 Amazon Transcribe Medical は、音声テキスト変換機能をアプリケーションに追加することを容易にする完全マネージド型の音声認識サービス (ASR) です。深層学習を利用したこのサービスは、すぐに使用できる医療用音声認識モデルを提供しています。このモデルを医療およびライフサイエンスドメインのさまざまな音声アプリケーションに統合できます。これで、カスタム語彙機能を使用して、薬の名前、製品ブランド、医療処置、病気など、より具体的な医療用語を正確に文字起こしできます。文字起こしをしたい用語を入力して、各用語を対応する発音と表示フォームに関連付けることができます。カスタム語彙は、Amazon Transcribe Medical が利用可能なすべての AWS リージョンでご利用いただけます。 COVID-19 固有用語の文字起こし バッチ (非同期) 文字起こし API とストリーミング (同期) 文字起こし API はどちらもカスタム語彙をサポートしています。この記事では、前者を使用してカスタム語彙のメリットをお見せします。 この使用例では、Amazon Simple Storage Service (Amazon S3) バケットに保存されたオーディオファイル (covid-19.wav) を使用します。Amazon S3 の使用については、Amazon Simple Storage Service の使用開始を参照してください。以下は、音声ファイルの文字起こしです。 「COVID-19 としても知られている 2019 年度コロナウイルス病は、重症急性呼吸器症候群コロナウイルス 2 によって引き起こされる感染症です。略して SARS-CoV-2 です。この病気は、2019 年 12 […]

Read More

Amazon AI サービスを使用して Veeva Vault PromoMats に保存されているアセットを分析してタグ付けする

Veeva Systems は、グローバルなライフサイエンス業界向けのクラウドベースソフトウェアのプロバイダーであり、臨床、規制、品質など、複数の領域に対応する製品を提供しています。Veeva の Vault Platform は、単一のプラットフォームでコンテンツとデータの両方を管理します。これにより、コンテンツ、データ、およびワークフローを使用してエンドツーエンドのプロセスを管理する強力なアプリケーションをデプロイできます。Vault Platform は、ビジネスアプリケーションの迅速な設定と変更によるカスタマイズのほか、他のシステムとのシームレスな統合により、Veeva Vault 機能を拡張し、データを移行し、または処理を自動化することを可能にする、オープンアーキテクチャと包括的な API を提供します。 商業空間におけるそのような製品の 1 つが Veeva Vault PromoMats です。165 を超える国の 400 を超えるライフサイエンス企業が、Veeva Vault PromoMats で商用コンテンツとデジタルアセット管理を行っています。 Veeva Vault PromoMats は、デジタルアセット管理とレビューおよび配信機能を組み合わせ、簡単なレビューと承認に加えて、チャネル全体での自動コンテンツ配信と配信停止を提供し、すべてのデジタル資産と資料の完全な可視性と制御を提供します。Veeva Vault PromoMats は、準拠コンテンツの信頼できる唯一の情報源を提供します。これにより、ローカルの製品マネージャーは、自らが必要とするものにすばやくアクセスし、検索し、見つけることができます。 典型的なデジタルマーケティングチームは、Veeva Vault PromoMats を使用して、世界中の従業員のために、マーケティングアセットを保存、検索、キュレート、レビュー、および配布します。これらのアセットは、電子メール、ウェブページ、画像、動画、オーディオファイルなど、さまざまです。再利用を促進するために、マーケティングチームは通常、グローバルに配された人のチームを使用して、これらのアセットを分析してタグ付けし、簡単に検索できるようにします。この現在のプロセスは、不正確で、一貫性がなく、非効率的なタグ付けの影響を受けやすく、人のチームが特定のアセットを見つけるために貴重な工数を費やすことにつながります。組織は通常、コンテンツを正確かつ簡単に検索できるようにレビュアーのチームを設けます。これにより、コストが増加するだけでなく、チームに付加価値を生まない膨大な作業に集中することを余儀なくさせるため、有能な人員がもたらすことのできる付加価値が減少することになります。 お客様から遡って解決法を考えるとき、これらの手動プロセスを自動化するには、次のことが可能なソリューションが必要です。 コンテンツタイプ (電子メール、テキスト、画像、メディアファイルなど) を識別する コンテンツを区別し、識別されたコンテンツタイプに対応する分類に基づく値の付与を自動化する アセットへのタグ付けの自動化を有効にし、これらのアセットを簡単に検索するソリューションを提供する タグ付けのための機械学習 (ML) 値などを使用して、継続的に強化する この投稿では、Amazon AI サービスを使用して、Veeva Vault に格納されているリッチコンテンツを迅速かつ確実に、コスト効率よく、大規模に分析する方法を紹介します。この投稿では、全体的なアーキテクチャ、ソリューションとダッシュボードをデプロイする手順、およびアセットメタデータのタグ付けのユースケースについて説明します。このユースケースの概念実証コードベースの詳細については、GitHub リポジトリをご覧ください。 ソリューションの概要 次の図は、ソリューションのアーキテクチャを示しています。 Veeva […]

Read More