從 700GB PDF 到 500 個 Fine-Tuning 訓練範例:資料精簡流程
您擁有數 TB 的企業文件,但您的微調模型只需要 500 到 5,000 個高品質範例。以下是將大量文件檔案精簡為精準訓練資料集的系統化流程。
一家營建公司帶著 700GB 的 PDF 檔案找到我們——工程量清單、技術規範、建築圖面、工地報告,以及累積 15 年的專案文件。他們想為兩項任務微調模型:文件分類(從第一頁辨識文件類型)和實體擷取(從規範中提取關鍵專案細節)。
他們問:「我們要怎麼用所有這些資料來訓練?」
答案是:不用。你需要精簡它 。
對大多數企業任務而言,微調語言模型只需要 500 到 5,000 個經過精心策展的範例。使用「所有資料」會引入雜訊、矛盾、冗餘和格式不一致,這些都會積極損害模型效能。目標不是最大化資料量——而是將 700GB 的原始文件提煉成能精確教導模型所需學習內容的 2,000 到 3,000 個範例。
本文將帶您了解這個五階段精簡流程,將大量文件檔案轉化為精準訓練資料集。
規模落差
這些數字讓挑戰一目瞭然:
- 700GB PDF ≈ 140,000 份文件,平均每份 5MB
- 140,000 份文件 ≈ 1,400 萬頁,平均每份 100 頁
- 1,400 萬頁 ≈ 70 億 token,每頁 500 token
- Fine-tuning 需要 ≈ 2,000 個範例,平均約 500 token = 100 萬 token
您只需要可用資料的 0.014%。其餘 99.986% 不是冗餘、無關、過時,就是雜訊太多,無法改善訓練效果。
精簡流程必須找到正確的 0.014%——具有代表性、準確、多樣化且格式正確的範例。這不是隨機取樣,而是系統化的策展。
階段一:分類篩選
輸入: 700GB 原始文件 輸出: 約 200GB 可能相關的文件 精簡幅度: 約 70%
分類篩選將文件檔案分為「保留」、「捨棄」和「待審」三類。目標是在任何昂貴的處理開始之前,先排除明顯無關的資料。
自動化分類篩選
去除重複。 企業檔案庫包含大量重複——同一份規範發送給 15 個分包商,同一張圖面以 4 個版本儲存且檔名略有不同。內容雜湊(檔案的 MD5 或 SHA-256)可捕捉完全重複的檔案。對營建公司而言,我們通常在未管理的檔案庫中看到 15-30% 的完全重複。
檔案類型篩選。 並非所有 PDF 都包含有用的訓練內容。篩除:空白頁、僅有標誌的封面頁、目錄頁、佔位文件和無法解析的損壞檔案。自動化檢查:頁數(拒絕 0 頁 PDF)、檔案大小(拒絕小於 10KB 的檔案,可能是空白的)、文字可擷 取性(拒絕無法擷取文字的檔案)。
日期篩選。 超過特定截止日期的文件可能不反映當前的標準、術語或商業慣例。如果您的模型將處理當前文件,使用 15 年前過時標準的規範來訓練可能會引入過時的模式。大多數企業的合理截止時間:保留最近 5-7 年的文件,除非特別需要較舊的文件。
文件類型分類。 使用零樣本分類器或簡單的關鍵字比對,按類型分類文件:規範、圖面、通信、報告、合約、發票。僅保留與訓練任務相關的文件類型。對於文件分類模型,您需要所有文件類型的範例;對於專注於規範的實體擷取模型,您只需要規範文件。
人工分類審查
自動化分類篩選處理了大部分的精簡工作,但 10-15% 的文件會落入「待審」——自動分類不確定的文件。領域專家審查這些文件,每份文件花費 15-30 秒決定「保留」或「捨棄」。
以這個速度,審查 5,000 份不確定的文件大約需要 30 小時。這是整個流程中最具成本效益的領域專家時間——每分鐘都能將多份文件從後續處理中排除。
階段二:擷取
輸入: 約 200GB 相關文件 輸出: 約 5GB 相關內容段落 精簡幅度: 約 97%
擷取從文件中提取包含訓練相關內容的特定段落。不是完整文件——而是特定的段落、表格、條款或頁面。
段落級擷取
大多數企業文件是 80% 的範本文字和 20% 的獨特內容。一份 200 頁的營建規範包含:
- 40 頁標準條款和條件(每個專案都相同)
- 30 頁一般要求(大部分標準化)
- 80 頁技術規範(獨特的,對訓練具有高價值)
- 30 頁附錄(圖面、時程表——可能相關也可能不相關)
- 20 頁封面頁、目錄和空白頁
對訓練而言,80 頁的技術規範是黃金。40 頁的標準條款是雜訊——每個專案都有相同的範本文字,所以包含它只會教模型輸出範本文字。
段落擷取方法:
- 基於標題的擷取: 解析文件結 構並按標題擷取段落。「Section 03300 - Cast-in-Place Concrete」是相關的;「Section 00100 - Instructions to Bidders」則不是。
- 基於關鍵字的擷取: 擷取包含表示相關內容的領域特定關鍵字的頁面。過濾僅有行政或程序性內容的頁面。
- 基於版面的擷取: 使用版面偵測器識別高內容密度(文字 + 表格)與低內容密度(主要是空白、頁眉或圖片)的頁面。
內容品質篩選
段落擷取後,篩選擷取內容的品質:
- 移除可讀文字低於 50% 的段落(可能是需要不同處理的圖片密集頁面)
- 移除與先前擷取段落相同或近似相同的段落(跨文件去重)
- 移除您的模型不會處理的語言段落
- 移除大量塗黑或審查過的段落(學習內容不足)
階段三:轉換
輸入: 約 5GB 相關內容段落 輸出: 約 50MB 候選訓練配對 精簡幅度: 約 99%
這是擷取的內容轉化為訓練資料的階段。每個相關段落被轉換為輸入/輸出配對,匹配模型在生產環境中使用的格式。
用於文件分類
將每份文件的第一頁(或代表性段落)轉換為分類範例:
{
"input": "Classify the following document excerpt:\n\n[first 500 tokens of document]",
"output": "document_type: technical_specification\nconfidence_reason: Contains section headings with CSI format (Section 03300), material specifications, and compliance references to ASTM standards."
}從 140,000 份文件經去重和分類篩選後,您可能有 30,000 個跨 12 種文件類型的唯一首頁。將它們全部轉換為候選分類配對。
用於實體擷取
將相關段落轉換為擷取範例:
{
"input": "Extract project details from the following specification section:\n\n[specification text]",
"output": {
"project_name": "Westfield Commercial Center Phase 2",
"specification_section": "03300 - Cast-in-Place Concrete",
"concrete_grade": "C30/37",
"slump_requirement": "100mm ± 25mm",
"curing_period": "7 days minimum",
"referenced_standards": ["ASTM C150", "ASTM C33", "ACI 318"]
}
}這個轉換需要領域專業知識。ML 工程師可以結構化輸入格式,但營建工程師必須識別和驗證正確的實體值。這是最耗費人力的階段。
建立訓練配對
領域專家在此階段的參與通常遵循以下工作流程:
- ML 工程師擷取候選段落並將其結構化為輸入
- ML 工程師使用 LLM 生成輸出草稿(實體擷取建議)
- 領域專家審查每個草稿,修正錯誤並填補缺漏
- ML 工程師根據輸出 schema 驗證最終配對
時間估算:審查和修正一個草稿擷取每個範例需要 2-5 分鐘。對於 3,000 個候選配對,預算 100-250 小時的領域專家時間。分配給 3 位專家在 4 週內完成,即每位專家每週 8-20 小時。