昆明做網(wǎng)站哪家公司好大數(shù)據(jù)營銷系統(tǒng)多少錢
如何激發(fā)模型的能力
- 提示詞 promot
- CoT
- RL 增強(qiáng)式學(xué)習(xí)Reforcement learning
- 提供更多的資料
- 提供一些范例Incontext- learning
- 任務(wù)拆解
- 讓模型自己檢查錯(cuò)誤
- 讓模型多次生成答案
- Tree of Thoughts
- 讓模型使用其他工具
- RAG
- 寫程序POT
- 其他工具
- 讓多個(gè)模型合作
- 參考
在模型不變的情況下,我們可以做什么事情來增強(qiáng)模型的能力呢?
提示詞 promot
上文也講過,有一些神奇的咒語,在不改變模型的情況下,只要在跟模型對話的時(shí)候,加上這些提示詞,可以讓模型的能力得到增強(qiáng)。
具體的方法有如下:
CoT
chain of Thought的縮寫,就是讓模型思考一下的意思,22年曾經(jīng)專門有人總結(jié)了一些神奇的咒語,下面是一個(gè)論文中舉出的這些提示詞:
其中Zero-shot的意思是,不加任何提示詞,這時(shí)候得分只有17.7分,但是如果你告訴把問題加上lets think step by step ,那得分就忽然猛增到78.7。
所以激發(fā)模型的一個(gè)好的做法就是:告訴模型解釋一下這個(gè)答案。。
那有人會(huì)懷疑,這些個(gè)神奇咒語會(huì)不會(huì)是個(gè)例呢?答案是:并不是。https://arxiv.org/pdf/2307.11760 這篇論文專門研究了大型語言模型的情緒勒索問題,就是對話的時(shí)候,告訴模型,這個(gè)問題對我很重要,結(jié)果不同的大型模型的準(zhǔn)確率直線上升。
舉個(gè)例子,幫我寫一篇論文,…(具體要求),這篇論文對我很重要。
此外也有人專門為大語言模型做了一些總結(jié):
- 對模型客氣是沒有用的
- 要明確告訴模型需要做什么,不要跟它說不要做什么
- 跟它說如果做不好,你就會(huì)受到懲罰。
等等,https://arxiv.org/abs/2312.16171 上有專門的總結(jié)
但是要說明的是,上面這些提示詞也并不是所有模型都有用,比方說GPT-4不需要跟它說step by step,它也會(huì)一步步的思索。加上以后正確性也不會(huì)提升。
那這些神奇咒語有沒有自動(dòng)化學(xué)習(xí)的方法呢?那就是RL增強(qiáng)式學(xué)習(xí)
RL 增強(qiáng)式學(xué)習(xí)Reforcement learning
訓(xùn)練一個(gè)模型產(chǎn)生咒語,然后輸入模型,評估結(jié)果好壞。根據(jù)評估的結(jié)果又來調(diào)整咒語,最終會(huì)獲取那些有用的咒語。最終出來的很多有用的咒語,確實(shí)是神奇的,人類無法理解的。比如GPT3上一個(gè)神奇的咒語是ways ways ways…
提供更多的資料
上面這些都有失效的時(shí)候,所以要給前提 給額外的資料 提供一些范例
提供一些范例Incontext- learning
比如你要做情感分析,你可以舉個(gè)例子:
今天電影好看 正面 。今天天氣不好 負(fù)面。然后再給他資料看,他就可以做出正確的回答。
但是這件事情背后,有些需要思考的問題。模型不是僅僅是文字接龍的么,模型是真的能看懂這些范例么?
答案是不一定。
有專門的論文來實(shí)驗(yàn)過。把那些舉例的答案寫反了,比如正面的寫負(fù)面,一些小型的語言模型還是答對了。這就說明了他們其實(shí)是不能理解這些范例。當(dāng)然再后來也有人在更大的模型上實(shí)驗(yàn),發(fā)現(xiàn)給他錯(cuò)誤的范例,大模型確實(shí)能夠輸出錯(cuò)誤的答案
任務(wù)拆解
今天我們在用CHAT-GPT寫一篇長篇小說的時(shí)候,他往往還是寫不好,但是可以把他拆解成更小的任務(wù),比如先告訴他列出提綱,然后再把每一步詳細(xì)列示。很可能寫著寫著GPT會(huì)忘記以前的背景,所以我們寫完之前的,就可以把前面的抽取摘要作為輸入繼續(xù)生成。
讓模型自己檢查錯(cuò)誤
這可能么?
答案是可能的,對于模型來說,產(chǎn)生答案困難,但是驗(yàn)證答案反而是更簡單的,對于大型的一些模型來說是可以檢查出來的。
總體來說讓模型自己檢查錯(cuò)誤,也是可以增強(qiáng)模型的能力。
讓模型多次生成答案
由于模型是確定的,針對模型的輸入,模型輸出詞庫中每個(gè)神經(jīng)元的輸出是固定的,但是為什么每次我們拿到的模型的輸出都是不一樣的呢?因?yàn)樯墒枪潭ǖ?#xff0c;但是每次要把哪個(gè)輸出出來,確不一定,比方說我們輸入:中國最, 那輸出高、遠(yuǎn)、深。。一堆字的概率都是50%以上,那選擇哪一個(gè)就是隨機(jī)的了。
既然每次答案都不一樣,那還有一種可能就是讓模型多次輸出,然后取出現(xiàn)頻率最高的那個(gè)答案。
Tree of Thoughts
它實(shí)際上就是上述所有方式的組合
如圖上面的步驟:
- 讓模型拆成多個(gè)步驟,每個(gè)步驟給出多個(gè)答案。
- 每個(gè)答案都讓模型檢查一下結(jié)果是否正確。
- 如果都不正確,回到上一個(gè)步驟,找另外的一個(gè)答案的正確的回答
依次類推,直到生成正確的答案
讓模型使用其他工具
RAG
Retrieval Augmented Generation,也是不需要訓(xùn)練語言模型,先從自己的資料庫搜尋到資料,然后輸入加上那些資料內(nèi)容,那模型的能力會(huì)忽然大大加強(qiáng),得到 與眾不同的結(jié)果。
比如你可以可以讓模型先去網(wǎng)絡(luò)搜索一下,然后再繼續(xù)回答。
寫程序POT
Program of Thought,舉個(gè)例子,GPT不擅長做計(jì)算題,但是GPT-4以后可以把輸入格式成一個(gè)程序,調(diào)用現(xiàn)成python庫來執(zhí)行,最后給出正確的答案
其他工具
chat-gpt目前已經(jīng)有上千種插件了
讓多個(gè)模型合作
合作的方式可能有多種:
- 使用不同能力的模型回答問題
不同的模型擅長的能力不一樣,真正回答問題的可能有多個(gè)模型,我們可訓(xùn)練一個(gè)模型,來選擇使用哪個(gè)模型來回答這個(gè)問題,FrugalGPT 就可以實(shí)現(xiàn)這個(gè)功能。 - 讓多個(gè)模型之間討論
模型A輸出以后,可以再去咨詢模型B是否有更好的回答
參考
李宏毅 生成式人工智能導(dǎo)論