跳到主要內容
AI News HubLIVE
站內改寫2 分鐘閱讀

Fireworks如何通過安全分詞解決所有模型的提示注入問題

文章摘要

Fireworks推出了一種稱為安全分詞(safe_tokenization)的機制,通過在分詞階段防止用户輸入中的控制符被誤編碼為模型的控制令牌,從而解決提示注入問題。該機制作為API請求的一個布爾參數,對用户輸入無影響,僅防止控制符被解釋,同時保持聊天模板結構完整。文章詳細描述了問題成因、攻擊演示、工作原理及其對模型輸出的影響。

Fireworks如何通過安全分詞解決所有模型的提示注入問題
報告錯誤

更正渠道尚未開通,可先複製下方文章資訊留存。

查看更正說明
直接讀正文

近日,Fireworks AI宣佈推出一種全新的安全機制——安全分詞(safe_tokenization),旨在徹底解決提示注入問題,為所有開放模型提供保護。提示注入是當前大型語言模型推理服務中的一個普遍隱患:用户輸入中的文本字符串可能被分詞器誤編碼為模型的控制令牌,從而篡改系統提示或角色邊界。Fireworks通過引入一個簡單的布爾參數,實現了對提示注入的有效防禦。

Fireworks的首席科學家在博客文章中詳細闡述了這一問題的根源。他指出,大多數開放模型使用HuggingFace分詞器,其標準流程是:首先通過Jinja聊天模板將整個對話渲染成一個字符串,然後對該字符串進行編碼。在這個過程中,用户文本與模板中的控制令牌混在一起,分詞器無法區分哪些字節來自模板、哪些來自用户。因此,如果用户輸入恰好包含模型的控制令牌字符串(如<|im_start|>等),就會被編碼為真實的控制令牌,從而改變模型的輸出行為。

文章以Kimi K2.6模型為例,演示了一個完整的攻擊過程。攻擊者在用户消息中嵌入偽造的系統角色切換指令,使得原本鎖定英語的系統提示被覆蓋為西班牙語。實驗顯示,當安全分詞關閉時,模型確實遵循了攻擊者的西班牙語指令;而開啓安全分詞後,模型仍然遵守原始的英語規則。這個差異在日誌概率(logprobs)中可量化驗證。

安全分詞的工作原理涉及兩個層面的修復。在模型加載階段,系統掃描完整的詞彙表(包括特殊令牌和添加令牌),並預處理聊天模板,確保控制令牌與用户插值內容分離。在請求處理階段,模板中的結構令牌按原樣編碼為真實令牌ID,而用户文本的每一段都經過專門的分詞步驟,將任何可能構成控制令牌的字節拆分為子詞單元。由於兩個路徑在設計上保持一致,攻擊者無法在模板與用户內容之間找到縫隙。

Fireworks強調,安全分詞對正常用户輸入完全透明:如果用户內容不包含控制令牌字符串,安全路徑與默認路徑產生的令牌ID完全相同。此外,該機制計算成本極低,無需模型重載或額外網絡跳轉。用户只需在API請求中添加"safe_tokenization": true,即可啓用這一保護。所有Fireworks支持的開放模型(包括DeepSeek、Kimi、Qwen、Llama、GLM等)均已支持該功能,流式與非流式補全均適用。

業界普遍認為,提示注入是當前AI推理平台面臨的最大安全隱患之一。Fireworks的安全分詞方案為行業提供了一個簡潔而有效的解決方案。正如文章所言:“生產環境下的推理必須能夠承受惡意用户內容的攻擊。safe_tokenization: true就是Fireworks在令牌層面做出這一保證的方式——這樣,你的系統提示,而不是別人的,才能定義你的產品。”

展開要點與分析

文章情報

工程師進階

要點

  • 提示注入源於用户輸入中的控制符與模型控制令牌共享同一字節流,導致用户文本可被誤解釋為控制令牌。
  • Fireworks的安全分詞機制通過在模型加載時掃描詞彙表,並在請求時按段編碼,確保用户內容中的控制符字符串被拆分為子詞,而非編碼為真實控制令牌。
  • 該機制作為每請求的布爾標誌(safe_tokenization: true),對正常輸入行為無變化,僅防止控制符注入,且計算開銷極小。
  • 安全分詞已在DeepSeek、Kimi、Qwen等Fireworks支持的所有開放模型上生效,支持流式和非流式補全。

要點與分析由自動化流程生成,可能有誤,請結合原始來源核實。