PRXシリーズ第4回では、Photoroomチームがデータパイプラインの内部を公開します。このパイプラインはPRXモデルの基盤であり、構築は地味ながら品質を左右する重要な要素です。
チームの基本戦略は、公開データセットと内部データセットを組み合わせ、視覚言語モデル(VLM)で画像にキャプションを再生成し、それをPRXのトレーニング用にストリーム可能なコーパスに変換することです。
基本原則
事前学習の目標は、大規模で多様なデータセットを構築することです。この段階では、モデルは視覚世界の構造(概念、物体、シーン、構図、照明など)を学習しています。したがって、カバレッジと多様性が個々の画像の完璧さよりも重要です。幅広い代表的なコーパスは、小さく美しいものよりもモデルに多くの視覚構造を教えます。美しさのフィルタリングは後段のファインチューニングと選好アラインメントに任せます。
データソースとしては、品質フィルタリング、重複除去、NSFWコンテンツや個人情報の除去が既に行われているデータセットを優先的に活用し、既存の作業を再利用します。スクラッチから構築するのではなく、既存のデータセットと自社ツールを組み合わせて、7Bモデルの事前学習に適したデータセットを迅速に組み立てました。
キャプションの哲学
経験上、事前学習では画像内容を正確に記述した長いキャプションが最も効果的です。第2部で示した通り、短いキャプションから長いキャプションに切り替えることでサンプル品質が大幅に向上しました。キャプションが正確であれば、スクリーンショットや広告、ロゴなどが含まれていても問題になりません。モデルはそれらを条件付きで制御可能な属性として学習するためです。正確なキャプションは「ノイズ」をプロンプトで指定可能な要素に変えます。そのため、フィルタリングは意図的に軽く行い、本当に使えないものだけを除去します。
データ形式
分散トレーニングにはMosaic StreamingとMDS形式を、データセットの構築と探索にはLance形式を使用しています。MDSはストリーミングに適していますが構造が固定されており、Lanceは述語プッシュダウン、スカラーインデックス、ベクトル検索をサポートし、数十億行のデータセットの構築に適しています。この2つの形式を相補的に利用しています。
テキスト潜在変数
以前はT5Gemmaをテキストエンコーダとして使用し、テキスト潜在変数を事前計算してMDSに保存していました。今回はQwen3-VLに切り替え、トレーニング中にテキスト潜在変数をオンザフライで計算することにしました。これによりスループットが約3〜4%低下しますが(30日間のトレーニングで約1日増加)、MDSシャードが小さくなり、SSD共有ファイルシステムに保存できるようになり、将来テキストエンコーダを変更しても保存済みの潜在変数を書き換える必要がなくなります。
画像エンコーディング
すべての画像を品質92のJPEGとして保存し、ロスレスのPNGは使用しませんでした。実験の結果、既にJPEG圧縮された実画像では、品質92での最初の再エンコードは実質的に知覚不可能であり、PNGに比べてファイルサイズが3〜10倍小さくなります。また、JPEGとPNGでトレーニングしたモデルの出力を比較したところ、生成画像の品質に実質的な差は見られませんでした。したがって、高品質JPEGでの保存は大規模テキストから画像へのトレーニングに十分適しています。
データセットの構築
Lanceでデータセットを構築する際、フラグメンテーション(断片化)についての教訓を得ました。Lanceテーブルはフラグメントに分割され、小さなフラグメントが多すぎるとクエリが遅くなります。最初の取り込みではフラグメントあたり10万行に設定したところ、何千もの小さなフラグメントが生成され、クエリ速度が低下しました。フラグメントあたり約100万行に圧縮したところ、クエリは高速になりました。フラグメント数は少なめに設定するのが望ましいです。
キャプションの再生成と探索
一貫性を確保するため、すべての画像に対してVLMでキャプションを再生成しましたが、既存のキャプションやベクトル埋め込みはデータセットの迅速な探索に活用しました。全文検索とベクトル近傍検索により、データの品質やフィルタリングの必要性を評価できます。さらに、解像度分布に基づいてカットオフを設定し、小さなUIを構築してリアルタイム検索や視覚的類似画像のナビゲーションを可能にしました。
PRXのデータ戦略は、多様性、正確なキャプション、実用的な形式選択を重視し、7Bモデルの成功したトレーニングの基盤を築きました。