PreCompactとは
PreCompactとは、ベクトルインデックスの構築前にデータを前処理・圧縮する手法を指す
読み: プリコンパクト
ベクトルインデックスの構築前にデータを前処理・圧縮する手法を指す。エンベディングの次元削減やPQ(積量子化)による圧縮を事前に適用し、検索時のメモリ消費と計算量を削減する。大規模なベクトルデータベースにおいて、検索精度を維持しながらストレージコストを抑える技術である。
かんたんに言うと
図書館の蔵書を全て原本で保管するのではなく、要約版を作って棚に並べておくイメージである。利用者が探す際は要約版で絞り込み、必要なときだけ原本を取り出す。ベクトル検索でも同じように、圧縮版で高速に検索し、詳細は原本から取得する。
ベクトル圧縮の仕組み
エンベディングは通常768〜1536次元のfloat32ベクトルとして格納される。PreCompactでは、PQ(積量子化)やScalar Quantizationを適用して、1ベクトルあたりのストレージを数分の一に削減する。FAISSやUSearchがこの手法をサポートしている。
次元削減(PCA等)も前処理として有効である。1536次元のOpenAIエンベディングを384次元に削減すれば、メモリ消費は4分の1になる。精度の低下は用途に依存するが、Intent ClassificationレベルのタスクではL影響は軽微となる。
インプロセス検索との組み合わせ
インプロセス・ベクトル検索では、インデックス全体をメモリに載せる必要がある。PreCompactによるデータ圧縮は、DuckDBやLanceDB等のインプロセス型DBにおいて、扱えるデータ規模を数倍に拡大する。オーバーヘッド削減と精度維持のバランスが設計の鍵となる。
同じ失敗を二度としないAIエージェント
今のAIは、聞けば何でも答えてくれます。
でも、セッションが切れた瞬間に前回の失敗を忘れます。
当社が開発しているAIは、過去の経緯を念頭に置いて、
聞かれる前に「それは前回うまくいきませんでした」と声をかけます。
人間にも同じ失敗をさせず、AI自身も繰り返しません。
古参の社員が横にいるように、黙っていても気づいてくれる。
それが、当社が考える本当のAI社員です。
