推論與服務

token 串流(token streaming)

生成是自回歸的,所以 token 是在整段回應的長度上一個一個陸續就緒的。Token 串流在每個 token 一被產生的當下就送到用戶端,而不是把整個答案緩衝起來、最後才一次寄出。使用者在首 token 時間之後就能開始讀,而非等到全部完成;對一個長答案而言,這是零點幾秒與好幾秒的差別,即使總生成時間不變,也大幅改善了感受上的靈敏度。

實務上,伺服器透過一條長壽命的連線推送增量更新——server-sent events、分塊 HTTP,或 websocket——在 token 被解碼出來時就發出 token 或文字的增量。有些微妙之處很重要:token 是子詞片段,所以伺服器必須處理橫跨 token 邊界的多位元組字元,以免吐出破碎的字形,且必須在串流途中乾淨地呈現結束與錯誤狀態。串流與連續批次天然搭配,後者讓眾多並發串流以每次一個解碼步驟的方式一起推進。

串流純粹是傳遞與感受上的優化:它降低首字延遲與首個有意義內容的時間,而不改變吞吐量、也不改變 token 本身。

串流改善的是感受到的延遲、不是吞吐量——token 與生成的總實際耗時都一樣,只是使用者能更早開始讀。

又称
response streamingincremental decodingtoken 串流串流式回應