論文信息
name_en: LaMDA: Language Models for Dialog Applications
name_ch: LaMDA:對話應用程序的語言模型
paper_addr: http://arxiv.org/abs/2201.08239
doi: 10.48550/arXiv.2201.08239
date_read: 2023-03-30
date_publish: 2022-02-10
tags: ['自然語言處理','深度學習']
author: Romal Thoppilan, Google
citation: 229
讀后感
對于對話機器人的調優。提升模型的安全性和事實性,同時可咨詢外部知識來源,如:信息檢索系統、語言翻譯器和計算器——結合了自然語言模型與其它工具。利用眾包方式,選擇人類偏好的回答。
介紹
Google推出的LaMDA(Language Model for Dialogue Applications),針對對話應用的大語言模型。它可以處理開放式對話,這種對話通常圍繞特定主題展開(外部知識源)。
方法
模型結構
LaMDA采用的是純decoder的結構,類似于GPT,使用了46層Transformer。
數據
在公共對話數據和 web tex 的 1.56T 詞進行預訓練,137B 參數。
以SSI為例,要求眾包工作者與 LaMDA 實例就任何主題進行交互來收集 6400 輪,121K 的對話。這些對話需要持續 14 到 30 回合。對于每個響應,我們要求其他眾包工作者進行標注。其它也使用類似的眾包方法評測。
調優
通過在人工標注數據上做進一步finetune以及讓模型學會檢索利用外部知識源的能力,使得模型在安全性以及事實性這兩個關鍵問題上獲得明顯提升。
LaMDA的finetune包括兩部分,一部分是針對生成文本質量跟安全性,另一部分則是學習如何利用外部的信息檢索系統。
質量(SSI)可以從三方面評估,分別是:
- sensibleness:文本是否合理,跟歷史對話是否有沖突;
- Specificity:對于前文是否有針對性,避免籠統回復;
- Interestingness:文本是否能引起某人注意或者好奇,是否是超出期待的巧妙回復
提供對于生成/判別任務的安全性和事實性
對于生成模型,數據以如下方式組織:
<context> <sentinel> <response>
對于判別模型,數據以如下方式組織:
<context> <sentinel> <response> <attribute-name> <rating>
結合sensible,specific,interesting三方面得分調優模型。
微調學習調用外部信息檢索系統
有時事實是不斷變化的,無法僅使用擴大模型規模的方法讓模型反饋你想要的答案。使用以下方法調優模型:
- 加入工具集:創建了一個工具集 (TS),其中包括信息檢索系統、計算器和翻譯器。TS 將字符串作為輸入并輸出一個或多個字符串的列表。信息檢索系統還能夠從開放網絡返回內容片段及其相應的 URL。
- 收集對話:收集了 40K 帶注釋的對話輪次帶注釋(生成數據)。其中 LaMDA 生成的候選者被標記為“正確”或“不正確”,用作排名任務的輸入數據。(這個非常像InstructGPT里的reward標注)。微調語言模型,通過使用工具集查找其聲明來為其響應回答。(newbing可能就是這么做的)
- 調優模型:
- 任務一:根據用戶輸入的內容,生成訪問TS格式的數據(詳見:newbing)
context + base → 提問TS的問題(其中base是其預訓練模型返回的答案) - 任務二:通過TS返回的內容和上下文生成回答
context + base + query + snippet->返回給用戶的答案
以下是一個示例:
- 任務一:根據用戶輸入的內容,生成訪問TS格式的數據(詳見:newbing)
實驗
參考
中文文章: 對話機器人之LaMDA