今回の論文
今回取り上げるのは、Amro Abbas、Kushal Tirumala、Dániel Simig、Surya Ganguli、Ari S. Morcos による論文「SemDeDup: Data-efficient learning at web-scale through semantic deduplication」です。2023年3月16日に arXiv で公開された論文で、公開元は arXiv、研究分野は学習データ前処理、データ効率化、マルチモーダル学習です。URL は https://doi.org/10.48550/arXiv.2303.09540 です。
この論文を選んだ理由は、モデル側ではなくデータ側を少し賢くするだけで、学習速度と性能の両方に効くからです。大規模モデル開発では、重複データを大量に読ませているだけで GPU 時間を無駄にしていることがあります。SemDeDup は、その無駄を「完全一致の重複」ではなく「意味的にほぼ同じデータ」まで含めて削ろうとする点が実務的です。
どんな技術か
SemDeDup は、学習データの中から「見た目や文字列は少し違うが、情報としてはほぼ同じ」サンプルを見つけて削る技術です。
普通の重複除去は、画像URLが同じ、ピクセルが完全一致、文章の n-gram がほぼ同じ、といった表層的な一致を見ます。ですが実際の web データでは、同じ商品画像のトリミング違い、同じ内容の広告文の言い換え版、同じ写真に異なる余白や色補正が入った版など、完全一致しない重複が大量にあります。これらは exact dedup では取り切れません。
SemDeDup はここで、事前学習済みモデルの埋め込みを使います。画像なら CLIP の画像エンコーダ、テキストなら OPT などで各データをベクトル化し、その埋め込み空間で近すぎるペアを「意味的重複」とみなします。つまり、「同じファイルか」ではなく「モデルから見てほぼ同じ情報か」で重複判定するわけです。
要するに SemDeDup は、学習データを減らす技術というより、「情報量が増えない反復学習を減らす」技術です。モデルアーキテクチャを変えずに、訓練の効率を上げられる点が大きな特徴です。
課題
この技術が解決しようとしているのは、大規模学習データに含まれる意味的な重複が、学習時間と計算資源を無駄にしている問題です。
何が難しいのかというと、web 由来データは巨大で雑多だからです。LAION のような大規模データセットには、同じ被写体の別クロップ、同じ EC 商品画像の別掲載版、テンプレート文の言い換え版などが大量に含まれます。これらは人間には似て見えても、ファイルレベルやトークン列レベルでは別物なので、単純な重複除去では落ちません。
既存の方法では、画像の完全一致、URL一致、近似 n-gram、MinHash などがよく使われます。これらは計算しやすい反面、表現が少し変わっただけの重複には弱いです。逆に、全件どうしを埋め込みで比較すれば意味的重複は見つけやすくなりますが、数億件から数十億件の全組み合わせ比較は現実的ではありません。
なぜこの課題を解く必要があるのかというと、重複データはモデルに新しい情報をほとんど与えないのに、計算コストだけはしっかり消費するからです。論文でも、巨大モデルは大規模データを何周してもなお性能が伸び続ける一方で、冗長なデータを何度も見ているせいで学習が遅くなっている可能性が指摘されています。
実際の AI システムでも、この問題は研究用途に限りません。社内文書を学習・埋め込み化するパイプライン、RAG 用コーパス整備、音声書き起こしデータの整理、EC 商品データの統合、画像生成モデルの再学習などでも、似た情報を大量に抱えるとコストだけが増えます。SemDeDup の考え方は、そうした前処理全般に応用できます。
用語解説
- 意味的重複
- 見た目や文字列は一致しなくても、含んでいる情報がほぼ同じデータ同士のことです。SemDeDup は完全一致ではなく、この意味的重複を削ることで学習の無駄を減らします。
- 埋め込み
- 画像や文章をベクトルに変換した表現です。近いベクトルほど意味的に似ていると解釈しやすく、SemDeDup ではこの埋め込み空間で近すぎるサンプルを探します。
- CLIP
- 画像とテキストを同じ意味空間に写す事前学習モデルです。この論文では画像側の埋め込み抽出に使われ、視覚的な違いではなく意味的な近さを測る基盤になっています。
- k-means クラスタリング
- 似た埋め込みをグループ分けする代表的な手法です。SemDeDup では全件総当たり比較を避けるためにまずクラスタへ分け、クラスタ内だけで重複探索します。
- コサイン類似度
- 2つのベクトルの向きの近さを見る指標です。SemDeDup では、この値が高いペアを意味的に近い候補とみなし、閾値を超えたものを重複候補として扱います。
技術の仕組み
SemDeDup の本質は、埋め込み空間での近傍探索を、web スケールでも回る形に落としていることです。単に「似たものを消す」ではなく、計算量を抑えながら大量データに適用できるよう設計されています。
基本アイデア
基本アイデアは、事前学習済みモデルの埋め込みを使って、意味的に近いサンプル群を見つけ、その中から代表だけ残すことです。
論文では、画像には CLIP、テキストには OPT の埋め込みを使っています。各サンプルをこの埋め込み空間に置くと、同じ商品画像の別トリミングや、テンプレ化された文書の言い換え版などが近く集まりやすくなります。そこで、近すぎるものを重複候補としてまとめ、代表点だけを残します。
モデルを使うのは学習対象ではなく重複検出
ここで重要なのは、SemDeDup 自体が新しい生成モデルや分類モデルではないことです。使うのは既存の foundation model の埋め込みだけです。
つまり、CLIP や OPT を「そのまま使って何かを予測する」のではなく、「このデータ同士は意味的に近いか」を測るセンサーとして使っています。既存の強い事前学習モデルをデータ整備に転用している点が、この論文の実務的な価値です。
処理の流れ
SemDeDup の流れは比較的シンプルです。
1. 各データを埋め込みへ変換する
画像なら CLIP 画像エンコーダ、文章なら OPT などで、各サンプルをベクトル化します。ここで得た埋め込みが、後続の類似度計算の土台になります。
2. k-means でクラスタ分割する
全件どうしの比較は計算量が大きすぎるため、まず埋め込みをクラスタへ分けます。論文では LAION で 50,000 クラスタ、C4 で 11,000 クラスタを使っています。
この分割の目的は、似たデータは同じクラスタに入りやすいという性質を使い、比較対象を大幅に絞ることです。素朴な全探索は O(n^2) ですが、クラスタ内だけを見ることで、おおむね O(n^2 / k) まで削減できます。論文では LAION-440M の場合、必要な比較回数を約 1.9×10^17 から約 4.6×10^12 へ、5桁以上減らせると説明しています。
3. クラスタ内でコサイン類似度を計算する
各クラスタ内で、サンプルどうしのコサイン類似度を計算します。そして、コサイン類似度が 1 - ε 以上のペアを重複候補とみなします。ここで ε はどこまでを「ほぼ同じ」とみなすかを決める閾値です。
ε が小さいほど、本当にほぼ同一なデータだけが落ちます。ε を大きくすると、元画像は違っても内容がかなり似ているデータまで削れるようになります。実務では、この閾値が「単なる near-duplicate 除去」か「冗長データ圧縮」かを決める重要なノブになります。
4. 重複グループから代表を1件残す
重複候補が見つかったら、そのグループの中から1件だけ残して残りを除去します。論文では、クラスタ中心とのコサイン類似度が最も低い、つまりやや周辺にあるサンプルを残す戦略を取っています。
これは単純に最も中心的なものを残すより、クラスタ内の多様性を少し残しやすいからです。似すぎたものを削りつつ、情報の偏りを減らす意図があります。
重要な工夫
この論文の重要な工夫は 3 つあります。
埋め込み空間で重複を見る
ピクセルやトークンではなく、意味空間で近さを測ることで、exact dedup では見逃す重複を拾えます。これはマルチモーダルでもテキストでも効く考え方です。
クラスタ内探索で計算可能にする
埋め込み dedup が有効でも、全件比較できなければ現場では使えません。SemDeDup はまずクラスタリングしてから比較することで、web スケールでも現実的な計算量にしています。
閾値で冗長性の粗さを調整できる
完全一致除去か、意味的重複除去か、さらに類似概念レベルの冗長性まで削るかを ε で調整できます。用途に応じて攻めた pruning と安全な pruning を切り替えやすい設計です。
実験と結果
論文では、SemDeDup が本当に意味的重複を見つけられるか、そして削った結果として性能を保ったまま学習を速くできるかを、画像とテキストの両方で検証しています。
何を検証したのか
画像側では、LAION-440M から意味的重複を除いたデータで CLIP を学習し、ゼロショット性能と OOD 性能がどれだけ変わるかを見ています。テキスト側では、C4 を SemDeDup で pruning して OPT 系言語モデルを学習し、perplexity と計算効率を比較しています。
つまり検証したいのは、単にデータを減らせるかではありません。減らしたあとに、1. 性能は落ちるのか、2. 学習は速くなるのか、3. OOD ではむしろ強くなるのか、の3点です。
LAION にはどれだけ重複があったのか
LAION-440M を調べると、かなり強い意味的重複が含まれていました。論文では、かなり厳しい閾値でも 30% の画像が少なくとも1つの重複相手を持ち、ε = 0.03 では約 50% の画像に重複があると報告しています。
つまり、単に exact duplicate が少し混ざっている程度ではなく、「学習対象としてはかなり似たもの」が大量にあるということです。EC 商品画像やロゴ、テンプレ化画像が多い web データらしい結果です。
画像学習での結果
CLIP-ViT-B/16 を LAION-440M で学習した評価では、SemDeDup はかなり強い結果を出しています。
まず ImageNet-1K のゼロショット精度では、LAION-440M の 37% を削っても性能低下なし、50% を削っても低下は 0.5% 未満でした。論文中では、50% のデータ削減時でもベースラインとの差は 0.47% にとどまったと報告されています。
さらに 24 個のゼロショット評価タスクの平均では、元データの 63% だけを使った学習のほうが平均性能が改善しました。これは「量を減らしたのに、平均ではむしろ良くなる」ケースがあることを示しています。
OOD 評価でも傾向は似ています。ImageNet-A、ImageNet-R、ImageNet-Sketch、ObjectNet など 6 つの OOD データセット平均では、63% のデータでベースラインを上回り、50% まで削ってもほぼ同等の性能でした。重複を減らすことで、訓練中の記憶寄りな学習を抑え、汎化が良くなる可能性が示唆されています。
学習速度への効果
SemDeDup の価値は性能維持だけではありません。論文の中心的な主張は、学習が明確に速くなることです。
LAION 実験では、50% のデータ削減によって、ほぼ同じ性能に半分の訓練時間で到達できると示されました。図では、deduplicated データで学習したモデルのほうが少ない反復回数で収束に近づいています。重複データを何度も読む無駄が減るためです。
63% のデータで平均性能が改善したケースでは、事前学習を約 1.6 倍速く進められると論文は説明しています。大規模学習では、この差はそのまま GPU コスト差になります。
テキスト側の結果
テキストでも SemDeDup は有効でした。C4 に対して OPT 埋め込みで SemDeDup をかけ、125M と 1.3B の言語モデルを学習したところ、random pruning より一貫して低い perplexity を示しました。
さらに、データを削ったぶんだけ複数エポック回す設定では、フルデータ1エポックのベースライン性能に対して、10〜15% の FLOPs 削減で到達できると報告されています。論文では NearDup という既存手法とも比較しており、96.1% を残す NearDup と同等の性能を、SemDeDup は 80% のデータ保持でも達成できたとしています。
結果から何が言えるのか
この結果から言えるのは、学習データの量そのものより「新しい情報量」のほうが重要だということです。大量データがあっても、意味的に似すぎたサンプルが多ければ、モデルは同じような信号を何度も見るだけになります。
SemDeDup はそこを、モデル側ではなくデータ側で解消します。とくに、同じカテゴリの商品画像、テンプレ化された文書、似た説明文が多いデータでは効果が出やすいと考えられます。
何に使える?
SemDeDup の考え方は、超大規模基盤モデルの事前学習だけに限りません。意味的に似たデータが増えやすい現場なら、かなり広く応用できます。
事前学習データセットの軽量化
もっとも直接的なのは、画像・テキスト・マルチモーダルの事前学習コーパス整理です。LAION 的な web スクレイプデータや、独自収集した画像テキスト対には類似サンプルが大量に混ざります。SemDeDup を先にかけることで、同じ GPU 予算でもより情報密度の高い学習ができます。
RAG のインデックス前処理
RAG でも、ほぼ同じ社内文書、版違いのマニュアル、テンプレ回答、FAQ の言い換えが大量に入ると、検索品質より先にインデックスの冗長性が問題になります。埋め込み空間で重複に近い文書を間引けば、検索対象を減らしつつ多様性を保ちやすくなります。
商品カタログや広告データの整理
EC や広告データは、この論文と特に相性がよいです。同一商品の掲載違い、背景違い、トリミング違い、タイトル言い換え違いが多いからです。重複を削ることで、分類・推薦・検索用モデルの学習効率が上がりやすくなります。
音声・テキストログのクレンジング
問い合わせログ、議事録、字幕、チャット履歴でも、テンプレ化された文やほぼ同じ対話が大量に出ます。完全一致ではなく意味類似でまとめると、教師データや評価データの密度を上げやすくなります。
合成データ運用の整理
LLM で大量の合成データを作ると、表面の表現だけ違う似たサンプルが増えがちです。SemDeDup 的なフィルタを後段に置くと、多様性の低い合成データを間引く設計ができます。
開発や事業へのヒント
この論文から得られるヒントは、AI 開発の差分がモデル選定だけでなく、データ密度の設計にもあるということです。
まずデータ量ではなく情報量を見る
AI アプリを作るとき、学習データやナレッジベースは「多いほどよい」と考えがちです。ただ、似たデータが増えるだけならコストだけが上がります。SemDeDup の発想は、件数より情報量を見ようというものです。これは少人数チームでもすぐ取り入れられる視点です。
埋め込みは検索だけでなくクレンジングにも使える
多くのチームは埋め込みを検索やクラスタリングには使っていても、学習データ整理にはあまり使っていません。SemDeDup は、埋め込みを「何を残すか」の意思決定にも使えることを示しています。RAG 前処理、教師データ整備、FAQ 統合、サポートログ整理などに横展開しやすいです。
小規模プロダクトでも費用対効果が高い
基盤モデルを一から学習しなくても、重複除去の恩恵はあります。たとえば分類器や reranker の再学習、LoRA 用データ整理、社内文書インデックスの絞り込み、評価データセットのノイズ削減などです。モデル改善より先にデータ重複を減らしたほうが安く効く場面は多いです。
今後注目すべき方向性
今後は、重複除去が exact dedup から semantic dedup へ移る流れが強まるはずです。さらにその先には、単なる重複除去ではなく、「どのデータが新情報を持つか」を推定して残すデータ選別があります。SemDeDup はその入り口として理解しておく価値があります。
限界
SemDeDup にも注意点はあります。まず、埋め込みモデルの質に依存します。CLIP や OPT が捉える意味空間が偏っていれば、似ていないものを近いと見たり、逆に重要な差を見落としたりする可能性があります。
次に、閾値 ε の設定が難しいです。厳しすぎると重複が残り、緩すぎると本来残すべき多様なデータまで消してしまいます。論文でも、閾値が上がるほど semantic duplicate だけでなく semantic redundancy まで削る方向になります。
また、クラスタ内探索で大幅に軽くなるとはいえ、埋め込み抽出とクラスタリング自体は安くありません。数億件規模で回すには、前処理の計算資源とバッチ処理基盤が必要です。小規模環境では全件適用より、重要コーパスから段階導入するほうが現実的です。
実運用では、重複除去が公平性やカバレッジに影響する点も見ておくべきです。たとえば少数派表現やニッチドメインのデータが、主流表現と近いとして過剰に削られる可能性があります。この点は論文の主題ではなく、別途検証が必要です。
最後に、この手法は「意味的に似たものを減らす」技術であって、誤ラベルや有害データを直接除去する技術ではありません。データ品質問題全体を一発で解決するわけではない点には注意が必要です。
よくある質問
Q. SemDeDup は普通の重複除去と何が違うのですか?
A. 普通の重複除去は URL 一致や文字列一致など表層的な一致を見ることが多いです。SemDeDup は埋め込み空間で意味的に近いものを探すので、トリミング違い画像や言い換え文のような exact dedup で取りにくい重複も見つけやすいです。
Q. RAG の文書前処理にも使えますか?
A. 使えます。とくに版違いマニュアル、テンプレ FAQ、同じ内容の社内周知文のように、検索対象が冗長になりやすい環境で有効です。ただし、検索で必要な細かな差分まで消さないよう、閾値設計は慎重に行うべきです。
Q. データを半分削っても本当に性能は落ちないのですか?
A. この論文の LAION 実験では、50% 削減でも ImageNet ゼロショット精度の低下は 0.47% 程度にとどまりました。ただし、これは重複が多い web データでの結果です。自社データでも同じとは限らないので、必ず小規模検証を挟むべきです。
Q. 小さなチームでもこの考え方を活かせますか?
A. 活かせます。数億件の事前学習データを扱わなくても、FAQ、問い合わせログ、商品画像、社内文書、合成データなど、似た情報が増えやすい資産は多いからです。まずは埋め込み類似度で上位近傍を見て、重複率を把握するだけでも価値があります。
Q. SemDeDup の本質は何ですか?
A. 本質は、学習効率の問題をモデルではなくデータ密度の問題として捉え直したことです。大量データを増やす前に、すでにあるデータの中にどれだけ新情報があるかを見る発想が重要です。
今日の学び
この論文は、web スケールの学習データに大量に含まれる意味的重複が、学習コストと収束速度を悪化させる課題を扱った研究です。解決策として、事前学習済みモデルの埋め込み、クラスタリング、クラスタ内類似度計算を組み合わせた SemDeDup を提案し、性能をほぼ維持したままデータ量と計算量を削れることを示しました。
ここから得られるヒントは、AI 開発ではモデル改善だけでなく、データの情報密度を上げる設計が大きな差になることです。RAG、評価データ整備、教師データ作成、商品データ整理などでも、「似たものをどこまで残すべきか」を設計できると、より少ないコストで性能を伸ばしやすくなります。