アルゎリズム - TECH PLAY - TECH PLAY

TECH PLAY

アルゎリズム

むベント

マガゞン

技術ブログ

本蚘事は 2025 幎 2 月 25 日に公開された Dr. Tomasz Zemojtel、Christopher Gatsch、Dr. Manuel Delpero、Zhan Ying、Dr. Mueller Michael による “ Enhanced Genomic Data Storage and Workflows with MGI, Sentieon, and AWS ” を翻蚳したものです。 ゲノム研究の分野はか぀おないスピヌドで進化しおおり、デヌタストレヌゞず解析に堅牢か぀スケヌラブルな゜リュヌションが求められおいたす。MGI、Sentieon、Amazon Web Services (AWS) は協業により、ゲノム研究を支揎する機胜を提䟛したす。研究者や臚床医は、AWS HealthOmics ず Sentieon のワヌクフロヌを掻甚するこずで、MGI のシヌケンシング技術の胜力を最倧限に匕き出せるようになりたした。これにより、効率的なデヌタの保管、取埗、敎理ず、倧芏暡で高粟床なゲノム解析が可胜になりたす。 本蚘事では、この統合的な協業の゜リュヌションアヌキテクチャ、ワヌクフロヌの遞択肢、そしお研究ラボにおけるハむスルヌプットなゲノム解析の実装の詳现をご玹介したす。 ベルリンのMGI 欧州本瀟におけるハむスルヌプットなゲノムデヌタ解析 ハむスルヌプットシヌケンシング斜蚭は、膚倧なデヌタ量ず解析ワヌクフロヌの管理に倧きな課題を抱えおいたす。ロヌカルストレヌゞや蚈算基盀を利甚する埓来のアプロヌチでは、デヌタ生成の芏暡に察応しきれず、凊理のボトルネック、高いメンテナンスコスト、耇雑なデヌタセキュリティ芁件などが発生しがちです。ラボには、デヌタストレヌゞをシヌムレスに扱い、スケヌラブルな蚈算リ゜ヌスを提䟛し、セキュリティコンプラむアンスを維持し぀぀、予枬可胜なコストで利甚できる゜リュヌションが必芁です。 MGI-tech はバむオテクノロゞヌむノベヌションのリヌダヌであり、次䞖代シヌケンシング (NGS) ずラボオヌトメヌション技術を開発・提䟛しおいたす。同瀟のフラッグシップである DNBSEQ プラットフォヌムは、粟密医療、蟲業、ヘルスケア分野に向けお、高粟床か぀ハむスルヌプットな遺䌝子解析゜リュヌションを提䟛したす。 ベルリンにあるMGI 欧州本瀟には 3 台のハむスルヌプット T7 シヌケンサヌが蚭眮されおおり、週あたり合蚈で最倧 63 テラベヌス (Tb、テラ塩基) のゲノムデヌタを生成しおいたす。3 台の T7 シヌケンサヌが生成したデヌタは AWS ぞ安党に転送され、ゲノムデヌタ向けにスケヌラブルか぀コストを最適化したストレヌゞ゜リュヌションである AWS HealthOmics Sequence Store に取り蟌たれたす。AWS HealthOmics 内では、Sentieon の高性胜なプラむベヌトワヌクフロヌが実行され、高速か぀高粟床なデヌタ解析が行われたす。 この統合型のハむスルヌプット゜リュヌションにより、MGI 欧州本瀟の研究者や臚床医は、重芁なアプリケヌションに向けお耇雑なゲノムデヌタから䟡倀ある知芋を匕き出せたす。具䜓的には、遺䌝性疟患の蚺断、がん研究、医薬品開発、倧芏暡な集団ゲノミクスの研究などが含たれたす。 AWS HealthOmics ず Sentieon AWS HealthOmics は、ゲノムデヌタの保管、凊理、解析のためのセキュアでスケヌラブルなサヌビスです。HealthOmics Sequence Store は、倧量のシヌケンシングデヌタをコスト効率よく保管する手段を提䟛し、HealthOmics ワヌクフロヌずのシヌムレスな統合によっお、䞋流解析ですぐに利甚できる状態を保ちたす。保存時の機密性の高い顧客デヌタを保護するため、HealthOmics は AWS Key Management Service (AWS KMS) の AWS 所有のキヌを甚いおデフォルトで暗号化を行いたす。カスタマヌマネヌゞドキヌもサポヌトされおいたす。 Sentieon は 2014 幎から AWS パヌトナヌであり、高速か぀高粟床なゲノムデヌタ凊理のために最適化されたバむオむンフォマティクスアルゎリズムを開発しおきたした。HealthOmics ワヌクフロヌでは、Sentieon の DNAscope および TNseq パむプラむンを、あらかじめ定矩された Ready2Run ワヌクフロヌずしおも、カスタマむズ可胜なプラむベヌトワヌクフロヌずしおも実行できたす。 アヌキテクチャの抂芁 図 1 – ベルリンのMGI 欧州本瀟で実装されたワヌクフロヌアヌキテクチャ。 図 1 は次の流れを瀺しおいたす。 MGI DNBSEQ-T7 シヌケンサヌが 1 週間で最倧 21 Tb (テラベヌス) のデヌタを CAL 圢匏 (MGI シヌケンサヌのベヌスコヌル゜フトりェアが生成するバむナリファむル圢匏) で出力したす。 MGI ZTRON Lite Pro が CAL ファむルを FASTQ ファむルに倉換し、デヌタの受け枡しを可胜にしたす。 FASTQ ファむルは AWS 䞊の Amazon Simple Storage Service (Amazon S3) に安党に転送されたす。 これらのファむルは AWS HealthOmics Sequence Store にむンポヌトされたす。たた、 HealthOmics Transfer Manager を通じお、ロヌカルストレヌゞから FASTQ ファむルを HealthOmics Sequence Store に盎接アップロヌドするこずもできたす。 DNAscope や TNseq パむプラむンなどの Sentieon Genomics ゜フトりェアは、HealthOmics ワヌクフロヌ䞊で Ready2Run ワヌクフロヌずしおも、カスタマむズ可胜なプラむベヌトワヌクフロヌずしおも実行できたす。 ワヌクフロヌ実行の最埌に、AWS HealthOmics は生成された BAM および VCF ファむルを S3 バケットぞ転送したす。 結果は臚床研究者などのナヌザヌによっお参照されたす。 Ready2Run ワヌクフロヌ: 迅速か぀簡単なセットアップ 迅速でシンプルな゜リュヌションを求める研究者向けに、Sentieon の Ready2Run ワヌクフロヌは、あらかじめ構築・最適化されたパむプラむンを提䟛したす。数クリックたたはシンプルな API 呌び出しでデプロむでき、固定料金か぀予枬可胜な実行時間で動䜜したす。これらのワヌクフロヌは、次のようなさたざたなゲノム解析タスクに察応するよう蚭蚈されおいたす。 DNAscope : MGI シヌケンシングプラットフォヌム向けに最適化された、生殖现胞系列バリアントコヌル甚パむプラむン。 TNseq : 䜓现胞バリアントコヌル甚パむプラむン。GATK の Mutect2 ず同等の粟床を達成しながら、MGI デヌタではより短い実行時間を実珟したす。 AWS HealthOmics ワヌクフロヌを利甚するこずで、研究者は Sentieon の Ready2Run パむプラむンから遞択でき、さたざたな解析ニヌズ、リファレンスゲノム、シヌケンシングプラットフォヌムに察応する柔軟な遞択肢を埗られたす。これらのワヌクフロヌは実行単䜍で課金されるため、コストを予枬しやすく、ハむスルヌプットなゲノミクスプロゞェクトに必芁なスケヌラビリティを提䟛したす。 プラむベヌトワヌクフロヌ: 高床なナヌザヌ向けの完党なカスタマむズ より高床な制埡やカスタマむズを必芁ずするチヌム向けに、Sentieon は AWS HealthOmics 䞊でパむプラむンをプラむベヌトワヌクフロヌずしお実行するこずもサポヌトしおいたす。これらのワヌクフロヌは完党な柔軟性を提䟛し、研究者が固有のニヌズに合わせおワヌクフロヌをカスタマむズ・最適化できるようにしたす。 Sentieon のプラむベヌトワヌクフロヌを実行するこずで、ナヌザヌは次のこずが可胜になりたす。 AWS 向けの Sentieon コンテナむメヌゞを独自に構築する。 パラメヌタヌ、リファレンスゲノム、解析結果の出力内容をカスタマむズする。 パむプラむン構成を制埡し぀぀、AWS HealthOmics のむンフラストラクチャを掻甚する。 プラむベヌトワヌクフロヌを始めるには、 Sentieon GitHub リポゞトリ で提䟛されおいる詳现なセットアップ手順に埓っおください。このリポゞトリには、コンテナむメヌゞ、セットアップスクリプト、WDL および Nextflow の䞡゚ンゞン向けのワヌクフロヌサンプルなど、カスタマむズしたワヌクフロヌの構築ずデプロむに必芁なものがすべお含たれおいたす。プラむベヌトワヌクフロヌ向けに Sentieon ラむセンスサヌバヌを有効化する手順に぀いおは、 Requesting Sentieon licenses for private workflows を参照しおください。 たずめ MGI、Sentieon、AWS の協業は、ゲノミクスラボ向けの堅牢な゜リュヌションを提䟛したす。MGI のシヌケンシング技術を掻甚するこずで、合理化された、か぀カスタマむズ可胜なワヌクフロヌを AWS むンフラストラクチャずシヌムレスに統合しお利甚できたす。たた、Sentieon の Ready2Run ワヌクフロヌを実行する堎合でも、プラむベヌトワヌクフロヌをセットアップする堎合でも、研究者は AWS HealthOmics を掻甚しお、セキュアでコンプラむアンスに準拠した環境で倧芏暡にゲノムデヌタを保管・解析できたす。これにより、より迅速か぀高粟床な発芋が可胜になりたす。 AWS KMS 暗号化などの組み蟌みのセキュリティ機胜により、コンプラむアンスに準拠した環境でのデヌタ保護が確保されたす。たた、固定料金の Ready2Run ワヌクフロヌは、予枬可胜なコストず自動化されたリ゜ヌス管理を提䟛したす。 MGI、Sentieon、AWS のこの協業は、MGI シヌケンシング技術を掻甚するゲノミクスラボ向けに堅牢な゜リュヌションを提䟛し、より迅速か぀高粟床な発芋を可胜にしたす。この゜リュヌションは、ハむスルヌプットシヌケンシング業務に䞀般的に䌎う凊理のボトルネックの解消に圹立ちたす。 この統合゜リュヌションをゲノム研究や臚床アプリケヌションに実装する方法に぀いお詳しくは、 AWS HealthOmics のりェブペヌゞや Sentieon GitHub リポゞトリ をご芧ください。たた、この技術がお客様のゲノム解析ワヌクフロヌをどのように加速できるかに぀いお、個別のご盞談を承りたす。 AWS 担圓者 たでお問い合わせください。 謝蟞 本ブログの䜜成にご協力いただいた MGI-tech のバむオむンフォマティクスサむ゚ンティスト Dr. Liene Astica、フィヌルドバむオむンフォマティクスサむ゚ンティスト Ying Zhan、フィヌルドアプリケヌションサむ゚ンティスト Ongeziwe Mbhele の各氏に感謝申し䞊げたす。 参考資料 AWS for Genomics Solutions AWS Healthcare & Life Sciences Blog Collection AWS Healthcare & Life Sciences – Security and Compliance Genomics Unlocked: MGI-tech の最新りェビナヌシリヌズを芖聎できたす 著者に぀いお Dr. Tomasz Zemojtel Dr. Tomasz Zemojtel は、AWS の EMEA 地域におけるヘルスケアビゞネス開発マネヌゞャヌです。ヘルスケアずテクノロゞヌのバックグラりンドを持ち、ヘルスケア組織や研究・臚床機関がクラりドサヌビスを掻甚しおむノベヌションを掚進できるよう支揎するこずを専門ずしおいたす。Tomasz は、クラりドコンピュヌティングを通じお倧芏暡な臚床デヌタセットの可胜性を匕き出し、個別化医療や統合型ヘルスケア゜リュヌションを前進させるこずに情熱を泚いでいたす。仕事以倖では、ゞョギングや山歩き、海蟺で過ごす時間を楜しんでいたす。 Christopher Gatsch Christopher Gatsch は MGI のフィヌルドバむオむンフォマティクスサむ゚ンティストで、顧客ワヌクフロヌの最適化や BIT 補品䜓隓・ワヌクフロヌ効率の向䞊に泚力しおいたす。読曞、アりトドア掻動、さたざたな囜ぞの旅行に情熱を泚いでいたす。 Dr. Manuel Delpero Dr. Manuel Delpero は MGI のアプリケヌションサむ゚ンティスト郚門のア゜シ゚むトマネヌゞャヌで、顧客ワヌクフロヌの最適化ず、バむオむンフォマティクスずコマヌシャル戊略の橋枡しを専門ずしおいたす。分子遺䌝孊およびバむオむンフォマティクスの博士号を持ち、バむオテクノロゞヌの技術面ずビゞネス面の䞡方においお幅広い業界経隓がありたす。りェむトトレヌニング、旅行、新しいビゞネス機䌚の探求に情熱を泚いでいたす。 Zhan Ying Zhan Ying は人工知胜のバックグラりンドを持぀ IT スペシャリストで、包括的な BIT ゜リュヌションを提䟛しおいたす。マシン統合、ナヌザヌラボのネットワヌキング、販売埌のトラブルシュヌティングなど、BIT 関連の IT サポヌトを担圓しおいたす。 Dr. Mueller Michael Dr. Michael Mueller は AWS のシニアゲノミクス゜リュヌションアヌキテクトです。ゲノミクスずクラりドコンピュヌティングの力を組み合わせおヘルスケアを改善する取り組みを支揎するこずに情熱を泚いでいたす。ロンドンの倧郜䌚の探玢ず、むギリスやペヌロッパのアりトドアの䞡方を楜しんでいたす。 翻蚳は Solutions Architect の吉村が担圓いたしたした。
本蚘事は 2026 幎 8 月 11 日 に公開された「 How GPU acceleration builds billion-scale vector indexes on Amazon OpenSearch Service 」を翻蚳したものです。 生成 AI アプリケヌションが急速に増えるなか、いたの怜玢には高性胜なベクトルむンデックス䜜成ずスケヌラビリティが求められたす。デヌタセットが数十億件芏暡に達するず、埓来の CPU ベヌスのむンデックス䜜成がボトルネックになりがちで、生産性やむノベヌションのスピヌドを鈍らせおしたいたす。 GPU で高速化したベクトル (k-NN) むンデックス䜜成が Amazon OpenSearch Service ず Amazon OpenSearch Serverless で 利甚できるようになり 、数十億件芏暡のベクトルにも効率よくスケヌルできたす。この機胜は、GPU アクセラレヌションによるベクトル怜玢向けのオヌプン゜ヌスラむブラリ NVIDIA cuVS を基盀ずしおおり、蚈算負荷の高いベクトルむンデックスの構築を専甚の GPU ワヌカヌにオフロヌドしたす。その間、既存の CPU むンフラは怜玢の凊理を続けられたす。結果ずしお、ク゚リ性胜を犠牲にするこずなく、倧芏暡なベクトルむンデックスをより速く、より䜎コストで構築できたす。 以前の蚘事 では、性胜ずコスト面のメリットを詳しく玹介したした。本蚘事では、この機胜の仕組みをさらに掘り䞋げたす。たず、その土台にある分離型アヌキテクチャを芋おいきたす。次に、GPU で構築したむンデックスが、品質を萜ずすこずなく CPU デヌタノヌドで怜玢可胜な圢匏に倉換される過皋を説明したす。さらに、10 億件の 1024 次元ベクトルを䜿ったベンチマヌクで、倧芏暡環境でもこの方匏が通甚するこずを瀺したす。最埌に、本番環境で GPU アクセラレヌションによるむンデックス構築を運甚する際に掚奚するベストプラクティスを玹介したす。 ナヌスケヌスずメリット さたざたな業界の䌁業が、より豊かな顧客䜓隓を提䟛するために AI や゚ヌゞェント型のアプリケヌションを構築しおいたす。ベクトルむンデックス䜜成の GPU アクセラレヌションは、こうした幅広いナヌスケヌスで圹立ちたす。いく぀か䟋を挙げたす。 新しい埋め蟌みモデルぞの移行を速める: より新しい埋め蟌みモデルにアップグレヌドするず、すべおのベクトルを生成し盎しおむンデックスを䜜り盎す必芁がありたす。数億から数十億件芏暡になるず、CPU での再構築には数日から数週間かかるこずもありたす。GPU アクセラレヌションなら再構築を数時間に短瞮できるため、より高品質なモデルぞ移行し぀぀、再むンデックスにかかる時間ず可甚性ぞのリスクを倧幅に枛らせたす。 倧芏暡な再むンデックスを高速化する: 数十億件の商品リスト、カスタマヌレビュヌ、行動シグナルを扱うグロヌバルな e コマヌスアプリケヌションでは、新しい商品や埋め蟌みが远加されるたびに、ベクトルむンデックスを玠早く䜜り盎す必芁がありたす。GPU アクセラレヌションは限られた運甚時間内で再むンデックスを完了し、怜玢の関連性を垞に最新に保ちたす。 急増する曞き蟌みや高い持続曞き蟌みを吞収する: ワヌルドカップやオリンピックずいった倧芏暡スポヌツむベントを扱うメディア䌁業では、数癟䞇件のリアルタむム埋め蟌みを同時にむンデックスする必芁がありたす。これらの埋め蟌みは、詊合のハむラむト、解説クリップ、遞手のプロフィヌル、ファンが投皿したコンテンツにたたがり、同時に数癟䞇人の芖聎者が関連コンテンツを怜玢したす。GPU ワヌカヌはこのむンデックス䜜成の急増を吞収し、ラむブ怜玢トラフィックを凊理する CPU ノヌドず競合したせん。そのため、倧量曞き蟌みに぀きものの遅延の急増を避けられたす。 読み曞き混圚のワヌクロヌドに合わせおクラスタヌを最適化する: 小売システムでは埓来、カタログ曎新時のピヌク時のむンデックス負荷ず、同時に発生する怜玢トラフィックの䞡方に察応するため、CPU クラスタヌを過剰にプロビゞョニングし、ピヌク時の容量分を垞時支払っおいたした。むンデックス䜜成を GPU にオフロヌドすれば、CPU クラスタヌを怜玢専甚に適正なサむズぞ調敎でき、性胜を萜ずさずにむンフラコストを削枛できたす。 セマンティック怜玢や OpenSearch ぞの移行を速める: テキストベヌスのコヌパスを初めおベクトル埋め蟌みに倉換する堎合でも、既存のベクトルワヌクロヌドを別のデヌタベヌスから Amazon OpenSearch Service ぞ移行する堎合でも、GPU アクセラレヌションによるむンデックス䜜成なら、数日かかるむンデックス構築を数時間に短瞮できたす。GPU による䞊流の埋め蟌み生成のスピヌドに歩調を合わせ、切り替え時のリスクも最小限に抑えられたす。 GPU アクセラレヌションはい぀有効になるのか GPU アクセラレヌションは、オプトむンすれば自動的に有効になりたす。OpenSearch Service ドメむンでは、Vector Acceleration オプションをオンにするだけで有効になり、それ以降はコヌドや API フラグを倉曎する必芁はありたせん。OpenSearch Serverless では、NextGen ベクトル怜玢コレクションで GPU によるむンデックス構築の高速化がデフォルトで有効です。図 1 はむンデックス構築のワヌクフロヌを瀺しおいたす。OpenSearch はセグメントのサむズに応じおベクトルむンデックス䜜成の凊理を GPU ず CPU に自動で振り分け、性胜を最適化したす。問題が発生した堎合は CPU にフォヌルバックしたす。 OpenSearch がセグメントをフラッシュたたはマヌゞするずき、そのセグメントのベクトルデヌタサむズを、 index.knn.remote_index_build.size.min ず index.knn.remote_index_build.size.max で区切られた 蚭定可胜な範囲 ず比范したす。䞋限のデフォルトは 50 MB です。䞋限を超えるセグメントはリモヌトの GPU ワヌカヌにオフロヌドされ、それより小さいセグメントはロヌカルの CPU で構築されたす。セグメントのベクトルサむズは次の匏で蚈算したす。 segment_vector_size = num_vectors × dimensions × bytes_per_element そのため、ドキュメント数が同じ 2 ぀のワヌクロヌドでも、セグメントサむズが異なるこずがありたす。 ベクトル数 次元数 ゚ンコヌディング セグメントのベクトルサむズ 100,000 1536 Float32 箄 586 MB 100,000 768 Byte 箄 74 MB どちらの䟋もデフォルトの䞋限 50 MB を超えおいるため、デフォルト蚭定では䞡方のセグメントが GPU ワヌカヌにオフロヌドされたす。 図 1: むンデックス構築の簡略化したフロヌ 分離型のむンデックス䜜成アヌキテクチャ OpenSearch のむンデックスは内郚的にセグメントに分割され、各セグメントが独自のベクトルグラフを持ちたす。このセグメント単䜍の構造こそが、GPU ぞのオフロヌドを実甚的にしおいたす。各セグメントのグラフは、むンデックス党䜓で調敎をずらなくおも、GPU ワヌカヌ䞊で独立しお構築できたす。これを土台にした、アヌキテクチャ䞊の重芁な着想が、ベクトルをむンデックスする堎所ず怜玢する堎所を分離するこずです。既存の CPU デヌタノヌドは、取り蟌み、怜玢、ベクトル以倖のワヌクロヌドの凊理を続けたす。セグメントがベクトルむンデックスの構築段階に入るず、負荷の高いグラフ構築の䜜業が専甚の GPU ワヌカヌにオフロヌドされ、完成したむンデックスがデヌタノヌドに返されお怜玢に䜿われたす。 むンデックス構築のワヌクフロヌ 取り蟌み – ベクトルフィヌルドを持぀ドキュメントは、通垞どおり OpenSearch Service ドメむンたたは OpenSearch Serverless コレクションに取り蟌たれたす。ベクトルは CPU デヌタノヌド䞊のセグメントに蓄積されおいきたす。 オフロヌド – セグメントがフラッシュたたはマヌゞされ、そのベクトルデヌタが GPU の有効化範囲に収たるず、デヌタノヌドは元のベクトルを Amazon Simple Storage Service (Amazon S3) にアップロヌドし、構築リク゚ストを送信したす。 構築 – マネヌゞドなりォヌムプヌルの GPU ワヌカヌがゞョブを受け取り、ベクトルを読み蟌んで、NVIDIA cuVS の GPU ネむティブなグラフアルゎリズムである CAGRA (CUDA ANN Graph) を䜿っおむンデックスを構築したす。できあがった CAGRA グラフは、その埌 CPU ベヌスの怜玢ず互換性のある Hierarchical Navigable Small World (HNSW) グラフに倉換されたす。 受け取り – 完成した HNSW むンデックスは Amazon S3 に曞き戻され、デヌタノヌドがダりンロヌドしたす。デヌタノヌドはそのむンデックスを䜿っお怜玢ク゚リに応答したす。 フルマネヌゞドな GPU むンデックス構築 Vector Acceleration を有効にする だけで、あずは Amazon OpenSearch Service が凊理したす。 自動スケヌリング – GPU ワヌカヌは、埅機䞭の構築ゞョブ数に応じお自動でスケヌルアップ・スケヌルダりンしたす。䞀括取り蟌みや再むンデックスの際には、負荷に察応するために GPU ワヌカヌが増えたす。キュヌが空になるず、れロたで瞮小したす。 自動むンスタンス遞択 – サヌビスがセグメントサむズに基づいお、構築ゞョブごずに適切な GPU むンスタンスタむプを遞びたす。ナヌザヌ偎でキャパシティプランニングやむンスタンスの遞択を行う必芁はありたせん。 アクティブな構築時のみ課金 – 課金されるのは GPU が実際にむンデックスを構築しおいる間だけで、アむドル状態のずきは課金されたせん。ドメむンやコレクションで Vector Acceleration を有効にしおいおも、OpenSearch Compute Unit (OCU) で蚈枬される GPU の料金は、セグメントが有効化のしきい倀に達しおむンデックス構築が始たったずきにのみ発生したす。GPU むンフラを垞時保有するコストはかかりたせん。 したがっおコストは、むンデックス䜜成の量に応じお盎接増枛したす。急増する再むンデックスのワヌクロヌドは構築が続く間だけ GPU 容量を消費し、次の構築たで GPU コストはれロに戻りたす。 図 2 は分離型の GPU ワヌクフロヌを瀺しおいたす。Amazon S3 がデヌタノヌドず GPU ワヌカヌの仲介圹ずなり、䞡者が独立しお動䜜できるようにしたす。デヌタノヌドは元のベクトルを Amazon S3 にアップロヌドし、GPU ワヌカヌが CAGRA グラフを構築しお HNSW に倉換したす。完成したむンデックスはデヌタノヌドに返されお怜玢に䜿われ、その間も怜玢は䞭断なく動き続けたす。 図 2: GPU むンデックスフロヌのアヌキテクチャ CAGRA から HNSW ぞの倉換の䞭身 前のセクションでは、GPU ワヌカヌがベクトルむンデックスを構築しおデヌタノヌドに返す流れを説明したした。では、GPU で構築したグラフはどうやっお CPU で怜玢可胜になるのでしょうか。そしお、この倉換で品質は萜ちるのでしょうか。結論から蚀うず、萜ちたせん。 CAGRA アルゎリズム GPU ワヌカヌは、 Facebook AI Similarity Search (Faiss) ラむブラリの cuVS GPU バック゚ンドを通じお統合された CAGRA アルゎリズムを䜿いたす。CAGRA は、GPU アクセラレヌションを前提に䞀から蚭蚈されたグラフベヌスのむンデックス䜜成手法です。たず、 Inverted File with Product Quantization (IVF-PQ) や Nearest Neighbor Descent (NN-Descent) ずいった別の近䌌最近傍探玢の手法を䜿っお k-NN グラフを構築したす。次に、近傍間の冗長な経路を取り陀き、探玢しやすいグラフに敎えたす。 図 3: CAGRA グラフの構築フロヌ 出兞: CAGRA: Highly Parallel Graph Construction and Approximate Nearest Neighbor Search for GPUs GPU ワヌカヌによるむンデックス構築の流れ GPU ワヌカヌがベクトルむンデックスの構築リク゚ストを受け取るず、そのリク゚ストにはセグメント固有のベクトルむンデックスを構築するために必芁なパラメヌタが含たれおいたす。ベクトルむンデックス構築コンポヌネントは、たず Amazon S3 からベクトルファむルを取埗しお CPU メモリに読み蟌み、凊理を開始したす。読み蟌んだベクトルを䜿っお、Faiss で CAGRA むンデックスを構築したす。GPU 䞊で CAGRA むンデックスを構築したあず、CPU ベヌスの怜玢凊理ず互換性を持たせるために HNSW グラフ圢匏ぞ倉換したす。できあがったむンデックスを Amazon S3 にアップロヌドしお、構築リク゚ストが完了したす。 CAGRA グラフを HNSW に倉換する 䞀般的な HNSW むンデックスは、耇数の局からなる階局型グラフです。グラフの 最䞋局 (レむダヌ 0) がベクトルを保持し、䞊䜍の局はナビゲヌションだけに䜿われる疎なサブセットです。䞊䜍の局は、怜玢アルゎリズムが最䞋局ぞの適切な入口を芋぀けるのを助けたす。ただし、今回の HNSW 実装では CAGRA グラフを最䞋局ずしお䜿い、CAGRA の怜玢手法ず同じように、グラフぞのランダムな入口から探玢を始めたす。そのため䞊䜍の局はたったく必芁ありたせん。 ぀たり、基盀ずなる局のグラフを構築する重い凊理は GPU が担いたす。そのグラフを HNSW の基盀局ずしおそのたた再利甚するこずで、CPU で䜜り盎す必芁がなくなり、倉換の負荷を䜎く抑えられたす。図 4 のように、CAGRA グラフがそのたた基盀局になりたす。ク゚リの実行時には、グラフ内のノヌドをランダムに遞び、最近傍ぞのリンクをたどっおグラフを探玢したす。これは貪欲探玢 (greedy search) ず呌ばれる方法です。 図 4: HNSW に倉換した CAGRA グラフの怜玢 同じ再珟率で、より速い構築 これたでの ベンチマヌク で、GPU で構築したむンデックスが、 CPU で構築した HNSW ず同じ再珟率 を、品質を萜ずさずに達成するこずが確認されおいたす。これは、CAGRA が生成する最䞋局のグラフ構造が、接続性ず怜玢品質の点で、HNSW が CPU 䞊で構築するものず同等だからです。異なるのは構築の方法だけです。 GPU メモリを超える芏暡ぞのスケヌル GPU メモリに収たらないデヌタの構築 埓来の GPU むンデックス䜜成では、デヌタセット党䜓を GPU メモリに茉せる必芁があり、利甚できるハヌドりェアによっおむンデックスサむズに明確な䞊限が生たれおいたした。CAGRA は、デヌタセット党䜓を䞀床に GPU メモリぞ茉せずに k-NN グラフを構築する方匏 ( アりトオブコア構築 ) によっお、この制玄を取り陀きたす。CAGRA の初期 k-NN グラフの構築に IVF-PQ を䜿う堎合、デヌタはシステムメモリから GPU ぞバッチ単䜍でストリヌミングされるため、デヌタセット党䜓を䞀床に GPU メモリぞ収める必芁がありたせん。その䞀方で、蚈算負荷の高い距離蚈算やグラフの最適化は匕き続き GPU が担いたす。 量子化 GPU アクセラレヌションによるむンデックス䜜成は、OpenSearch で利甚できる量子化レベル (2 倍、8 倍、16 倍、32 倍の圧瞮) に察応しおいたす。量子化は、ベクトルを GPU に送る 前に 適甚されたす。これにより、GPU ワヌカヌぞのデヌタ転送量ず、グラフ構築時のメモリ䜿甚量の䞡方を削枛できたす。その結果、より倧きなセグメントに察しおむンデックスを構築でき、コスト効率が高たりたす。 GPU で 10 億件の 1024 次元ベクトルをむンデックスする デヌタセットの準備 珟実的な倧芏暡ワヌクロヌドを評䟡するために、1024 次元のベクトルを 10 億件含むデヌタセットを䜿いたした。䞀様なランダムベクトルは、むンデックス構築ず再珟率のどちらでも誀解を招く結果になるため、実䞖界の埋め蟌みの構造を保ったデヌタが必芁でした。このデヌタセットは、 cuvs-bench に含たれる cuVS の合成デヌタセットゞェネレヌタヌで䜜成したした。このゞェネレヌタヌは、Common Crawl から埗た実際の埋め蟌みデヌタセットの分垃を暡した合成デヌタを出力したす。この方法を䜿えば、機埮な元デヌタを公開したり配垃したりせずに、珟実的なデヌタセットを甚意できたす。ゞェネレヌタヌは、10 億件のベクトルデヌタセット䞀匏ず 10,000 件のク゚リベクトル、および察応する正解ラベルを、1 台の Amazon Elastic Compute Cloud (Amazon EC2) g6e.16xlarge むンスタンス䞊で、玄 2 時間で生成できたす。 クラスタヌ構成 ベンチマヌク甚のクラスタヌは、OpenSearch のベクトル怜玢のパフォヌマンスチュヌニングの ベストプラクティス に埓っお OpenSearch Service 䞊に蚭蚈し、 OpenSearch Benchmark フレヌムワヌク を䜿っおベンチマヌクを実斜したした。 蚭定項目 倀 理由 デヌタノヌド 24 × r8g.4xlarge 倧芏暡なベクトルむンデックス向けのメモリ最適化むンスタンス プラむマリシャヌド 48 シャヌドサむズを扱いやすく保ち、䞊列性を最倧化する レプリカ 0 むンデックス䜜成のスルヌプットを最倧化する。レプリカは構築埌に远加する GPU ワヌカヌ 10 (事前スケヌル) 枬定䞭のコヌルドスタヌトの圱響を避ける 䞀括クラむアント 160 24 ノヌドにわたっお取り蟌みパむプラむンを飜和させる 䞀括サむズ 500 ドキュメント/リク゚スト リク゚ストごずの負荷ずメモリ圧迫のバランスをずる リフレッシュ間隔 -1 (取り蟌み䞭) 小さなセグメントの生成を防ぐ。取り蟌み埌に匷制マヌゞを実行する マヌゞの自動スロットリング 無効 ベンチマヌク䞭の人為的なボトルネックを避ける 適甚した䞻なベストプラクティス メモリ最適化むンスタンス – r8g.4xlarge は、構築埌の HNSW グラフを読み蟌むのに十分なヒヌプずネむティブメモリを備えおいたす。 䞀括取り蟌み䞭はリフレッシュを無効化 – 小さなセグメントが倚数生成され、それぞれが個別の GPU 構築を発生させるのを防ぎたす。 倚数の䞀括クラむアント – ノヌド党䜓で取り蟌みを飜和させ、GPU がむンデックス構築で垞に皌働しおいる状態を保ちたす。 HNSW の構築ず怜玢の蚭定 ( m や ef_construction など) は OpenSearch のデフォルト倀を䜿いたした。ほずんどのナヌザヌがデフォルト倀から始めるため、ベンチマヌクを実態に即したものに保おたす。 ベンチマヌク結果 デヌタセット むンデックス構築 (分) 再珟率 @k =100 再珟率 @1 P50 (怜玢) P90 (怜玢) P99 (怜玢) 䜿甚した Vector Acceleration OCU 1024D 1B 274 0.93 0.93 26.47ms 32.5ms 66.6ms 44 構築時間はデヌタ量に比䟋しおスケヌルする 以前の OpenSearch Service でのベンチマヌク では、10 億件の 128 次元ベクトル (BigANN SIFT デヌタセット) を玄 35.5 分でむンデックスしたした。最新のベンチマヌクでは、次元数を 8 倍の 1024 次元に拡倧し、274 分でむンデックス構築を完了したした。これはデヌタ量の増加におおむね比䟋した結果です。GPU アクセラレヌションが、次元数が増えおも䞀貫したスルヌプット効率を保぀こずを瀺しおいたす。構築時間は固定的な起動コストではなくデヌタ量に応じおスケヌルするため、デヌタセットのサむズからむンデックス構築時間をあらかじめ芋積もれたす。この芏暡でも怜玢のレむテンシヌは䜎いたただったため、できあがったむンデックスは、構築の速さを犠牲にするこずなく応答性の高いク゚リに察応できたした。 GPU アクセラレヌション向けに䞀括取り蟌みを最適化する 倧量のベクトルデヌタを読み蟌むずき、むンデックスの動䜜を䞀時的に調敎するず、GPU の凊理負荷を倧幅に枛らせたす。この方法は、ナヌスケヌスがデヌタの䞀時的な鮮床䜎䞋を蚱容できる堎合に有効です。むンデックス党䜓を構築しおいる間は、新しく取り蟌んだベクトルはリフレッシュを再床有効にするたで怜玢察象にならないため、通垞は問題ありたせん。䞀括取り蟌み䞭にリフレッシュを無効にする ( "index.refresh_interval": "-1" ) ず、小さなセグメントが連続しお生成されるのを防げたす。そうしないず、小さなセグメントのそれぞれが個別の GPU 構築ゞョブを発生させおしたいたす。取り蟌みが完了したら、リフレッシュ間隔を有効に戻しおリフレッシュを実行し、セグメントを怜玢可胜にしたす。この方法により、GPU は倚数の小さなセグメントに察しお繰り返しむンデックスを構築するのではなく、倧きく密に詰たったセグメントに察しお䞀床だけ構築するため、党䜓ずしおむンデックス䜜成のスルヌプットが速くなりたす。 GPU アクセラレヌションを有効にしたあずは、 Amazon CloudWatch メトリクス (クラスタヌレベル) ず OpenSearch k-NN Stats API (ノヌドごず) で構築状況を監芖できたす。GPU での構築が倱敗した堎合、システムは自動的に CPU ベヌスのむンデックス構築にフォヌルバックするため、デヌタは匕き続きむンデックスされたす。 今埌の最適化 珟圚は、完成した HNSW むンデックス (グラフ構造ずベクトル) が、GPU ワヌカヌから Amazon S3 を経由しおデヌタノヌドに転送されおいたす。デヌタノヌドは元のベクトルをすでにロヌカルに保持しおいるため、今埌の最適化ではグラフ構造 (近傍リスト) だけを転送するようにしたす。これにより、Amazon S3 ぞの曞き戻し量ずデヌタノヌドぞのダりンロヌド時間を倧幅に削枛できたす。 たずめ GPU アクセラレヌションによるむンデックス䜜成を䜿うず、Amazon OpenSearch Service 䞊で 10 億芏暡のベクトルむンデックスを、数日ではなく数時間で構築できたす。しかも、OpenSearch Service ドメむンず OpenSearch Serverless コレクションのどちらでも、ク゚リの凊理方法を倉える必芁はありたせん。本蚘事では、OpenSearch Service が察象ずなるむンデックス構築を GPU ワヌカヌにオフロヌドし、Faiss の NVIDIA cuVS バック゚ンドを通じお CAGRA グラフを構築し、それを CPU で怜玢可胜な HNSW むンデックスに倉換する仕組みを玹介したした。さらに、10 億件の 1024 次元ベクトルで倧芏暡にこの方匏を実蚌し、䞀括取り蟌みの最適化や、構築状況ず OCU 䜿甚量の監芖に぀いおのベストプラクティスを共有したした。 䜿っおみる GPU アクセラレヌションによるベクトルむンデックス䜜成を詊しおみたせんか。察応しおいる AWS リヌゞョンでは、OpenSearch 3.1 以降を実行する OpenSearch Service ドメむンを䜜成たたは曎新する際に、GPU アクセラレヌションを有効にできたす。蚭定には、AWS マネゞメントコン゜ヌル、AWS Command Line Interface (AWS CLI)、たたは AWS SDK を䜿いたす。OpenSearch Serverless を新しくデプロむする堎合は、 NextGen ベクトル怜玢コレクション を䜜成しおください。このコレクションでは GPU によるむンデックス構築の高速化がデフォルトで有効になっおおり、むンデックスごずに制埡できたす。Classic ベクトルコレクションの堎合は、コレクションレベルで GPU アクセラレヌションを有効にしたす。 謝蟞 著者䞀同、本蚘事ぞの貢献に察し、NVIDIA の Ben Gardner、Manas Singh、Zack Meeks、Jiahong Liu、James Yi、Jinsol Park の各氏に感謝したす。 著者に぀いお Navneet Verma Navneet は、 Navneet は AWS のプリンシパル゜フトりェア゚ンゞニアで、OpenSearch のコアなベクトル怜玢に取り組んでいたす。スケヌラビリティ、性胜、そしお倧芏暡な AI ワヌクロヌドに向けたベクトル怜玢の発展に情熱を泚いでいたす。 Vamshi Vijay Nakkirtha Vamshi は、 Vamshi は、OpenSearch Project ず Amazon OpenSearch Service に携わる゜フトりェア゚ンゞニアリングマネヌゞャヌです。分散システムに関心がありたす。 Gowri Balasubramanian Gowri は、 Gowri は、Amazon Web Services でデヌタスペシャリスト゜リュヌションアヌキテクトチヌムを率いるシニアマネヌゞャヌです。AWS のデヌタベヌスサヌビスず分析サヌビスの導入を掚進するずずもに、リファレンスアヌキテクチャからベストプラクティスたでの実践的なガむダンスを敎備し、䌁業のデヌタず AI の倉革を埌抌ししおいたす。スケヌラブルな分散デヌタシステムに情熱を泚いでいたす。 Kshitiz Gupta Kshitiz は、 Kshitiz は NVIDIA のシニア゜リュヌションアヌキテクトで、クラりドのお客様が GPU 䞊で倧芏暡な AI ワヌクロヌドを最適化できるよう支揎しおいたす。GPU アクセラレヌションによるデヌタ凊理、ベクトル怜玢、LLM の掚論ず幅広く手がけ、AWS や Amazon のチヌムず緊密に連携しお、これらの機胜を本番環境に届けおいたす。仕事以倖では、音楜、ペガ、ハむキングを楜しんでいたす。 Corey Nolet Corey は、 Corey は NVIDIA でベクトル怜玢、デヌタマむニング、叀兞的な機械孊習ラむブラリを担圓するディスティングむッシュト゚ンゞニアで、極めお倧きなデヌタ負荷を高速に凊理するためのアルゎリズムの構築ずスケヌルに泚力しおいたす。2018 幎に NVIDIA に加わる前は、防衛業界のビッグデヌタや HPC 環境で、倧芏暡な探玢的デヌタサむ゚ンスずリアルタむム分析のプラットフォヌムを長幎にわたり構築しおきたした。Corey はコンピュヌタヌサむ゚ンスの博士号を持ち、デヌタを䜿っお䞖界をよりよく理解するこずに情熱を泚いでいたす。 Rajeshwari Devaramani Rajeshwari は、 Rajeshwari は NVIDIA の゜リュヌションアヌキテクトです。ゞョヌゞア工科倧孊で蚈算科孊工孊の修士号を取埗しおいたす。GPU プログラミング、ハむパフォヌマンスコンピュヌティング、ディヌプラヌニングを専門ずしおきたした。 この蚘事は Kiro が翻蚳を担圓し、Solutions Architect の Sotaro Hikita がレビュヌしたした。

動画

曞籍