Common Crawl(コモン・クロール)— AIの事前学習を支えるオープン・ウェブアーカイブ
Common Crawl は、公開ウェブのペタバイト規模のスナップショットを毎月更新し無料公開する 501(c)(3)(=米国の非営利公益法人としての税制上の資格)の組織である。GPT-3・Llama・T5など、大半の大規模言語モデル(LLM)にとって主要な事前学習コーパス(=モデルの学習に使う大量のテキストデータ集合)となっている。
何者か
Common Crawl は2007年、Gil Elbaz(ギル・エルバズ)によって創業された。使命は「ウェブ規模のデータを大企業だけが使えるものにしない」ことにある。アーカイブは非圧縮で10PB(ペタバイト)を超え、毎月約30〜50億ページ(圧縮すると約250GB)が追加される。言語学・ウェブ科学・NLP(自然言語処理)・医療疫学など、1万件を超える論文で公式に引用されている。データはすべて無料で、登録も不要である。
3つのデータ形式
Common Crawl は3種類の形式でデータを公開する。WARC(Web ARChive)は生のHTTPレスポンスとHTMLソースコードをそのまま収録した形式で、クローラーが実際に受け取った内容に最も忠実である。WAT(Web ARChive Transformations)はHTTPヘッダー・抽出リンク・レスポンスコードをJSONで記録したメタデータログで、WARCより軽く、リンクグラフ分析に向く。WET(Web ARChive Extracted Text)はHTMLタグを完全に除去した純テキスト形式で、LLMやNLPのパイプラインが直接消費する形式である。
アクセス方法
アーカイブはAWSのオープンデータ支援プログラムを通じてS3(s3://commoncrawl/、リージョンはus-east-1)に格納されており、AWS内からのエグレス(データ転送)費用はゼロである。commoncrawl.org/get-startedから通常のHTTPSでダウンロードすることもできる。Common Crawl Index Server(index.commoncrawl.org)を使えば、フルアーカイブをダウンロードせずに「このURLはどのクロールに含まれているか」を検索できる。AWS Athena(アテナ)はインデックスを分散データベースのテーブルとして登録し、ペタバイト規模のデータに対してもSQLクエリを実行できる。
CCBotとペイウォール問題
CCBotはApache Nutch(オープンソースのクローラーフレームワーク)をベースにしたCommon Crawl独自のクローラーである。PageRankに似たスコアでURLに優先順位をつけ、robots.txt(=ウェブサイトがクロールのルールを宣言する標準ファイル)を公式には尊重している。報告されている問題として、CCBotがペイウォール(有料課金の壁)を突破してしまう点がある。多くのニュースサイトは購読チェックのスクリプトを実行する前に記事の全文を読み込む設計になっており、CCBotは課金壁が発火する前に全文を取得してしまう。オプトアウト(除外申請)の登録制度はあるが、すでにアーカイブされた内容を削除するのは技術的に難しい。WARCファイルは上書きできない不変のファイル形式で広範囲に配布されているため、新たなオプトアウトは今後のクロールを止められても、過去の記録は削除できない。New York Times をはじめとする複数のメディアが、この制約について正式に異議を申し立てている。
Common Crawl は、ごく一部の巨大テック企業にしか手が届かなかったウェブ規模のデータアクセスを民主化した。しかし、それを学習に使う大規模言語モデルが商業規模に達するにつれ、コンテンツの権利者との同意・除外をめぐる緊張は避けられない論点になっている。
出典・参考
- Common Crawl 公式サイト — サイト(公式)
- Common Crawl FAQ — サイト(公式)
- Get Started with Common Crawl — サイト(公式)
- Common Crawl Index Server — サイト(公式)
- Wikipedia: Common Crawl — 百科事典
- Inside Common Crawl — real-world limits (dev.to) — 記事
- Common Crawl の web scraping 問題(Gigazine) — ニュース