自 ChatGPT 發布以來,這段時間對話模型的熱度只增不減。當我們讚嘆這些模型表現驚豔的同時,也應該猜到背後巨大的算力和海量數據的支持。
單就數據而言,高品質的數據至關重要,為此 OpenAI 對數據和標註工作下了很大力氣。有多項研究表明,ChatGPT 是比人類更可靠的數據標註者,如果開源社群可以獲得 ChatGPT 等強大語言模型的大量對話數據,就可以訓練出表現更好的對話模型。這一點羊駝系列模型 ——Alpaca、Vicuna、Koala—— 已經證明過。例如,Vicuna 使用從 ShareGPT 收集的使用者共享資料對 LLaMA 模型進行指令微調,就復刻了 ChatGPT 九成功力。越來越多的證據表明,資料是訓練強大語言模型的第一個生產力。
ShareGPT 是一個 ChatGPT 資料分享網站,使用者會上傳自己覺得有趣的 ChatGPT 答案。 ShareGPT 上的資料是開放但瑣碎的,需要研究者自行收集整理。如果能夠有一個高品質的,涵蓋廣泛的資料集,開源社群在對話模型研發方面將會事半功倍。
基於此,最近一個名為 UltraChat 的專案就係統建立了一個超高品質的對話資料集。專案作者嘗試用兩個獨立的 ChatGPT Turbo API 進行對話,從而產生多輪對話資料。
關於世界的問題(Questions about the World):這部分對話來自於對現實世界中的概念、實體和物件相關的廣泛詢問。所涉及的主題涵蓋科技、藝術、金融等多個領域。
######寫作與創作(Writing and Creation):這部分對話資料著重於指示AI 從頭進行創作一個完整的文本材料,並在此基礎上進行後續的提問或進一步指導以完善寫作,撰寫的材料內容類型包括文章、部落格、詩歌、故事、戲劇,電子郵件等等。 ############對於現有資料的輔助改寫(Writing and Creation):此對話資料是基於現有資料產生的,指令包括但不限於改寫、續寫、翻譯、歸納、推理等,涵蓋主題同樣非常多元。 ###############這三部分資料涵蓋了大部分使用者對於 AI 模型的要求。同時,這三類資料也會面臨不同的挑戰,為此需要不同的構造方法。 ######例如,第一部分的資料主要挑戰在於如何在總量為數十萬組對話中盡量廣泛地涵蓋人類社會中的常見知識,為此研究者從自動生成的主題和來自於Wikidata的實體兩個面向進行了篩選和建構。
第二、三部分的挑戰主要來自於如何模擬使用者指令,並在後續對話中讓使用者模型的生成盡量多樣化的同時又不偏離對話的最終目標(按照要求生成材料或改寫材料),為此研究者對使用者模型的輸入提示進行了充分的設計和實驗。在構造完成之後,作者也對資料進行了後處理以削弱幻覺問題。
目前,該專案已經發布了前兩部分的數據,數據量為 124 萬條,應該是目前開源社群內規模最大的相關數據集。內容包含在現實世界中豐富多彩的對話,最後一部分數據將在未來發布。
世界問題資料來自30 個具有代表性和多樣性的元主題,如下圖所示:
此外,專案從維基資料中收集了最常用的10000 個命名實體;使用ChatGPT API 為每個實體產生5 元問題;對於每個元問題,產生10 個更具體的問題和20 個相關但一般的問題;採樣20w 個特定問題和25w 個一般問題以及5w 個元問題,並為每個問題產生了3~7 輪對話。
接下來我們來看一個具體的例子:
我們在UltraChat 平台上測試了數據搜尋效果。例如,輸入「音樂(music)」,系統會自動搜尋出10000 組與音樂相關的ChatGPT 對話數據,並且每組都是多輪對話
#輸入關鍵字「數學(math)」的搜尋結果,有3346 組多輪對話:
目前,UltraChat 涵蓋的資訊領域已經非常多,包括醫療、教育、運動、環保等多個議題。同時,筆者嘗試使用開源的LLaMa-7B 模型在UltraChat 上進行監督的指令微調,發現僅訓練10000 步後就有非常可觀的效果,一些例子如下:
##########世界知識:分別列出10 個很好的中國和美國大學####################### ##########想像問題:當時空旅行成為可能後,有什麼可能的後果? ##################三段论:鲸鱼是鱼吗?
假设问题:证明成龙比李小龙更出色
总体来说,UltraChat 是一个高质量、范围广的 ChatGPT 对话数据集,可以和其它数据集结合,显著地提升开源对话模型的质量。目前 UltraChat 还只放出了英文版,但也会在未来放出中文版的数据。感兴趣的读者快去探索一下吧。
以上是使用多個ChatGPT API實現清華UltraChat多輪對話的詳細內容。更多資訊請關注PHP中文網其他相關文章!