偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

你理解的控制LLM幻覺的方法可能是錯的

發(fā)布于 2025-5-14 00:30
瀏覽
0收藏

那什么是粗暴的控制LLM的幻覺的方法呢?

正常你們大家學(xué)到的應(yīng)該是

temperature=0

top_k=1

top_p=0.1類似這種的但是這種是不是能解決幻覺呢?很顯然在做的各位試過,應(yīng)該是沒什么效果的。為什么呢?

正常來講,我們不是把生成next token的概率放到最大的那個token上了嗎?

今天先回憶個概念LLM是靠什么來決定next_token生成的,

你理解的控制LLM幻覺的方法可能是錯的-AI.x社區(qū)

就是Logit,就是softmax你的前向計算的最后一層(這么表達不精確,但是你可以認(rèn)為就算最后一層了)

你理解的控制LLM幻覺的方法可能是錯的-AI.x社區(qū)

過了output之后呢?要和詞表做一個矩陣乘,得到一個logit,但是這個不能直接用,需要給softmax轉(zhuǎn)換為對應(yīng)詞的概率,就是我剛才的公式

(不理解transformer架構(gòu)的兄弟可以參考我以前的博文,草履蟲也能學(xué)懂得Transformer系列

??https://mp.weixin.qq.com/s/Qi9-SqTGk5yHkF0WQ1CdYQ?token=1866303267&lang=en_US??

如果志在玩大模型,至少目前Transformer還是繞不開的基礎(chǔ))

1- 為什么temperature要設(shè)置低

你理解的控制LLM幻覺的方法可能是錯的-AI.x社區(qū)

溫度采樣是一種基本技術(shù),可控制 token 選擇的隨機性。它的工作原理是在應(yīng)用 softmax 函數(shù)之前縮放 logits(未歸一化的預(yù)測分?jǐn)?shù))。

其中:P(xi)是選擇 token ii的概率,Z i是選擇token ii的 logit,T就是溫度參數(shù)了

較低的溫度(T < 1)使分布更加尖銳,傾向于高概率 token。較高的溫度(T > 1)會使分布變平,增加選擇較低概率 token 的機會。

2- TOP P 和K 呢?

這就不仔細(xì)講了,TOP是核采樣,就是排序計算累加概率,知道累加概率超過p剩下的就不要了,然后歸一化,從里面選出來TOPK 不用說了把,選K個歸一化。

一般的理解認(rèn)為,如果把上述的設(shè)置都設(shè)置為最嚴(yán)格的,比如設(shè)置topK=0,TOP_P=1, 先把這兩個參數(shù)廢掉,然后temperature=0.0 就應(yīng)該是絕對無幻覺的答案了,如文章開頭說的,事實上是不行的,下面講一下為什么?因為LLM還有兩個比較關(guān)鍵的概念,當(dāng)然你也可以說這倆概念是人為加上的,引入這些概念的就是entropix采樣:

你理解的控制LLM幻覺的方法可能是錯的-AI.x社區(qū)


第一個注意力熵entropy:

理解語言模型中的熵

在語言模型的上下文中,熵衡量模型預(yù)測中的不確定性或隨機性。它量化了概率分布在可能的下一個 token 上的分散程度。

你理解的控制LLM幻覺的方法可能是錯的-AI.x社區(qū)

其中 pi是第 i 個 token 的概率。

較高的熵值表示模型對下一個 token 不確定,概率分布在許多選項上。相反,較低的熵表示模型更有信心,概率集中在較少的 token 上。

注意力熵方差 (Varentropy)

熵方差(Varentropy),或熵的方差,衡量了在單個位置上,不同可能的 token 之間的信息內(nèi)容(驚奇度)變化有多大。它提供了對模型不確定性和其對給定上下文的預(yù)測多樣性的洞察。

熵方差的計算涉及以下步驟:

步驟 1:計算概率和對數(shù)概率

使用 softmax 計算當(dāng)前位置上每個可能的 token 的概率,并計算它們的對數(shù)概率。

步驟 2:計算熵

計算當(dāng)前位置概率分布的熵。

步驟 3:計算熵方差

對于每個可能的 token,計算其信息內(nèi)容(負(fù)對數(shù)概率)與平均信息內(nèi)容(熵)之間的平方差。用它們的概率加權(quán)這些差異并將它們加總。

熵方差在識別模型正在考慮驚奇度水平非常不同的 token 的情況時特別有用。高熵方差可能表明上下文復(fù)雜或模糊,模型的預(yù)測更加多樣化或不確定。

在采樣決策中的意義

熵和熵方差的組合在 Entropix 的采樣策略中起著至關(guān)重要的作用。以下是它們?nèi)绾斡绊憶Q策過程:

  1. 低熵,低熵方差:表示高置信度和一致性。Entropix 在這些情況下可能會使用貪婪采樣。
  2. 高熵,低熵方差:表明一致的不確定性。這可能會觸發(fā)插入澄清(clarification insertion)或增加探索。
  3. 低熵,高熵方差:表示不同程度的置信度。Entropix 可能會采用探索采樣來調(diào)查不同的可能性。
  4. 高熵,高熵方差:代表高度不確定性和不一致性。這種情況通常會導(dǎo)致使用調(diào)整參數(shù)的高不確定性采樣。

在 Transformer 模型中,注意力通常以多頭注意力(multi-head attention)的形式實現(xiàn)。這意味著注意力機制并行應(yīng)用多次,允許模型同時關(guān)注輸入的各個不同方面。

Transformer 模型中的每個注意力頭計算一組注意力分?jǐn)?shù),確定在生成每個輸出 token 時,要將多少注意力放在輸入的不同部分。

注意力熵用于量化注意力在不同 token 上的不確定性或分散程度。

較高的注意力熵表示模型的注意力分散在許多 token 上,而較低的熵表示模型專注于少數(shù)特定的 token。

而如果分散在許多token上,也就是所謂的熵分散,代表模型此時根本不知道哪個token更合適

這個時候你比如temperature=0.0,你是選擇了一個所謂概率最高的,但是你其實也限制了模型探索的能力,這也是幻覺可能產(chǎn)生的開始

注意力一致性 (Agreement)

注意力一致性衡量不同注意力頭之間的注意力模式的一致程度。它通過將每個頭的注意力分布與平均注意力分布進行比較來計算

較低的一致性表明不同的頭正在關(guān)注輸入的各個不同方面,這可能表明上下文復(fù)雜或模糊。

這是第二個引入幻覺的可能性,因為上下文的理解不確認(rèn)

我們今天介紹的Entropix 使用這些基于注意力的指標(biāo)來指導(dǎo)其采樣決策。例如:

  • 較高的注意力熵可能導(dǎo)致采樣中增加探索。
  • 較低的注意力一致性可能導(dǎo)致溫度或 top-k 參數(shù)的調(diào)整。

所以大家基本就能看明白了,如果模型不確認(rèn)哪個token最優(yōu),那就增加一些探索的可能性,比如對上下文模糊,那就動態(tài)調(diào)整模型的配置參數(shù)

交互強度 (Interaction Strength)

交互強度定義為 Transformer 模型中所有層、頭和位置的注意力分?jǐn)?shù)的絕對值的平均值。在數(shù)學(xué)上,它可以表示為:

你理解的控制LLM幻覺的方法可能是錯的-AI.x社區(qū)

L代表層數(shù),H是注意力頭,N是序列長度,Alhji就是第l層第h頭種從位置i到位置j的注意力分?jǐn)?shù)

較高的交互強度值表示序列中 token 之間存在更強的關(guān)系

交互強度在 Entropix 的自適應(yīng)采樣過程中起著至關(guān)重要的作用。它影響采樣策略的幾個關(guān)鍵方面:

  1. 溫度調(diào)整:較高的交互強度可能導(dǎo)致溫度升高,當(dāng) token 之間連接緊密時,促進更多樣化的輸出。
  2. Top-k 參數(shù):交互強度用于動態(tài)調(diào)整 top-k 參數(shù),從而根據(jù) token 關(guān)系的強度允許更多或更少的候選 token。
  3. 探索與利用:在交互強度較高的場景中,采樣策略可能會傾向于更具探索性的行為,以捕獲 token 之間復(fù)雜的聯(lián)系。

說白了,我token之間交互強度高,證明我們之間的注意力更高,需要輸出更多元化,人話說就是更多探索路徑,來捕捉復(fù)雜的注意力

你理解的控制LLM幻覺的方法可能是錯的-AI.x社區(qū)


下面是entropix的完整采樣過程:

你理解的控制LLM幻覺的方法可能是錯的-AI.x社區(qū)


如上圖所示

數(shù)據(jù)流和決策過程

Entropix 系統(tǒng)在文本生成過程中遵循特定的流程:

步驟 1:Token 生成

語言模型處理輸入 token 并生成 logits 和注意力分?jǐn)?shù)。

步驟 2:指標(biāo)計算

指標(biāo)計算器基于模型輸出計算熵、熵方差、注意力熵、注意力一致性和交互強度。

步驟 3:策略選擇

自適應(yīng)采樣器分析計算出的指標(biāo),并選擇最合適的采樣策略。

步驟 4:參數(shù)調(diào)整

根據(jù)選擇的策略和指標(biāo),動態(tài)調(diào)整采樣參數(shù)(溫度、top-k、top-p、min-p)。

步驟 5:Token 采樣

應(yīng)用選擇的采樣策略來選擇下一個 token。

步驟 6:迭代

從步驟 1 開始重復(fù)該過程,并加入新生成的 token。

采樣策略

