不是大模型效果不行,是你的 prompt 水平不太行
原標題:某機構:JSON 輸出會讓 AI 變笨!大佬:是你們太菜了
文章來源:大數據文摘
內容字數:8505字
大模型結構化輸出:Prompt設計才是關鍵
近期,一篇關于大模型結構化輸出(如JSON)導致模型“降智”的論文引發熱議。然而,一篇名為“Say What You Mean”的博文對此結論提出了強烈的質疑,并通過實驗結果有力地反駁了論文的觀點。
1. 論文結論與爭議
論文“Speak Freely”聲稱,類似JSON的結構化輸出指令會降低大模型的準確率,在某些任務中甚至低于10%。這一結論在學術界引發了廣泛的爭議。
2. 博文反駁:Prompt設計是關鍵
博文作者Will Kurt認為,論文實驗中最大的問題在于使用了不同的Prompt來測試結構化和非結構化輸出,導致實驗結果不具有可比性。論文中用于結構化輸出的Prompt信息不足,缺乏對JSON結構的明確定義和示例,導致模型無法理解預期輸出格式。
3. 改進Prompt:清晰、完整、示例化
Will Kurt對論文中的Prompt進行了改進,使其包含以下關鍵信息:明確的指令格式、與任務匹配的正確結構示例,以及一個空的“assistant”Prompt來引導模型以期望的結構開始生成輸出。他還定義了自己的結構,并使用Pydantic模型限制推理步驟和答案長度,確保Prompt與結構匹配。
4. 實驗任務:Last Letter
實驗任務為“Last Letter”,要求模型將四個名字的最后一個字母連接起來。論文中該任務的結構化輸出準確率低于10%,而非結構化輸出準確率約為70%。
5. 重新評估:結構化輸出表現優異
Will Kurt使用改進后的Prompt重新進行了實驗,結果顯示結構化JSON輸出的準確率達到了77%,顯著高于論文中報告的結果,也高于非結構化輸出的準確率。這有力地證明了,并非結構化輸出本身導致模型“降智”,而是Prompt設計的問題。
6. 解析器問題:AI解析器并非完美
論文中使用了名為“Perfect Text Parser”(實際上并非完美)的AI解析器來處理非結構化輸出。Will Kurt發現,簡單的正則表達式足以解析大部分正確輸出,并且其效果甚至優于AI解析器。這說明,論文對解析器的依賴過于復雜,也掩蓋了結構化輸出的優勢。
7. 結構化輸出的真正意義
博文強調,結構化輸出并非僅僅指JSON、YAML等格式,而是指能夠方便解析和處理的任何自定義結構。通過定義清晰的結構和編寫合適的解析器,可以有效地提高模型的輸出質量和效率,避免了對AI解析器的依賴。
8. 結論:結構化輸出并非“降智”元兇
最終,博文通過改進Prompt和完善實驗設計,證明了結構化輸出本身不會降低大模型的性能。相反,在合適的Prompt和解析器下,結構化輸出甚至能夠提高模型的準確率和效率。因此,論文“Speak Freely”的結論是由于不完善的實驗設計和對結構化輸出的誤解造成的。
聯系作者
文章來源:大數據文摘
作者微信:
作者簡介:普及數據思維,傳播數據文化