大規模語言模型,微信版,來!並且甫一登場,就沒藏著掖著:論文、API接口、在線試玩網站……一條龍全都齊備。續寫文本、閱讀理解等常規任務就不說,這個名叫WeLM的AI,竟然直接讓我和李白跨時空聊起杜甫:
原標題:微信版大語言模型來:跨時空對話李白、教你高情商說話,API在線試玩全都有
魚羊 夢晨 發自 凹非寺
我:現在有一首關於你的歌,其中一句歌詞是“要是能重來,我要選李白”,請問你自己有什麼看法?
李白:我要選杜甫。
我:現在有一首關於你的歌,其中一句歌詞是“要是能重來,我要選李白”,請問你自己有什麼看法?
李白:我要選杜甫。
這還不算完,WeLM甚至還治好我不會聊天的毛病,分分鐘教會我如何高情商說話。
這麼一個AI,參數量不算大,目前處於 百億水平。
但值得關註的是,實驗結果顯示,它在18個中文語言任務裡, 效果堪比參數量是其25倍的模型。
是不是有點手癢想上手一試?先奉上鏈接,咱們再仔細說說,這波微信是怎麼做到的。
體驗鏈接:https://welm.weixin.qq.com/docs/playground/
API接口:https://welm.weixin.qq.com/docs/api/
論文地址:https://arxiv.org/abs/2209.10372
體驗鏈接:https://welm.weixin.qq.com/docs/playground/
API接口:https://welm.weixin.qq.com/docs/api/
論文地址:https://arxiv.org/abs/2209.10372
微信語言大模型WeLM,全名Well-Read Language Model,也就是 “學富五車的語言模型”。
在翻譯任務上,WeLM不光可以做到基本的,甚至 三語夾雜也難不倒它。
在文本續寫任務上, 隻需給出開頭就能生成適應不同風格的文本。
這種多語言、多任務能力是怎麼做到的?
其實WeLM與著名的GPT-3是同類,都是自回歸解碼器結構,微信團隊選擇這種結構就是看中其 在海量數據中掌握無窮范式的能力。
在具體實現方法上,WeLM還有兩項特色。
一是采用RoPE相對位置編碼,與傳統的固定位置編碼相比能更好處理長文本,比如理解整篇文章甚至整本書。
二是使用62k個token的SentencePiece並保留其中的空格和Tab,這樣更有利於下遊任務。
使用這些方法,WeLM總共設計從13億到100億參數的三個版本,可按需調用。
其中100億參數的滿血版WeLM在14項中文任務中整體表現超過同大小的模型,甚至在零樣本任務上超過比它大25倍的模型。
這其中最大的秘訣就是精心準備的高質量訓練數據上充分訓練,也就是“學富五車”的含義所在。
高質量訓練數據包括從Common Crawl下載的近兩年中文網頁、大量書籍、新聞、論壇數據和學術論文。
收集到的數據總量超過10TB,其中包含750G英文數據,中文中夾雜的英日韓語為語義連貫也全部保留。
不過這還不算完,需要經過清洗、去重等一系列步驟才能算得上是高質量數據。
首先是去除噪聲和臟數據,結合使用規則和模型檢測後,超過87%的數據被過濾。
再利用SimHash算法去重,進一步過濾掉40%的數據。
接下來要去除一切和測評相關的數據,保證公平性,以 17-gram 為檢測重復粒度再次過濾0.15%的數據。
一系列處理後留下的數據量為 262B tokens,最後再對這些數據進行不同比重的采樣,使數據平滑分佈在各個話題上。
對於預訓練,團隊認為當今多數大模型的訓練都不夠充分,WeLM 100億參數版的訓練量基本與1750億的GPT-3相當 (300B tokens),在128張A100上訓練用大概24天時間。
為保證訓練效率,WeLM在訓練過程中還使用完全可原地復現的形式,不管發生任何問題都能從最近的checkpoint恢復。
自1750億參數的GPT-3之後,語言模型規模越來越大,到今年Google的PaLM已經達到5400億,中文大模型同樣有這個趨勢。
可以看出微信團隊選擇另一條路線,以高質量訓練數據和高效訓練做到 “四兩撥千斤”的效果。
到這一步WeLM已經有不錯的表現,不過接下來這個步驟再次將其 零樣本泛化能力提到新的高度 。
研究團隊針對76個數據集各人工撰寫10-20個Prompt,將原任務中的文本關系的標簽和輸入信息轉化成流暢通順的自然語言形式,更符合自回歸語言模型的訓練形式。
使用這些Prompt對模型微調後,相當於讓模型學會面對多樣的Prompt該做什麼。如果遇到相似Prompt形式的全新任務,也可以有更穩定的表現。
實驗證明,在全量數據上微調後的模型在新的NLP任務上具備更優秀的 零樣本遷移能力,同時也使得微調變為一項 一勞永逸的工作。
最後,研究團隊還測試WeLM的三個額外能力。
通過提供示例,WeLM可以 對自己的決策作出解釋,不過這種能力不太穩定,還需要進一步探索。
通過簡單提問,WeLM可以對結果進行 自我糾正和檢查能力,為後續提高性能提供可能方向。
WeLM還表現出一定的 記憶能力,如果輸入內容完美匹配前文,即使內容很長、出現頻次很低,模型依然可以準確的生成剩下的部分。
最後再來總結一下,WeLM精通中文的同時掌握英日韓等多種外語、可以通過少樣本或零樣本學習執行全新任務,同時以合理尺寸做到與25倍參數量的模型相媲美使用成本較低,總之就是奔著 實用性和 大規模落地去的。
同步開放在線體驗與API,也是希望有想法的開發者能方便的用起來,讓WeLM大模型真正實用的工具。
WeLM怎麼用
具體來說,WeLM線上Demo目前釋出的功能包括:對話-采訪、閱讀理解、翻譯、改寫、續寫以及自由任務。
在正式開始跟WeLM玩耍之前,記得要先給模型扔一段簡單的“范文”,也就是“prompt”。
在線網站會給出一些默認的prompt,你也可以自行修改設計。需要遵循的設計原則是:
第一,描述清楚;第二,例子具備代表性(多個例子更好)。
第一,描述清楚;第二,例子具備代表性(多個例子更好)。
以文本分類任務為例,prompt應該長這樣:
其中的技巧包括,首先,把分類任務用 自然語言清晰地表達出來,在上面這個示例中,“微博”即為輸入,“類別”即為輸出。
其次,在第一句的指令型描述中,需要把可能的分類結果都列出來。
最後,如果效果不佳,可以嘗試加入更多例子,讓WeLM更清楚你到底想要做怎樣的任務。
另外,正如前文所說,WeLM擁有零樣本學習能力。
所以直接把它當作問答搜索引擎來用,也不是不行(手動狗頭)。
如果你還想得到更多樣化的生成結果,token數量、temperature等參數均可調整。
更重要的一點是,WeLM已 開放API接口。也就是說,如果身為開發者的你想在自己的App裡用上這個大模型,填寫調查問卷註冊即可。
One More Thing
說起來,這樣的大模型要是真的落地應用,媽媽豈不是再也不用擔心我因為不會聊天 而母胎solo?
比如說……
你還有什麼有趣的腦洞?大膽招呼起來~