玩DeepSeek模型,想佢講嘢有港味、夠地道?咁數據質量就係重中之重!尤其係繁體中文Q&A,如果唔「執靚佢」,模型分分鐘學到一堆廢話,講出嚟啲嘢九唔搭八。今次就手把手教你點樣清洗出最「堅」嘅繁體Q&A數據,幫你嘅DeepSeek微調打好個靚基礎!
目錄
- DeepSeek 微調:數據質量是王道
- 第一步:數據來源與初步篩選 (以 2024 年 Q1 數據為例)
- 第二步:繁體中文 Q&A 的「精細執位」
- 第三步:質量評估與迭代優化
- 常見問題
DeepSeek 微調:數據質量是王道
如果你已經識玩DeepSeek,甚至想將佢用到香港中小企客服、內容創作嗰啲AI應用,你實會發現:模型本身幾勁都好,餵咗堆爛數據俾佢學,出嚟嘅結果都係一塌糊塗。繁體中文Q&A數據特別麻煩,港台用字習慣、網絡潮語、非標準表達太多,一唔小心就搞到模型變『傻仔』。所以話,有個靚數據集,直接決定你微調後模型嘅準確性、流暢度同埋用戶體驗。
第一步:數據來源與初步篩選 (以 2024 年 Q1 數據為例)
數據邊度嚟?通常都係從公開論壇、新聞網、社交媒體、政府開放數據嗰啲地方撈。不過,攞到手之後唔好咁心急餵俾模型,要先嚟個初步「大清洗」。
- 語言篩選: 記住,全部要繁體中文!好多時會撈到簡體、英文,甚至其他語言,要用
langdetect或簡單正則表達式(Regex)篩走,淨係留番繁體字多嘅內容。 - 長度過濾: 太短嘅Q&A(例如得一兩個字)基本無用,直接刪。同樣,太長嘅文本可能好多雜音,或者超出模型能處理嘅長度限制,都要適當截斷或分割。
- 重複數據剔除: 網上重複嘢多到數唔晒,呢啲重複數據會搞到模型學死咗,泛化能力會差。可以用哈希(hashing)或者
MinHash之類嘅技術快速識別同刪除重複嘅Q&A對。
我測試時就發現,直接從某些本地論壇抓嘅數據,好多時都夾雜大量表情符號、無聊灌水同廣告,真係要嚴格過濾。呢一步就好似係個大水塘度,首先要將啲大舊垃圾撈走,先至可以搞啲細節嘢。
第二步:繁體中文 Q&A 的「精細執位」
初步篩完,數據係乾淨咗啲,但離「高質量」仲差好遠㗎!呢一步就係要針對繁體中文特色,做更深入嘅清洗同優化:
- 字符正規化: 繁體中文喺港台澳同海外華人社區都有輕微用字差異,好似「裏」同「裡」、「線」同「綫」。統一咗佢哋,模型就唔會混淆。仲有,全形符號轉半形,統一標點符號(例如全部用中文逗號
,)。 - 過濾無關內容: 用更複雜嘅Regex,踢走網址、電郵、電話號碼、HTML標籤、程式碼、特殊符號、顏文字等等。記住,任何可能洩露個人私隱(PII)嘅資料,好似身份證號碼或地址,都一定要清除,保證數據安全。
- 語義篩選與噪音清除: 呢步需要少少語言學知識。例如,Q&A之間如果九唔搭八,就直接踢走。多輪對話嘅話,要保證每輪Q&A都有邏輯連貫性。啲明顯係機械翻譯、狗屁不通或者有粗口嘅內容,都要篩走。可以整個「黑名單」詞庫,自動過濾含敏感詞或低質量表達嘅句子。
呢個「精細執位」階段,就好似師傅雕玉咁,小心翼翼咁將啲雜質搞走,淨低最精華嗰 part。對於香港地道用語,不妨整個常用語詞庫,等模型學識最正宗嘅表達。
第三步:質量評估與迭代優化
數據洗好咗?咪以為搞掂晒喎!最後一步係要反覆評估清洗效果,再繼續優化:
- 抽樣檢查: 人手抽樣檢查係走唔甩嘅。隨機抽一部分數據,認真睇吓啲Q&A對,檢查語法、語義、繁體字用得啱唔啱,夠唔夠地道。呢步可以幫你捉到自動化腳本睇唔到嘅盲點。
- 小批量微調測試: 可以先用一小撮洗過嘅數據,做個初步嘅DeepSeek微調。之後,睇吓模型喺驗證集嘅表現,或者直接同佢傾吓計,觀察回答質量。如果發現模型對某類問題「牛頭唔搭馬嘴」,可能就係呢部分數據未夠乾淨,要返轉頭執過啲清洗策略。
- 自動化質量評分(Optional): 對於數據量超大嘅情況,可以試吓整套簡單嘅自動化評分系統。例如,根據詞彙豐富度、困惑度(perplexity)或者小型預訓練模型嘅embedding相似度,幫Q&A對打分。分數低嘅數據可以優先人手複檢或者直接踢走佢。
呢個持續優化嘅過程,就係數據科學嘅「無限循環」。每執一次,你都會對數據有更深理解,最後訓出嚟嘅DeepSeek模型就愈嚟愈醒目!
常見問題
Q1: 我嘅繁體Q&A數據量好少,點算好?
A1: 數據量少係家常便飯啦。首先,現有數據質量一定要擺第一位。就算少,優質數據都好過多而垃圾。其次,可以試吓數據增強(Data Augmentation)技術,例如換同義詞、語句重組,或者結合其他公開嘅繁體中文數據集(好似維基百科、新聞文)生成新Q&A對。不過要記住,生成出嚟嘅數據一定要嚴格審核,確保真係高質量、夠真實。
Q2: 點樣處理「口語化」問題?我希望DeepSeek講嘢可以更貼近香港人日常對話。
A2: 口語化真係一大挑戰!如果你想模型講嘢夠地道,數據集入面就要有足夠嘅口語化表達。清洗時,唔好將所有「非標準」嘅網絡潮語或口語表達全部踢走,反而要小心篩選啲高頻、有代表性嘅用語。好似「點樣」對應「點搞」、「冇」對應「沒有」咁。可以整個香港口語詞庫,標註呢啲詞語,甚至微調時俾高啲權重,等模型學識點樣用。但都要平衡,唔好搞到模型太「輕佻」或者難以理解喎。
Q3: 有冇咩數據清洗工具或Python庫推薦?
A3: 梗係有啦!Regex方面,Python內置嘅 re 庫就超強。中文字符處理,opencc-python 可以搞掂簡繁轉換同異體字。分詞(tokenization)同去除停用詞,jieba 或者 ckip-transformers 都值得一試。處理大型數據集,pandas 係必須嘅。而重複數據剔除,datasketch 嘅 MinHash 係個唔錯嘅選擇。再進階啲,你甚至可以用小型模型(例如BERT base)嚟做文本分類,自動識別低質量或不相關嘅Q&A。
希望呢篇教學對大家有幫助!數據清洗係微調嘅第一步,亦係最最關鍵嘅一步。花心機「執靚佢」,你嘅DeepSeek模型就會愈嚟愈醒目,愈嚟愈「識貨」!祝大家微調成功,玩得開心!