Entropix 采樣方法的核心是其策略選擇邏輯。該系統(tǒng)持續(xù)評估模型的輸出指標(biāo),并為每個 token 生成步驟選擇最合適的采樣方法。

你理解的控制LLM幻覺的方法可能是錯的-AI.x社區(qū)


自適應(yīng)采樣

當(dāng) logits 的熵和熵方差沒有落入極端類別時(與觸發(fā)專門采樣技術(shù)的場景不同),自適應(yīng)采樣策略就會啟動。它旨在平衡探索和利用,適應(yīng)當(dāng)前的上下文和模型狀態(tài)。

自適應(yīng)采樣過程

步驟 1:計算指標(biāo)

首先,模型的 logits 和注意力分?jǐn)?shù)中計算各種指標(biāo):

  • Logits 熵和熵方差
  • 注意力熵和熵方差
  • 注意力一致性
  • 交互強度

步驟 2:調(diào)整采樣參數(shù)

基于這些指標(biāo),動態(tài)調(diào)整采樣參數(shù):

  • 溫度
  • Top-p(核采樣閾值)
  • Top-k
  • 最小概率閾值 (min_p)

步驟 3:生成多個樣本

使用調(diào)整后的參數(shù)生成多個候選 token。樣本數(shù)量是可配置的,默認(rèn)為 12。(現(xiàn)在不是流行帶搜索的中間過程嗎,你可以理解為帶搜索的token生成)。

步驟 4:樣本評分

每個樣本都根據(jù)兩個因素評分:

  1. 來自模型 logits 的對數(shù)概率
  2. 從計算出的指標(biāo)導(dǎo)出的置信度分?jǐn)?shù)

步驟 5:選擇最佳樣本

得分最高的樣本被選為最終輸出 token。

生成多個樣本后,每個樣本都使用對數(shù)概率和置信度分?jǐn)?shù)的組合進行評分:

def score_sample(sample):
    log_prob = jnp.sum(jax.nn.log_softmax(logits) * jax.nn.one_hot(sample, logits.shape[-1]))
    confidence_score = (
        (1 - metrics["logits_entropy"]) * 0.1 +
        (1 - metrics["attn_entropy"]) * 0.2 +
        (1 - metrics["logits_varentropy"]) * 0.3 +
        (1 - metrics["attn_varentropy"]) * 0.4 +
        metrics["agreement"] * 0.5 +
        metrics["interaction_strength"] * 0.6
    )
    return log_prob + confidence_score

此評分函數(shù)平衡了 token 的可能性(log_prob)和從各種指標(biāo)導(dǎo)出的置信度度量。置信度分?jǐn)?shù)中每個組件的權(quán)重可以根據(jù)經(jīng)驗結(jié)果進行調(diào)整。

現(xiàn)在回到最開始我們說的集中情況來分析:

1-如果熵和熵方差都非常低時,模型對其預(yù)測非常有信心。在這種情況下,使用貪婪采樣,說白了模型知道它在干什么,它對自己的答案也足夠確認(rèn),那就選擇概率最高的,就是標(biāo)準(zhǔn)的logit。

2- 如果熵高,但是熵方差低,證明模型是不確定的,但是其不確定性是一致的,所以需要澄清,這個澄清就是以特殊token的形式。

如果插入了澄清token,那么下一個token就會動態(tài)調(diào)整temperature,用更高的溫度拿到更大的多樣性,來進行采樣,找到最合理的token!

其實某種程度上有點像李飛飛的S1的wait token。

3- 另外如果,模型熵很低,證明它很確認(rèn),但是熵的方差高,就證明它本身就看到了很多不同的可能性,那采樣的temperature就直接升高(基于交互強度指標(biāo))就可以了,top k當(dāng)然也順手就給升了。

4- 如果熵和熵方差都高,記憶是又不確定,又看到了好多的可能性,那就直接下猛藥,但是其實和3的請款一樣,也是升temperature,但是是基于熵方差的強度來調(diào)整temperature,而不是注意力一致性,另外此時因為熵升高,所以要降低top-p的參數(shù)來讓它收斂。


你理解的控制LLM幻覺的方法可能是錯的-AI.x社區(qū)

這就是entropix的思路,通過動態(tài)的采樣參數(shù)和澄清token來實現(xiàn)fitting化的采樣保證模型的輸出更合理化,更少幻覺,其實entropix的思路在OAI的o系列是有引入類似的概念的。

比如你們使用o系列api就會發(fā)現(xiàn)一個申請的問題,temperature和top p k都不允許設(shè)置

原因就是來自于這,所以大家理解了為什么temperature=0.0和有沒有幻覺并沒有本質(zhì)聯(lián)系的原因了嗎?

本文轉(zhuǎn)載自????熵減AI????,作者:周博洋

標(biāo)簽
收藏
回復(fù)
舉報
回復(fù)
相關(guān)推薦