Refinitiv Data Library、AWS サービス、および Amazon SageMaker を使用してリアルタイムのニュース ストリームを充実させる

Refinitiv Data Library、AWS サービス、および Amazon SageMaker を使用してリアルタイムのニュース ストリームを充実させる

この投稿は、LSEG ビジネスである Refinitiv の Marios Skevofylakas、Jason Ramchandani、Haykaz Aramyan の共著です。

金融サービス プロバイダーは、多くの場合、関連するニュースを特定し、分析し、洞察を抽出し、追加情報やニュース項目のコンテキストに基づいて特定の商品 (商品、株式、資金など) を取引するなど、リアルタイムでアクションを実行する必要があります。 そのような追加情報の XNUMX つ (この投稿で例として使用します) は、ニュースのセンチメントです。

リフィニティブ データ (RD) ライブラリは、リフィニティブ データ カタログへの均一なアクセスのための包括的なインターフェイス セットを提供します。 このライブラリは、低遅延のリアルタイム アクセスから Refinitiv データのバッチ取り込みまで、すべての開発者に適したさまざまなスタイルとプログラミング手法を提供する複数の抽象化レイヤーを提供します。

この投稿では、RD ライブラリを使用してニュース フィードを取り込み、機械学習 (ML) モデル予測でそれらを強化する AWS アーキテクチャのプロトタイプを紹介します。 アマゾンセージメーカー、AWS のフルマネージド ML サービスです。

拡張に使用される ML モデルに関係なく、センチメント分析、固有表現認識など、さまざまなユース ケースで使用できるモジュラー アーキテクチャを設計するために、リアルタイム空間に焦点を当てることにしました。 この決定の理由は、リアルタイムのユースケースは一般により複雑であり、同じアーキテクチャを最小限の調整でバッチ推論にも使用できるためです。 このユース ケースでは、リアルタイム ニュース フィードを取り込み、ML を使用して各ニュース ヘッドラインのセンチメントを計算し、パブリッシャー/サブスクライバー アーキテクチャを介して AI 拡張フィードを再提供するアーキテクチャを実装します。

さらに、MLOps プラクティスを採用して ML モデルをプロダクション化する包括的で再利用可能な方法を提示するために、プロトタイプの MLOps ライフサイクル全体で Infrastructure as Code (IaC) の概念を導入します。 Terraform と単一のエントリ ポイントで構成可能なスクリプトを使用することで、インフラストラクチャ全体を本番モードで、AWS でわずか数分でインスタンス化できます。

このソリューションでは、個々のモデルの開発、トレーニング、およびデプロイの MLOps の側面には対処しません。 これについて詳しく知りたい場合は、以下を参照してください。 AmazonSageMakerを使用する企業向けのMLOps基盤ロードマップでは、ベスト プラクティスに従ったモデルの構築、トレーニング、デプロイのフレームワークについて詳しく説明しています。

ソリューションの概要

このプロトタイプでは、IaC に従って完全に自動化されたプロビジョニング方法に従っています。 ベストプラクティス. IaC は、インタラクティブな構成ツールを使用するのではなく、自動化されたスクリプトを使用してプログラムでリソースをプロビジョニングするプロセスです。 リソースには、ハードウェアと必要なソフトウェアの両方があります。 私たちの場合、Terraform を使用して、セキュリティとアクセス ポリシー、および自動監視を含む、必要なインフラストラクチャ全体を自動的にスピンアップできる単一の構成可能なエントリ ポイントの実装を実現します。 サービスまたはリソース エンティティごとに XNUMX つずつ、Terraform スクリプトのコレクションをトリガーするこの単一のエントリ ポイントを使用して、アーキテクチャのコンポーネントのすべてまたは一部のライフサイクルを完全に自動化し、DevOps とMLOps 側。 Terraform が正しくインストールされ、AWS と統合された後、AWS サービス ダッシュボードで実行できるほとんどの操作をレプリケートできます。

次の図は、ソリューションアーキテクチャを示しています。

Refinitiv Data Library、AWS サービス、Amazon SageMaker PlatoBlockchain Data Intelligence を使用してリアルタイムのニュース ストリームを強化します。垂直検索。あい。

アーキテクチャは、取り込み、強化、公開の XNUMX つの段階で構成されます。 最初の段階では、リアルタイム フィードが アマゾン エラスティック コンピューティング クラウド Refinitiv Data Library 対応の AMI を介して作成された (Amazon EC2) インスタンス。 インスタンスは、データ ストリームにも接続します。 Amazon Kinesisデータストリームをトリガーします AWSラムダ 機能。

