LLM大語(yǔ)言模型數(shù)據(jù)處理 - github code
本文以開(kāi)源項(xiàng)目RedPajama在GitHub中的少量數(shù)據(jù)為例,為您介紹如何使用PAI提供的LLM大語(yǔ)言模型數(shù)據(jù)處理組件,對(duì)GitHub代碼數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗和處理。
前提條件
已創(chuàng)建工作空間,詳情請(qǐng)參見(jiàn)創(chuàng)建工作空間。
已將MaxCompute資源關(guān)聯(lián)到工作空間,詳情請(qǐng)參見(jiàn)管理工作空間。
數(shù)據(jù)集
本文從開(kāi)源項(xiàng)目RedPajama的GitHub原始數(shù)據(jù)中抽取5000個(gè)樣本數(shù)據(jù)進(jìn)行演示。
您可以參考數(shù)據(jù)處理流程對(duì)數(shù)據(jù)進(jìn)行清洗和處理,以提高數(shù)據(jù)質(zhì)量,進(jìn)而提升模型的訓(xùn)練效果。
數(shù)據(jù)處理流程
進(jìn)入Designer頁(yè)面。
登錄PAI控制臺(tái)。
在左側(cè)導(dǎo)航欄單擊工作空間列表,在工作空間列表頁(yè)面中單擊待操作的工作空間名稱(chēng),進(jìn)入對(duì)應(yīng)的工作空間。
在工作空間頁(yè)面的左側(cè)導(dǎo)航欄選擇 ,進(jìn)入Designer頁(yè)面。
構(gòu)建工作流。
在Designer頁(yè)面,單擊預(yù)置模板頁(yè)簽。
在LLM大語(yǔ)言模型頁(yè)簽的LLM大語(yǔ)言模型數(shù)據(jù)處理 - github code區(qū)域中,單擊創(chuàng)建。
在新建工作流對(duì)話(huà)框中,配置參數(shù)(可以全部使用默認(rèn)參數(shù)),然后單擊確定。
其中:工作流數(shù)據(jù)存儲(chǔ)配置為OSS Bucket路徑,用于存儲(chǔ)工作流運(yùn)行中產(chǎn)出的數(shù)據(jù)。
在工作流列表中,雙擊目標(biāo)工作流,進(jìn)入工作流。
系統(tǒng)根據(jù)預(yù)置的模板,自動(dòng)構(gòu)建工作流,如下圖所示。
組件
描述
LLM-敏感信息打碼-1
將敏感信息打碼。例如:
將郵箱地址字符替換成
[EMAIL]
。將手機(jī)電話(huà)號(hào)碼替換成
[TELEPHONE]
或[MOBILEPHONE]
。將身份證號(hào)碼替換成
IDNUM
。
以下是對(duì)content字段經(jīng)過(guò)處理后的數(shù)據(jù)示例,其中的郵箱地址已被替換成了
[EMAIL]
。處理前
處理后
LLM-特殊內(nèi)容移除-1
將content字段中的URL鏈接刪除。
以下是對(duì)content字段經(jīng)過(guò)處理后的數(shù)據(jù)示例,其中相關(guān)的URL已被刪除。
處理前
處理后
LLM-文本標(biāo)準(zhǔn)化-1
將content字段中的文本進(jìn)行Unicode標(biāo)準(zhǔn)化處理。
以下是對(duì)content字段經(jīng)過(guò)處理后的數(shù)據(jù)示例,其中相關(guān)的文本已被標(biāo)準(zhǔn)化處理。
處理前
處理后
LLM-Copyrigtht信息移除-1
將content字段中的Copyright信息刪除。
以下是對(duì)content字段經(jīng)過(guò)處理后的數(shù)據(jù)示例,其中相關(guān)的Copyright信息已被刪除。
處理前
處理后
LLM-計(jì)數(shù)過(guò)濾-1
將content字段中不符合數(shù)字和字母字符占比的樣本去除。GitHub代碼數(shù)據(jù)集中大部分字符都由字母和數(shù)字組成,通過(guò)該組件可以去除部分臟數(shù)據(jù)。
以下是被去除的部分?jǐn)?shù)據(jù)列表,可以看到很多的臟數(shù)據(jù)被去除。
LLM-長(zhǎng)度過(guò)濾-1
根據(jù)content字段的總長(zhǎng)度、平均長(zhǎng)度和最大行長(zhǎng)度進(jìn)行樣本過(guò)濾。平均長(zhǎng)度和最大行長(zhǎng)度使用換行符("\n")分割樣本。
以下是被去除的部分?jǐn)?shù)據(jù)集列表,很多過(guò)短和過(guò)長(zhǎng)的代碼臟數(shù)據(jù)會(huì)被去除。
LLM-N-Gram重復(fù)比率過(guò)濾-1
根據(jù)content字段的字符級(jí)以及詞語(yǔ)級(jí)N-Gram重復(fù)比率進(jìn)行樣本過(guò)濾。
將文本里的內(nèi)容按照字符或詞語(yǔ)進(jìn)行大小為N的滑動(dòng)窗口操作,形成了長(zhǎng)度為N的片段序列。每一個(gè)片段稱(chēng)為gram,對(duì)所有gram的出現(xiàn)次數(shù)進(jìn)行統(tǒng)計(jì)。最后統(tǒng)計(jì)
頻次大于1的gram的頻次總和 / 所有gram的頻次總和
兩者比率作為重復(fù)比率進(jìn)行樣本過(guò)濾。說(shuō)明如果是詞語(yǔ)級(jí)統(tǒng)計(jì),會(huì)先將所有單詞轉(zhuǎn)成小寫(xiě)格式再計(jì)算重復(fù)度。
LLM-長(zhǎng)度過(guò)濾-2
使用該組件根據(jù)空格將樣本切分成單詞列表,根據(jù)切分后的列表長(zhǎng)度過(guò)濾樣本,實(shí)際是根據(jù)單詞個(gè)數(shù)過(guò)濾樣本。
LLM-文章相似度去重-1
使用該組件去除相似的文本。
單擊畫(huà)布上方的運(yùn)行按鈕,運(yùn)行工作流。
工作流成功運(yùn)行后,右鍵單擊寫(xiě)數(shù)據(jù)表-1組件,在快捷菜單中選擇
。輸出的樣本為經(jīng)過(guò)上述所有處理組件過(guò)濾以及處理后的樣本。
相關(guān)文檔
在完成數(shù)據(jù)處理后,您可以使用PAI平臺(tái)提供的一系列大模型組件(包括數(shù)據(jù)處理組件、訓(xùn)練組件以及推理組件),來(lái)實(shí)現(xiàn)大模型從開(kāi)發(fā)到使用的端到端流程。詳情請(qǐng)參見(jiàn)LLM大語(yǔ)言模型端到端鏈路:數(shù)據(jù)處理+模型訓(xùn)練+模型推理。