NVIDIA/logits-processor-zoo

A collection of LogitsProcessors to customize and enhance LLM behavior for specific tasks.

解決的問題

解決大型語言模型(LLMs)在文字生成過程中嚴格遵循特定格式或行為指示的困難,超越單純的語法強制,實現對回應內容與結構的實際控制。

工作原理

該套件提供一組「logits處理器」,在模型採樣下一個token之前攔截並修改其機率分佈(logits)。透過提升或降低特定token的可能性,可強制模型使用特定短語、限制回應長度,或確保特定輸出格式。

適用對象

需要對模型輸出格式與行為進行精確控制的LLM開發者,特別是使用 transformersvLLMTensorRT-LLM 框架的開發者。

主要特色

  • 長度控制:調整EOS token的可能性,以鼓勵或抑制較短的回答。
  • 基於提示的引用:提升提示中出現的token的可能性,以鼓勵模型引用提示內容。
  • 短語強制:在完成回應前強制模型包含特定短語(如參考文獻或感謝語)。
  • 多選題約束:限制模型僅使用提供的選項回答多選題。
  • 觸發式短語:當遇到特定token時,自動插入特定短語(如Python程式碼區塊)。
  • 幻覺緩解:當模型的token置信度低於閾值時,強制使用備用短語。
  • 基於時間的終止:在最大時間限制後強制結束句子,以控制生成延遲。

相關

  • 專案
  • 專案
  • 專案
  • 專案