銀行におけるモンテカルロ・アルゴリズムの実装に FPGA 製品を活用する方法

インテル® FPGA は、低レイテンシーと高い柔軟性により、現在のデータ主導型の銀行取引で不可欠な役割を担っています。

CPU が脳の役割として能力を発揮する一方で、FPGA は現実的な労力として機能します。

著者: Alice Hodgson (テクノロジー・ライター)

動きの速い銀行取引の世界では、文字どおり「時は金なり」です。

競合相手よりも可能な限りのアドバンテージを見出そうとする銀行や金融機関では、日々の課題への取り組みでテクノロジーが重要な役割を果たします。

銀行でテクノロジーが効果的に機能するケースのほとんどは、リスク分析と高頻度取引に関連します。リスク分析には、銀行の位置付けと市場変数に基づく、一般に Value at Risk (VaR: 予想最大損失額) と呼ばれるリスクの評価とリスク分散が含まれます。高頻度取引では、できるだけ迅速にデータをデコーディングして取引決定を通知することが求められ、その速度は数十ナノ秒で、人間の作業よりもはるかに高速です。

その他の主なメリットとして、超低レイテンシー取引やアルゴリズム取引、ネットワーキング・アクセラレーションなど、データ分析のユースケースがあります。

すべてインテル® FPGA が役に立つ分野です。Field Programmable Gate Array (FPGA) は基本的に再プログラミングによりさまざまな機能の実行を可能にするチップですが、前述のような状況に適合する多くのアドバンテージが備わっています。

「FPGA は、演算の実装方法だけでなく I/O においても高い柔軟性を提供するよう設計されています。FPGA に備わる数百から数千の高速 I/O が非常に高いビットレートで動作するため、さまざまなタイプのインターフェイスに合わせて構成することができます」(インテルのマーケティング、AI、市場分析担当ディレクター、Ronak Shah)

CPU (中央演算処理装置) が脳の役割として能力を発揮する一方で、FPGA は実質的な労力として機能し、単一のアルゴリズムを素早く効率的に実行することで CPU の負荷を軽減します。リスク分析の分野で最も頻繁に使用されるアルゴリズムの 1 つがモンテカルロです。

モンテカルロ・アルゴリズムは、モデルのキャリブレーション、査定と損失分散、リスク管理、ポートフォリオの最適化などに長年銀行で使用されてきています。標準偏差の平均といった統計情報を使用し、起こりうる最悪ケースのシナリオがどのようなものかをモデリングする目的で、このモデルに乱数が数百万回繰り返し投入されます。CPU ではこのプロセスに最大 4 時間かかるため夜通しで実行される傾向にありますが、FPGA アクセラレーションを使用すると、この時間を大幅に短縮できます。

しかし、FPGA を使用するメリットは、次第にスピードだけではなくなっています。CXL と呼ばれるキャッシュ・コヒーレント・インターフェイスを実装するインテルの次世代 FPGA を使用すると、アルゴリズムを分割して、そのパーツそれぞれを CPU (ホスト・プロセッサー) と FPGA (オフロード・アクセラレーター) で実行できます。どちらも同じメモリーにアクセスするので、ホストに配置された Double Data Rate (DDR) メモリーからアクセラレーターの DDR メモリーへデータをプッシュ / プルする必要がありません。つまり、アルゴリズムを分割する先を吟味して、最適な方法を決定できるということになります.

「これまで、FPGA は高性能ではあっても扱いが難しいとされてきました。そこでインテルは、OpenCL* などの異種環境に対応できるプログラミング言語でアクセスできるようにソフトウェア・ベースのフローを開発しています。さまざまなビルディング・ブロック機能を組み込み最適化したライブラリー群の構築も進めているため、エンドユーザーは C++ ベースの言語のままこのライブラリーにアクセスして、アルゴリズムをさらに高速化することができます」(Shah)

モンテカルロ法は、偏微分方程式 (PDE) や求積法といったほかの手法と比べると効率性が低くなる可能性がありますが、こういった手法では解けない問題でも、モンテカルロ・アルゴリズムならば解決できる問題が数多く存在します。インテルは、今後の 12 カ月に進めていく主な計画で、金融サービス業界のこの課題の解決に重点を置いています。

詳細情報: