言語処理学会 第30回年次大会 発表論文集（2024年3月）

Swallow コーパス: 日本語大規模ウェブコーパス
岡崎 直観 1 服部 翔 1 平井 翔太 1 飯田 大貴 1,2 大井 聖也 1
藤井 一喜 1 中村 泰士 1 Mengsay Loem 1 横田 理央 1 水木 栄 1,31 東京工業大学情報理工学院 2 株式会社レトリバ 3 株式会社ホットリンク{okazaki@c, kakeru.hattori@nlp.c, shota.hirai@nlp.c, taiki.iida@nlp.c,
masanari.ohi@nlp.c, kazuki.fujii@rio.gsic, taishi.nakamura@rio.gsic,
mengsay.loem@nlp.c, rioyokota@gsic, sakae.mizuki@nlp.c} .titech.ac.jp

概要
これまで、オープンな日本語大規模言語モデルの学習には CC-100、mC4、OSCAR などのコーパスの日本語部分が用いられてきた。ところが、これらのコーパスは日本語テキストの品質を重視して作られた訳ではない。本研究では Common Crawl のアー
カイブ（2020 年から 2023 年にかけて収集された 21
スナップショット分、約 634 億ページ）から日本語のテキストを独自に抽出・精錬し、約 3,121 億文字（約 1.73 億ページ）からなる日本語ウェブコーパスを構築した。この規模は、CC-100 (約 258 億文字）、
mC4（約 2,397 億文字）、OSCAR 23.10（約 740 億文字）を抜き、日本語の言語モデルの学習コーパスの中で、商用利用が可能なものとしては最大である。

1

はじめに

2022 年暮れに OpenAI が公開した ChatGPT は、汎用的な人工知能のマイルストーンとして世界に大きな痕跡を残した。自然言語処理や人工知能の研究開発の底上げ、LLM の知能のメカニズムの解明、海外の一握りの企業に依存してしまう安全保障上のリス
ク、信頼できる人工知能の実現など、動機は様々であるが、2023 年は日本語に強い LLM の開発・発表が相次いだ。ところが、日本語の LLM の学習に用いるコーパス（学習データ）は海外で開発されたものを採用する場合が多く、日本語に特化し、透明性の高いコーパスが利用されているとは言い難い。
表 1 に LLM の学習に用いられる代表的なコーパスを挙げた。日本語のテキストを含み、かつ学習後の言語モデルの利用に制限が付かないコーパスは、
CC-100、mC4、OSCAR 23.01 が有力候補となるが、Common Crawl の WET 形式のテキストを処理したものであるため、HTML からテキストへの変換にお1. WARCのダウンロード

2020-40から2023-23（63,352,266,406ページ）

2. 迅速な日本語テキスト判定

処理対象のウェブページを全体の約5%にまで削減

3. テキスト抽出（trafilatura）

精密な日本語テキスト判定よりも約14倍遅い処理

4. 精密な日本語テキスト判定

2,686,080,919ページ（収集したページの4.2%）

5. 文書の品質に基づくフィルタリング

646,238,066ページ（日本語ページの24.1%）

6. 重複文書の除去

185,766,463ページ（日本語のページの6.92%）

7. ホスト名に基づくフィルタリング

173,350,375ページ（日本語のページの6.45%）

8. 句読点の正規化

句点の変更（0.17%）、読点の変更（0.64%）

9. フッターの除去

フッターが除去された文書は全体の7.3%

図1

Swallow コーパスの構築手順

いてノイズが含まれることがある。また、これらは多言語コーパスとして構築されており、日本語は数多くある言語の一つであるため、日本語に特化してテキストの品質を高めるような工夫は取り入れられていない。さらに、日本語の LLM は評価データや評価指標の確立途上にあるため、コーパスの開発も暗中模索の状況にある。そこで、本研究では日本語の LLM の学習に活用されることを念頭に、大規模かつ品質の高い日本語のウェブコーパスを構築することを目指す。本研究で開発された Swallow コー
パスは、Common Crawl の 21 件のスナップショット（CC-MAIN-2020-40 から CC-MAIN-2023-23 まで）から作られており、クリーニング後のコーパスの規模
は 173,350,375 ページ、312,093,428,689 文字である。
本研究で構築されたコーパスで Llama 2 の継続学習を行ったモデルを公開している1）。

手法

2

Swallow コーパスの構築手順を図 1 に示した。構
築手順はおおよそ以下の３段階に分かれている。
1） https://tokyotech-llm.github.io/swallow-llama― 1498 ―This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

コーパス

英語の規模 日本語の規模

CC-100 [1]
C4 [2]

532 BT

ライセンス

26 BL

156 BT

テキスト抽出fastText LID

WET

langdetect

WET

CC

言語判定

— ODC-BY, CC
240 BL
74 BL‌

ODC-BY, CC
CC0‌

mC4 [3]OSCAR 23.01 [4]2,733 BT523 BW

Pile-CC [5]2,312 BL— MIT License

ROOTS [6]484 BB—

fastText LID

ReﬁnedWeb [7]600 BT— ODC-BY, CC

自家製

Dolma [8]2,415 BT— ImpACT license

fastText LID

WET?

ClueWeb22 [9]*16.7 TT

非商用（要契約） BlingFire

商用

RedPajama-Data-v2 [10]20.5 TT3,301 BL

WET
WET

CLD3
fastText LID
‌

‌

CLD2
‌

‌

— ApachejusText
‌

‌

‌

自家製
trafilatura‌‌‌

fastText LID

Swallow（クリーニング前）—

3,684 BL （非公開）

自家製

Swallow（クリーニング後）—

312 BL （検討中）

自家製

WET
trafilatura‌‌

trafilatura‌‌

表 1 大規模言語モデルの事前学習に用いられる代表的なコーパス。BL、BW、BT、TT はそれぞれ、billion letter（10 億文字）、billion word（10 億単語）、billion token（10 億トークン）、trillion token（1 兆トークン）の略である。英語のコーパ
スの規模は論文等での公表値をそのまま採用した。ClueWeb22 の英語の規模は元論文 [9] に基づくが、英語以外の言語の数も混ざっていると想定されるため、実際はこの 40%程度と思われる。日本語のコーパスの規模は、本研究でユニコー
ドの文字数を実測した。テキスト抽出の WET は Common Crawl が配布しているテキスト抽出結果（WET 形式）を表す。

1. Common Crawl の WARC ファイルから日本語テ
キストを抽出する（2.1 節）

そこで、図 1 の「2. 迅速な日本語テキスト判定」
では、テキスト抽出を行わず迅速な方法で日本語で

2. 品質フィルタリングおよび重複除去で日本語テある可能性が高いウェブページを選別する（詳細はキストを厳選する（2.2 節、2.3 節、2.4 節）

付録 A 参照）。この手順で候補として選ばれたウェ

3. テキスト内の正規化を行う（付録 C 節）

ブページに対して、 Trafilatura6）で「3. テキスト‌‌

本構築手順は ReﬁnedWeb [7] を参考に、処理を日本

抽出」を行い、「4. 精密な日本語テキスト判定」で語向けにカスタマイズした。

言語判定を精密に行う（詳細は付録 B 参照）。イン

2.1

テル Xeon Gold 6130 プロセッサ（2.1GHz）の 1 CPUを用いたベンチマーク実験では、迅速な日本語テ

日本語のテキスト抽出

Common Crawl のスナップショットは Amazon S3

キスト判定により、WARC ファイルから日本語テのバケットとして保管されており、S3 もしくはウェ

キストを取り出す処理が約 15 倍高速化された。まブ サ ー バ2）経 由 で ア ク セ ス で き る3）。本 研 究 で はた、whatlang-corpora7）（6,718,883 件）を用いた評WARCIO4）ライブラリを用いて、WARC 形式のデータ

価実験では、精密な日本語テキスト判定の適合率はから HTML コンテンツを抽出した。Common Crawl

0.999、再現率は 0.979、F1 スコアは 0.989 であった。

‌‌

全体の約 5%程度が日本語で書かれたウェブページ

本節で説明した日本語テキストの抽出処理によと見積もられる5）ため、うまく日本語のウェブペー

り、2,686,080,919 ページ、3,684,320,219,695 文字のジだけを選別してコーパス構築処理を実行できれ日本語テキストが得られた。

ば、処理時間を約 95%節約できる。ところが、言語

2.2

判定の精度を高めるためには、HTML のマークアッ

品質フィルタリング

プを取り除いてから言語判定器にかけることが望ま

この処理では、(1) 繰り返しの多いウェブページしく、テキスト抽出を先に適用してから言語判定を行えばよいが、言語判定よりもテキスト抽出の方がの除去、(2) 品質のよい日本語の文章を含むウェブ

処理時間を要するので、この順番でコーパス構築を

ページの選別、(3) 有害な表現を含むと思われるウェブページの除去、を行う。(1) の処理として、本研究行ってしまうと、処理時間を削減できない。

では Rae ら [11] のルールをそのまま採用し、重複した表現が多い文書を削除した8）。

2） https://data.commoncrawl.org/
3） https://commoncrawl.org/get-started4） https://github.com/webrecorder/warcio5） https://commoncrawl.github.io/cc-crawl-statistics/6） https://trafilatura.readthedocs.io/7） https://github.com/whatlang/whatlang-corpora
8） 𝑛-gram は文字単位で取る（形態素解析は行わない）。

― 1499 ―This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

続いて、(2) の日本語としての品質については独あると見なすアルゴリズムを採用することが一般的

自にルールを設計し、次のいずれかを満たす文書はである。本研究では、𝑏 = 𝑟 = 20 とし、𝐾 = 𝑏𝑟 = 400

品質が低いと判断して、削除した（括弧内は条件）。

個のハッシュ値を用いる設定を採用し、ジャッカー• 文字数 (400 文字未満)

ド係数が 0.9 である文書の重複を約 92.5%の確率で• 平仮名の文字の割合 (0.2 未満)検出できるように設定した9）。
本研究では、内容に重複があるウェブサイトの組• カタカナの文字の割合 (0.5 以上)• 日本語の文字 (平仮名、カタカナ、漢字、句読がある場合、クローリングされた日時が新しいもの

点）の割合 (0.5 未満)を残し、古い方を削除した。今回実験に利用したス• 文書中の文の文字数の平均 (20 未満、もしくはナップショットでは、2023 年 3 月から 6 月にかけ

90 よりも多い場合)て収集されたウェブページの残存率（重複除去で• 最も長い文の文字数 (200 文字以上)削除されない割合）は 77.8〜87.9%であるのに対し、• 文末が省略記号で終わる文の割合 (0.2 以上)

2023 年 2 月以前に収集されたウェブページの残存率

なお、これらのルールは削除される／残される文書を目視で確認しながら、著者らが人手で調整した。
(3) の有害な表現を含むと思われるウェブページの除去では、NG 表現を含む割合が文字数単位で 0.05以上になる場合、そのテキストを削除した。

ページの残存率は 20%を下回った。この重複文書の除去処理により、コーパスの量は 185,766,463 ペー
ジ（353,191,872,805 文字）に減少した。

2.4

こ の 品 質 フ ィ ル タ リ ン グ に よ り、コ ー パ ス が646,238,066 ページ（1,202,868,044,631 文字）に絞り込まれた。フィルタリング前後のテキストを目視で比較すると、EC サイトなど、商品名やキーワードが繰り返されているページが削除され、見た目にもテキストの品質が良くなったことを実感できる。

2.3

は 40%未満に低下し、2020 年頃に収集されたウェブ

ホスト名に基づくフィルタリング

2.2 節において、ページ毎に NG 表現を含む割合を測定し、閾値を超えたものを削除していたが、より安全側に倒すためにホスト名の NG リストを作成し、ホスト名による削除を行った。以下の基準を満たすホスト名からなるブロックリストを作成した。
1. UT1 blocklist10）に収録されている

重複除去

2. 出会い系サイトのサービス名を一度でも含む
ページの割合が 0.001 を超える場合

Common Crawl は同一のウェブサイトを異なる時
期に巡回・収集しているため、同一のウェブサイト

3. NG 表 現 を 含 む 割 合（文 字 数 に よ る 割 合）が上で加えられた軽微な修正や、転載などで内容が類似したウェブサイトを含む。現段階では、LLM を

0.005 を超える場合11）。
4. *wikipedia.org

学習するときはコーパスの丸覚えを防ぐため、同じ

5. *.5ch.net

テキストでモデルの学習を繰り返すことは避けるべ

ブロックリストの作成では網羅性を重視し、適合きと言われている。そこで、LLM の事前学習用の率を犠牲にしているため、有害ではないウェブサイ

コーパスでは、重複したテキストを除去する処理、トもブロックリストに登録されることがある12）。しすなわち重複除去（deduplication）が行われる。とたがって、この処理でブロックリストに登録された

ころが、億を超える数の文書の組に対して、ジャッホストが有害であるとは限らない。このフィルタ

カード係数やコサイン係数でテキストの類似度を総リング処理で、コーパスの量は 173,350,375 ページ

当たりで計算し、類似度の高いテキストを除去する（312,674,522,606 文字）となった。

という処理は膨大な時間を要する。
そこで、本研究では Lee らの研究 [12] を参考にして、MinHash [13] による重複除去を行った。MinHash
を重複検出に用いるときは、MinHash 値を 𝑏 個連結したもの（バケットと呼ばれる）を 𝑟 個作成しておき、2 つの文書のバケットの組を 𝑟 回比較し、その中で一組でも完全一致する場合、2 つの文書は重複で9） 本研究では、文字の 5-gram で特徴量を構成した。
10） https://dsi.ut-capitole.fr/blacklists/
11） ただし、文脈によっては有害ではない表現（「児童」など）や、別の単語の一部として使われる文字列（「ピエロ」など）があるため、ホワイトリストの表現の部分文字列は割合の計算から除外した。
12） 例えば、あるホストの特定のディレクトリやユーザのみが有害な表現を使っている場合や、有害ではない文脈で NG表現を使っているテキストを含むホストは、ブロックリストに登録されてしまう恐れがある。

― 1500 ―This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

コーパス

QA
JComQA
ベースモデル
0.6819Swallow（本研究）0.7837ClueWeb22
0.7676
llm-jp-corpus v1.0.1
0.7471QA
JEMHopQA
0.44550.50630.49290.5085

機械読解
JSQuAD
0.85510.90070.89550.9028QA
NIILC
0.41740.64060.56020.6034

自動要約
XL-Sum
0.21330.21680.20150.2191

日英翻訳
WMT20
0.19810.17710.23320.1789

英日翻訳
WMT20
0.2136
0.27370.29080.2589数学
MGSM
0.13200.21600.11600.1800平均
0.3946
0.46440.44470.4498

表 2 各コーパスで継続事前学習を行ったモデルの日本語ベンチマークデータでの評価結果ることにした。lm-evaluation-harness は、Stability AI

実験

3が開発したものの一部を用いた。今回は、自動要本研究で構築した日本語ウェブコーパスを用

約タ ス ク と し て XL-Sum [18]、算 術 推 論 タ ス ク といて、日本語を強化した LLM を構築する実験をして MGSM [19] のそれぞれの日本語サブセットを行った。今回は、Meta 社が公開している Llama 2用いた。さらに、日英・英日機械翻訳として WMT

13B (base) モ デ ル13）に 対 し て、日 本 語 の コ ー パ ス

2020 [20] を用いた。

等 で 継 続 事 前 学 習 を 行 っ た。LLM の 学 習 に は、
Megatron-LM14）を 採 用 し た。日 本 語 の 学 習 コ ー パ

3.2

評価結果

ス の 違 い に よ る LLM の 性 能 の 差 を 検 証 す る た

表 2 に評価結果を載せた。「(ベースモデル)」は継め、ClueWeb22 [9] と llm-jp-corpus v1.0.115）でも継続

続事前学習を行わず、公開されている Llama 2 13B

事前学習を行った。継続学習のコーパスには日本(base) をそのまま評価した時の結果である。いずれ

語 Wikipedia、ReﬁnedWeb、The Pile (arXiv) を混ぜた。

のコーパスを継続事前学習に用いても、全データ

正確には、4,096 トークンの系列長かつ 1,024 のバッ

セット平均で約 0.05〜0.07 ポイントのスコアの上昇

チサイズで 25,000 のステップ数で継続事前学習をすることを想定し、約 104.9 BT の学習データを準備しが見られることから、継続事前学習の効果が確認できた。全データセットのスコアの平均をとると、本た。日本語と英語のトークンの比率を 9:1 とし、学研究のコーパスで継続追加学習を行ったモデルの性

習データの 5%を ReﬁnedWeb の英語テキスト、5%を能が最も高く、llm-jp-corpus v1.0.1 と ClueWeb22 が

The Pile の arXiv 論文テキスト（英語）とし、残りの同程度のスコアで後に続く結果であった。

90%を日本語のテキストとした。その 90%の日本語
テキストの内訳は、日本語 Wikipedia が約 1.6 BT を占め、残りを日本語のウェブコーパスで埋めた。

3.1

おわりに

4

本論文では、Common Crawl から日本語のテキス
トを独自に抽出・精錬し、約 3,121 億文字（約 1.73

評価データセット億ページ）からなる日本語ウェブコーパス Swallow

本 研 究 で は，評 価 ベ ン チ マ ー ク と し て llm-jp-を構築した。構築したコーパスの品質を確認するた

eval [14] と lm-evaluation-harness16）を用いた。llm-jp-

め、Llama 2 13B の継続事前学習を行ったところ、既eval は多値選択式質問応答 (MC: multiple choice)、自存のコーパスを用いた場合と比べて同等かそれを上由記述式質問応答 (QA: queston answering)、機械読

回る性能の LLM を構築できた。

解 (RC: reading complehension)、自然言語推論 (NLI:
natural language inference) のタスクからなるベンチ

今後の課題は、有害表現や差別などの LLM の安全性に関する取り組みが挙げられる。現状では、単マークである。MC は JCommonsenseQA [15]、QA は語リストやホスト名リストによる対応を行ってい

JEMHopQA [16] と NIILC [17]、RC は JSQuAD [15] がるが、より信頼性の高いフィルタリング手法を確立

用いられている。NLI については、言語モデルの推し、有害なテキストを確実に除去しつつ、コーパス

定ラベルが偏る傾向があり、その偏ったラベルが正の規模を大きくしたい。また、本研究では継続事前解ラベルに偶然一致する場合にスコアが高くなる学習を行ったが、今後は日本語の LLM をフルスク傾向が見られたため、今回の実験結果から除外す

ラッチで学習し、コーパスを評価したい。構築した13） https://huggingface.co/meta-llama/Llama-2-13b-hf14） https://github.com/NVIDIA/Megatron-LM15） https://github.com/llm-jp/llm-jp-corpus16） https://github.com/Stability-AI/
lm-evaluation-harness/tree/jp-stable

コーパスで学習したモデルを質問応答や要約などの下流タスクで評価したが、これで LLM の「地頭の良さ」を測定できるのか疑問が残るので、事前学習
コーパス単体での評価方法を検討していきたい。

― 1501 ―This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

謝辞
この成果は、国立研究開発法人新エネルギー・産業
技術総合開発機構（NEDO）の委託業務（JPNP18002）[10]の結果得られたものです。また、LLM の継続事前学
習の実験では、国立研究開発法人産業技術総合研究[11]

所が構築・運用する AI 橋渡しクラウド（ABCI: AI
Bridging Cloud Infrastructure）の「大規模言語モデル
構築支援プログラム」の支援を受けました。学習した LLM の評価実験では、LLM-jp （LLM 勉強会）で[12]開発されているデータや公開されている知見を活用
しました。

参考文献

[13]

[1] Guillaume Wenzek, Marie-Anne Lachaux, Alexis Conneau, Vishrav Chaudhary, Francisco Guzmán, Armand
Joulin, and Edouard Grave. CCNet: Extracting high quality monolingual datasets from web crawl data. In Proc. of
LREC, pp. 4003–4012, 2020.
[2] Colin Raﬀel, Noam Shazeer, Adam Roberts, Katherine
Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li,
and Peter J. Liu. Exploring the limits of transfer learningwith a uniﬁed text-to-text Transformer. Journal of Machine
Learning Research, Vol. 21, No. 140, pp. 1–67, 2020.
[3] Linting Xue, Noah Constant, Adam Roberts, Mihir Kale,
Rami Al-Rfou, Aditya Siddhant, Aditya Barua, and ColinRaﬀel. mT5: A massively multilingual pre-trained text-totext Transformer. In Proc. of NAACL-HLT, pp. 483–498,
2021.
[4] Julien Abadji, Pedro Ortiz Suarez, Laurent Romary, andBenoı̂t Sagot. Towards a cleaner document-oriented multilingual crawled corpus. In Proc. of LREC, pp. 4344–4355,
2022.
[5] Leo Gao, Stella Biderman, Sid Black, Laurence Golding,Travis Hoppe, Charles Foster, Jason Phang, Horace He,
Anish Thite, Noa Nabeshima, Shawn Presser, and Connor
Leahy. The Pile: An 800GB dataset of diverse text for
language modeling. arXiv:2101.00027, 2020.
[6] Hugo Laurençon, Lucile Saulnier, Thomas Wang, Christopher Akiki, Albert Villanova del Moral, Teven Le Scao,et al. The BigScience ROOTS corpus: A 1.6TB composite
multilingual dataset. arXiv:2303.03915, 2023.
[7] Guilherme Penedo, Quentin Malartic, Daniel Hesslow,
Ruxandra Cojocaru, Alessandro Cappelli, Hamza Alobeidli, Baptiste Pannier, Ebtesam Almazrouei, and Julien Launay. The ReﬁnedWeb dataset for Falcon LLM: Outperforming curated corpora with web data, and web data only.
arXiv:2306.01116, 2023.
[8] Luca Soldaini, Rodney Kinney, Akshita Bhagia, Dustin
Schwenk, David Atkinson, Russell Authur, Khyathi
Chandu, Jennifer Dumas, Li Lucy, and Xinxi Lyu et al.
Dolma: An open corpus of 3 trillion tokens for language
model pretraining research. Technical report, Allen Institute for AI, 2023.
[9] Arnold Overwijk, Chenyan Xiong, Xiao Liu, Cameron

[14]

[15]

[16]

[17]

[18]

[19]

[20]

[21]
[22]

― 1502 ―VandenBerg, and Jamie Callan. ClueWeb22: 10 billion web documents with visual and semantic information.
arXiv:2211.15848, 2022.
together.ai. Redpajama-data-v2: An open dataset with 30
trillion tokens for training large language models. https://www.together.ai/blog/redpajama-data-v2, 2023.
Jack W. Rae, Sebastian Borgeaud, Trevor Cai, Katie Millican, Jordan Hoﬀmann, Francis Song, John Aslanides,
Sarah Henderson, Roman Ring, and Susannah Young etal. Scaling language models: Methods, analysis & insights from training Gopher. arXiv:2112.11446, 2021.
Katherine Lee, Daphne Ippolito, Andrew Nystrom,
Chiyuan Zhang, Douglas Eck, Chris Callison-Burch, andNicholas Carlini. Deduplicating training data makes language models better. In Proc. of ACL, pp. 8424–8445,
2022.
Andrei Z Broder. On the resemblance and containmentof documents. In Proceedings of the Compression andComplexity of Sequences 1997, pp. 21–29, 1997.
Namgi Han, 植田暢大, 大嶽匡俊, 勝又智, 鎌田啓輔, 清丸寛一, 児玉貴志, 菅原朔, Bowen Chen, 松田寛, 宮尾祐介, 村脇有吾, 劉弘毅. llm-jp-eval: 日本語大規模言語モデルの自動評価ツール. 言語処理学会第 30 回年次大会 (NLP2024), 2024.
Kentaro Kurihara, Daisuke Kawahara, and Tomohide Shibata. JGLUE: Japanese general language understanding
evaluation. In Proc. of LREC, pp. 2957–2966, 2022.
石井愛, 井之上直也, 関根聡. 根拠を説明可能な質
問応答システムのための日本語マルチホップ QA
データセット構築. 言語処理学会第 29 回年次大会(NLP2023), pp. 2088–2093, 2023.
関根聡. 百科事典を対象とした質問応答システムの開発. 言語処理学会第 9 回年次大会 (NLP2003), pp.
637–640, 2003.
Tahmid Hasan, Abhik Bhattacharjee, Md. Saiful Islam,Kazi Mubasshir, Yuan-Fang Li, Yong-Bin Kang, M. Sohel
Rahman, and Rifat Shahriyar. XL-sum: Large-scale multilingual abstractive summarization for 44 languages. In
Findings of ACL-IJCNLP 2021, pp. 4693–4703, 2021.
Freda Shi, Mirac Suzgun, Markus Freitag, Xuezhi Wang,
Suraj Srivats, Soroush Vosoughi, Hyung Won Chung,Yi Tay, Sebastian Ruder, Denny Zhou, Dipanjan Das, andJason Wei. Language models are multilingual chain-ofthought reasoners. In Proc. of ICLR, 2023.
Loı̈c Barrault, Magdalena Biesialska, Ondřej Bojar,
Marta R. Costa-jussà, Christian Federmann, Yvette Graham, Roman Grundkiewicz, Barry Haddow, Matthias
Huck, and Eric Joanis et al. Findings of the 2020 conference on machine translation (WMT20). In Proceedingsof the Fifth Conference on Machine Translation, pp. 1–55,
Online, 2020. Association for Computational Linguistics.
Diederik P Kingma and Jimmy Ba. Adam: A method forstochastic optimization. arXiv:1412.6980, 2014.
Tri Dao, Dan Fu, Stefano Ermon, Atri Rudra, and Christopher Ré. FlashAttention: Fast and memory-eﬃcient exact
attention with IO-awareness. In Proc. of NeurIPS, Vol. 35,
pp. 16344–16359, 2022.

This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).

迅速な日本語テキスト判定

A

本研究では、以下の二つの条件のいずれかが満たされる場合のみ、テキスト抽出および言語判定を行った。
1. <html lang="ja"> のように、日本語の HTML コンテンツであることが明示されていること
2. <title> タグの中身に対して精密な日本語テキスト判定器（B 節）を適用し、日本語と判定されること
‌

‌

‌

‌

このルールの妥当性を評価するため、後段の精密な日本語
テキスト判定と迅速な日本語テキスト判定の結果を比較した。具 体 的 に は、精 密 な 言 語 判 定 の 結 果 が 正 し い と 仮 定 し、CC-MAIN-2023-23 の 10 個の WARC ファイル17）（全 394,192 ペー
ジ、gzip 圧縮で計 12,052,992,707 バイト）を用い、迅速な言語判定の精度を測定したところ、適合率は 0.888、再現率は 0.967、F1
スコアは 0.926 であった。この結果から、迅速な日本語判定は日本語のウェブサイトの約 3.3%を捨ててしまう可能性があるが、適合率が比較的高いことから日本語以外の言語のウェブページ
のテキスト抽出の処理時間を削減できる。
‌‌

B

精密な日本語テキスト判定

本研究では文字 𝑛-gram を特徴量に用いた線形識別器で言語判定器を構築した。線形識別器の学習データとして、多言語のWikipedia テキストを採用し、学習データから以下の基準のいずれかを満たす文字ユニグラム、バイグラム、トリグラムで特徴空間を構成した。
1. 全言語の学習データで出現頻度が上位 400,000 件以内
2. 日本語の学習データで出現頻度が上位 400,000 件以内
3. 中国語の学習データで出現頻度が上位 100,000 件以内
4. 各言語の学習データで出現頻度が上位 10,000 件以内
基準 (1) だけを用いると、日本語の文字に関する特徴量が十分に得られない可能性があるため、基準 (2) で日本語に特化した特徴
量の獲得を狙った。基準 (3) は日本語と漢字を共有している中国語との区別をつけやすくすることを狙った。基準 (4) は、学習データ量が十分ではない言語のテキストに対する判定結果を安定化させる狙いがあった。特徴量の異なり数は 821,484 である。
言語判定器の学習では、Wikipedia CirrusSearch18）の 2023 年 6 月
12 日版のデータを用いた。言語判定器の学習では、ダウンロー
ドしたデータの 1/20 の量を用い19）、残ったデータから開発デー
タと評価データを 100,000 件ずつサンプリングした。線形識別器の学習には、LIBLINEAR20）2.46 で L2 正則化 L2 損失サポートベク
トルマシンを学習し、開発データ上で言語判定精度が最も高くなる正則化係数を探索し、𝐶 = 10 に設定した。
‌

C‌

テキスト内の正規化構築したコーパスの句読点を「、。
」に統一するため、以下のルールに基づいて句読点の「，．
」を「、。
」に置換した。
1. 記号「、」および「，」の文書内の出現回数を調べ、「，」の方が多く出現する場合は、「，」を「、」に置換する。ただし、直前が英数字である「，」は「、」への置換の対象から外す。
2. 記号「。
」および「．
」の文書内の出現回数を調べ、「．
」の方が多く出現する場合は、「．
」を「。
」に置換する。ただし、直前が英数字である「．
」は「。
」への置換の対象から外す。
「。
」と「．
」
、
「、
」と「，
」のどちらの句読点が使われるかは、文書内で一貫していると仮定し、句読点の置換を行うかどうか判断することで、誤って置換してしまうケースを削減している。また、句点と読点、それぞれ独立に出現回数を比較することで、
「、
．
」や
「，
。
」などの句読点の正規化に対処している。この句読点の正規化処理により、290,318 文書（0.17%）の句点が「．
」から「。
」に、
1,107,319 文書（0.64%）の読点が「，」から「、」に変更された。
17） CC-MAIN-20230527223515-20230528013515-0000?.warc.gzの 0 から 9 までを用いた。
18） https://dumps.wikimedia.org/other/cirrussearch/19） 量が多すぎるため、学習データ量を 1/20 に削減した。
20） https://www.csie.ntu.edu.tw/∼cjlin/liblinear/

なお、テキスト抽出に用いている Trafilatura は、ウェブペー
ジのナビゲーションやフッターのテキストを除去してくれるが、コーパス中で除去しきれなかったフッターテキストを見かけることがある。そこで、テキストの末尾 3 行に対して、「この記事へのトラックバック一覧」や「無断転載を禁ず」「クリック」などの表現を文字単位で 30%以上含む場合は、テキストから削除した。このフッターの除去処理により、12,617,787 文書（7.3%）のテキストの末尾にあるフッターが除去された。

D

継続事前学習の詳細

D.1

学習環境

継続事前学習では、産総研の AI 橋渡しクラウド (ABCI) を利用した。混合精度（bfloat16）を採用し、NVIDIA A100 ノードを複数台使用し、分散並列学習を行った。各ノードは NVIDIA A100
40GB GPU を 8 基を搭載し、ノード間は InﬁniBand HDR にて接続されている。

D.2

分散学習手法

効率的な学習を行うためにデータ並列（data parallelism）、テ
ンソル並列化（tensor parallelism）、パイプライン並列化（pipeline
parallelism）を統合した 3D 並列化（3D parallelism）を採用し、高い計算効率と効率的なメモリ利用を目指した。モデルの学習には、8 ノード（64 GPU）または 16 ノード（128 GPU）を利用した21）。パイプライン並列により、Transformer のブロック（層）単位でパラメータを複数の GPU に分散配置し、さらにテンソル並列化で層内のパラメータを複数の GPU に分散配置することで、13B のモデルの学習を 1 GPU あたり 40GB のメモリに載るようにしながら、分散並列学習を行った。さらに、Megatron-LM の分散最適化（distributed optimizer）を使用することで、パラメータの最適化のために保持すべき情報をデータ並列間で分散して保持し、最適化に必要なメモリ消費量を削減した。8 ノードの実験環境
では、データ並列数を 8 (DP=8)、テンソル並列数を 2 (TP=2)、パ
イプライン並列数を 4 (PP=4) とし、さらに系列並列化（sequenceparallelism）も用いた。16 ノードの実験環境では、8 ノードの実験設定からデータ並列数を 2 倍の 16 (DP=16) に増やした。

D.3

実験設定

今回の実験は Llama 2 13B の継続事前学習であるので、言語モ
デルのアーキテクチャは Llama 2 13B をそのまま採用する。すなわち、埋め込み表現ベクトルの次元数は 5,120、フィードフォ
ワード層の隠れ層の次元数は 13,824、アテンションヘッド数は40、Transformer の層数は 40 である。継続事前学習を行う前に日本語の語彙をトークナイザ―に追加しており、語彙数は Swallowと llm-jp-corpus v1.0.1 で 43,176、ClueWeb22 で 41,720 である22）。
学習のオプティマイザーには、AdamW [21] を採用し、ハイパーパラメータは 𝛽1 = 0.9, 𝛽2 = 0.95, 𝜖 = 1.0 × 10−8 と設定した。学習率のスケジューリングには、コサイン波形による減衰（cosine
learning rate scheduler）を利用し、学習率は 1,000 ウォームアッ
プ・ステップで最大値 1.0 × 10−4 に達し、最終的にはその 1/30に減衰するように設定した。バッチサイズは 1,024 である。重み減衰（weight decay）に 0.1、勾配クリッピング（gradient clipping）に 1.0 を使用した。さらに、計算効率の向上と省メモリ化のため、Flash Attention [22] を採用した。

21） 実験に用いたノード数が揃わなかったのは、本論文で説明する実験以外にも同時に進めた実験があるためで、限られた計算資源・期間で有望そうな設定を優先してモデル構築を進めたからである。
22） Swallow と llm-jp-corpus v1.0.1 を継続事前学習に用いる場
合、トークナイザ―に追加する語彙は Swallow の統計情報を用いた。これに対し、本実験を進めた際の些細な経緯により、ClueWeb22 では ClueWeb22 の統計情報を用いたため語彙数に差が生じてしまっている。

― 1503 ―This work is licensed by the author(s) under CC BY 4.0(https://creativecommons.org/licenses/by/4.0/).