最近chatgpt逐漸變火,很多人也多少能夠發現,chatgpt能夠成為一個相對可靠的端到端解決方案,大有干掉很多智能對話助手、搜索引擎的趨勢,當然現在已經有不少用戶也在用這個來充當搜索引擎來用了。然而,從技術角度,我們是否可以考慮去這么做了,或者說現階段是否合適真的去這么嘗試了。來看我的看法吧。
先說結論吧,我自己的分析結論是,大家都應該去嘗試,但是不要指望短期內徹底替換。
什么是端到端
先說一下端到端和非端到端的意思,簡單地說,就是一個模型完成全流程的任務,而非端到端,就是通過多個模型或者模塊有機組合最終完成的任務。
舉個例子,對話系統,可以用一個比較完善的生成模型來完成,也可以用一個系統,里面有各種模型,例如意圖識別模塊、召回模塊、排序模塊等多個模塊協同合作來共同完成,前者就是端到端的方案,后者就是非端到端的方案。
端到端和非端到端的競爭
其實端到端和非端到端的競爭,早在前幾年就有了,DSTC對話系統的比賽,榜單上就已經分為了端到端和非端到端兩派進行,從比賽的數據來看,非端到端的模型基本都能在A榜有個不錯的成績,而B榜上,端到端模型則能夠一舉超越非端到端模型獲得勝利,從這點我們其實可以推斷,非端到端模型更容易在已知情況達到更高的水平,但是因為模型本身的特定,端到端的模式下,則更容易頂到更高的上限,泛化能力也能拉的比較高。
正因為端到端模型更容易能頂到更高的上線,所以在科研界,多半也是朝著端到端的方案去走的,配合預訓練模型這股東風,絕大部分復雜任務的SOTA方案都是端到端模型的身影。
然而,與之相反的是工業界,在工業界,各大廠所采用的方案,基本都是非端到端的方案,前沿重器系列中我聊了很多場景下大廠的架構:
前沿重器[1] | 微軟小冰-多輪和情感機器人的先行者
前沿重器[2] | 美團搜索理解和召回
前沿重器[4] | 騰訊搜索的Quer理解如何直擊心靈
大家都可以看到,這里面大家不約而同地選擇了這些方案,而沒有選擇比較直接的端到端方案,甚至,在一些小任務下,大家也傾向于拆解成非端到端的任務來進行,例如糾錯(NLP.TM[37] | 深入討論糾錯系統),就拆解成3部分靈活處理。
為什么會選擇非端到端
我自己也經常會對一些需求做技術方案,也會比較傾向于非端到端的方案,主要是出于這幾個原因吧:
非端到端出效果穩定。拆解開的每個步驟都能監控到,什么位置出問題成為短板能快速定位修復,且不影響其他模塊。
資源和需求多樣性導致必須拆分。不同的資源來源導致我們必須在內部拆分,例如要出天氣要查天氣的庫,此時就要拆分各模塊做識別等任務。
可控性和可更新性。國內外其實都有很多不能發布的信息或者價值觀,這些是需要控制的,另一方面,有些內容是需要可更新的,此時需要可更新的模塊來處理,每次直接更新整個模型成本很高。
這應該也是大家會在現實落地情況選擇花時間拆分模塊,逐步完成的核心原因了,也側面映射出,非端到端的方案最終沒選擇的原因:
調優成本和風險大,除了問題后的效果調優可控性其實不是很高,很依賴訓練策略、資源等很多原因。
對現有資源的使用能力差,原來的端到端模型主要靠喂特定的樣本,現階段則是prompt,但是多種復雜的資源不見得能支持這樣的使用。
可控性和可更新性不足,一些風險問題,需要實時更新的問題(依舊舉天氣的例子),端到端模型的變化是不夠敏捷的,甚至在變化過程中可能引入新的不可控風險。
這些問題不解決,我們很難完全放心把整個大的任務交給一個模型的。
端到端模型是否有可能克服缺點
我的答案是,現階段是有可能但是還需要發展迭代。
隨著prompt的出現,大家會開始有一種錯覺,prompt的方式能讓模型快速學會一些比較好的知識,或者換個角度,prompt方案似乎能引導模型吐出我們想讓他吐出的東西,看起來非常有用,大家在體驗chatgpt時多少有點這個感覺,然而仔細看過chatgpt有關原理的朋友們應該會發現,他們在底層是花費了很大成本來構造很多prompt來讓模型學習的,標注看著很簡單,但chatgpt這里其實非常困難,總結而說是有兩點:
prompt的數量,prompt訓練是需要一定的數據支撐的,別給我說就幾條,那是一個類目下,但是類目層面就很多了,每個類幾條那也要很多條的對吧。
prompt的質量,只有泛化的,多樣的prompt才能更好地引導模型訓練,這種人工活動不同于標注,他是帶有一定創造性的,此時難度其實就很高了。
當然,有關靈活可控性,大家會有說adapter之類的結構,就是輕量化微調的方案,這點我在之前的輕量化微調文章里也有說過(前沿重器[27] | 從遺忘問題到預訓練輕量化微調),雖然這種方案能一定程度緩解,但是敏捷性其實還可以提升的,有些緊急的公關問題需要快速下線,類似天氣、新聞等需要快速更新的內容,如果還需要慢慢吞吞地訓adapter模塊,那速度大家肯定覺得會不太夠,還不如直接塞庫里,用dsl直接查的快對吧,當然了,如果是實時性要求沒那么高的,這種控制起來其實已經非常足夠了。
有關chatgpt的效果問題
現階段,chatgpt的口碑有目共睹,但是盛名之下是否能副,這里我是想打一個問號的。有幾個比較嚴謹的問題需要被拋出來:
開放域下的指標如何。大家你一個我一個的試,從個人層面看就是超小樣本,統計能力不足,而把大家的都算上,基本一定程度算高頻問題,可以說是帶點偏的,然而拋開這批嘗試的用戶,只看用戶日常真正的提問,例如像百度那樣用戶當做工具每天搜的情況,效果如何,這點還需要更為嚴格,數量更豐富的評測。
現階段大家的新鮮感還比較強,其實容忍度還是比較高的,很難避免一些錯誤可能會被我們縮小,如果對其他的一些軟件和產品,尤其是國產的,大家是否也能有這個容忍度呢,我自己看游戲領域、電影領域甚至一些奢飾品等領域的經驗來看,用戶多半對國產產品有著比同類外國產品更苛刻的要求的,例子就不舉了,相信大家都懂。
產品形態的問題。現階段的chatgpt的輸出形態其實還是比較局限的——文本和圖像,但是實際上我們需要的可能會更加復雜,例如智能家居的指令(幫我開燈),銷售場景的智能推薦(給我推薦一臺七千塊左右的電腦),天氣內容展示(告訴我未來一周的天氣)等。
怎么做
講到這里,其實我們可以有這幾個共識吧:
非端到端模型在目前的落地場景下,仍有不可撼動的地位,直接切換或者使用端到端模型應該是激進的。
端到端有自己獨特且突出的優勢,泛化能力強,這點也是毋庸置疑的,
在對這個東西有基本的共識后,我們可以繼續來聊怎么做,整體思路可以參考很多系統所常見的嵌入方式:新增召回路,參與篩選和把控。
之前我有文章聊過“召回-排序”這種在多個系統中被廣泛使用的一個架構(心法利器[79] | 對話系統中的多路召回和排序),我們可以考慮在內容的召回上,把這種端到端的方式作為其中一種召回鏈路放入到召回池子里,增加一種回復的可能性,最終的篩選則是在排序層,和其他路召回的內容進行綜合排序,并完成拒識判斷(嚴謹起見端到端方案在特定場景不合適,此時需要過濾拒絕),此時就可以相對安全地利用上這個好東西,算是“馴服”了。在后續階段,隨著逐漸優化,我們可以慢慢放開排序和拒識模塊,讓端到端方案的采納率逐步提升,在提升到一定階段后,就可以考慮下掉其他模塊,最終完成了從非端到端到端到端的切換了,中間階段也比較可控安全。
chatgpt是否會替代嗎
最后想夾帶點私貨,回應一下最近很多人后臺希望和我聊的問題,簡單地說就是chatgpt是否能完全替代別的東西,尤其是人,最近chatgpt逐漸變火,除了chatgpt很火之外,更多的聲音是“哀鴻遍野”,很多人覺得非常悲觀,很多工作都可能會被機器替代。不過從我自己的角度看,是兩個聲音:
chatgpt已經能幫忙做很多事,能替代不少人了。
簡單任務已經可以做了,所以基礎人力肯定會被壓縮,但是因為深耕行業的人更了解具體流程和chatgpt能做的事,所以明白終究是需要有指導機器干活的,需要搭建架構的人,因此讓自己成長起來,這塊壓力其實沒想象中的大,而且在這個趨勢下,資本進一步了解到AI的重要性,說不定對相應從業人員的需求更多。
而且這兩個聲音的具有非常鮮明的特征,前者像是一些對有關領域了解不深的人,后者則是深耕某個領域時間比較久的老鳥。很多時候,老鳥的這個東西的理解很深,往往能參透這里的本質。
說個很簡單的事吧,很多人發現了chatgpt會寫代碼,所以覺得程序員就要被淘汰了,其實這部分人只是單純的認為程序員只有一個任務就是寫代碼罷了,但其實并非如此,以算法工程師為例,大家可以看看我的日常(心法利器[31] | 我的算法工程師日常),大家會發現,真正寫代碼的時間可能就10%左右了,在這種情況下,chatgpt更多的是一個幫助我們工作的工具,而不是替代我們的對手。
我們不能說外行如何如何,畢竟術業有專攻,但是對我們這些專業領域的人還是需要體現出自己的專業水準的,冷靜思考,不能被不懂這個的人帶去了節奏,而是真正的深入了解某個東西的原理和優缺點,并且找到自己的優劣勢和機會,這個才是真正破局所需要的。
審核編輯 :李倩
-
搜索引擎
+關注
關注
0文章
119瀏覽量
13364 -
模型
+關注
關注
1文章
3268瀏覽量
48927 -
ChatGPT
+關注
關注
29文章
1564瀏覽量
7823
原文標題:chatgpt下非端到端方案是否還有意義
文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論