Amazon Web Services ブログ

Category: SageMaker

Amazon SageMaker による検索エンジンの強化

この記事は、Ibotta 社の機械学習マネージャー、Evan Harris 氏によるゲスト投稿です。Ibotta 社によると、「Ibotta は、単一のスマートフォンアプリを通じて消費者が簡単に普段の買い物に対するキャッシュバックを獲得できるようにすることでショッピング体験を変革しており、食料品、電子機器、衣料、ギフト、家庭および事務用品、レストランでの食事などに対する特典を提供するために、一流のブランドおよび小売業者と提携してる」とのことです。 急成長するミドルステージの企業間における技術面での隔たりは、ユニークな課題を生みがちです。  このような企業の多くで重要視されるのは、高品質アプリケーションを迅速かつ効率的に構築することです。 普段の買い物に対するキャッシュバックを何百万ものユーザーに提供するモバイルアプリ、Ibotta の機械学習 (ML) チームは、このトピックについてかなりの考察と実験を行ってきました。  今日は、Amazon SageMaker を使った検索など、コア機能を実現するために当社が AWS を活用する方法についてお話したいと思います。 この記事では、Ibotta の検索エンジンのアーキテクチャ、そしてリアルタイムの ML を当社のモバイルアプリケーションの検索経験に統合するために Amazon SageMaker とその他の AWS サービスを使用する方法について説明します。この記事が、皆さんの組織の規模に関わらず、組織内における同じような課題に対する実行可能なソリューションを探す期間を短縮するために役立てば幸いです。 包括的で使いやすい検索フローを備える能率化されたモバイルアプリ経験を生み出すことは、私たちのビジネスにとって必要不可欠です。買い物前にお買い得情報を探すお客様は、価値ある情報をすばやく見つける必要があり、そうでなければあきらめてしまう傾向があります。 検索関連性エンジニア、ML エンジニア、設計者、およびモバイル開発者の専属チームを持つ当社では、検索関連性に対する新しくクリエイティブな改善を迅速に開発し、テストするために出来る限り多くの最新テクノロジーを使用しています。Ibotta はデータ主導のインテリジェンスを検索エンジンに投入するための ML の使用を優先しており、これは私たちを従来の情報取得手法を超えたレベルに押し進めます。 基礎を成す検索インフラストラクチャ Ibotta での検索のコアインフラストラクチャは、アプリの幅広いマイクロサービスを土台としています。インデックス化されたドキュメントは Amazon Elasticsearch Service に保存され、これにはモバイルクライアントが任意の時点で利用できるコンテンツのすべてが収められています。リクエストに応じて社内のコンテンツサービスがこのドキュメントストアと通信し、リクエストを行っているユーザーが利用できるコンテンツのみが返されることを確実にするための、追加のルールベースのフィルタリング機能を提供します。 このコンテンツサービスは入力検索クエリを受け取り、他の文脈上の考慮事項を計算に入れながら、関連するコンテンツで応答することができます。コンテンツサービスは典型的な lucene スタイルの検索関連性手法を使用して Elasticsearch ドキュメントストア内の適切なコンテンツを取得します。 ML で強化された検索インフラストラクチャ 基礎となる検索インフラストラクチャには、大きな改善の余地があります。Ibotta の検索問題領域には、特にコンテンツに関してユニークな課題があり、ある週に特定ブランドのための特典がアプリ内にあっても、別の週にはその特典がなくなっているという場合があります。これは、私たちが提携する小売業者によるものです。小売業者は、限定された期間だけアイテムを宣伝したいということが多々あるからです。 これに加えて、当社のアプリでは全く利用できないブランドと製品のカテゴリもあります。これは、当社がまだこれらの小売業者と連携していないからですが、私たちは、ユーザーの検索クエリがアプリ内のコンテンツに完全に一致しない場合でも、それらのユーザーに関連するコンテンツを表示したいと考えています。例えば、取り扱っていないブランドのコーヒーに対する検索は、重要な属性 (フレーバー、サイズ、価格など) 全体に一致する他のコーヒーブランドを返すべきです。 これに対するソリューションがクエリ拡大です。これは、データストアをクエリする前に、ユーザーの検索クエリにコンテンツを追加する一般的な検索手法です。ある状況では、リアルタイムで検索クエリをカテゴリ別に分類することによって価値を付加し、コンテンツ取得とソートアルゴリズムを強化します。別の状況では、カテゴリに分類した後、予測されたカテゴリを専門とするオンライン小売業者を検索してソートし、それらを提案としてユーザーに返します。 Ibotta では、これらのオンデマンドのカテゴリ推論をリアルタイムで行うために Amazon […]

Read More

【開催報告】第5回 Amazon SageMaker 事例祭り

アマゾン ウェブ サービス ジャパン株式会社 (AWS Japan) アソシエイトソリューションアーキテクトの針原 (Twitter: @_hariby) です。AWS Japan 目黒オフィスでは「Amazon SageMaker 事例祭り」(Twitter: #sagemaker_fes) を毎月開催しています。2019年5月21日に開催された第5回 Amzon SageMaker 事例祭りでは、AWS Japan のソリューションアーキテクトによるサービス紹介と、Amazon SageMaker をご利用いただいているお客様をゲストスピーカーにお招きした具体的な導入・運用事例紹介をさせて頂きました。各セッションの様子を以下にまとめます。

Read More

機械学習と Amazon SageMaker ノートブックを使用したデータウェアハウステーブルの探索

あなたは、機械学習 (ML) 環境で探索したいデータウェアハウステーブルを持つデータサイエンティストですか? もしそうなら、読んでください。 この記事では、データウェアハウスに保存され、Amazon SageMaker ノートブックから AWS Glue データカタログでカタログ化されている大規模データセットに対して探索的分析を実行する方法を紹介します。Amazon SageMaker で実行されている Jupyter ノートブックから企業データウェアハウス内のデータセットを特定して探索する方法について詳しく説明します。Amazon Redshift から Amazon EMR に興味深い情報を抽出し、そこでさらに変換する方法を示します。そうすると、すべてシームレスな体験として、ノートブックのデータを分析して視覚化し続けることができます。 この記事は、以下の以前の記事を基にしていますので、最初にその記事を確認することをお勧めします。 Amazon EMR で Spark によってサポートされる Amazon SageMaker ノートブックを作成する Amazon S3 のデータを AWS Glue データカタログで管理し、Amazon SageMaker ノートブックから利用する方法 Amazon SageMaker の概要 Amazon SageMaker は、フルマネージド ML サービスです。Amazon SageMaker を使用することで、データサイエンティストや開発者は、ML モデルを迅速かつ容易に構築、トレーニングすることができます。また、用意したモデルを実稼動も可能なホステッド環境に直接デプロイすることもできます。Amazon SageMaker には Jupyter のオーサリング環境が統合されており、データサイエンティストの初期のデータ探索や分析、モデル構築に便利です。 課題は、対象となるデータセットを見つけることです。データがデータウェアハウスにある場合は、関連する情報のサブセットを抽出し、それを Jupyter ノートブックにロードして詳細な探索やモデリングを行います。個々のデータセットが大きくなり、数が増えるにつれて、対象となる可能性があるすべてのデータセットを抽出し、ノートブックにロードしてマージすると、実用的ではなくなり生産性が低下します。こうした種類のデータの組み合わせや探索に、データサイエンティストは最大 80% […]

Read More

Amazon SageMaker と Apache Airflow でエンドツーエンドの機械学習ワークフローを構築する

機械学習 (ML) ワークフローは、データの収集と変換を可能にすることによって、一連の ML タスクを調整して自動化します。続いて、成果を達成する ML モデルのトレーニング、テスト、および評価が行われます。たとえば、Amazon SageMaker でモデルをトレーニングし、そのモデルを本番環境にデプロイして推論呼び出しを行う前に、Amazon Athena でクエリを実行するか、AWS Glue でデータ集約の準備を行うことがあります。これらのタスクを自動化し、複数のサービスにわたって調整を行うことで、繰り返し可能で再現可能な ML ワークフローを構築することができます。これらのワークフローは、データエンジニアとデータサイエンティストの間で共有できます。 概要 ML ワークフローは、モデルの精度を向上させ、より良い結果を得るために、循環的かつ反復的なタスクで構成されています。私たちは、最近、Amazon SageMaker との新しい統合を発表しました。統合により、これらのワークフローを構築および管理できます。 AWS Step Functions は、エンドツーエンドのワークフローで Amazon SageMaker 関連のタスクを自動化および調整します。  Amazon S3 への公開データセットの自動化、Amazon SageMaker でデータの ML モデルのトレーニング、予測にモデルのデプロイすることができます。AWS Step Functions は、Amazon SageMaker およびその他のジョブが成功または失敗するまでモニタリングし、ワークフローの次のステップへ移行するか、ジョブを再試行します。それには内蔵エラー処理、パラメータ渡し、状態管理、実行中のMLワークフローの監視可能なビジュアルコンソールが含まれています。 現在、多くのお客様が Apache Airflow を使用しています。これは、複数ステージにわたるワークフローの作成、スケジューリング、およびモニタリングを行うための一般的なオープンソースフレームワークです。この統合により、モデルのトレーニング、ハイパーパラメータの調整、モデルのデプロイメント、バッチ変換など、複数の Amazon SageMaker 演算子が Airflow を利用できます。これにより、同じ調整ツールを使用して、Amazon SageMaker で実行されているタスクで ML ワークフローを管理できます。 このブログ記事では、Amazon Sagemaker と Apache […]

Read More

Amazon SageMaker Ground Truth を使ったカスタムデータラベリングワークフローの構築

優れた機械学習モデルは大量の高品質トレーニングデータで構築されていますが、このようなトレーニングデータの作成は高額かつ複雑で、時間もかかります。モデルが正しい判断を行う方法を学べるように助けるには、通常、人に手動でトレーニングデータへのラベル付けを行ってもらう必要があります。 Amazon SageMaker Ground Truth は、人が画像とテキストの分類、物体検出、およびセマンティックセグメンテーションのラベリングジョブに取り組むためのラベリングワークフローを提供します。また、データラベリングジョブ用のユーザーインターフェイス (UI) を定義するためのカスタムワークフローを構築することもできます。これらを開始できるようユーザーを援助するために、Amazon SageMaker は画像、テキスト、および音声データのラベリングジョブのためのカスタムテンプレートを提供します。これらのテンプレートは、データラベリング UI の構築をシンプル化する Amazon SageMaker Ground Truth の crowd HTML 要素を使用します。UI には独自の HTML を指定することも可能です。 カスタムワークフローは、以下にある理由のために構築するとよいでしょう。 カスタムデータラベリング要件がある。 入力データが複雑で、タスクごとに複数の要素 (例えば、画像、テキスト、またはカスタムメタデータ) がある。 タスクの作成時に特定のアイテムがラベラーに送信されないようにしたい。 ラベリング出力を統合し、精度を向上させるためのカスタムロジックが必要。 IEEE が後援する学会のような科学学会には何千編ものアブストラクトが届き、これらは手作業でレビューされます。科学論文の典型的なアブストラクトには、背景、目的、手法、結果、限界、および結論といった情報が含まれます。何千編ものアブストラクトについてこれらのセクション、つまりエンティティをレビューすることは、手間のかかる作業になり得ます。 必要なエンティティのすべてに自動でタグ付けすることによってレビューアーを助けることができる自然言語処理 (NLP) モデルがあったとしたらどうでしょう? テキストラベリングツールが投稿されたアブストラクトからエンティティを抽出できるととしたらどうでしょうか? Amazon Comprehend は、テキスト内のインサイトと関係性を見つけるために機械学習を使用する自然言語処理 (NLP) サービスですが、この記事では、固有表現抽出 (NER) モデル用のトレーニングデータセットを構築するための、科学論文アブストラクトから名前付きエンティティを抽出するカスタムテキストラベリングワークフローの構築について段階的に説明していき、ユーザー独自の既存のウェブテンプレートを Amazon SageMaker Ground Truth に簡単に取り入れる方法を紹介します。 ソリューションの概要 カスタムワークフローの構築には、arxiv.org のご厚意により提供された科学論文 10 編の最初のページからの入力画像を使用しました。 論文からのテキストの抽出には、Amazon Textract […]

Read More

Udacity の機械学習ナノ学位プログラムに Amazon SageMaker が追加されました

ここ数年の間に、機械学習のスペシャリストとエンジニアの需要が急増しています。これら 2 つの役割は現在、LinkedIn で最も注目されている職種にランクインしています。ここ最近では、機械学習は、医療診断会社から金融機関その他まで、幅広い業界で採用されています。Udacity はこの需要に応えて機械学習ナノ学位プログラム入門と機械学習エンジニアナノ学位プログラムを作成し、より幅広い視聴者がこの技術分野へアクセスできるようにしました。 ボイスアシスタントやリコメンデーションエンジンなどの世界的に利用できるプロダクションアプリケーションに機械学習モデルを統合できるエンジニアに対する需要が高まっています。機械学習モデルを構築する方法を知ることは素晴らしい出発点です。けれども、真の影響を与えるためには、データサイエンティストや開発者は、モデルをラボから実世界に取り込む方法を理解し、何千何万という予測に活かすことができるようにする必要があります。 「最新の AI スキルに対する業界の需要は過去最高に高まっています。Amazon と共同で、AWS プラットフォームで世界中のどこでも最新の機械学習デプロイスキルを習得できるようにするために、Udacity の機械学習ナノ学位プログラムを更新しました」と Udacity の共同設立者、社長兼会長の Sebastian Thrun 氏は言います。 AWS Educate と Amazon SageMaker は、Udacity と共同で 機械学習エンジニアナノ学位プログラムの新しいデプロイメントコンテンツを作成しました。AWS Educate は、Udacity の生徒が AWS のコンテンツと AWS のプロモーションクレジットへアクセスできるようにしています。これらの利点により、生徒は AWS の内容領域専門家 (SME) と連携して開発した課題に Amazon SageMaker を使用することができます。このコースでは、実世界のタスクに大規模に適用されるさまざまな機械学習モデルについて説明しています。生徒は教師ありと教師なしの両方のアルゴリズムをデプロイする方法を学び、それらをフィーチャーエンジニアリングや時系列予測などのタスクに適用します。このコンテンツは、次のような質問に対処します。 与えられたタスクにピッタリの機械学習モデルをどのように決定するか? Amazon SageMaker などのクラウドデプロイメントツールを使用してデータを操作し、機械学習モデルを改善するにはどうすればよいか? Udacity.com による機械学習エンジニアナノ学位プログラムの説明 モデルのデプロイについて学ぶことに加えて、生徒はモデルの提供と更新についても学びます。このコースでは、AWS API を使用して、デプロイされたセンチメント分析モデルをウェブサイトに接続する方法を説明しています。モデルをデプロイした後、基礎となるテキストデータの変更を説明するためにそれを更新します。これは、データを継続的に収集する業界で特に価値のあるスキルです。このセクションの終わりまでに、生徒は自分の設計のタスクを解決するためにモデルをトレーニングしてデプロイするのに必要なスキルを身につけているはずです。 初級者から上級者までの機械学習コース Udacity の機械学習入門および機械学習エンジニアのナノ学位プログラムは、Udacity’s AI of School の一部です。それはソフトウェア開発者によってソフトウェア開発者のために設計された一連の無料のコースおよびナノ学位プログラムです。機械学習に慣れていないのであれば、Udacity […]

Read More

Amazon SageMaker Ground Truth が、ラベル付けワークフローを簡素化し続ける

AWS re:Invent 2018 で発表された Amazon SageMaker Ground Truth は Amazon SageMaker の機能であり、機械学習システムのトレーニングに必要なデータセットの効率的で高精度なラベル付けをお客様が簡単に行えるようにします。 Amazon SageMaker Ground Truth の簡単なまとめ Amazon SageMaker Ground Truth は、機械学習用の高精度なトレーニングデータセットをすばやく構築するお手伝いをします。SageMaker Ground Truth を使用すると、パブリックおよびプライベートでラベル付けを行う人間の作業者への簡単なアクセスと、一般的なラベル付けタスクのための組み込みのワークフローとインターフェースが提供されます。さらに、SageMaker Ground Truth は自動データラベル付けを使用してラベル付けのコストを最大 70% 削減します。自動データラベル付けは、人間がラベルを付けたデータから Ground Truth をトレーニングし、サービスが独自にデータにラベルを付けることを学習することによって機能します。 Amazon SageMaker Ground Truth は以下のデータセットの構築をお手伝いします。 テキスト分類。 画像分類 (画像を特定のクラスに分類する)。 物体検出 (画像内の物体の位置をバウンディングボックスとともに取得)。 セマンティックセグメンテーション (ピクセル精度で画像内の物体の位置を取得)。 文字通りお客様が何でも注釈を付けることができるカスタムのユーザー定義タスク。 ラベラーのチームを使用して、ラベル付けの要求を直接ラベラーにルーティングすることを選択できます。あるいは、スケールアップが必要な場合は、組織外のラベラーと連携するためのオプションが Amazon SageMaker Ground Truth コンソールに直接表示されます。Amazon Mechanical Turk との統合により、50 […]

Read More

Alkymi が、AWS を活用して自動化されたデータ入力とドキュメントインサイトでドキュメントの煩雑さを解消

現代の高度にデジタル化された職場であっても、ドキュメントは多くの場合、金融サービスを含めて、企業のワークフローで手作業によって処理されています。 Bloomberg および x.ai からのチームによって設立された Alkymi は、こうした面倒で間違いが発生しやすい作業を合理化する自動化を推進しています。Amazon SageMaker でホストされている深層学習モデルを使用して、Alkymi は非構造化データのパターンと関係を特定し、ドキュメントを実行可能なデータに統合します。  これにより、企業は自動化に対する頑固な障壁を取り除くことで、プロセスにおいて数十億ドルを節約できる可能性があります。 Alkymi は、AWS を主な AI/ML プラットフォームとして利用しています。Alkymi の CEO である Harald Collet 氏は「当社では、AI を適用して人間の理解力を必要とするドキュメントに関するタスクを自動化しています。AWS を使用することで、金融サービスの顧客が必要とするセキュリティとスケーラビリティを備えた新しい機能を迅速に開始することができます」と述べています。  Alkymi がドキュメント、E メール、画像を取り込むと、プラットフォームはさまざまな AWS のサービスを使用してデータ抽出およびデータ入力タスクを自動化します。  「AWS によって、プラットフォームを拡張し、あらゆる規模の顧客に対応することができます。Amazon SageMaker は、モデルを実稼働に向けてトレーニングおよびデプロイする方法をデータサイエンティストに提供することによって、当社の開発プロセスを改善しました」と、Alkymi の CTO である Steven She 氏は言います。 Alkymi のデータパイプラインは、Amazon Elastic Container Service (ECS) でホストされている REST API を介して、または Amazon Simple Email Service (SES) によって受信した E […]

Read More

Amazon SageMaker Object2Vec が、自動ネガティブサンプリングをサポートし、トレーニングをスピードアップする新機能を追加

本日は、Amazon SageMaker Object2Vec の 4 つの新機能を紹介いたします。ネガティブサンプリング、スパース勾配更新、重み共有、比較演算子のカスタマイズです。Amazon SageMaker Object2Vec は、汎用のニューラル埋め込みアルゴリズムです。Object2Vec についてまだ良く知らない場合は、ブログ記事 Amazon SageMaker Object2Vec の概要を参照してください。この記事は、この新機能 (Object2Vec を使用して、ドキュメント埋め込みを学習する) の一部として追加された 4 つのノートブックの例へのリンクを使用して、アルゴリズムの概要を説明します。また、技術的な詳細を提供するドキュメンテーションページ Object2Vec アルゴリズムへのリンクも提供します。これらの新機能には、Amazon SageMaker コンソールからアルゴリズムのハイパーパラメータとして、そして高レベルの Amazon SageMaker Python API を使用して、アクセスすることができます。 このブログ記事では、以下の新機能のそれぞれについて説明し、それがどのように顧客の問題点をターゲットにしているかを示します。 ネガティブサンプリング: 以前は、ポジティブにラベル付けされたデータだけが使用可能であるユースケース (この記事の後半で説明しているドキュメント埋め込みのユースケースなど) では、データ前処理の一部として手動でネガティブサンプリングを実装する必要がありました。新しいネガティブサンプリング機能により、Object2Vec は観測される可能性が低いデータを自動的にサンプリングし、トレーニング中にこのデータをネガティブとラベル付けします。 スパース勾配更新: 以前は、アルゴリズムのトレーニング速度はマルチ GPU に対応して拡張することができず、入力語彙サイズが大きくなるにつれて遅くなりました。これは、デフォルトでは、勾配のほとんどの行がゼロ値であっても MXNet オプティマイザがフル勾配を計算するためです。そのため、不要な計算が行われるだけでなく、マルチ GPU 設定での通信コストも増加します。スパース勾配更新を使用する Object2Vec は、パフォーマンスを低下させることなくシングル GPU トレーニングを高速化します。さらに、トレーニング速度はマルチ GPU でさらに向上させることができ、現在は語彙サイズとも無関係になっています。 重み共有: Object2Vec には、2 つの入力ソースからのデータをエンコードするために、それぞれ独自のトークン埋め込みレイヤーを持つ 2 つのエンコーダーがあります。両方のソースが同じトークンレベルのユニットの上に構築されているユースケースでは、トークン埋め込みレイヤーを共同でトレーニングすることは一般的なやり方です (深層学習コミュニティでは、重み共有と呼んでいます)。新しい重み共有機能により、このオプションが提供されます。 […]

Read More

集合知と Amazon SageMaker Ground Truth を併用したアノテーション精度の向上

Amazon SageMaker Ground Truthは、Machine Learning (ML) 用の高精度なトレーニングデータセットをすばやく構築するお手伝いをします。ご自身のワークフォース、データラベリングに特化したベンダー管理ワークフォースの選択、または Amazon Mechanical Turk が提供するパブリックワークフォースを使用して、データにラベルを生成することができます。 パブリックワークフォースは大規模で経済的ですが、多様なワーカーと同様で、ミスも生まれやすくなります。このような低品質のアノテーションから高品質のラベルを作成する 1 つの方法は、同じ項目の異なるワーカーからの応答を 1 つのラベルに体系的に結合することです。Amazon SageMaker Ground Truth には、この集計を実行する組み込みのアノテーション統合アルゴリズムが含まれているため、ラベリング作業の結果として精度の高いラベルを取得できます。 このブログ記事では、分類を行う場合 (例: “owl”、“falcon”、“parrot” などの画像にラベル付けする) に焦点を当て、単一の回答と多数決の 2 つの競合するベースラインアプローチに対するメリットを示します。 背景 ラベル付きデータセットを生成する最も簡単な方法は、各画像をシングルワーカーに送信することです。ただし、各画像がシングルワーカーによってのみラベル付けされているデータセットでは、品質が低下する可能性が高くなります。スキルの低さや無関心などの要因によって、低品質のラベルを提供するワーカーからエラーが入り込むことがあります。回答を複数のワーカーから引き出し、一定の原則に沿って集計すれば、品質を向上させることができます。複数のアノテーターの回答を簡単に集計するには、多数決 (MV) を使用します。多数決では、最も多くの票を獲得したラベルを単純に出力し、任意の結びつきをランダムに解消します。そのため、3 人のワーカーがそれぞれ、“owl”、“owl”、“falcon” と画像にラベル付けした場合、MV は最終ラベルとして、“owl” を出力します。また、3 人のワーカーのうち 2 人から “owl” という回答が得られたため、この出力に 0.67(= 2/3)の信頼度を割り当てることもできます。 単純で直感的なことですが、原則として MV は ワーカーのスキルが異なると、多くのマークを見逃します。たとえば、最初の 2 人のワーカー (両方とも “owl” というラベルを指定している) は 60% の確率で正しい傾向があり、最後のワーカー (“falcon” […]

Read More