核心概念
Photoroom 在 Hugging Face 部落格發表的 PRX 系列第四篇,詳述他們訓練自家文字生成圖像模型(PRX)的完整資料策略。這份案例展示了工業級影像 AI 模型如何系統性地建構資料管線,從資料收集、格式設計、AI 重標題、過濾到去重,形成一套可重現的最佳實踐。
核心設計原則
Photoroom 的資料策略建立在幾個關鍵信念上:
多樣性優於完美性:在預訓練階段,資料的廣度比品質的極致更重要。他們混合公開資料集(如 CC3M、LAION 子集)與內部商業影像,讓模型接觸到足夠多樣的視覺場景,再透過後期過濾提升品質。
長而精準的 caption 是最重要的品質槓桿:他們發現,標題的準確性和密度直接決定模型能否正確對齊文字與視覺語義。這也是他們決定全面用 VLM(視覺語言模型)重新標題的根本動機。
格式選擇影響整個工作流:他們採用雙格式並行的架構——Lance 格式用於探索與實驗(支援向量搜尋、全文搜尋),MDS(Mosaic Data Shards)格式用於正式訓練時的串流讀取(避免單機瓶頸)。
資料儲存與 Lance 格式
Lance 是一種列式格式,支援 Ray Data 並行攝入,可對影像嵌入進行向量相似度搜尋,也支援全文搜尋(用於 caption 探索)。
Photoroom 在實作過程中學到一個重要的效能教訓:Lance fragment 若太小(如每個 100k 列),查詢效能會急劇下降。他們後來將每個 fragment 壓縮合併到約 100 萬列,效能才大幅改善。這對任何使用 Lance 的團隊都是重要的操作提示。
VLM 重標題:用 Qwen3-VL 重寫所有影像描述
原始資料集的標題品質參差不齊,Photoroom 決定用 VLM 全面重寫。他們對比了以下模型:
- Qwen2.5-VL-7B:品質優異,速度快
- LLaVA-1.5-LLaMA3-8B:品質明顯較差,Qwen 勝出
最終選用 Qwen3-VL-8B 作為正式 captioner,在品質與速度之間取得最佳平衡。他們為此設計了詳細的系統 prompt,要求模型輸出「稠密、視覺錨定的描述」——即不只說「一個女人站著」,而是描述服裝質地、光線方向、背景細節等所有視覺元素。
整個重標題流程以 Ray Data 串流管線執行,避免將全部影像載入記憶體。
MDS 格式與解析度分桶
訓練用的 MDS 格式有兩大設計重點:
解析度分桶(Resolution Bucketing):將影像依解析度分為 512px、1024px、2048px、4096px 四個層級,每個層級內再根據長寬比分為 13 個 bucket,確保每個 batch 的 patch token 預算一致,避免填充造成的算力浪費。
JPEG 品質設定:他們系統性地測試了不同 JPEG 品質參數,確認 quality=92 的壓縮損失在視覺上無法察覺,並以此標準化所有輸出,減少儲存成本同時保留足夠的影像細節。
關鍵要點
-
不破壞性過濾設計:所有過濾(NSFW、文字影像、低品質)都透過「skip-list」機制實現,不刪除原始資料,而是記錄哪些樣本在此次訓練中跳過。這讓消融實驗(ablation)與合規下架請求(opt-out)都能輕鬆處理,不需重建整個資料集。
-
DCT 感知雜湊去重:使用基於離散餘弦轉換(DCT)的感知雜湊,計算 Hamming 距離來找出近似重複影像(完全相同的圖才 Hamming = 0)。這種方式能區分「同一場景的不同拍攝」與「真正的重複副本」,保留多樣性的同時消除冗餘。保留版本為解析度最高者。
-
Qwen3-8B 作為文字 vs 視覺分類器:他們額外訓練了一個 Qwen3-8B 文字分類器,用於將影像分類為「純視覺」、「含文字」或「NSFW」,作為過濾的第一道關卡,準確率遠高於規則式方法。
-
Lance fragment 大小是關鍵效能參數:太多小 fragment 會讓 Lance 的 I/O 呈指數級惡化;壓縮至百萬列級 fragment 才能達到生產級查詢效能。
-
全流程以 Ray Data 實現:從 Lance 攝入、VLM 重標題到 MDS 輸出,整條管線都以 Ray Data 的分散式串流執行,天生支援水平擴展,不受單節點記憶體限制。
實務應用
對自建圖像 AI 訓練團隊的啟示:
這份案例最有價值的地方是它展示了「工業界實際踩過的坑」,而非理論框架。幾個直接可用的實踐:
-
重標題優先於資料清洗:與其花時間篩選高品質的原始標題,不如直接用高品質 VLM 全部重寫,效果更穩定且可控。
-
skip-list 而非刪除:任何破壞性操作(刪除樣本)都會讓未來的消融實驗變得複雜。維護一份 skip-list 讓你可以在任何時候輕鬆修改過濾邏輯並重新訓練。
-
雙格式策略有其道理:探索用 Lance(互動查詢、嵌入搜尋),訓練用 MDS(串流、高吞吐)。兩者職責清晰,不要試圖用單一格式兼顧兩種需求。
-
Qwen3-VL 家族值得優先評估:在 Photoroom 的基準測試中,Qwen2.5-VL 系列明顯優於 LLaVA 等替代品,且 8B 模型即可達到生產品質。
此文作為 PRX 系列的資料篇,與其他部分(模型架構、訓練策略、評估方法)相互補充,為想了解端到端圖像生成模型開發的讀者提供了寶貴的一手實踐紀錄。
相關頁面:Nano Banana 2 Lite 與 Gemini Omni Flash:Google 圖像影片生成雙模型
延伸觀點
對照 arxiv 論文「What If We Recaption Billions of Web Images with LLaMA-3?」(2406.08478)與 Hugging Face 上 MONET 資料集的技術報告,可以歸納出以下跨研究共識:
VLM 重標題是圖像生成研究的決定性轉折點(三篇共同確認):LLaMA-3 重標題論文顯示,平均 caption 長度從 10 個 token 擴展至 49 個,LongCLIP 語義對齊分數提升 9 倍;Photoroom PRX 的 FID 改善也直接呼應這一結論。這已不是「錦上添花」的優化,而是現代圖像生成訓練管線的必要前提。
DCT 感知雜湊有其天花板——SSCD 嵌入是下一步(Article 2 MONET 報告):MONET 在 DCT 雜湊基礎上加入了 SSCD(Specialized Semantic Copy Detection)嵌入,以 cosine 相似度 0.75 為閾值,捕捉 DCT 無法識別的「語義重複」——同一張圖經裁剪、色偏、加浮水印後,DCT 雜湊會認為不同,但 SSCD 能識別為同一來源。Photoroom 的 DCT-only 方案在其資料規模下足夠有效,但更大型的訓練集可能需要雙層去重。
純 AI 重標題(不混原始 caption)的訓練效果最佳(arxiv 論文,值得注意):LLaMA-3 重標題研究發現,在訓練時完全使用重標題(混合比例 p=0.0)在 FID 和 CLIP 分數上優於任何原始/AI 混合比例。這與直覺相反——一般認為保留部分原始 caption 能增加多樣性——但實驗數據指向相反結論。Photoroom 的作法與此一致。
合成資料比例有臨界點(MONET,值得觀察):MONET 實驗發現,訓練資料中合成圖像的最佳比例約為 13%;若過度提升(100% 合成),FID 反而劣化至 15.0。PRX 篇章未提及合成資料混入策略,這是未來可深入探索的方向。
反向連結
以下頁面引用了本頁: