深入理解大語言模型中的超參數:Temperature、Top-p 與更多

隨著大語言模型(LLM)如 GPT、Claude、Gemini 的廣泛應用,調優生成文本的質量與風格成為開發者和研究人員的重要課題。其中,超參數(Hyperparameters)如 temperaturetop_p 扮演了核心角色,影響著生成文本的創造性、確定性與一致性。

1. Temperature — 隨機性的調控器

temperature 是控制模型輸出概率分布的溫度系數,直接作用于 softmax 函數的 logits:

  • 低 temperature(如 0.2) → 分布更尖銳,模型更"自信",更傾向選擇最高概率的詞,生成更確定、重復性強的文本。

  • 高 temperature(如 1.2) → 分布更平坦,模型更"猶豫",更愿意嘗試低概率詞,生成更發散、多樣性更強的內容。

例子:不同 temperature 下模型行為對比

假設模型在某位置預測三個詞的原始 logits:

logits = [2.0, 1.0, 0.5]  # 對應詞:"the", "a", "cat"

我們分別用不同 temperature 調整這些 logits:

import numpy as npdef softmax(x):e_x = np.exp(x - np.max(x))return e_x / e_x.sum()def apply_temperature(logits, temperature):adjusted = np.array(logits) / temperaturereturn softmax(adjusted)print("T=0.5", apply_temperature(logits, 0.5))
print("T=1.0", apply_temperature(logits, 1.0))
print("T=2.0", apply_temperature(logits, 2.0))

輸出結果:

T=0.5 [0.82, 0.15, 0.03]
T=1.0 [0.59, 0.32, 0.09]
T=2.0 [0.44, 0.33, 0.23]

溫度越低,最大概率的詞越可能被選中;溫度越高,其他詞被選中的機會增大。

2. Top-p (Nucleus Sampling) — 概率質量控制器

top_p 又稱 nucleus sampling,它不是看詞的個數,而是選擇累計概率大于等于 p 的最小集合,再從中隨機采樣。與 top_k(固定保留前 k 個詞)相比,top_p 更動態、更智能。

示例說明:

假設 softmax 后的詞概率排序如下:

TokenProb
the0.40
a0.25
dog0.15
cat0.10
fish0.05
moon0.03
blue0.02

top_p = 0.9,模型會選擇:["the", "a", "dog", "cat"],因為它們的累計概率已達到 0.9。

隨后,模型將在這 4 個詞中,按照歸一化后的概率隨機采樣。

3. 其它重要超參數

參數名功能
top_k保留前 k 個概率最高的詞
max_tokens控制輸出最大 token 數量
repetition_penalty懲罰重復出現的詞,避免機械重復
presence_penalty懲罰已經出現過的詞,促進新意
frequency_penalty基于詞頻懲罰高頻詞,鼓勵用詞豐富
stop指定停止生成的標記

實戰建議:如何調參?

  • 創造性寫作

    • temperature=0.9, top_p=0.95 或更高,鼓勵模型發散

  • 摘要 / 回答問題

    • temperature=0.3-0.7, top_p=0.8,結果更確定

  • 代碼生成

    • temperature=0.1-0.3, 關閉 top_p 或設低值,避免胡言亂語

可視化采樣過程(可選代碼)

你可以運行如下代碼來觀察不同 temperature 下的采樣頻率:

import matplotlib.pyplot as plt
import seaborn as snsdef sample_with_temperature(logits, temperature, num_samples=1000):probs = softmax(np.array(logits) / temperature)samples = np.random.choice(["the", "a", "cat"], size=num_samples, p=probs)return {word: (samples == word).sum() for word in set(samples)}for T in [0.5, 1.0, 2.0]:counts = sample_with_temperature([2.0, 1.0, 0.5], T)sns.barplot(x=list(counts.keys()), y=list(counts.values()))plt.title(f"Temperature = {T}")plt.show()

總結

大語言模型中的采樣超參數為我們提供了調控輸出風格的強大杠桿。

  • temperature 控制整體的“隨機性”與分布形狀;

  • top_p 控制輸出候選詞的“概率覆蓋范圍”;

  • 合理使用其他參數如 repetition_penalty, stop, max_tokens 等可以進一步提升生成質量。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/87766.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/87766.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/87766.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

譯碼器Multisim電路仿真匯總——硬件工程師筆記

目錄 74LS實現二線三線譯碼器 1 74LS139D和74LS138D基礎知識 1.1 74LS139D 二線四線譯碼器 1.1.1 功能特點 1.1.2 引腳功能 1.1.3 工作原理 1.1.4 應用場景 1.1.5 使用方法 1.1.6 注意事項 1.6.7 邏輯真值表 1.2 74LS138D 3線8線譯碼器 1.2.1 功能特點 1.2.2 引腳…

國產 OFD 標準公文軟件數科 OFD 閱讀器:OFD/PDF 雙格式支持,公務辦公必備

各位辦公軟件小達人們,今天咱來聊聊數科OFD閱讀器! 軟件下載地址安裝包 這軟件啊,是基于咱國家自主OFD標準的版式閱讀軟件,主要用來閱讀和處理OFD/PDF電子文件,還能用于公務應用擴展。它支持打開和瀏覽OFD/PDF格式的文…

vue中的toRef

在 Vue 中, toRef 函數用于將響應式對象的屬性轉換為一個獨立的 ref 對象,同時保持與原始屬性的關聯。其參數格式及用法如下: toRef 的參數說明 1. 參數 1:源對象(必須) - 類型: Object &…

暖通鍋爐的智能管控:物聯網實現節能又舒適?

暖通鍋爐系統在建筑供暖、工業供熱等領域扮演著重要角色,其運行效率和能源消耗直接關系到用戶的使用體驗和成本支出。傳統的暖通鍋爐管理方式往往依賴人工操作和經驗判斷,存在能耗高、調節不靈活、舒適性差等問題。隨著物聯網技術的發展,暖通…

PHP:從入門到進階的全面指南

PHP(Hypertext Preprocessor)作為一種廣泛使用的開源腳本語言,尤其適用于 Web 開發并可嵌入 HTML 中。自誕生以來,PHP 憑借其簡單易學、功能強大以及豐富的生態系統,成為了眾多網站和 Web 應用程序開發的首選語言之一。…

EXCEL 基礎函數

1、絕對引用、相對引用 1.1相對引用 相對引用,這是最常見的引用方式。復制單元格公式時,公式隨著引用單元格的位置變化而變化 例如在單元格內輸入sum(B2:C2),然后下拉填充柄復制公式。 可以看到每個單元格的公式不會保持sum(B2:C2)&#…

升級到MySQL 8.4,MySQL啟動報錯:io_setup() failed with EAGAIN

在升級到MySQL 8.4后,許多用戶在啟動數據庫時遇到了一種常見錯誤:“io_setup() failed with EAGAIN”。本文將深入探討該錯誤的原因,并提供詳細的解決方案。錯誤分析錯誤描述當你啟動MySQL時,可能會在日志文件中看到以下錯誤信息&…

【ECharts Y 軸標簽優化實戰:從密集到稀疏的美觀之路】

ECharts Y 軸標簽優化實戰:從密集到稀疏的美觀之路 📋 文章背景 在開發數據可視化模塊時,我們遇到了一個常見但棘手的圖表顯示問題:ECharts 圖表的 Y 軸標簽過于密集,影響了用戶體驗和數據的可讀性。本文將詳細記錄整個…

【鋰電池剩余壽命預測】GRU門控循環單元鋰電池剩余壽命預測(Pytorch完整源碼和數據)

目錄 效果一覽程序獲取程序內容代碼分享效果一覽 程序獲取 獲取方式一:文章頂部資源處直接下載:【鋰電池剩余壽命預測】GRU門控循環單元鋰電池剩余壽命預測(Pytorch完整源碼和數據) 獲取方式二:訂閱電池建模專欄獲取電池系列更多文件。 程序內容 1.【鋰電池剩余壽命預測…

Minstrel:多智能體協作生成結構化 LangGPT 提示詞

一、項目概述 Minstrel 是一個基于 LangGPT 框架的多智能體系統,自動生成結構化、人格化的提示詞。它通過多個協作代理,提升提示詞的準確性、多樣性和靈活性,適合非 AI 專家使用 (github.com)。 二、問題動機 當前 LLM 提示設計經驗依賴強…

Golang發送定時郵件

前面嘗試過用Python來發送郵件,下面測試一下Golang如何發送郵件 需要使用三方庫如下 1.安裝github.com/jordan-wright/email go get github.com/jordan-wright/email安裝完成之后代碼如下 package mainimport ("github.com/jordan-wright/email""log""…

CodeSys的軟PLC忘記了用戶名和密碼怎么辦

Codesys的win v3 x64軟PLC忘記用戶名和密碼怎么辦 概述檢查文件成功 概述 我曾經多次在運行了軟PLC后忘記了自己的用戶名和密碼。有些是回憶起來了,但有些真的想不起來了。沒有辦法后來是重新裝的CodeSys。這次從網上看到大佬寫的文章,試了一下&#xf…

【論文】微服務架構下分布式事務一致性解決方案設計與實踐

摘要 2022年3月至2023年6月,我作為首席架構師主導完成了某大型電商平臺訂單系統的微服務化改造項目。該項目日均處理訂單量達300萬筆,旨在解決原有單體架構在業務高峰期出現的性能瓶頸和事務一致性問題。本文重點論述在微服務架構下,如何通過Saga事務模式、事件溯源和最終一…

Matplotlib 安裝部署與版本兼容問題解決方案(pyCharm)

引言 Matplotlib 是 Python 中最常用的可視化庫之一,它是一個綜合性的繪圖庫,能夠創建靜態的、動畫的和可交互的可視化圖形圖像,能夠創建折線圖、散點圖,還是復雜的熱力圖、3D 繪圖等 matplotlib官網地址:https://ma…

《設計模式之禪》筆記摘錄 - 4.抽象工廠模式

抽象工廠模式的定義 抽象工廠模式(Abstract Factory Pattern)是一種比較常用的模式,其定義如下: Provide an interface for creating families of related or dependent objects without specifying ir concrete classes.(為創建一組相關或…

python-注釋

文章目錄 單行注釋多行注釋使用多個 # 符號使用三引號( 或 """) 特殊注釋Shebang(Unix/Linux 腳本聲明)編碼聲明(Python 2 需要)文檔字符串(Docstring) 在 Python 中…

YOLO11推理模式:極速高效的目標檢測新選擇

一、引言 在機器學習和計算機視覺領域,模型的推理(Inference)是應用階段的核心。Ultralytics 最新發布的 YOLO11 模型,憑借其強大的predict模式,在保證準確率的同時,極大提升了推理速度和多樣數據源兼容能…

如何創建基于 TypeScript 的 React 項目

React 是一個用于構建用戶界面的強大 JavaScript 庫。結合 TypeScript,您可以獲得類型安全和更好的開發體驗。本文將詳細介紹如何從頭開始創建一個基于 TypeScript 的 React 項目。 1. 為什么選擇 TypeScript? 在深入創建項目之前,我們先了解…

Adobe LiveCycle Designer 中腳本的層級關系

以下是Adobe LiveCycle Designer腳本體系的層級關系對比分析,結合執行時機、作用域、交互規則及典型應用場景進行系統性說明: 1. 腳本體系層級關系總覽 #mermaid-svg-4ZAgQFvRk9BQdPuM {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:…

在汽車中實現時間敏感網絡(TSN)

隨著車內以太網應用的不斷擴展,精確的時間同步與可靠的數據傳輸變得至關重要。IEEE 802.1AS? 提供了亞微秒級的高精度時間同步能力,這一特性將在未來汽車通信系統中發揮關鍵作用。 此外,其他 IEEE 標準和 TSN 技術共同支持在整個車輛范圍內實現安全、超高可靠性、低延遲有…