AI Navigate

FlashSampling: 高速かつメモリ効率の良い正確サンプリング

arXiv cs.LG / 2026/3/18

📰 ニュースDeveloper Stack & InfrastructureTools & Practical UsageModels & Research

要点

  • FlashSampling は、サンプリングを LM ヘッドのマトリクス乗算(matmul)に統合し、高帯域メモリ上で logits テンソルを実体化することを回避する正確なサンプリングプリミティブを導入します。
  • この手法は、ロジットをチップ上でタイルごとに計算し、Gumbelノイズを加え、各行および語彙タイルごとに argmax のみを保持し、タイル間で小さなリダクションを行って処理を完了します。
  • 統合されたタイル化カーネルは、argmax が分割上で分解されるため正確であり、階層的因数分解によりオンラインおよびテンソル並列設定向けのグループ化バリアントを実現します。
  • H100、H200、B200、B300 GPU 系統において、FlashSampling はカーネルレベルのデコードワークロードを高速化し、エンドツーエンドの vLLM 実験において出力トークン1つあたりの所要時間を最大で19%削減します。プロジェクトページは https://github.com/FlashSampling/FlashSampling です。

要約: カテゴリ分布からのサンプリングは数学的には単純ですが、大語彙のデコードでは、LMヘッドの後に追加のメモリトラフィックや追加のカーネルを引き起こすことがあります。私たちは FlashSampling を提示します。これは、サンプリングを LMヘッドの matmul に融合させ、HBM 内のロジットテンソルを決して実体化しない正確なサンプリングプリミティブです。方法は単純です:チップ上でロジットをタイルごとに計算し、ガンベルノイズを加え、各行および語彙タイルごとに最大値をとるものを1つだけ保持し、タイル間で小さな還元をして終了します。統合されたタイル化カーネルは正確です。なぜなら、\argmax は分割に対して分解されるからです;オンラインおよびテンソル並列設定のグループ化されたバリアントは、カテゴリ分布の階層的因子分解によって正確です。H100、H200、B200、および B300 GPU にわたって、FlashSampling はカーネルレベルのデコードワークロードを高速化し、エンドツーエンドの vLLM 実験では、私たちがテストしたモデルで出力トークンあたりの時間を最大で 19% 縮小します。これらの結果は、近似なしの正確なサンプリングが matmul 自体に組み込むことができ、帯域幅依存の後処理ステップを軽量なエピローグへと変えることができることを示しています。 プロジェクトページ: https://github.com/FlashSampling/FlashSampling。