※ 本記事は、Tirthankar Lahiri, Shasank Chavan, Weiwei Gongによる”Using NVIDIA GPUs to Accelerate AI Vector Search in Oracle Database 23ai“を翻訳したものです。
2024年10月25日
Oracle Databaseは長年にわたり、JSON、グラフ、空間、インメモリ、ブロックチェーン、ベクトルなどの最新のデータ・タイプやワークロードの多くをサポートするだけでなく、最先端のハードウェアを活用することで、その汎用性を実証してきました。現在は、エンジニアド・システムとクラウドで最先端のCPUテクノロジを活用しています。では、GPUはどうでしょうか? Oracle Databaseとどのように適合するでしょうか?
ラスベガスで開催されるOracle CloudWorld 2024では、NVIDIA GPUを利用してOracle Database 23aiのAI Vector Search機能を高速化するOracle Database向けの2つのGPUアクセラレーテッド機能を実証しています。
最初の機能は、テキスト、イメージ、ビデオなどのさまざまな入力データ・セットからのベクトル埋め込みのGPUアクセラレーテッド作成です。ベクトル埋め込み作成はAI Vector Searchで必要な最初のステップであり、この機能により、大量の入力データを効率的に一括ベクトル化できます。
2つ目は、GPUを使用してOracle Database内でのベクトル索引の作成とメンテナンスを高速化する方法を説明する初期段階の概念実証です。ベクトル索引の作成はAIベクトル検索の2番目のステップであり、大量のAIベクトル・ワークロードをサポートするには、ベクトル索引の迅速な作成とメンテナンスが不可欠です。
どちらの機能も、CPU上でAI Vector Searchパイプライン全体を実行することに加えて、GPUがCPUとの相乗効果で機能し、ベクトル検索ワークロードの計算集中部分を高速化し、これらの領域のパフォーマンス向上につながる可能性を示しています。
Oracleのミッションクリティカル・データベース・テクノロジ担当エグゼクティブ・バイスプレジデントであるJuan Loaizaは、次のように述べています。「当社は、Oracle Databaseユーザーにメリットをもたらす新しいソフトウェアおよびハードウェア技術を常に探しています。」「ベクトル検索の進化とGPUの使用により、ワークフローのコンピュート集中型部分を加速させることで、これらのテクノロジが顧客のニーズを満たすためにどのように連携して機能するかが示されます。NVIDIA GPUと連携することで、Oracle CloudWorldの新しいAI Vector Search機能のパフォーマンス向上を実証できました。」
「NVIDIA AIツールは、Oracleのデータベース・ユーザーがGPUをどこでも最も付加価値のある場所で使用できる柔軟性を提供します。生成とベクトル検索の索引作成の埋込みは、Oracleのデータベースなど、ベクトル・データベースに必要な2つの重要なタスクです」と、NVIDIA CTOのMichael Kagan氏は述べています。「GPUアクセラレーテッドAIベクトル検索により、Oracleのデータベース・ユーザーはAIパイプラインのパフォーマンスを大幅に向上させることができます。」
ベクトル検索機能のためのOracle Databaseのパフォーマンスの高速化
GPUは、コンピュート集約型の特殊なユース・ケースに優れたメモリー帯域幅と計算能力を提供します。OLTPや従来の分析など、従来のデータベース・ワークロードに使用される汎用CPUに代わるものではありません。ただし、同じメモリー常駐データに対するマルチパス計算を伴う一般的なAIおよび機械学習(ML)操作など、「密度の計算」に関連する操作を高速化できます。
Oracle Database 23aiのAI Vector Searchでは、AI技術を使用して、構造化されていないビジネス・データや構造化ビジネス・データをインテリジェントに検索できます。これには、Oracle Database内のCPUを使用してインポートされたONNXモデルを実行する機能、ベクトル埋込みを格納する新しいVECTORデータ型、近似最近傍探索(ANN)の新しいベクトル索引、およびOracle Database内のネイティブ検索機能の新しいSQL演算子が含まれます。SIMD最適化ベクトル距離カーネルと、Exadata Storage Serversなどの現代CPUプラットフォームのフル・メモリー帯域幅とマルチコア並列性を活用する最先端の近似検索索引を実装することで、ベクトル検索のワークロードを大幅に最適化しています。CPUベースの処理のメリットを最大化した後でも、ベクトル埋め込みの生成やベクトル索引の作成など、ベクトル・ワークロードの特定の側面は、GPUアクセラレーションの恩恵を受けることができます。
OCIのNVIDIA GPUアクセラレーテッド・インスタンスを使用したOracle Database 23aiのベクトル埋込みの生成
ベクトル埋込みは、イメージ、テキスト、複雑なビジネス・オブジェクトなどの複雑なコンテンツの数学的表現であり、「埋込みモデル」と呼ばれるディープ・ラーニング・モデルによって生成されます。Oracle Databaseでは、ベクトルは、データベース内または外部に存在するデータに対してモデルを埋め込むことによって作成されます。このモデルには、データベース内または外部で実行されるモデルがあります。結果のベクトルは、データベース内のベクトル列に格納されます。
Oracle CloudWorldで一般公開される最初のデモンストレーションでは、Oracle Autonomous Database – ServerlessのOracle Machine Learning (OML) Notebooks介したNVIDIA GPUへの統合アクセスを使用してベクトル埋込みを生成する方法を紹介しています。この機能により、ユーザーはAutonomous Databaseの不可欠な機能であるOML NotebooksのPythonインタプリタを活用して、データベース表からノートブックPythonインタプリタをサポートするGPU VMにデータをロードし、GPUインスタンスにベクトル埋込みを生成し、AI Vector Searchを使用して検索できるOracle Databaseにそれらのベクトルを格納できます。GPUインスタンスのプロビジョニングはユーザーに対して自動的に実行され、Oracle Machine Learning for Pythonの機能を使用して、データベースとGPUアクセラレーテッドVM間でデータが転送されます。

