LLM數據處理算法提供了對數據樣本進行編輯和轉換、過濾低質量樣本、識別和刪除重復樣本等功能。您可以根據實際需求組合不同的算法,從而過濾出合適的數據并生成符合要求的文本,方便為后續的LLM訓練提供優質的數據。本文以開源RedPajama arXiv中的少量數據為例,為您介紹如何使用PAI提供的大模型數據處理組件,對arXiv數據進行數據清洗和處理。
數據集說明
本文Designer中“LLM大語言模型數據處理-arXiv(論文數據)”預置模板用的數據集為開源項目RedPajama的原始數據中抽取的5000個樣本數據。
創建并運行工作流
進入Designer頁面。
登錄PAI控制臺。
在頂部左上角根據實際情況選擇地域。
在左側導航欄選擇工作空間列表,單擊指定工作空間名稱,進入對應工作空間。
在左側導航欄選擇模型開發與訓練 > 可視化建模(Designer),進入Designer頁面。
創建工作流。
在預置模板頁簽下,選擇業務領域 > LLM 大語言模型,單擊LLM大語言模型數據處理-arXiv (論文數據)模板卡片上的創建。
配置工作流參數(或保持默認),單擊確定。
在工作流列表,選擇已創建的工作流,單擊進入工作流。
工作流說明:
工作流中關鍵算法組件說明:
LLM-敏感信息打碼(MaxCompute)-1
將“text”字段中的敏感信息打碼。例如:
將郵箱地址字符替換成
[EMAIL]
。將手機電話號碼替換成
[TELEPHONE]
或[MOBILEPHONE]
。將身份證號碼替換成
IDNUM
。
LLM-特殊內容移除(MaxCompute)-1
將“text”字段中的URL鏈接刪除。
LLM-文本標準化(MaxCompute)-1
將“text”字段中的文本進行Unicode標準化處理;將繁體轉簡體。
LLM-計數過濾(MaxCompute)-1
將“text”字段中不符合數字和字母字符個數或占比的樣本去除。arxiv數據集中大部分字符都由字母和數字組成,通過該組件可以去除部分臟數據。
LLM-長度過濾(MaxCompute)-1
根據“text”字段的平均長度進行樣本過濾。平均長度基于換行符
\n
分割樣本。LLM-N-Gram重復比率過濾(MaxCompute)-1
根據“text”字段的字符級N-Gram重復比率進行樣本過濾,即將文本里的內容按照字符進行大小為N的滑動窗口操作,形成了長度為N的片段序列。每一個片段稱為gram,對所有gram的出現次數進行統計。最后統計
頻次大于1的gram的頻次總和 / 所有gram的頻次總和
兩者比率作為重復比率進行樣本過濾。LLM-敏感詞過濾(MaxCompute)-1
使用系統預置敏感詞文件過濾“text”字段中包含敏感詞的樣本。
LLM-長度過濾(MaxCompute)-2
根據“text”字段的最大行長度進行樣本過濾。最大行長度基于換行符
\n
分割樣本。LLM-困惑度過濾(MaxCompute)-1
計算“text”字段文本的困惑度,根據設置的困惑度閾值過濾樣本。
LLM-特殊字符占比過濾(MaxCompute)-1
將“text”字段中不符合特殊字符占比的樣本去除。
LLM-長度過濾(MaxCompute)-3
根據“text”字段的長度進行樣本過濾。
LLM-分詞(MaxCompute)-1
將“text”字段的文本進行分詞處理,并將結果保存至新列。
LLM-長度過濾(MaxCompute)-4
根據分隔符
" "
(空格)將“text”字段樣本切分成單詞列表,根據切分后的列表長度過濾樣本,即根據單詞個數過濾樣本。LLM-N-Gram重復比率過濾(MaxCompute)-2
根據“text”字段的詞語級N-Gram重復比率(會先將所有單詞轉成小寫格式再計算重復度)進行樣本過濾,即將文本里的內容按照詞語進行大小為N的滑動窗口操作,形成了長度為N的片段序列。每一個片段稱為gram,對所有gram的出現次數進行統計。最后統計
頻次大于1的gram的頻次總和 / 所有gram的頻次總和
兩者比率作為重復比率進行樣本過濾。LLM-文章相似度去重(MaxCompute)-1
根據設置的Jaccard相似度和Levenshtein距離閾值去除相似的樣本。
運行工作流。
運行結束后,右鍵單擊寫數據表-1組件,選擇查看數據 > 輸出,查看經過上述所有組件處理后的樣本。
相關參考
LLM算法組件詳細說明,請參見LLM數據處理(MaxCompute)。
在完成數據處理后,您可以使用PAI平臺提供的一系列大模型組件(包括數據處理組件、訓練組件以及推理組件),來實現大模型從開發到使用的端到端流程。詳情請參見LLM大語言模型端到端鏈路:數據處理+模型訓練+模型推理。