第 XNUMX 段階では、Kinesis Data Streams からトリガーされた Lambda 関数が SageMaker に接続し、ニュースの見出しを送信します。 フィンバート エンドポイントは、ニュース アイテムの計算されたセンチメントを返します。 この計算されたセンチメントは、Lambda 関数がニュース項目をラップして、 Amazon DynamoDB 列で番号の横にあるXをクリックします。

アーキテクチャの第 XNUMX ステージでは、DynamoDB ストリームが新しいアイテムの挿入で Lambda 関数をトリガーします。 Amazon MQ サーバー AI 拡張ストリームを予約する RabbitMQ を実行します。

最初の Lambda レイヤーが Amazon MQ サーバーと直接通信したり、EC2 インスタンスにより多くの機能を実装したりするのではなく、この XNUMX 段階のエンジニアリング設計に関する決定は、将来的により複雑であまり結合されていない AI 設計アーキテクチャを調査できるようにするために行われました。

プロトタイプの構築とデプロイ

このプロトタイプを一連の XNUMX つの詳細な青写真で紹介します。 各ブループリントと使用されるすべてのサービスについて、その技術的な実装に関する概要と関連情報、およびサービスを自動的に開始、構成、および構造の残りの部分と統合できるようにする Terraform スクリプトを見つけることができます。 各ブループリントの最後には、各段階まですべてが期待どおりに機能していることを確認する方法が記載されています。 設計図は次のとおりです。

このプロトタイプの実装を開始するには、専用の新しい Python 環境を作成し、必要なパッケージとツールを他の環境とは別にインストールすることをお勧めします。 これを行うには、次のコマンドを使用して、Anaconda で新しい環境を作成してアクティブ化します。

conda create —name rd_news_aws_terraform python=3.7
conda activate rd_news_aws_terraform

をインストールする準備が整いました。 AWSコマンドラインインターフェイス (AWS CLI) ツールセットを使用すると、必要なすべてのプログラムによる対話を AWS サービス内および AWS サービス間で構築できます。

pip install awscli

AWS CLI がインストールされたので、Terraform をインストールする必要があります。 HashiCorp は Terraform にバイナリ インストーラーを提供します。 ダウンロード インストールしてください。

両方のツールをインストールしたら、次のコマンドを使用して、それらが正しく機能することを確認します。

terraform -help
AWS – version

これで、実装の XNUMX つの段階のそれぞれについて詳細な設計図に従う準備が整いました。

このブループリントは、リアルタイムのニュース フィードの取り込みを可能にするアーキテクチャの初期段階を表しています。 次のコンポーネントで構成されています。

  • RD ニュースの取り込み用にインスタンスを準備する Amazon EC2 – このセクションでは、RD ライブラリ API およびリアルタイム ストリームへの接続を有効にする方法で EC2 インスタンスをセットアップします。 また、再利用性とスケーラビリティを確保するために、作成されたインスタンスのイメージを保存する方法も示します。
  • Amazon EC2 からのリアルタイムのニュースの取り込み – Amazon EC2 が RD ライブラリに接続できるようにするために必要な構成の詳細な実装と、取り込みを開始するためのスクリプト。
  • AMI からの Amazon EC2 の作成と起動 – Terraform を使用して、新しく作成されたインスタンスに取り込みファイルを同時に転送することにより、新しいインスタンスを起動します。
  • Kinesis データストリームの作成 – このセクションでは、Kinesis Data Streams の概要と、AWS でストリームを設定する方法について説明します。
  • データを Kinesis に接続してプッシュする – 取り込みコードが機能したら、それを接続してデータを Kinesis ストリームに送信する必要があります。
  • これまでのプロトタイプのテスト - を使用しております アマゾンクラウドウォッチ プロトタイプがこの時点まで機能しており、次のブループリントに進むことができることを確認するためのコマンド ライン ツール。 取り込まれたデータのログは、次のスクリーンショットのようになります。

Refinitiv Data Library、AWS サービス、Amazon SageMaker PlatoBlockchain Data Intelligence を使用してリアルタイムのニュース ストリームを強化します。垂直検索。あい。

