LLM資料處理演算法提供了對資料樣本進行編輯和轉換、過濾低品質樣本、識別和重複資料刪除樣本等功能。您可以根據實際需求組合不同的演算法,從而過濾出合適的資料並產生符合要求的文本,方便為後續的LLM訓練提供優質的資料。本文以開源RedPajama-Data中的少量資料為例,為您介紹如何使用PAI提供的大模型資料處理組件,對GitHub代碼資料進行資料清洗和處理。
DLC組件支援分布式Ray架構進行大規模的資料處理,並且支援智能彙總功能,可實現高效的資料處理和資源利用,減少不必要的資料存放區操作,詳細使用參考文檔:大模型資料處理組件彙總成組。
資料集說明
本文Designer中“LLM大語言模型資料處理-github code-DLC組件”預置模板用的資料集為開源專案RedPajama-Data的未經處理資料中抽取的5000個樣本資料。
建立並運行工作流程
進入Designer頁面。
登入PAI控制台。
在頂部左上方根據實際情況選擇地區。
在左側導覽列選擇工作空間列表,單擊指定工作空間名稱,進入對應工作空間。
在左側導覽列選擇模型開發與訓練 > 可視化建模(Designer),進入Designer頁面。
建立工作流程。
在預置模板頁簽下,選擇業務領域 > LLM 大語言模型,單擊LLM大語言模型資料處理-github code - DLC組件模板卡片上的建立。

配置工作流程參數(或保持預設),單擊確定。
在工作流程列表,選擇已建立的工作流程,單擊進入工作流程。
工作流程說明:

工作流程中關鍵演算法組件說明:
LLM-敏感資訊打碼(DLC)-1
將“content”欄位中的敏感資訊打碼。例如:
將郵箱地址字元替換成
[EMAIL]。將手機電話號碼替換成
[TELEPHONE]或[MOBILEPHONE]。將社會安全號碼碼替換成
IDNUM。
LLM-特殊內容移除(DLC)-1
將“content”欄位中的URL連結刪除。
LLM-文本標準化(DLC)-1
將“content”欄位中的文本進行Unicode標準化處理。
LLM-Copyright資訊移除(DLC)-1
刪除“content”欄位中的Copyright資訊。
LLM-計數過濾(DLC)-1
將“content”欄位中不符合數字和字母字元佔比,和不符合字母字元占文本token比例的樣本去除。GitHub代碼資料集中大部分字元都由字母和數字組成,通過該組件可以去除部分髒資料。
LLM-長度過濾(DLC)-1
根據“content”欄位的長度、平均長度以及最大行長度進行樣本過濾。平均長度以及最大行長度基於分行符號
\n分割樣本。LLM-N-Gram重複比率過濾(DLC)-1
根據“content”欄位的字元級N-Gram重複比率和詞語級N-Gram重複比率(會先將所有單詞轉成小寫格式再計算重複度)進行樣本過濾,即將文本裡的內容按照字元進行大小為N的滑動視窗操作,形成了長度為N的片段序列。每一個片段稱為gram,對所有gram的出現次數進行統計。最後統計
頻次大於1的gram的頻次總和 / 所有gram的頻次總和兩者比率作為重複比率進行樣本過濾。LLM-長度過濾(DLC)-2
根據“content”欄位的長度進行樣本過濾。
LLM-文章相似性去重(DLC)-1
根據設定的window_size、num_blocks和hamming_distance值去除相似的樣本。
運行工作流程。
運行結束後,按右鍵LLM-文章相似性去重(DLC)-1組件,選擇查看資料 > 輸出資料(OSS),查看經過上述所有組件處理後的樣本檔案。

相關參考
LLM演算法組件詳細說明,請參見LLM資料處理(DLC)。