GPUでのOracle Database 23aiのベクトル索引の生成
ベクトル索引は、ベクトル・データの近似検索において重要な役割を果たします。これらの索引の作成は計算負荷が高く、時間がかかります。さらに、データが更新されるか新しいデータがロードされるためには、ベクトル索引を維持し、定期的にリフレッシュ(または再移入)する必要があります。
Oracle CloudWorldでのこの概念実証デモンストレーションでは、HNSW (Hierarchical Navigable Small World)と呼ばれるインメモリー・グラフ索引タイプを作成するために、Oracle Database 23aiとNVIDIA GPUの統合を示します。このデモンストレーションでは、Oracleが開発した新しいコンピュート・オフロード・フレームワークによって、Oracle Databaseは強力なGPUを搭載した外部サーバーに複雑なベクトル索引作成タスクを透過的に委任し、パフォーマンスを向上させながらシンプルさを維持する方法について説明します。
ユーザーがHNSWベクトル索引を作成するリクエストをOracle Databaseに送信すると、データベースは、必要なベクトル・データとともにタスクをインテリジェントにコンパイルし、新しいコンピュート・オフロード・サーバー・プロセスにリダイレクトします。このサーバー・プロセスは、GPUの計算能力を活用し、RAPIDS cuVSライブラリの一部であるCAGRAアルゴリズムを使用して、グラフ索引を迅速に生成します。CAGRA索引が作成されると、自動的に効率的にOracle Databaseインスタンスに戻され、HNSWグラフ索引に変換されます。最終的なHNSW索引は、Oracle Databaseインスタンス内の後続のベクトル検索操作にすぐに使用できます。

この革新的なアプローチは、Oracle Databaseの汎用性の高いコンバージド・データ管理機能と、GPUの生の計算能力を組み合わせたものです。GPUアクセラレーションをデータベースにシームレスに統合し、インデックス作成の計算集約タスクを専用ハードウェアにオフロードすることで、Oracle Databaseユーザーが期待する使いやすさと信頼性を維持しながら、処理速度と効率性を大幅に向上させることができます。
まとめ
これらの2つのGPUアクセラレーテッド・デモンストレーションでは、GPUを使用してAI Vector Searchパイプラインのコンピュート集中型部分を処理する可能性を紹介しています。OracleとNVIDIA間のこのコラボレーションにより、よりエキサイティングな開発にご注目ください。
開始方法の詳細は、AI Vector SearchのWebページにアクセスし、AI Vector Searchユーザーズ・ガイドを読んで、AI Solutions Hubにアクセスし、Oracle Database 23aiを無料でお試しください。
