現在,大語言模型的結構化生成有了一個更加高效、靈活的引擎。
1. 引言
隨著大語言模型(LLM)的發展,結構化生成變得日益重要。陳天奇團隊提出了XGrammar,一個高效、靈活且可移植的結構化生成引擎,以滿足代碼編寫、外部工具調用和機器人控制等多種需求。
2. XGrammar的概述
XGrammar是一個開源軟件庫,致力于提供靈活的結構化生成解決方案,支持多種格式(如JSON、SQL等)。其核心目標是高效地進行約束解碼,克服上下文無關語法(CFG)在傳統應用中的效率瓶頸。
3. 約束解碼的挑戰
約束解碼通過過濾無效token來確保生成數據符合特定結構。然而,CFG的靈活性使得解碼效率低下,尤其是在處理大詞表時,計算開銷顯著增加。XGrammar通過改進算法和數據結構,顯著提升了解碼速度。
4. 解決方案
XGrammar采用字節級下推自動機(PDA)來處理CFG,并引入自適應token掩碼緩存,提高了掩碼生成的速度。通過將上下文無關token與上下文相關token分離,XGrammar能夠在運行時快速生成大部分掩碼,顯著提升整體性能。
5. 性能評估
在與Llama-3.1模型的評估中,XGrammar在JSON模式下實現了高達3倍的加速,并在復雜的JSON用例中超過100倍的加速。整體運行時間低于40微秒,適用于低延遲LLM推理場景。
6. 端到端LLM引擎
通過將XGrammar集成到端到端LLM推理框架中,研究顯示其在TPOT和TTFT性能方面優于其他框架,整體速度提升達到80倍。有效的掩碼生成與LLM推理的重疊計算進一步降低了延遲。
7. 跨平臺部署
XGrammar能夠在多種平臺上運行,通過Emscripten編譯為WebAssembly,并與WebLLM框架集成,展示了在移動設備和瀏覽器環境中的高效表現。
8. 結論
XGrammar代表了結構化生成技術的一個重要進展,其高效性和靈活性為未來的應用提供了強大的支持,尤其在端側智能體的發展中具有廣闊的前景。
聯系作者
文章來源:機器之心
作者微信:
作者簡介:專業的人工智能媒體和產業服務平臺