今天小編分享的科學經驗:鵝廠造10億虛拟人格專搞數據合成:讓7B模型數學成績打平GPT4,還能給弱智吧出題,歡迎閲讀。
10 億名 " 員工 " 生產數據合成,數量占到了世界人口的 13%。
不過這些 " 員工 " 并不是真人,而是騰訊利用網絡數據制造出的虛拟人格。
用這些虛拟人格產生的合成數據,能讓7B 模型的數學成績暴增 15 分,打平了 GPT-4 Turbo。
作者觀察到,只要在數據合成 prompt 中簡單地加入角色信息,就可以讓生成該角色視角下獨特的合成數據。
于是經過研究之後,這個包含 10 億個(準确説是 1,015,863,523 個)不同人格信息的Persona Hub應運而生。
除了前面提到的訓練數據,這些人格還能設計出弱智吧風格的邏輯推理問題,也可以拿來做工具開發,甚至打造出遊戲 NPC、進行社會模拟。
有網友看了表示這實在是泰褲辣,自己以前也做過這樣的實驗,不過只制作了一萬種人格,現在這個項目真的很有趣。
還有人説,人物角色或将成為合成數據的未來。
效果如何,接下來就一起來感受下。
數學成績暴增,還能給弱智吧提問
Persona Hub 中的這 10 億種不同的人格,可以用來生成多種類型的文本信息。
其中也包括生成訓練數據,比如用它們生成的數學文本訓練大模型,可以讓 7B 模型擁有和 GPT-4 Turbo 相當的數學能力。
具體來説,作者用 Persona Hub 中的不同人格生成了 107 萬條數據,并用其訓練了 Qwen2-7B 模型,然後在 MATH 數據集上進行了測試。
結果模型獲得了 64.9% 的準确率,比原始版本提高了 15 個百分點,并與 1106、0125 兩個版本的 GPT4-Turbo 打成了平手。
在生成訓練數據之外,Persona Hub 也能通過模拟用户提示、創建知識文本等方式來提高模型的能力。
比如讓模型猜測特定的人格,可能給的一段什麼樣的 prompt。
或者根據知識、技能、經歷等人格設定,設計一段 Quora(美版知乎)風格的知識性文章。
這些生成的内容都能直接或間接用于模型訓練和調整,從而提高模型的知識水平和任務表現。
當然除了幫助模型提高能力,也可以讓 Persona Hub 當中的角色來設計問題,比如不同風格的邏輯推理題目。
△機翻,僅供參考
甚至也能用中文設計問題,還學會了弱智吧風格,能夠寫出腦洞大開的提問。
被賦予了人格的大模型,本質上仍然是大模型,所以大模型有的編程能力,帶人設的模型也同樣具有。
當然,這裏的人格設定,變成了程式針對的目标,即模型設計出的程式,需要滿足不同人群的需求。
更高階地,Persona Hub 中的人格與大模型結合後,可以進行遊戲 NPC 的生成。
根據 prompt 中的遊戲背景設定,再結合目标人物的風格,模型合成了三個迥異的人物和他們相應的介紹。
連人物的名字都與目标人設進行了匹配,而且介紹也緊扣遊戲設定。
進一步地,作者還認為,通過利用這些人格來模拟和推斷真實用户的潛在需求和行為,還為用語言模型模拟現實世界創造了許多新的機會。
Persona Hub 中的 10 億個人格,可以利用強大的語言模型在虛拟世界中維持一個組織良好的虛拟社會,構建出一個超大号的 " 斯坦福小鎮 "。
那麼,我們不禁要問,Persona Hub 裏的這 10 億種人格,都是怎樣獲得的呢?
從網絡數據中挖掘人格
作者合成人格的方式主要有兩種——由文本生成人格(Text-Persona)和由人格生成人格(Persona-Persona)。
用文本生成人格信息的理論基礎,是作者發現具有特定專業背景和文化背景的人,在閲讀和寫作時會表現出獨特的興趣偏好。
操作上,作者将海量網絡文本數據輸入預訓練語言模型,通過 prompt(如 " 誰可能會閲讀 / 撰寫 / 喜歡這段文本?")引導模型從每段文本中提取一個對應的人格,這裏的 prompt 可以控制輸出人格描述的格式,如純文本或結構化文本。
比如作者給出的實例當中,大模型根據不同類型的文本信息,提取出了三種不同人格:
當輸入的文本包含大量細節時(如教科書、學術論文等),提取出的人格描述也會更加細致和專業化。
總之,通過在海量網絡文本上應用文生人格方法,可以獲得數十億乃至更多的人格,覆蓋各個領網域、不同粒度的角色。
但仍然可能會遺漏一些在網絡上可見度較低的角色,如兒童、乞丐、幕後工作人員等,為了補充這些角色,作者還提出了人格生人格方法。
這種方法建立在文生人格的基礎之上,從其獲得的人格出發,利用人際關系鏈,根據六度分隔理論,對每個種子角色進行最多 6 輪的關系擴展,推斷并擴展出其他相關聯的角色。
(六度分隔理論由哈佛大學心理學教授 Stanley Milgram 于 1967 年提出,内容是説人和任何一個陌生人之間所間隔的人不會超六個,即最多通過六個人就能認識任何一個陌生人。)
實際操作過程當中,作者會首先選擇要探索的人際關系類型,将種子人格和目标關系類型輸入到模型中,通過 prompt 引導模型生成對應的相關人格。
比如前面文生人格環節獲得的 " 兒科護士 " 人格,就可以衍生出病人、藥商、同事等相關聯的人格。
這裏生成的相關人格可以作為新的種子,進一步擴展人格網絡,經過 6 輪迭代擴展,可以覆蓋絕大多數相關角色。
不過,由于在生成新的 personas 的過程中可能會產生一些不合理、不合邏輯,或者與種子關聯性不強的角色描述,所以作者還需要對這些生成的人格進行過濾。
過濾的标準包括但不限于以下幾個方面:
相關性:生成結果是否與種子和目标關系類型相關?反例:兒科護士 - 宇航員
合理性:生成結果是否合理、合乎邏輯?反例:一個 5 歲的兒童患者,獨自經營一家跨國公司
特異性 : 生成結果是否具有特異性,而不是過于籠統?反例:" 一個人 "
可讀性:生成的描述是否清晰、易于理解?是否包含語法或拼寫等錯誤?
過濾解決了人格描述質量的問題,但生成的人格中仍然可能存在大量相似甚至重復的描述,所以還需要對生成的人格進行去重。
在本項目中,作者使用了兩種去重方法。
一是基于 MinHash 的去重,作者将每個描述轉化為一組 n-grams,使用 MinHash 算法計算每段描述的 signature 并比較相似度,超過某個阈值時則認為出現了重復。
另一種是基于嵌入的去重,作者使用大模型将每個描述轉化為一個嵌入向量,并計算嵌入向量之間的相似度,同樣是超過某個阈值時認為出現了重復。
有了這些人格之後,還需要通過一定方式将其與 prompt 整合,才能實現提高數學能力等效果。
比如在這個場景中,作者嘗試了零樣本、少樣本和人格增強的少樣本三種方式,發現零樣本創造力強但相關性差,少樣本相關性提高了但創造力下降了,人格增強的少樣本則在兩者之間實現了較好的平衡。
目前,騰訊從這 10 億虛拟人格中選擇了 20 萬個,并與它們所生成的數據一起進行了公開。
作者表示,在解決安全風險等問題之後,還會公開更多的人格和數據信息。
論文地址:
https://arxiv.org/abs/2406.20094
GitHub:
https://github.com/tencent-ailab/persona-hub