通過LLM構(gòu)建聊天機(jī)器人必備技巧
聊天機(jī)器人在AI領(lǐng)域并不稀奇,尤其是ChatGPT問世之后,很多人都把它當(dāng)成一個可以隨時對話隨意提問的聊天機(jī)器人。而在實際應(yīng)用領(lǐng)域,聊天機(jī)器人的場景也愈加豐富多樣。
比如很多人熟知的客服聊天機(jī)器人,常用在電商領(lǐng)域,能夠快速回答常見問題或者跟蹤發(fā)貨狀態(tài)等等;還有醫(yī)療聊天機(jī)器人,在讀取患者的癥狀并且持續(xù)提問后,就患者下一步應(yīng)該采取的措施提出正確的建議;以及還有輔助銷售的聊天機(jī)器人,用于財務(wù)計算、法務(wù)咨詢相關(guān)的聊天機(jī)器人等等。
那么,如何擁有一個符合自己場景需求的聊天機(jī)器人?語言技術(shù)教育家Rachael Tatman博士為使用LLM(Large Language Models)開發(fā)聊天機(jī)器人提供了一些建議和想法,詳細(xì)說明了數(shù)據(jù)擴(kuò)充的內(nèi)容、原因和方式。同時還展示了以數(shù)據(jù)多樣性為重點進(jìn)行數(shù)據(jù)擴(kuò)充的建議,以及一些使用Cohere LLM的例子。
使用LLM的建議
首先,出于對用戶體驗考慮,以及存在的一些不可預(yù)測性,Rachael Tatman博士不建議向用戶展示原始生成的文本。這是由于,對LLM的大多數(shù)對抗性攻擊都需要訪問原始生成的文本,如果不公布原始數(shù)據(jù),那么就不必應(yīng)對對抗性攻擊。她建議在訓(xùn)練或者微調(diào)聊天機(jī)器人時,可以在人機(jī)交互的方面進(jìn)行數(shù)據(jù)增強,從而使得用戶能夠在使用時感受到溫暖。
注:對抗性攻擊(Adversarial attacks),由于機(jī)器學(xué)習(xí)算法的輸入形式是一種數(shù)值型向量(Numeric vectors),所以攻擊者就會通過設(shè)計一種有針對性的數(shù)值型向量從而讓機(jī)器學(xué)習(xí)模型做出誤判,這便被稱為對抗性攻擊。
數(shù)據(jù)增強什么時候有用?
數(shù)據(jù)增強什么時候有用呢,答案是,在沒有目標(biāo)用戶的代表性數(shù)據(jù)的時候。她還指出,在我們有足夠完善的代表性數(shù)據(jù)時,數(shù)據(jù)擴(kuò)充當(dāng)然是有效的,但是會缺乏一些有特殊含義或者其他意圖的內(nèi)容。比如說因為熱點事件或者新的含義,某些事物會從不相關(guān)變成相關(guān)。,此外,在處理一些非常干凈且不能完全代表用戶生成文本的研究數(shù)據(jù)時,數(shù)據(jù)擴(kuò)充是非常重要的。
為什么使用LLM而不是其他?
與其他基于模板規(guī)則的數(shù)據(jù)擴(kuò)充技術(shù)相比,LLM可以避免重復(fù)和意外錯誤。并且基于模板規(guī)則的方法在生成具有不同語法的數(shù)據(jù)方面存在滯后。Rachael Tatman博士提到,對比其他模型,LLM是一種生成數(shù)據(jù)更快、更便宜、更可靠的方法。雖然LLM也會被各種各樣的用戶生成文本而干擾,因此,在訓(xùn)練我們的模型時,多樣性的數(shù)據(jù)增強是非常有必要的。
Cohere是如何收集數(shù)據(jù)來訓(xùn)練模型的?
Cohere的Generation Large Language Model是在Cohere基礎(chǔ)設(shè)施團(tuán)隊從網(wǎng)上抓取的Google Books數(shù)據(jù)集、Common Crawl和其他文本上訓(xùn)練的。Cohere團(tuán)隊篩選出的前十個域名包括:wordpress.com, medium.com, stackexchange.com, tumblr.com, elsevier.com, genius.com, bbc.co.uk, libsyn.com, yahoo.com, nytimes.com。在這個基礎(chǔ)上,Cohere LLM使用了各種數(shù)據(jù)來訓(xùn)練模型,包括干擾數(shù)據(jù)。
如何使用LLM更快構(gòu)建聊天機(jī)器人?
雖然根據(jù)具體情況和實際場景,數(shù)據(jù)會各不相同,但建議通過盡可能有代表性并且齊全的數(shù)據(jù),來進(jìn)行模擬訓(xùn)練以生成新數(shù)據(jù)。正如Rachael Tatman博士所介紹的,她使用SLURP數(shù)據(jù)集[U1] 創(chuàng)建的一個例子。她之所以會使用這些數(shù)據(jù),是因為它非常干凈而且正式。
再舉個例子,當(dāng)你有一些訓(xùn)練數(shù)據(jù)時,如何利用這些訓(xùn)練數(shù)據(jù)來生成更多基于它的數(shù)據(jù)。在Cohere的AI聊天機(jī)器人對話框內(nèi),
我們給了一個指示:play music有了這個,我們提供了一堆例子。當(dāng)我們單擊生成按鈕時,它將生成相關(guān)文本。
演示了使用Cohere聊天機(jī)器人生成文本的另一個示例。在這里,我們給它喂食一個意圖,例如,設(shè)置鬧鐘或提醒。
如何為數(shù)據(jù)增加多樣性?
到目前為止,我們已經(jīng)看到了使用數(shù)據(jù)增強技術(shù)增加數(shù)據(jù)的方法。但是,生成的數(shù)據(jù)與現(xiàn)有數(shù)據(jù)類似。如果我們想增加數(shù)據(jù)多樣性怎么辦?她將增加多樣性的方法分為兩部分。
l 基于情緒或使用角色的提示
基于情緒的提示,也就是喂給一些情緒的提示。 例如,當(dāng)要求聊天機(jī)器人憤怒地播放音樂時,她發(fā)現(xiàn)播放音樂的意圖發(fā)生了變化,聊天機(jī)器人生成的文本建議關(guān)閉音樂。如下圖,聊天機(jī)器人給到的文本與可能我們的意圖完全相反。所以,情感背景和意圖不是IID(獨立和相同分布)。然而,這種方法可能適合生成負(fù)面情緒的數(shù)據(jù)集。
l 基于特定用戶角色的提示
在使用基于用戶的特定角色時,它主要基于刻板印象。人們不太可能通過一些人口統(tǒng)計的數(shù)據(jù)來介紹自己,除非他們想引入一些基于此的刻板印象,比如說“我現(xiàn)在20歲,請播放音樂”“我是法國人,請播放音樂”。但是,使用多語言數(shù)據(jù)是個特殊情況,有可能就會由數(shù)據(jù)衍生一些結(jié)論,如下圖所示。所以,我們應(yīng)該謹(jǐn)慎地采取這種做法。
l 基于網(wǎng)站人口統(tǒng)計數(shù)據(jù)的提示
通過引用特定網(wǎng)站進(jìn)行提示,她提供了一種風(fēng)險較小的方法來使用社交媒體網(wǎng)站的人口統(tǒng)計數(shù)據(jù)來創(chuàng)建提示。她提到這種方法可以用作提示中角色的代理,這種方法也考慮了主題的影響。
比如說當(dāng)引入不同社交網(wǎng)站的數(shù)據(jù)后,Twitter、Facebook、YouTube上的不同用戶,對聊天機(jī)器人要求播放音樂,會得到不同的回復(fù)。
Facebook:
YouTube:
使用LLM的一些注意事項
在一些場景下,如果和聊天機(jī)器人表達(dá)的意圖過于具體或獨特,上述方法將無法很好生效。如果您的目標(biāo)用戶是大量現(xiàn)有社交媒體用戶,那么提供的方法將最有效。此外,如果您的目標(biāo)用戶的確是比較獨特的,那么可以嘗試,以給定方式添加數(shù)據(jù)多樣性,盡管這并不能完全代表您的實際用戶,但是算是個權(quán)宜之計。
如何驗證生成的數(shù)據(jù)?
建議在第一遍進(jìn)行手動驗證。如果能增肌人機(jī)交互的內(nèi)容將會得到更好的性能。除此之外,她建議使用嵌入可視化來確保整個分布中真實數(shù)據(jù)和生成的數(shù)據(jù)的混合。還可以使用嵌入可視化來確定您是否對新集群感到滿意。
最后的思考
總結(jié)一下,LLM可以幫助我們通過數(shù)量和多樣性來增加數(shù)據(jù),直到我們得到一些實際數(shù)據(jù),使我們的系統(tǒng)的可用性更高。她補充說,我們可以提示現(xiàn)有和新生成的數(shù)據(jù)。最后,建議在第一遍手動驗證生成的數(shù)據(jù),以確保它符合我們正在尋找的標(biāo)準(zhǔn)和質(zhì)量。
[U1]https://arxiv.org/abs/2011.13205?ref=txt.cohere.com