Perplexity、AI検索を高速化する新システム導入
Perplexity Introduces Photon: A Rust-Based Retrieval Engine That Cuts p99 Latency From 800 ms to 65 ms

AI検索のPerplexityが、応答速度を大幅に改善する新システム「Photon」を導入。これにより、ユーザーはより速く安定した検索体験を得られます。
Perplexityは、Rustで書かれた自社開発のretrievalおよびrankingエンジンであるPhotonをリリースしました。これは、PerplexityがAI-native search stackのためにフォークしていたオープンソースのエンジンを置き換えるものです。Photonは現在、すべての本番トラフィックのretrievalとrankingを処理しています。また、Perplexity Search APIの新しいFast Searchモードも強化しています。Perplexityは、p50で160 ms、p95で230 msのシングルコールlatencyを報告しています。デプロイ可能か?はい、ホスト型APIとして利用できます。POST /searchでsearch_type: "fast"を設定し、1,000リクエストあたり1ドルを支払います。Photon自体はオープンソースではないため、エンジンをセルフホストすることはできません。Why Perplexity Replaced its Old Engine The old engine hit 3 limits as the index grew: Tail latency: 本番環境のp99は800 ms近くでした。データセットがRAMを超過したため、mlockは選択肢になりませんでした。コールドリードは主要なページフォルトを引き起こし、クエリを停止させました。Merge spikes: ディスクインデックスの融合中、p99は10〜15分間、約1.2秒にまで上昇しました。Slow recovery: 追加のクラスターをデプロイして同期するには1週間以上かかることがありました。リカバリは部分的な応答の割合も増加させました。Perplexityチームは、フォークを維持するよりもゼロから構築する方がシンプルで安価であると結論付けました。How Photon Works A load balancer routes each request to a Photon broker。brokerはshardグループにファンアウトし、タイムアウトを監視します。各shardはretrieval、initial ranking、およびsecond-stage rankingを実行します。その後、brokerは候補をマージし、主要なdocument fieldsを取得します。Adaptive posting lists: 短いリストは単一ページ内にインラインで配置されます。長いリストは固定のdocument ID範囲のブロックに分割されます。Sparse blocksはソートされたoffset arraysを格納し、galloping searchを使用します。Dense blocksはビットマップを使用するため、メンバーシップは単一のビットルックアップになります。Budgeted traversal: WANDのようなアルゴリズムは、リストをdriving listsとprobe listsに分割します。安価な存在チェックが最初に各候補の最大スコアを制限します。正確なterm frequenciesは、候補がしきい値をクリアできる場合にのみ読み取られます。Docblob records: 各ドキュメントは、frequencies、fiのコンパクトなレコードを取得します。
この記事について質問
記事の内容に答えます。記事外のことは都度ウェブで調べます。