論文の概要: Efficiently Programming Large Language Models using SGLang
- arxiv url: http://arxiv.org/abs/2312.07104v1
- Date: Tue, 12 Dec 2023 09:34:27 GMT
- ステータス: 処理完了
- システム内更新日: 2023-12-13 16:51:00.564138
- Title: Efficiently Programming Large Language Models using SGLang
- Title(参考訳): SGLangを用いた大規模言語モデルの効率的なプログラミング
- Authors: Lianmin Zheng, Liangsheng Yin, Zhiqiang Xie, Jeff Huang, Chuyue Sun,
Cody Hao Yu, Shiyi Cao, Christos Kozyrakis, Ion Stoica, Joseph E. Gonzalez,
Clark Barrett, Ying Sheng
- Abstract要約: 大規模言語モデル(LLM)のための構造化生成言語であるSGLangを紹介する。
我々はSGLangをPythonに埋め込まれたドメイン固有言語として実装した。
我々は,SGLang用のインタプリタ,コンパイラ,高性能ランタイムを開発した。
- 参考スコア(独自算出の注目度): 39.776237299963455
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Large language models (LLMs) are increasingly used for complex tasks
requiring multiple chained generation calls, advanced prompting techniques,
control flow, and interaction with external environments. However, efficient
systems for programming and executing these applications are lacking. To bridge
this gap, we introduce SGLang, a Structured Generation Language for LLMs.
SGLang is designed for the efficient programming of LLMs and incorporates
primitives for common LLM programming patterns. We have implemented SGLang as a
domain-specific language embedded in Python, and we developed an interpreter, a
compiler, and a high-performance runtime for SGLang. These components work
together to enable optimizations such as parallelism, batching, caching,
sharing, and other compilation techniques. Additionally, we propose
RadixAttention, a novel technique that maintains a Least Recently Used (LRU)
cache of the Key-Value (KV) cache for all requests in a radix tree, enabling
automatic KV cache reuse across multiple generation calls at runtime. SGLang
simplifies the writing of LLM programs and boosts execution efficiency. Our
experiments demonstrate that SGLang can speed up common LLM tasks by up to 5x,
while reducing code complexity and enhancing control.
- Abstract(参考訳): 大規模言語モデル(LLM)は、複数の連鎖生成呼び出し、高度なプロンプト技術、制御フロー、および外部環境との相互作用を必要とする複雑なタスクにますます使われている。
しかし、これらのアプリケーションのプログラミングと実行のための効率的なシステムは不足している。
このギャップを埋めるために,LLMのための構造化生成言語であるSGLangを紹介する。
SGLangはLLMの効率的なプログラミング用に設計されており、一般的なLLMプログラミングパターンにプリミティブを組み込んでいる。
我々はSGLangをPythonに組み込まれたドメイン固有言語として実装し、SGLang用のインタプリタ、コンパイラ、高性能ランタイムを開発した。
これらのコンポーネントは並列処理、バッチ処理、キャッシュ、共有、その他のコンパイルテクニックなどの最適化を可能にするために協力する。
さらに,RadixAttentionを提案する。これは,キーバリュー(KV)キャッシュのLRUキャッシュをラディクスツリー内のすべての要求に対して保持し,実行時に複数の世代コールをまたいだKVキャッシュの自動再利用を可能にする技術である。
SGLangはLLMプログラムの記述を簡略化し、実行効率を高める。
我々の実験は、SGLangがコードの複雑さを減らし制御を増強しつつ、一般的なLLMタスクを最大5倍高速化できることを示した。
関連論文リスト
- XGrammar: Flexible and Efficient Structured Generation Engine for Large Language Models [3.9417976759908573]
文脈自由文法は制約付き復号化による構造化生成を可能にするフレキシブルなアプローチである。
XGrammarは、大規模言語モデルのための柔軟で効率的な構造生成エンジンである。
XGrammarは、既存のソリューションで最大100倍のスピードアップを達成することができる。
論文 参考訳(メタデータ) (2024-11-22T18:01:37Z) - CRUXEval-X: A Benchmark for Multilingual Code Reasoning, Understanding and Execution [50.7413285637879]
CRUXEVAL-Xコード推論ベンチマークには19のプログラミング言語が含まれている。
各言語に対して少なくとも600人の被験者で構成され、合計19Kのコンテンツ一貫性テストがある。
Pythonでのみトレーニングされたモデルでさえ、他の言語で34.4%のPass@1を達成することができる。
論文 参考訳(メタデータ) (2024-08-23T11:43:00Z) - Dynamic Code Orchestration: Harnessing the Power of Large Language Models for Adaptive Script Execution [0.5735035463793009]
実行中のアプリケーションのコンテキスト内で書かれた言語ディレクティブの動的コード実行について検討する。
この研究は、大規模な言語モデルに支えられて書かれた言語ディレクティブが、いかにして根本的に新しいプログラミングとオペレーティングシステムのパラダイムを提供するかを明確に示している。
論文 参考訳(メタデータ) (2024-08-07T17:11:31Z) - Code-Switched Language Identification is Harder Than You Think [69.63439391717691]
コードスイッチングは、文字と音声の通信において一般的な現象である。
CSコーパスの構築の応用について検討する。
タスクをもっと多くの言語に拡張することで、タスクをより現実的にします。
文レベルのマルチラベルタグ付け問題としてタスクを再構築し、より難易度の高いものにする。
論文 参考訳(メタデータ) (2024-02-02T15:38:47Z) - Can Large Language Models Write Parallel Code? [0.5317767988097261]
大規模言語モデルは、ソフトウェア開発の一般的なツールになりつつある。
本稿では,最先端言語モデルによる並列コード生成能力について検討する。
論文 参考訳(メタデータ) (2024-01-23T08:25:12Z) - The Ups and Downs of Large Language Model Inference with Vocabulary Trimming by Language Heuristics [74.99898531299148]
本研究は,興味のある言語への埋め込みエントリを制限し,時間と記憶効率を高めることによる語彙トリミング(VT)について検討する。
Unicodeベースのスクリプトフィルタリングとコーパスベースの選択という2つの言語を異なる言語ファミリやサイズに適用する。
その結果、VTは小型モデルのメモリ使用量を50%近く削減し、生成速度が25%向上した。
論文 参考訳(メタデータ) (2023-11-16T09:35:50Z) - Retentive Network: A Successor to Transformer for Large Language Models [91.6652200825638]
大規模言語モデルの基盤アーキテクチャとしてRetentive Network(RetNet)を提案する。
理論的には、再発と注意の関係を導出する。
言語モデリングの実験結果から、RetNetは優れたスケーリング結果、並列トレーニング、低コストなデプロイメント、効率的な推論を実現している。
論文 参考訳(メタデータ) (2023-07-17T16:40:01Z) - Prompting Is Programming: A Query Language for Large Language Models [5.8010446129208155]
我々はLMP(Language Model Programming)という新しいアイデアを提示する。
LMPは、純粋なテキストプロンプトからテキストプロンプトとスクリプティングの直感的な組み合わせまで、言語モデルを一般化する。
LMQLは、さまざまな最先端のプロンプトメソッドを直感的にキャプチャできることを示す。
論文 参考訳(メタデータ) (2022-12-12T18:09:09Z) - QParallel: Explicit Parallelism for Programming Quantum Computers [62.10004571940546]
並列量子プログラミングのための言語拡張を提案する。
QParallelは、現在の量子プログラミング言語における並列性に関する曖昧さを取り除く。
並列化によって最も利益を上げるサブルーチンを識別し,並列領域の配置にプログラマを誘導するツールを提案する。
論文 参考訳(メタデータ) (2022-10-07T16:35:16Z) - StreamBlocks: A compiler for heterogeneous dataflow computing (technical
report) [1.5293427903448022]
この作業では、オープンソースのコンパイラとランタイムであるStreamBlocksを導入し、CALデータフロープログラミング言語を使用して、プラットフォーム間で計算処理を分割する。
StreamBlocksは、最高のハードウェア/ソフトウェアパーティションを特定するためのプロファイル誘導ツールを使用して、デザインスペースの探索をサポートする。
論文 参考訳(メタデータ) (2021-07-20T08:46:47Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。