大模型訓練之訓練數(shù)據(jù)準備,即怎么準備高質(zhì)量的訓練數(shù)據(jù)集? 原創(chuàng)
“ 訓練數(shù)據(jù)集的質(zhì)量是大模型的主要生命線之一,數(shù)據(jù)集質(zhì)量直接影響到模型的性能和效果 ”
訓練一個高性能且表現(xiàn)較好的模型是由多種因素決定的,比如模型的設(shè)計,損失函數(shù)與優(yōu)化函數(shù)的實現(xiàn),訓練方式的選擇;當然也包括高質(zhì)量的訓練數(shù)據(jù)。
那么,怎么才能得到一個高質(zhì)量的訓練數(shù)據(jù)集呢? 這個就是我們今天需要討論的問題。
訓練數(shù)據(jù)集的準備
機器學習和深度學習模型的性能高度依賴于訓練數(shù)據(jù)的質(zhì)量和數(shù)量;訓練數(shù)據(jù)的準備工作對于構(gòu)建一個高效可靠的模型至關(guān)重要。
然而在實際應用中,很多人都會選擇別人準備好的訓練數(shù)據(jù),或者是忽視訓練數(shù)據(jù)的準備;畢竟作為AI領(lǐng)域的領(lǐng)頭羊——openAI公司依然在為訓練數(shù)據(jù)而頭疼。
那么,怎么才能準備一個高質(zhì)量的數(shù)據(jù)集呢,一般需要經(jīng)過以下幾個步驟:
- 明確任務
- 數(shù)據(jù)采集
- 數(shù)據(jù)清洗
- 數(shù)據(jù)預處理
- 數(shù)據(jù)標注
- 數(shù)據(jù)拆分
明確任務
準備數(shù)據(jù)集的第一步就是要明確需求,你需要訓練一個什么樣的任務,然后你才能確定數(shù)據(jù)集需要哪些種類的數(shù)據(jù)。
比如說,你是做NLP自然語言處理任務,還是做CV計算機視覺類型的圖像處理任務等;以及不同種類的不同任務風格。
數(shù)據(jù)采集
數(shù)據(jù)采集也包括多個方面:
數(shù)據(jù)來源
數(shù)據(jù)來源包括公開數(shù)據(jù)集,如一些網(wǎng)站提供的數(shù)據(jù)集;其次是自建數(shù)據(jù)集,可以通過爬蟲,搜索引擎等獲?。蛔詈?,就是一些領(lǐng)域數(shù)據(jù),如醫(yī)療,金融,保險等一些非公開數(shù)據(jù);可以通過與這些領(lǐng)域的專家或機構(gòu)合作。當然獲取數(shù)據(jù)的前提都需要合規(guī)合法。
數(shù)據(jù)多樣性
數(shù)據(jù)多樣性的主要目的是保證模型的公平性,防止過擬合或欠擬合現(xiàn)象出現(xiàn);比如,你想訓練一個識別不同種類的狗的模型,如果只使用哈士奇或者金毛,那類似邊牧,泰迪等品種就無法識別,導致過擬合現(xiàn)象。
數(shù)據(jù)質(zhì)量
數(shù)據(jù)質(zhì)量問題是能直接影響到模型訓練結(jié)果的原因之一,數(shù)據(jù)集質(zhì)量越高,訓練效果越好;而決定數(shù)據(jù)集質(zhì)量的原因也有很多,如數(shù)據(jù)混亂不一致,數(shù)據(jù)噪音問題。雖然可以通過數(shù)據(jù)清洗等手段提升數(shù)據(jù)質(zhì)量,但前期準備的數(shù)據(jù)質(zhì)量越高,處理起來越方便,效率越高。
數(shù)據(jù)清洗
數(shù)據(jù)清洗可以說是數(shù)據(jù)準備中比較復雜的一個步驟,因為一般情況下數(shù)據(jù)來源復雜,數(shù)據(jù)結(jié)構(gòu)也復雜,而數(shù)據(jù)清洗需要去除數(shù)據(jù)中的各種影響因素;包括但不僅限于缺失值處理,異常值檢測,噪聲過濾等多種情況。
數(shù)據(jù)清洗的最終目的是去除干擾數(shù)據(jù),并把數(shù)據(jù)整理成統(tǒng)一格式,便于下一步處理。
數(shù)據(jù)預處理
說到數(shù)據(jù)預處理可能有些人會有點懵,前面明明已經(jīng)有數(shù)據(jù)清洗了為什么還需要預處理?
之所以需要預處理的原因就在于,數(shù)據(jù)清洗是去除干擾數(shù)據(jù),整理成統(tǒng)一格式;而預處理的作用就是把數(shù)據(jù)處理成模型能夠處理的格式,包括特征工程,樣本平衡,維度縮減等等多種形式。
舉個生活中的例子,數(shù)據(jù)集準備就類似于做飯前的準備;數(shù)據(jù)清洗就是要摘菜,洗菜等等;數(shù)據(jù)預處理就是要把菜切成需要的形狀,焯水,加上各種需要的配料等等;最后就等著下鍋。
數(shù)據(jù)標注
數(shù)據(jù)標注應該說是一個可選的步驟,在監(jiān)督訓練中數(shù)據(jù)標注必不可少;但在無監(jiān)督學習中,數(shù)據(jù)標注就是一個可有可無的步驟;在無監(jiān)督學習中,你標注了也好,不標注也無所謂。
但數(shù)據(jù)標注并不是大家所想象的全靠人工標注,目前數(shù)據(jù)標注的主要方式有自動標注和人工標注;所謂的自動標注就是訓練一個標注模型,讓它幫我們完成數(shù)據(jù)標注。
數(shù)據(jù)拆分
數(shù)據(jù)拆分就是我們常見的訓練數(shù)據(jù)集,驗證數(shù)據(jù)集和測試數(shù)據(jù)集;收集到的數(shù)據(jù)并不是完全都用來進行模型訓練,還需要對訓練的模型進行驗證和測試,這個就是驗證集和測試集的作用。
當然,以上只是簡單介紹了數(shù)據(jù)準備的一些主要步驟;其實在具體的數(shù)據(jù)準備過程中還面臨著更多的問題,比如數(shù)據(jù)增強,版本控制,可視化,隱私保護等等。
總之,目前的預訓練模型嚴重依賴于訓練數(shù)據(jù)的質(zhì)量問題;因此,模型訓練之前的數(shù)據(jù)準備是一個需要花費大量時間和精力去做的事情,而不是敷衍了事。
本文轉(zhuǎn)載自公眾號AI探索時代 作者:DFires
原文鏈接:??https://mp.weixin.qq.com/s/nnnVwYMbbXAiA-RtmyJxng??
