Qrita: High-performance Top-k and Top-p using Pivot-based Truncation and Selection
本論文は、ピボットベースの切り捨てと選択を活用して既存の GPU カーネルと比較して最大 1.4 倍のスループット向上と 50% のメモリ削減を実現する大語彙向けの高性能かつ決定論的な Top-k および Top-p サンプリングアルゴリズム「Qrita」を導入し、それが vLLM のデフォルトサンプリャとして採用されるに至ったことを述べる。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
あなたは100,000種類の異なる食材(語彙)を備えたパントリーを持つ巨大なキッチン(大規模言語モデル)を運営するシェフだと想像してください。料理(単語を生成)するたびに、その巨大なパントリーから最高の食材をいくつか選び、料理が美味しくても飽きないものになるよう確保する必要があります。
AIの世界では、この選び出しのプロセスをTop-k(上位k個の最高の食材を選ぶ)とTop-p(特定の「風味スコア」に達する最小限の食材グループを選ぶ)と呼びます。
問題:遅く、散らかったキッチン
現在、ほとんどのキッチンは、100,000個の食材を巨大なカウンターにすべて出し、最高のものから最悪のものまで「風味スコア」でソートし、その後上位のものを取り出すという方法で処理しています。
- 問題点: 100,000個のアイテムをソートするのは遅く、散らかりやすいです。大量のカウンター空間(メモリ)を占有し、シェフの手が疲れます(計算オーバーヘッド)。
- 代替案: 一部のシェフは、たぶん良いだろうと推測して、ランダムに handful の食材を掴もうとします。しかし、これはリスクがあります。時には最高の食材を見逃したり、毎回料理するたびに出来上がりが異なる(非確定的)ことがあり、レシピを正確に再現する必要がある場合は問題です。
解決策:Qrita(賢いソウシェフ)
この論文は、食材を選ぶための新しい高速な方法Qritaを紹介しています。Qritaは、散らかったソート作業を完全にスキップするために2つの巧妙なトリックを使う、超賢いソウシェフだと考えてください。
トリック1: 「ガウス・シグマ・トリンケーション」(ノイズフィルター)
100,000個の食材があるパントリーの中で、99,000個は単なる「ノイズ」(塩、砂糖、小麦粉など、すべてほぼ同じような味気ないもの)だと想像してください。残りの数百個だけが「スター食材」(トリュフやサフランなど)です。
Qritaは、すべての瓶を調べる代わりに、素早い嗅ぎテストを行います。パントリーの平均的な味と「辛味」(標準偏差)を計算します。そして、あるラインを引きます。「このラインより下は単なるノイズだ。見る必要はない。」
- 結果: パントリーの99%を即座に捨て、興味深い瓶を200個程度だけ残します。これは単一の、雷のような速さのパスで行われます。
トリック2: 「四進ピボット探索」(4分割)
これで、シェフは200個の興味深い食材の小さな山を持っています。それでも、正確な上位50個を見つける必要があります。
- 古い方法: 1つずつ確認する(遅すぎる)か、山を半分に分割する(二分探索)。
- Qritaの方法: 山を半分に分割する代わりに、Qritaは一度に4つのセクションに分割します。「最高の食材は、第1四半期、第2四半期、第3四半期、それとも第4四半期にあるか?」と問います。
- ボーナス: また、重複する食材のための特別なルールもあります。「サフラン」の瓶が3つあり、すべて正確に同じスコアの場合、Qritaはレシピを毎回同一にするために何個保持すべきかを正確に知っています(確定的)。これにより、シェフが同一の瓶の間で決着をつけようとして無限ループに陥るのを防ぎます。
なぜこれが重要か(結果)
著者は、Triton(グラフィックカード/GPUをプログラミングするための言語)という専用ツールを使ってQritaを構築し、vLLMやSGLangなどの主要なAIエンジンが現在使用している最良の方法と比較してテストしました。
- 速度: 実際のサービスシナリオでは最大1.4倍、生速度テストでは最大2倍高速です。
- メモリ: 100,000個のアイテムのソート済みリスト全体を保存する必要がないため、半分のメモリしか使用しません。
- 精度: 推測する一部の高速な方法とは異なり、Qritaは遅くても完璧なソート方法と完全に同じ結果を提供します。出力を変えることなく、それをはるかに高速に見つけ出します。
結論
Qritaは、世界中のすべてのスパイスを手作業でソートするシェフから、退屈なものを即座に無視し、興味深いものを一度に4つの山に分割し、重複を完璧に処理するスマートなアシスタントへアップグレードするようなものです。これにより、回答の品質を変えることなく、AI生成をより高速かつ効率的にします。
注:この論文では、QritaがAIモデルを実行するための人気ツールであるvLLMのGPUパスにおけるデフォルト方法となり、コードは他の人が使用できるよう公開されていると述べています。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。