解碼與取樣
約束解碼(constrained decoding)
約束解碼強迫模型的輸出服從某種形式規範——一套文法、一個正規表示式、一份 JSON 結構、一張允許用字清單。每一步它都算出哪些詞元有可能延續成合法字串,再把其餘全部遮蔽、機率設為零,於是模型只能從合法選項中取樣。結果就是保證每一次都能成功解析的輸出,無論模型自己原本會漫遊到哪裡去。
這把搖搖欲墜的結構變成硬性保證,所以它撐起了可靠的工具呼叫、必須能編譯的程式碼、以及容不下一個多餘括號的資料管線。代價是實打實的:建立並更新允許詞元的遮罩會增加開銷;過緊的文法可能為了守規而把模型逼進彆扭甚至錯誤的內容;而且約束控制的是形式而非真假——一個完全合法的 JSON 物件,裡面照樣可以裝著錯的答案。它正是 JSON 模式與文法導引生成背後的引擎。
又称
另见