Skip to main content

はじめに

LAION 5Bデータセット には、58.5億件の画像・テキスト埋め込みと、 関連する画像メタデータが含まれています。これらの埋め込みは、Open AI CLIP モデル ViT-L/14 を使用して生成されました。各 埋め込みベクトルの次元は 768 です。 このデータセットは、大規模な 実運用のベクトル検索アプリケーションにおける設計、サイジング、性能面の検討に利用できます。また、テキストから画像への検索と 画像から画像への検索の両方に使用できます。

データセットの詳細

完全なデータセットは、opendatalab/laion5b-downloader を使用してダウンロードできます。 ClickHouse は、1,000 万件のベクトルのサブセットをパブリック S3 バケットで公開しています。 このサブセットは 1 つの Parquet ファイルに保存されています。 このデータセットに必要なストレージ容量とメモリ要件を見積もるため、まず ドキュメント を参照してサイジングを行うことを推奨します。

手順

1

テーブルを作成する

埋め込みとそれに関連する属性を格納するlaion_5b_10mテーブルを作成します。
id は単純な連番の整数です。追加の属性は述語で使用でき、ドキュメントで説明されている、後段フィルタリング/事前フィルタリングを組み合わせたベクトル類似度検索を理解するのに役立ちます。
2

データを読み込む

データセットを読み込むには、次の SQL ステートメントを実行します。
1,000 万行をテーブルに読み込むには、数分かかります。
4

ベクトル類似度索引を構築する

以下の SQL を実行して、laion_5b_10m テーブルの vector カラムにベクトル類似度索引を定義し、構築します。
索引の作成と検索に関するパラメータおよびパフォーマンス上の考慮事項については、ドキュメントを参照してください。 上記のステートメントでは、HNSW ハイパーパラメータ Mef_construction にそれぞれ 64 と 512 を使用しています。 索引のビルド時間と検索結果の品質を評価し、これらのパラメータに最適な値を慎重に選択する必要があります。1,000 万行のサブセットでは、利用可能な CPU コア数とストレージ帯域幅によっては、索引のビルドと保存にかなりの時間がかかる場合があります。
6

検索クエリの埋め込みを生成する

LAION 5b データセットの埋め込みベクトルは、OpenAI CLIP モデル ViT-L/14 を使用して生成されています。以下の Python スクリプトの例では、CLIP API を使用してプログラムから埋め込みベクトルを生成する方法を示します。生成した検索用埋め込みベクトルは、SELECT クエリ内の cosineDistance() 関数に引数として渡します。clip パッケージのインストール方法については、OpenAI の GitHub リポジトリを参照してください。
上記の検索結果は以下のとおりです。
最終更新日 2026年8月26日