## Memo ## Abstract 分析データベースプロバイダー(Redshift、Databricks、BigQueryなど)は、分類、エンティティ抽出、翻訳などの自然言語タスクを分析ワークロード内で実行できるように、ネイティブのユーザー定義関数(UDF)を通じて大規模言語モデル([[LLM]])を呼び出すサポートを急速に追加している。例えば、アナリストが何百万もの製品レビューから顧客の感情を抽出したいとします。例えば、Llama2-7Bを実行するNVIDIA L4 GPUは、1秒間に6KBのテキストしか処理できない。例えば、Llama2-7Bを実行するNVIDIA L4 GPUでは、1秒あたり6KBのテキストしか処理できません。本稿では、関係クエリ内でLLMを呼び出す分析ワークロードに対して、LLM推論を最適化する方法を探ります。これには、LLM推論エンジン内でキーバリュー(KV)キャッシュの再利用を最大化するための行の並べ替え、キャッシュの再利用をさらに高めるための行内の列の並べ替え、冗長な推論リクエストの重複排除などが含まれる。これらの最適化をApache Sparkに実装し、[[vLLM]]をモデルサービングバックエンドとして使用することで、実際のデータセットに対する多様なLLMベースのクエリーのベンチマークにおいて、エンドツーエンドのレイテンシを最大4.4倍改善することに成功した。我々の知る限り、これはSQLクエリ内のLLM呼び出しを最適化する問題を明示的に扱った最初の研究である。