← 概念解説に戻る

Concept Fable

階層型ナビゲート可能スモールワールドグラフ

先に結論:階層型ナビゲーブル・スモールワールドグラフ(Hierarchical Navigable Small World, HNSW)は、グラフ構造の近似最近傍インデックスであり、ベクトルデータベースにおける高性能な類似検索によく使われる。ベクトル点を多層グラフとして組織する。上層は少数の遠距離ジャンプ点をつなぎ、目標領域へ素早く近づくために使う。下層はより多くの局所近傍をつなぎ、検索結果を精緻化するために使う。HNSW はわずかな再現率精度と引き換えに大きな速度向上を得て、パラメータでインデックス構築コスト、クエリ速度、メモリ使用量、再現率を制御する。企業 RAG では、文書ベクトルの規模が数万から数百万、数千万へ増えるとき、HNSW は意味検索をオンラインで利用可能にし続けるための重要な基盤の一つである。

Hierarchical Navigable Small World, HNSW · Approximate nearest neighbor index

まず物語を読む。ここでは急いで定義を示さず、まず問題そのものを立ち上がらせる。

寓話

山城の郵便配達人は、高い場所から道を見つけることを学んだ

大砂漠のほとりに商城があり、路地は織物のように密だった。新しく来た郵便配達人は番地ごとに一軒ずつ探し、手紙一通を届けるのに半日かかった。城主は、城内でもっと速く情報が駆け巡るようにしたいと思った。

彼はまず各路地の入口に札を立てさせた。札は役に立ったが、郵便配達人が近くで回り道するのを助けるだけだった。受取人が城の反対側にいれば、依然として無数の小路を通らねばならなかった。誰かが直線道路を造ることを提案したが、直線道路はどの家の門前にも通じなかった。

老郵便配達人は階層的に地図を描くことを提案した。最上層には少数の高い塔と城門だけを描き、人が素早く大きな方向へ近づけるようにする。中層には主要な通りを描く。最下層になって初めて密集した路地を描く。配達の時は、まず高い所からおおよその区域へ跳び、それから層ごとに降りて近隣を探す。

最初の地図描きは失敗した。上層部は裕福な邸宅だけを選び、多くの普通の街区は高塔から遠すぎ、郵便配達人はさらに遠回りした。老郵便配達人は、異なる位置に少量の「遠縁通路」を設け、各街区が数歩で大通りに接続できるように変えた。

後に、郵便配達人は似た店を探すのも速くなった。藍染めの布を売る店を探すには、最初の店から最後の店まで調べる必要はなく、まず高層で布市に近づき、次に中層で染め工房に近づき、最後に小路で最も似た数店を比べればよかった。

若い郵便配達人が、なぜ最も詳細な下層図だけを残さないのかと尋ねた。老郵便配達人は言った。細かい図は門を漏らさないことを保証し、粗い図は遠い道で迷わないことを保証する。本当に速い探索は、疎な遠跳びから密な近查へと向かうことにかかっている。

城主は遠縁チャネルが少なすぎると迷い、多すぎると地図が膨らむことを心配しました。老郵便配達人は層ごとに数を制御しました。高層は少なく遠く、低層は多く近く。各層は自分の探索距離だけを担います。後に商城に香料区が新設され、老郵便配達人は全城を描き直しませんでした。新店を低層の路地に接続し、少数の適切な遠縁チャネルを選んで中層と高層に接続しただけです。新区域はすぐに見つけられ、旧区域も一から作り直す必要がありませんでした。郵便配達人たちは定期的に失効したチャネルも整理しました。ある遠路がいつも人を迷わせるなら、低層に下げるか削除し、速い道が遠回りにならないようにしました。速い道は定期的に校正が必要です。新店が適切な層に接続されなければ、城外に建てられたように、存在するのに見つけにくくなります。

商城が拡大するほど、この階層化された道路網の価値が際立つ。毎回絶対的な最短を保証するわけではないが、巨大な街区の中で十分に近い目標を素早く見つけられる。

明らかにする

この物語が語るのは:階層型ナビゲーブル小世界グラフ

階層型ナビゲーブル・スモールワールドグラフ(Hierarchical Navigable Small World, HNSW)は、グラフ構造の近似最近傍インデックスであり、ベクトルデータベースにおける高性能な類似検索によく使われる。ベクトル点を多層グラフとして組織する。上層は少数の遠距離ジャンプ点をつなぎ、目標領域へ素早く近づくために使う。下層はより多くの局所近傍をつなぎ、検索結果を精緻化するために使う。HNSW はわずかな再現率精度と引き換えに大きな速度向上を得て、パラメータでインデックス構築コスト、クエリ速度、メモリ使用量、再現率を制御する。企業 RAG では、文書ベクトルの規模が数万から数百万、数千万へ増えるとき、HNSW は意味検索をオンラインで利用可能にし続けるための重要な基盤の一つである。

重要なのは、それが単なる用語ではなく、実際のAI/Agentシステムで繰り返し現れる構造的な問題だという点だ。これを理解して初めて、いつモデルを足すべきか、いつプロセスを変えるべきか、いつガバナンスを補うべきかを判断できる。

メタファーのマッピング

  • 山城の家:ベクトル空間内の文書断片または知識ノード
  • 戸別に問い合わせる:正確な最近傍探索は大量のベクトルを走査する必要があり、コストは規模とともに急速に上昇する
  • 巨大な平面図:完全なデータはあるが効率的な索引がないベクトル集合
  • 番号が近くても必ずしも近いとは限らない:通常のソートや単純なバケット化では意味的距離を表現できない
  • 山頂の疎な経路図:HNSWの高層グラフ。少数の長い接続で目標付近へ素早く跳ぶ
  • 低層の街路:HNSWの下層グラフで、精細な検索のために局所的な隣接をより多く保持する
  • 各ステップでより近い隣人を探す:グラフ探索における greedy search の考え方
  • 十分な数の候補近傍:HNSW パラメータが再現率、速度、メモリに与えるトレードオフ
  • 上万封のクエリでも届く:ベクトルデータベースのオンライン類似検索の生産価値

Andy(任旭)判断

この概念の実戦的価値は、「賢く見えるAI機能」を納品可能、検収可能、ガバナンス可能な作業単位に分解する手助けをすることです。

ANN searchvector index最近傍QdrantWeaviatepgvector
京ICP备2026014272号