この XNUMX 番目のブループリントでは、アーキテクチャの主要部分に焦点を当てます。これは、ニュース アイテム ストリームを取り込んで分析し、AI 推論をそれに添付して、後で使用できるように保存する Lambda 関数です。 次のコンポーネントが含まれています。

  • ラムダ – Terraform Lambda 構成を定義して、SageMaker エンドポイントに接続できるようにします。
  • アマゾンS3 – Lambda を実装するには、適切なコードをアップロードする必要があります Amazon シンプル ストレージ サービス (Amazon S3) を作成し、Lambda 関数がその環境でそれを取り込めるようにします。 このセクションでは、Terraform を使用してそれを実現する方法について説明します。
  • Lambda 関数の実装: ステップ 1、Kinesis イベントの処理 – このセクションでは、Lambda 関数の構築を開始します。 ここでは、Kinesis データ ストリーム レスポンス ハンドラ部分のみをビルドします。
  • セージメーカー – このプロトタイプでは、SageMaker エンドポイントに保存する事前トレーニング済みの Hugging Face モデルを使用します。 ここでは、Terraform スクリプトを使用してこれを実現する方法と、適切な統合を行って SageMaker エンドポイントと Lambda 関数を連携させる方法を紹介します。
    • この時点で、代わりに、SageMaker エンドポイントの背後で開発およびデプロイした他のモデルを使用できます。 このようなモデルは、ニーズに基づいて、元のニュース データに異なる拡張を提供できます。 必要に応じて、複数の拡張機能が存在する場合、これを複数のモデルに外挿することができます。 残りのアーキテクチャのおかげで、そのようなモデルはデータ ソースをリアルタイムで強化します。
  • Lambda 関数の構築: ステップ 2、SageMaker エンドポイントの呼び出し – このセクションでは、SageMaker ブロックを追加して元の Lambda 関数を構築し、SageMaker エンドポイントを呼び出して感情が強化されたニュースの見出しを取得します。
  • DynamoDB – 最後に、AI 推論が Lambda 関数のメモリ内にある場合、アイテムを再バンドルし、ストレージのために DynamoDB テーブルに送信します。 ここでは、それを実現するために必要な適切な Python コードと、これらの対話を可能にするために必要な Terraform スクリプトの両方について説明します。
  • Lambda 関数の構築: ステップ 3、強化されたデータを DynamoDB にプッシュする – ここでは、Dynamo テーブルにエントリを作成する最後の部分を追加して、Lambda 関数の構築を続けます。
  • これまでのプロトタイプのテスト – DynamoDB コンソールの DynamoDB テーブルに移動して、拡張機能がテーブルに表示されていることを確認できます。

Refinitiv Data Library、AWS サービス、Amazon SageMaker PlatoBlockchain Data Intelligence を使用してリアルタイムのニュース ストリームを強化します。垂直検索。あい。

この XNUMX 番目のブループリントは、このプロトタイプを完成させます。 これは、新しく作成された AI 拡張データ項目を Amazon MQ の RabbitMQ サーバーに再配布することに重点を置いており、消費者はリアルタイムで接続して拡張ニュース項目を取得できます。 次のコンポーネントが含まれています。

  • DynamoDB ストリーム – 強化されたニュース項目が DynamoDB にある場合、トリガーされるイベントをセットアップし、適切な Lambda 関数からキャプチャできるようにします。
  • Lambda プロデューサーの作成 – この Lambda 関数はイベントをキャプチャし、RabbitMQ ストリームのプロデューサーとして機能します。 この新しい関数は、Python ライブラリを使用してプロデューサー機能を実装するため、Lambda レイヤーの概念を導入します。
  • Amazon MQ および RabbitMQ コンシューマー – プロトタイプの最後のステップは、RabbitMQ サービスをセットアップし、メッセージ ストリームに接続して AI 拡張ニュース項目を受信するサンプル コンシューマーを実装することです。
  • プロトタイプの最終テスト – エンドツーエンドのプロセスを使用して、新しい AI 強化ストリームの取り込みから再提供および消費まで、プロトタイプが完全に機能していることを確認します。

この段階で、次のスクリーンショットに示すように、RabbitMQ ダッシュボードに移動して、すべてが機能していることを確認できます。

Refinitiv Data Library、AWS サービス、Amazon SageMaker PlatoBlockchain Data Intelligence を使用してリアルタイムのニュース ストリームを強化します。垂直検索。あい。

最終的な設計図には、アーキテクチャ全体が計画どおりに動作していることを確認するための詳細なテスト ベクトルも含まれています。

まとめ

この投稿では、クラウド上で ML を使用して、SageMaker (ML)、Lambda (サーバーレス)、Kinesis Data Streams (ストリーミング) などの AWS サービスを使用して、Refinitiv Data Libraries によって提供されるストリーミング ニュース データを強化するソリューションを共有しました。 このソリューションは、センチメント スコアをニュース項目にリアルタイムで追加し、コードを使用してインフラストラクチャをスケーリングします。

