見出し画像

Stable DiffusionのデータセットLAIONとは何か?

Stable Diffusionの画像生成モデルの訓練には、画像とその内容に関連したテキストのペアを大量に集めた訓練データが使われています。この訓練データは、LAIONwikipedia)という非営利団体が作ったLAION-5Bというデータセットが使われています。

この記事では、このLAION-5Bというデータセットについて、要点だけをかいつまんで説明してみたいと思います。

その他のStable Diffusion関連記事はこちら

LAION-5Bには何が含まれているのか?

データの形式

リリースの発表記事FAQによれば、データセットには次のものが含まれています。

  • インターネット上の画像へのURL

  • その画像にリンクしている<img>タグのalt文字列

  • その他のアノテーション

このようにデータセット自体には画像は含まれてはいないようで、データセットを使う場合は、自分で画像ファイルをインターネットからダウンロードしなければならないそうです。

データセット生成時には、その時点でのrobots.txtの指示に従っているそうです。データセットの使用時に画像ファイルをダウンロードする場合は、データセットの使用者がチェックする必要があります。

データセットの種類

リリースの発表記事には、Laion-5Bには3種類のパッケージが含まれると書かれています。

  • laion2B-en

    • 2.32B(23.2億)個の英語の文字列を持つデータセット

  • laion2B-multi

    • 2.26B(22.6億)個の英語以外の100以上の言語の文字列を持つデータセット

  • laion1B-nolang

    • 1.27B(12.7億)個の言語の判別ができなかった文字列を持つデータセット

Stable Diffusionでは何がどのように使われたのか

Stable Diffusion v2では、主に次の2つの部分でLaion-5Bデータセットが使われています。

  • テキストエンコーダー「OpenCLIP-ViT/H」(プロンプトの解釈部分)

    • laion2B-en

  • 画像生成拡散モデル(画像生成の本体部分)

    • Laion-5BからNSFW(not-safe-for-work)フィルタとaestheticスコアフィルタで低品質な画像を除いたデータセット

LAION-5Bのデータセット生成の手順

リリースの発表記事を元に、データセット生成手順を要約します。

Common Crawl

LAIONとは別団体のCommon Crawlwikipedia)という非営利団体が、インターネットを巡回してアーカイブを作成し、一般公開しています。

このインターネットのアーカイブデータの中から、alt文字列を持つ<img>タグを全て抜き出し、alt文字列の言語を判定し、英語、その他、判別不能の3種類に分類します。

画像をダウンロード

最終データセットには画像データは含まれませんが、生成中の処理のために画像データをダウンロードします。データセット生成が終了すると、画像データは破棄されます。

フィルタリング

データの品質を維持するために、次のフィルターで低品質データを除去します。

  • 5文字より少ないalt文字列

  • 5KBより小さい画像

  • 解像度の高すぎる画像(DOS攻撃の可能性)

  • 同じURLを指す<img>タグ

  • CLIPを用いたフィルタリング(後述)

CLIPを用いたフィルタリング

CLIPとは、ChatGPTなどで有名なOpenAIwikipedia)が作成した文字列と画像の関連付けを学習したAIモデルです。LAIONと同じようなインターネットから収集した文字列と画像のデータセットを使って学習しています。

CLIPにはいくつかのバージョンがありますが、LAION-5Bではデータセット生成当時利用可能だった「CLIP ViT B/32」というバージョンが使われています。また、これは英語のみのモデルであるため、英語以外のデータセットにはmCLIP(おそらくMultilingual CLIPのこと?)が代わりに使われています。

LAION-5Bのデータセットのフィルタリングで、CLIPは次の2種類のデータを除外するために使われています。

  • alt文字列と画像の類似度が低いもの

  • 違法の可能性のあるもの

アノテーションの追加

このようにして集められたデータは、フィルタリングによって5.85B(58.5億)個にまで減らされた後、アノテーションが付加されます。付加されるアノテーションは次の通りです。

  • 画像の高さと幅

  • 判定された言語(laion2B-multiのみ)

  • CLIPモデルで計算された文字列と画像の類似度

  • ウォーターマーク確率スコア

  • NSFW(not-safe-for-work)確率スコア

まとめ

LAION-5Bは、一般的な検索エンジンやGPT-3やT5などの大規模言語モデルで使われているデータセットと同様に、インターネット上で利用可能な情報を、巡回ロボットを利用して収集して生成された大規模データセットです。

データセットには、画像のURLとalt文字列を含み、画像データは含みません。

データセットは、画像とalt文字列に全く関連性のないデータや違法なデータは可能な範囲で除去されています。

いいなと思ったら応援しよう!