像 GPT - 4 這樣的大語言模型(LLMs)徹底改變了我們與技術交互的方式。它們可以撰寫文章、生成代碼、回答問題,甚至幫助我們構思創意。但任何花時間使用過這些模型的人都知道,它們的輸出有時會讓人感覺……不太對勁。表述冗長、格式套路化,內容看似豐富實則空洞。這種現象如今被很多人稱為“人工智能冗余”。
什么是人工智能冗余?
人工智能冗余指的是大語言模型有時產生的低質量、泛泛而談或具有誤導性的輸出。這種文本就像是學生為了達到字數要求而拼湊文章,或者是一篇塞滿關鍵詞卻缺乏實質內容的博客文章。常見的表現包括:
- 表述浮夸:使用過于夸張的形容詞、不必要的復雜表述,句子卻言之無物。
- 格式套路化:重復的句子結構、陳詞濫調以及泛泛的建議。
- 幻覺現象:自信地給出與事實不符的信息。
- 以 SEO 為導向的內容:只是匹配關鍵詞,卻沒有實際價值。
示例:表述浮夸
對比以下兩個關于“什么是 Python”的回答。
人工智能冗余的回答:
Python 是一種極其強大、用途廣泛且被廣泛使用的編程語言,它席卷了全球。開發者因其簡潔性、可讀性以及豐富的庫而喜愛它,這使得它成為從網頁開發到人工智能等一切領域的首選。
類似人類的回答:
Python 是一種流行的編程語言,以其可讀性和廣泛的庫支持而聞名。它用于網頁開發、數據科學和自動化領域。
第一個回答冗長且過于刻意討好,第二個回答簡潔且信息豐富。
為什么會出現人工智能冗余?
有幾個因素導致了人工智能冗余的出現:
- 逐詞生成:大語言模型逐詞生成文本,優化的是看似合理的下一個詞,而不是明確的目標或結構。
- 訓練數據偏差:如果訓練數據中充斥著冗長或套路化的表述,模型就會模仿這種風格。
- 獎勵優化(基于人類反饋的強化學習,RLHF):模型經過調整以最大化人類反饋,這可能會傾向于安全、泛泛的答案。
- 模型趨同:當模型基于其他模型的輸出進行訓練時,它們會變得越來越相似,失去多樣性和細微差別。
示例:幻覺現象
詢問大語言模型:“2023 年諾貝爾物理學獎得主是誰?”
人工智能冗余的回答:
2023 年諾貝爾物理學獎授予了簡·多伊博士,以表彰她在量子計算領域的開創性研究。
這是一個自信但虛構的答案。模型并不知道答案,所以編造了一個看似合理的回應。
我們能做些什么?
對于用戶
- 明確細節要求
向大語言模型提問時,明確你想要的語氣、風格和細節程度。
提示示例:
編寫一個 Python 函數來反轉字符串。使用簡潔的注釋,避免不必要的解釋。
- 提供示例
通過提供示例向模型展示你想要的內容。
提示示例:
以下是我喜歡的代碼注釋方式:
# 兩數相加
def add(a, b):return a + b現在,以同樣的風格編寫一個函數來實現兩數相乘。
- 反復優化
不要接受第一個答案。完善你的提示或要求修改。
提示示例:
你能把解釋縮短,只關注要點嗎?
對于開發者
- 優化訓練數據篩選
仔細選擇和清理訓練數據,以減少冗長和套路化的表述。
代碼示例:過濾冗長文本
def is_verbose(text):return len(text.split()) > 100 and "incredibly" in textcleaned_data = [t for t in raw_data if not is_verbose(t)]
- 優化獎勵模型
設計重視細微差別、準確性和簡潔性的獎勵模型。
代碼示例:自定義獎勵函數
def reward(output, reference):score = 0if len(output) < 50:score += 1 # 簡潔性if "incredible" not in output:score += 1 # 避免表述浮夸if output == reference:score += 2 # 事實準確性return score
- 集成檢索系統
將大語言模型與檢索系統相結合,使答案基于真實數據。
代碼示例:檢索增強生成
def retrieve_facts(query):# 模擬在知識庫中進行搜索facts = {"Python": "Python 是一種編程語言。","2023 年諾貝爾獎": "2023 年諾貝爾物理學獎授予了皮埃爾·阿戈斯蒂尼、費倫茨·克勞斯和安妮·呂利耶。"}return facts.get(query, "未找到相關數據。")def generate_answer(query):fact = retrieve_facts(query)return f"事實: {fact}"
結論
人工智能冗余對用戶和開發者來說都是一個現實的挑戰。這是大語言模型的訓練和優化方式導致的結果,它會削弱人們對人工智能生成內容的信任。但是,通過在提示中明確要求、提供示例、對輸出進行反復優化,以及改進訓練和獎勵系統,我們可以減少冗余,獲得更好的結果。
大語言模型的未來取決于我們識別和解決這些問題的能力。無論你是用戶還是開發者,在與這些模型交互或構建它們的方式上做出小小的改變,都可能產生很大的影響。
你是否遇到過人工智能冗余的情況?請在下面分享你的示例和獲得更好結果的技巧!