このモジュラー アーキテクチャの利点は、Refinitiv Data Library の上に適用できる、サーバーレスでスケーラブルで費用対効果の高い方法で、独自のモデルで再利用して他のタイプのデータ拡張を実行できることです。 これにより、取引/投資/リスク管理のワークフローに価値が追加されます。

コメントや質問がある場合は、コメントセクションに残してください。

関連情報


 著者について

Refinitiv Data Library、AWS サービス、Amazon SageMaker PlatoBlockchain Data Intelligence を使用してリアルタイムのニュース ストリームを強化します。垂直検索。あい。マリオス・スケボフィラカス 金融サービス、投資銀行、コンサルティング技術のバックグラウンドを持っています。 彼は工学博士号を取得しています。 人工知能の博士号と修士号を取得しています。 マシンビジョンで。 彼のキャリアを通じて、彼は多数の学際的な AI および DLT プロジェクトに参加してきました。 彼は現在、LSEG ビジネスである Refinitiv の Developer Advocate であり、金融​​サービスにおける AI および量子アプリケーションに焦点を当てています。

Refinitiv Data Library、AWS サービス、Amazon SageMaker PlatoBlockchain Data Intelligence を使用してリアルタイムのニュース ストリームを強化します。垂直検索。あい。ジェイソン・ラムチャンダニ LSEG ビジネスである Refinitiv で、リード デベロッパー アドボケイトとして 8 年間、開発者コミュニティの構築を支援してきました。 以前は、金融市場で 15 年以上働いており、岡三証券、サクラ ファイナンス、ジェフリーズ LLC の株式/株式関連分野でクオンツのバックグラウンドを持っていました。 母校はUCL。

Refinitiv Data Library、AWS サービス、Amazon SageMaker PlatoBlockchain Data Intelligence を使用してリアルタイムのニュース ストリームを強化します。垂直検索。あい。ハイカズ・アラミャン 金融とテクノロジーのバックグラウンドを持っています。 彼は博士号を取得しています。 金融学の修士号を取得しています。 金融、技術、政策の博士号。 10 年間の専門的な経験を通じて、Haykaz は、年金、VC ファンド、テクノロジー スタートアップを含む複数の学際的なプロジェクトに取り組みました。 彼は現在、金融サービスにおける AI アプリケーションに焦点を当てた、LSEG ビジネスである Refinitiv のデベロッパー アドボケイトです。

Refinitiv Data Library、AWS サービス、Amazon SageMaker PlatoBlockchain Data Intelligence を使用してリアルタイムのニュース ストリームを強化します。垂直検索。あい。ゲオルギオス・シナス EMEA 地域の AI/ML のシニア スペシャリスト ソリューション アーキテクトです。 彼はロンドンに拠点を置き、英国とアイルランドの顧客と緊密に連携しています。 Georgios は、MLOps プラクティスに特に関心を持ち、顧客が機械学習を大規模に実行できるようにすることで、お客様が機械学習アプリケーションを AWS の本番環境で設計およびデプロイできるよう支援しています。 余暇には、旅行、料理、友人や家族との時間を楽しんでいます。

Refinitiv Data Library、AWS サービス、Amazon SageMaker PlatoBlockchain Data Intelligence を使用してリアルタイムのニュース ストリームを強化します。垂直検索。あい。ムトゥベラン・スワミナサン ニューヨークを拠点とするエンタープライズ ソリューション アーキテクトです。 彼は企業のお客様と協力して、ビジネスニーズに対応し、AWS の製品とサービスを使用して大規模に実行するのに役立つ、回復力があり、費用対効果が高く、革新的なソリューションを構築するためのアーキテクチャのガイダンスを提供しています。

Refinitiv Data Library、AWS サービス、Amazon SageMaker PlatoBlockchain Data Intelligence を使用してリアルタイムのニュース ストリームを強化します。垂直検索。あい。マユル・ウデルナニ 英国とアイルランドの営利企業で AWS AI & ML ビジネスをリードしています。 Mayur は、彼の役割において、顧客やパートナーとの時間の大半を費やして、顧客の最も差し迫ったニーズを解決する、または AWS クラウド、AI & ML サービスを活用するより広い業界向けの影響力のあるソリューションの作成を支援しています。 マユールはロンドン地域に住んでいます。 インド経営大学院で MBA を取得し、ムンバイ大学でコンピューター エンジニアリングの学士号を取得しています。

タイムスタンプ:

より多くの AWS機械学習