像GPT3、ChatGPT和BARD這樣的大型語言模型(LLM)如今風靡一時。每個人都對這些工具對社會的好壞以及它們對AI的未來意味著什么有自己的看法。谷歌因其新模型BARD錯了一個復雜的問題(輕微)而受到了很多批評。當被問到“我可以告訴我9歲的孩子關于詹姆斯·韋伯太空望遠鏡的哪些新發現?”–聊天機器人提供了三個答案,其中2個正確,1個錯誤。錯誤的是第一張“系外行星”照片是由JWST拍攝的,這是不正確的。所以基本上,該模型在其知識庫中存儲了一個不正確的事實。為了使大型語言模型有效,我們需要一種方法來更新這些事實或用新知識擴充事實。
讓我們首先看看事實是如何存儲在大型語言模型(LLM)中的。大型語言模型不像數據庫或文件那樣存儲傳統意義上的信息和事實。相反,他們接受了大量文本數據的訓練,并學習了這些數據中的模式和關系。這使他們能夠對問題生成類似人類的回答,但他們沒有特定的存儲位置來存儲他們學到的信息。在回答問題時,模型會使用其訓練來根據收到的輸入生成響應。語言模型所擁有的信息和知識是它在其訓練數據中學習到的模式的結果,而不是它被顯式存儲在模型內存中的結果。
因此,如果LLM內存中的事實是錯誤的或陳舊的,則需要通過提示提供新信息。提示是發送給LLM的文本,其中包含查詢和支持證據,這些證據可以是一些新的或更正的事實。這里有3種方法來解決這個問題。
1.糾正LLM編碼事實的一種方法是使用外部知識庫提供與上下文相關的新事實。該知識庫可能是用于獲取相關信息的API調用或對SQL、No-SQL或Vector數據庫的查找。可以從存儲數據實體及其之間關系的知識圖譜中提取更高級的知識。根據用戶查詢的信息,可以檢索相關上下文信息并將其作為附加事實提供給LLM。這些事實也可以格式化為看起來像訓練示例以改進學習過程。例如,您可能會為模型傳遞一堆問答對,以學習如何提供答案。
2.一種更創新(也更昂貴)的增強LLM的方法是使用訓練數據進行實際微調。因此,我們不是查詢知識庫以添加特定事實,而是通過對知識庫進行采樣來構建訓練數據集。使用諸如微調之類的監督學習技術,我們可以創建一個新版本的LLM,該版本是根據這些額外知識進行訓練的。這個過程通常很昂貴,在OpenAI中構建和維護一個微調模型可能要花費幾千美元。當然,隨著時間的推移,成本預計會變得更便宜。
3.另一種選擇是使用強化學習(RL)等方法通過人類反饋來訓練代理并學習如何回答問題的策略。這種方法在構建擅長特定任務的較小足跡模型方面非常有效。例如,OpenAI發布的著名ChatGPT是在監督學習和RL與人類反饋相結合的基礎上進行訓練的。
總之,這是一個高度發展的空間,每家大公司都希望進入并展示他們的差異化。我們很快就會在零售、醫療保健和銀行業等大多數領域看到主要的LLM工具,它們可以像人類一樣理解語言的細微差別。這些與企業數據集成的LLM支持的工具可以簡化訪問并在正確的時間向正確的人提供正確的數據。