還在死磕AI咒語?北大-百川搞了個自動提示工程系統PAS
論文共同第一作者鄭淼,來自于周澤南領導的百川對齊團隊,畢業于北京大學,研究方向包括大語言模型、多模態學習以及計算機視覺等,曾主導MMFlow等開源項目。共同第一作者梁昊,北京大學前沿交叉學科研究院博士生,研究方向為大模型數據側,指導老師為張文濤教授。北大-百川智能AI系統聯合實驗室成立于2024年1月,旨在圍繞人工智能模型系統的全技術流程,研究科學和系統的數據生成和質量評估策略、大模型訓練和推理加速等重要問題。聯合實驗室由北京大學博雅特聘教授崔斌和百川智能聯合創始人陳煒鵬擔任主任。
基于 Transformer 架構的大語言模型正在各個領域取得突破性成果。提示詞工程(Prompt Engineering)在其中的角色至關重要。
用好提示詞,研究人員和開發者能夠引導模型在特定任務上表現得更優秀。這種方法不僅能夠顯著提升模型的性能,還能夠增強模型的適應性,使其在面對各種復雜任務時更加靈活和高效。
此外,提示詞工程還能優化模型的學習過程,提高復雜問題處理效率,減少訓練時間和計算資源需求。
相較于傳統的微調方法,提示詞工程能以極低成本使模型適應多個下游任務,大幅節省計算資源和數據收集成本。然而,設計有效的提示詞對非專業人士而言仍具挑戰性,往往需要大量學習和實踐。
直接利用大語言模型進行自動提示工程通常難以取得理想效果。不恰當的提示可能分散模型注意力,反而降低性能。因此,開發一個能輔助用戶,操作簡便的自動提示工程系統變得尤為重要。
PAS:突破性的自動提示工程系統
為應對這一挑戰,北京大學 - 百川聯合實驗室提出了 PAS 自動提示工程系統。PAS 的創新之處在于:
1. 設計高質量的自動提示數據集
2. 對 GPT 模型進行少樣本學習和數據篩選
3. 自動構建精簡而高效的提示數據集
4. 通過微調實現有效的自動提示工程
PAS 能夠對用戶輸入進行簡潔而有效的補充,實現快速、簡單且支持流式顯示的自動提示工程。
在多個基準測試中,PAS 的表現遠超既有的 SOTA 模型,且所需數據量更少。人工評測結果同樣顯示 PAS 具有優異表現,凸顯了其在實際應用中的巨大潛力。
這一突破性成果不僅推動了提示詞工程的發展,也為大語言模型在更廣泛領域的應用鋪平了道路。
- 論文地址:https://arxiv.org/abs/2407.06027
- PKU-Baichuan-MLSystemLab:
https://github.com/PKU-Baichuan-MLSystemLab
https://huggingface.co/PKU-Baichuan-MLSystemLab
方法
訓練 PAS 主要分為三步:
第一步:構建高質量問題數據集
訓練 PAS 的首要任務是建立一個高質量的問題數據集。如圖 (a) 所示,研究人員根據 LMSYS-1M 和 WildChat 數據集,通過以下三方面篩選出優質問題:
1. 數據去重:運用 embedding 技術結合聚類算法,有效去除重復數據。
2. 質量篩選:利用百川大模型對數據質量進行評估和篩選。
3. 多樣性保證:最終選出覆蓋 10 多個類別的 9000 條高質量問題數據。
第二步:補充提示工程數據
在這一階段,研究人員綜合利用內部積累的 100 條高質量數據和第一步篩選的問題數據,通過 few-shot learning 方法,借助 GPT 模型構建自動提示工程數據:
1. 初始數據生成:使用 few-shot learning 指導 GPT 生成初步的提示工程數據。
2. 質量控制:設計 Critique 步驟,再次利用 few-shot learning 讓 GPT 評估生成數據的質量。
3. 迭代優化:自動篩除低質量數據,并重新生成,通過多輪迭代確保數據質量。
4. 最終成果:最終得到 9000 條高質量的自動提示工程數據。
數據分布
生成的 9000 條數據的分布情況如上圖所示,確保了數據的多樣性和代表性。
第三步: 微調自動提示模型
最后一步將利用前兩個階段獲得的數據集來微調大型語言模型:
1. 選擇基礎模型:如 Qwen2-7b 等模型。
2. 定向微調:使用高質量數據集進行微調。
3. 專業化訓練:最終得到一個專門用于自動提示工程的大語言模型。
實驗及結果
人工評測
根據人類評估員的測評,相比先前的 SOTA(State-of-the-Art)模型,PAS 在各領域均展現出較高的勝率。在多個領域的平均勝率超過 50%,勝率與平局率之和更是高達 80% 以上。
機器評測 Benchmark
為全面評估 PAS 的性能,研究人員選擇了Arena-Hard、Alpaca-Eval 2.0、Alpaca-Eval 2.0 (LC) 三個 benchmark。
隨后,研究人員將 PAS 應用于六個頂尖的 AI 模型,包括:
- GPT-4(三個版本)
- GPT-3.5
- Qwen2-72-Instruct
- LLaMA3-70B-Instruct
評測結果顯示:
- 相較于無提示情況和先前的 SOTA 自動提示工程模型,PAS 均取得了顯著提升。
- 與之前的 BPO 模型相比,PAS 展現出更強的適應性,能夠與各種超大模型兼容,并在每個模型上都實現了性能提升。
計算效率分析
PAS 不僅在性能上表現卓越,其計算效率也非常高:在數據效率方面,它僅需 9000 條微調數據便能展現出卓越性能。在輸出效率方面,它能夠限制補充自動提示的長度,通常不超過 30 個詞。
對于用戶體驗而言,PAS 也為大模型帶來了增益,具體來說:
- 與 BPO 等先前模型不同,PAS 無需修改用戶的原始問題,僅進行補充自動提示。
- 提供極佳的用戶體驗,響應時間可控。
- 支持類似 GPT 的流式顯示,進一步提升交互體驗。
實例:PAS 幫助大模型繞開邏輯陷阱
「如果樹上有 10 只鳥,其中一只被射死了,地上有多少只鳥?」
這個看似簡單的問題實際上隱藏著一個巧妙的邏輯陷阱,你看到它可能也需要反應幾秒,才知道樹上還剩 9 只鳥,而地上只有 1 只。
正如圖上所示,在沒有 PAS 輔助的情況下,GPT 給出了錯誤的回答。而 PAS 系統通過補充提示詞,顯著改善了模型的表現:
在 PAS 的引導下,模型新一輪的回答展現出了顯著的提升,不僅成功規避了問題中的邏輯陷阱,展示了清晰的、多步驟的邏輯推理過程,還能在給出正確答案之外引導用戶理解整個推理過程。
感興趣的讀者可以閱讀論文原文,了解更多研究內容。