# 日本語 GPT を用いたトークナイザの影響の調査

井上 誠一 ${ }^{12}$ Nguyen Tung ${ }^{1}$ 中町礼文 ${ }^{1}$ 李 聖哲 ${ }^{1}$ 佐藤 敏紀 ${ }^{1}$
${ }^{1}$ LINE 株式会社 2 東京都立大学
\{seiichi.inoue, tung.nguyen, akifumi.nakamachi,
shengzhe.li, toshinori.sato\}@linecorp.co.jp

## 概要

本研究では，大規模言語モデルである日本語 GPT を用いて，Byte-level Byte Pair Encoding トークナイザ の構築方法や語彙サイズの違いによる言語モデルの 性能を比較し分析した．具体的には，日本語テキス トを対象としたトークナイザ構築において，トーク ナイザの構築に用いるテキストの事前分割，トーク ナイズ時の分かち書きの有無，語彙サイズという観点で調査を行った.

## 1 はじめに

近年，GPT-3 [1]をはじめとした大規模言語モデ ルが注目を集めており，自然言語処理のさまざまな タスクの性能を向上させている. 言語モデルの構築 において，モデル化するテキストの単位を検討する ことは重要であるが，モデルのアーキテクチャや言語，またタスクによって適切なトークナイザは異 なる [2]. 例えば，Alyafeai ら [3] は，アラビア語に おいて, 複数の異なるトークナイズ手法を用いて 感情分析と文書分類を行っており，ほとんどの夕 スクにおいて，単語レベルのトークナイザを小さ な語彙サイズで学習させたものが最良の結果とな ることを示した. また，Pan ら [4] は，トルコ語と ウルグアイ語の機械翻訳において，形態素解析を 行なった後に Byte Pair Encoding (BPE) [5] の学習を 行うことで，通常の BPE を使用する場合に比べて 性能が向上することを示した。しかし，これらは GRU [6] や Transformer [7] を対象としており, GPT におけるトークナイザの比較，分析は行われてい ない。また，GPTでは，トークナイザに Byte-level Byte Pair Encoding (Byte-level BPE) [8] が用いられる が，現時点では対象の言語が英語や韓国語 $[1,9]$ に 限られており，日本語を中心としたコーパスに対す る Byte-level BPE の分析は行われていない. そこで，本研究では，条件の異なるトークナイザ
を用いて，日本語 GPT の事前学習と含意関係認識 タスクを用いた転移学習を行い1)，トークナイザの 違いが言語モデルの事前学習や下流タスクに与える 影響を示し，分析する。

以下に本研究の貢献を示す:

・Byte-level BPEトークナイザについて，トークナ イザの構築に用いるテキストの事前分割，トー クナイズ時の分かち書きの有無，語彙サイズと いう観点で比較を行い，分析した。

・日本語 GPTを用いた含意関係認識タスクにお けるトークナイザの違いによる影響を比較し，分析した.

## 2 関連研究

## 2.1 Generative Pre-training of a Language Model (GPT)

GPT [1,10,11] は，Transformer decoder をべースと した，大規模なコーパスを用いて教師なしで学習 される自己回帰型言語モデルである．具体的には， コーパス $\mathrm{X}=\left(x_{1}, x_{2}, \ldots, x_{N}\right)$ の可変長のトークン列 を $x_{n}=\left(s_{1}, s_{2}, \ldots, s_{M}\right)$ としたとき，以下の目的関数 を最大化することで学習される:

$
p\left(x_{n}\right)=\prod_{i=1}^{M} P\left(s_{i} \mid s_{i-k}, \ldots, s_{i-1}\right)
$

ただし， $k$ は文脈窓幅であり，条件付き確率 $P$ は ニューラルネットワークを用いてモデル化される.

## 2.2 Byte-level Byte Pair Encoding

GPT では，トークナイザとして，頻度に基づい た単語分割を学習する手法の一つである Byte-level BPE が用いられている．BPEが文字レベルでのトー クンを学習するのに対し, Byte-level BPE は Byte レ ベルでトークンを学習しており，基本的には BPE と

1） GPT の構築には Megatron-LM を用いた: https://github. com/NVIDIA/Megatron-LM.
同じアルゴリズムで構築される。

Kim ら [9] は，韓国語を中心としたコーパスを用 いて GPTを構築した. トークナイズにおいて，韓国語は英語とは異なる言語特性をもつため，生のテ キストを用いてトークナイザの構築を行うのではな く, 形態素解析器を用いてコーパスを事前に形態素 に分割してから Byte-level BPEを学習している. し かし，日本語は単語と単語の間にスペースが含まれ ないなど，韓国語とも言語的な特徵が異なっている ため, 日本語において同様の処理を行うことが適切 であるかは自明でない.

## 2.3 トークナイザ分析

日本語トークナイザ構築における辞書選択菊地ら [12] は, 日本語 BERT を対象として, トーク ナイザの入力時において文章を形態素に分割する 際に用いる辞書の違いによる性能を，分類タスク を用いて比較した. しかし, 菊池らは, 事前学習と ファインチューニングでトークナイザを統一して いないため，トークナイザ選択による影響を正確に 調査できていない。また，これはトークナイザに SentencePiece [13] を用いた BERT に限定された研究 であるため, GPT における Byte-level BPE において 同様の結果となるかは定かではない。

語彙サイズの選択Gowda ら [14]は，機械翻訳に おける適切な語彙サイズに関する分析を行ってお り，BPEにおいて語彙サイズを大きくすることが性能の向上につながることを示した. また, Xuら [15] も，機械翻訳において，語彙サイズを変化させた時 の BLEU [16] のスコアの変化量 (Marginal Utility of Vocabularization: MUV）について最適輸送を用いて 最適化する手法を提案した. しかし，これらは日本語を対象とはしておらず，日本語コーパスにおける トークナイザの語彙サイズについては分析されてい ない.

## 2.4 含意関係認識

含意関係認識とは，以下に示すようなテキストと 仮説を与え，テキストと仮説の間に含意，矛盾，中立のどの関係があるかの判別をシステムで行うタス クである。

テキスト 鉢植えの植物のあるテーブルの前で，笑顔の男性の隣に座っている女性が笑っている。

仮説 女性は笑っている。

推論判定 含意表 1 前処理後の JSNLI データセットの統計量.

## 3 実験

## 3.1 データセット

事前学習GPT の事前学習には, Wikipedia, ニュースサイト，ブログサイト，新聞等の日本語を 中心としたテキストから構築されたコーパスを用い た. 前処理として，重複する文書の削除，ランダム サンプリングを行い，最終的に学習に使用したコー パスのサイズは $10 \mathrm{~GB}$ となった.

評価タスク 本研究では，GPTの性能比較のた めの評価タスクとして日本語 SNLI（JSNLI）デー タセット [17]を用いた. JSNLI は，含意関係認識の データセットである SNLIを日本語に翻訳したもの であり，SNLIに機械翻訳を適用した後，評価デー タにクラウドソーシングによるフィルタリング，学習データに計算機による自動フィルタリングを施 すことで構築されている. 本研究では, 公開されて いるデータセットのうち，フィルタリング後の学習 データを用い，それに対し学習コストの問題から， さらに 1/10 のランダムサンプリングを行い，それ を9:1で学習データと開発データに分割した. 評価 データについては，公開されているものをそのまま 用いた. 表 1 にデータセットの統計量を示す.

## 3.2 事前学習

GPT の事前学習において，モデルの Layer 数を 12, Hidden dimension を 512, Attention Head の数を 8 とした。また，学習率は $1 \mathrm{e}-4$, バッチサイズは $56^{22}$ とし, iteration 数は $1,000,000$ とした。

## 3.3 転移学習

GPT で評価タスクを解く際は，転移学習やファイ ンチューニングによるモデルの調整を行わず，推論時にタスクに関する説明と少量のデモンストレー ションを与える few-shot 設定を用いるのが一般的で ある.しかし, 本研究では, 計算コストの問題から GPT のパラメータ数を小さくしており, few-shot 設

定では十分な性能が出せないと予測できるため, 評価セットを用いた転移学習を行う．含意関係認識夕 スクに向けた転移学習の際は, Zhao ら [18] に従い, テキストと仮説に続く推論判定を文字列で予測させ た. 入力に続く文字列を予測させて評価する際は，予測の先頭のトークンを用いて正誤を判定するのが 一般的である [19]. そのため本研究では, 正誤判定 に用いる予測ラベルを 1 トークンで表現できるよう に，含意 $\rightarrow$ “正”，矛盾 $\rightarrow$ “誤”，中立 $\rightarrow$ “不可” と正解ラベルを設定した．転移学習において，モデルの アーキテクチャは事前学習と同様にし, 学習率を事前学習時より小さい値の $5 \mathrm{e}-5$, バッチサイズを 32 とした. また, iteration 数は 15,000 とし, 以下では 全て最後の iteration におけるモデルのパラメータを 用いて評価を行った。

## 3.4 実験設定

本研究では, GPTのトークナイザとして Byte-level BPE を用いる. トークナイザの比較条件を以下の 3 点とした:

・トークナイザ構築時のテキストの事前分割の有無と辞書選択

・トークナイズ時の分かち書きの有無

・トークナイザ構築時の語彙サイズの選択

そして，次に示すように 2 ステップに分けて実験を 行なう.

辞書選択と事前分割に関する予備実験 まず， トークナイザ構築において，予備実験では語彙サイ ズを $50,257^{\text {3) }}$ で固定とする.また，トークナイザ構築に用いるテキストは, unidic ${ }^{4)} /$ ipadic $^{5)}$ を用いて 事前分割されたものに加えて事前分割を行わないも のの 3 種類とする. これらのトークナイザを用いて GPT の事前学習, 転移学習を行い, スコアを元に比較を行う．ただし，上記のトークナイザのうち，事前分割を行ったテキストを用いて構築されたもの は，トークナイズ時に分かち書きを行う場合と行わ ない場合での比較も行う. 予備実験の詳細を表 2 に 示した.

語彙サイズの実験 語彙サイズの実験では，事前分割の有無と辞書選択, トークナイズ時の分かち書 きの有無を，下流タスクの性能が予備実験において


図 1 辞書選択と事前分割に関する予備実験における各 トークナイザの事前学習における validation loss の推移

最良だったもので固定とする。語彙サイズについて は, 25,257 から 125,257 まで 25,000 ずつ変化させ，予備実験と同様に GPT の事前学習，転移学習を行 い，スコアを元に比較を行う。

## 3.5 予備実験の結果

まず，辞書選択と事前分割に関する予備実験にお ける各トークナイザの統計量を表 2 に示す. 事前分割したテキストを用いて構築されたトークナイザに 対しては，トークナイズ時の分かち書きを行った場合と行わなかった場合のトークン化された文章長を それぞれ別途記載した。トークン長については，事前分割の有無，辞書の違いによって大きな差がない ことがわかる．他と比べて， none のトークン長の標準偏差と比べて大きくなっているが，これは，辞書 を用いて形態素に事前分割されたテキストを用いて トークナイザを構築する場合，形態素を超えてマー ジが行われないが，生のテキストからマージを学習 する none は比較的長いトークンができやすいから であると推測できる. 文章長については，上述の理由から none が一番短くなっている他，トークナイ ズ時の分かち書きを行った方が僅かに文章長が短く なることが確認された。

これらのトークナイザと条件を用いて事前学習を 行った際の loss の推移を図 1 に，転移学習を行なっ た結果を表 2 に示した. 事前学習の結果からは以下 の条件:

・トークナイザ構築に用いるテキストの事前分割 を行う

・事前分割には unidic を用いる

・トークナイズ時の分かち書きは行わない

で性能が高いことがわかる。転移学習では，評価 タスクのスコアは事前学習の結果の傾向と異なり, トークナイズ時の分かち書きを行った方が性能が高
表 2 辞書選択と事前分割に関する予備実験における各トークナイザの統計量と転移学習の結果

表 3 語彙サイズの実験における各トークナイザの統計量 と転移学習の結果

い結果となった.

以上の結果を踏まえて，語彙サイズの実験には下流タスクで最もスコアが高かった unidic w/ seg の条件を用いる。

## 3.6 語彙サイズの実験の結果

語彙サイズの実験における各トークナイザの統計量を表 3 に示す. 語彙サイズが大きくなるに従っ て，トークン長の平均が長くなり，トークン化され た文章長が短くなっていることがわかる. これは マージが増えることでトークン化の際の語彙のマッ チ率が上がるためと推測できる。

事前学習における loss の推移を図 2 に，転移学習 の結果を表 3 に示す. 事前学習においては，語彙サ イズが小さい，つまり文章長が長くなるトークナイ ザを用いた方が性能が高い傾向がみられた。転移学習での結果は，予備実験での結果の際と同じように 事前学習時と異なっており，loss が低くなる小さな 語彙サイズで構築されたトークナイザではなく，語彙サイズが比較的大きめな 100,257 のトークナイザ を用いた際にスコアが最も高くなっている。

## 4 議論

予備実験と語彙サイズの実験を通して，トークナ イザの統計量と性能の関係性を観察すると，事前学習においては「文章長が長い方が性能が高くなる」 という仮説が得られる. これは，文章長が長くなる と，モデルの計算量は増加するため ${ }^{6)}$ ，スケーリン グの法則 [20] に類似した現象である可能性も考えら

6） 特に，attention 部分の計算が 2 乗のオーダーで大きくなる.

図 2 語彙サイズの実験における各トークナイザの事前学習における validation loss の推移

れる。予備実験において，転移学習の結果とは異な り，事前学習においては，分かち書きを行わうと性能が悪くなる傾向がみられた。これは，上述の仮説 に基づくと，分かち書きを行うことにより，入力が トークナイザ構築に用いたテキストと同じになるた め，トークナイズ時の語彙のマッチ率が上がり，平均的に文章長が短くなることで事前学習の性能が悪 くなっていると考えられる。語彙サイズの実験にお いても，同様に結果を解釈することができる。一方 で，予備実験，語彙サイズの実験のどちらにおいて も，転移学習時は必ずしも上述の仮説通りの結果と はなっていない。これは，下流タスクでは，トーク ンの持つ性質として，仮説のような機械学習的にメ リットのある性質よりも，言語学的な性質の方が重要な場合があるからではないかと考える. ${ }^{7)}$

## 5 まとめと今後の展望

本研究では，日本語 GPT におけるトークナイザ の影響を調査し，様々な条件における性能比較と分析を行った. 今後は，4 節での考察を元に，機械学習的な性質と言語学的な性質の関係性を明らかにす るため，他の下流タスクを用いた評価を含めたさら なる調査を行っていきたい.

7） 仮説の極端な例として，「語彙が基本語彙の 256 トークンし かないトークナイザ」を考えると，ほとんどの単語が最小単位で表現され，文章長が長くなるが，事前学習時の性能が仮 に良かったとしても，トークナイズされた文章が言語学的に 意味を持っているとは言い難い.

## 参考文献

[1] Tom B. Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared Kaplan, Prafulla Dhariwal, Arvind Neelakantan, et al. 2020. Language Models Are Few-Shot Learners. Advances in Neural Information Processing Systems, vol. 33, 1877-1901.

[2] Sabrina J. Mielke, Zaid Alyafeai, Elizabeth Salesky, Colin Raffel, Manan Dey, Matthias Gallé, Arun Raja, et al. 2021. Between Words and Characters: A Brief History of Open-Vocabulary Modeling and Tokenization in NLP. arXiv [cs.CL]. arXiv. http://arxiv.org/abs/2112.10508.

[3] Zaid Alyafeai, Maged S. Al-shaibani, Mustafa Ghaleb, and Irfan Ahmad. 2021. Evaluating Various Tokenizers for Arabic Text Classification. arXiv [cs.CL]. arXiv. http://arxiv.org/abs/2106.07540.

[4] Yirong Pan, Xiao Li, Yating Yang, and Rui Dong. 2020. Morphological Word Segmentation on Agglutinative Languages for Neural Machine Translation. arXiv [cs.CL]. arXiv. http://arxiv.org/abs/2001.01589.

[5] Rico Sennrich, Barry Haddow, and Alexandra Birch. 2016. Neural Machine Translation of Rare Words with Subword Units. In Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics, vol. 1, 1715-25.

[6] Junyoung Chung, Caglar Gulcehre, Kyunghyun Cho, and Yoshua Bengio. 2014. Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling. Presented in NIPS 2014 Deep Learning and Representation Learning Workshop.

[7] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Ł. Ukasz Kaiser, and Illia Polosukhin. 2017. Attention Is All You Need. In Advances in Neural Information Processing Systems, vol. 30, 5998-6008.

[8] Changhan Wang, Kyunghyun Cho, and Jiatao Gu. 2020. Neural Machine Translation with Byte-Level Subwords. In Proceedings of the AAAI Conference on Artificial Intelligence, vol. 34, 9154-9160.

[9] Boseop Kim, Hyoungseok Kim, Sang-Woo Lee, Gichang Lee, Donghyun Kwak, Dong Hyeon Jeon, Sunghyun Park, et al. 2021. What Changes Can Large-Scale Language Models Bring? Intensive Study on HyperCLOVA: Billions-Scale Korean Generative Pretrained Transformers. arXiv [cs.CL]. arXiv. http://arxiv.org/abs/2109.04650.

[10] Alec Radford, Karthik Narasimhan, Tim Salimans, and Ilya Sutskever. 2018. Improving Language Understanding by Generative Pre-Training.

[11] Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, Ilya Sutskever, and Others. 2019. Language Models Are Unsupervised Multitask Learners. OpenAI Blog 1 (8): 9.

[12] 築地 俊平, 新納 浩幸. Tokenizer の違いによる日本語 BERT モデルの性能評価. 2021. 言語処理学会 第 27 回年次大会.

[13] Taku Kudo, and John Richardson. 2018. SentencePiece: A Simple and Language Independent Subword Tokenizer and Detokenizer for Neural Text Processing. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing: System Demonstrations, 66-71.

[14] Thamme Gowda, and Jonathan May. 2020. Finding the Optimal Vocabulary Size for Neural Machine Translation. In Findings of the Association for Computational Linguistics: EMNLP 2020, 3955-64.

[15] Jingjing Xu, Hao Zhou, Chun Gan, Zaixiang Zheng, and Lei Li. 2021. Vocabulary Learning via Optimal Transport for Neural Machine Translation. In Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing, vol. 1, 7361-73.

[16] Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu. 2002. Bleu: A Method for Automatic Evaluation of Machine Translation. In Proceedings of the 40th Annual Meeting of the Association for Computational Linguistics, 311-18.

[17]吉越 卓見, 河原 大輔, 黒橋禎夫. 2020. 機械翻訳を用 いた自然言語推論データセットの多言語化. 第 244 回自然言語処理研究会.

[18] Tony Z. Zhao, Eric Wallace, Shi Feng, Dan Klein, and Sameer Singh. 2021. Calibrate before Use: Improving Few-Shot Performance of Language Models. arXiv [cs.CL]. arXiv. http://arxiv.org/abs/2102.09690.

[19] Neel Alex, Eli Lifland, Lewis Tunstall, Abhishek Thakur, Pegah Maham, C. Jess Riedel, Emmie Hine, et al. 2021. RAFT: A Real-World Few-Shot Text Classification Benchmark. arXiv [cs.CL]. arXiv. http://arxiv.org/abs/2109.14076.

[20] Jared Kaplan, Sam McCandlish, Tom Henighan, Tom B. Brown, Benjamin Chess, Rewon Child, Scott Gray, Alec Radford, Jeffrey Wu, and Dario Amodei. 2020. Scaling Laws for Neural Language Models. arXiv [cs.LG]. arXiv. http://arxiv.org/abs/2001.08361.
 井上 誠一 ${ }^{12}$ Nguyen Tung ${ }^{1}$ 中町礼文 ${ }^{1}$ 李 聖哲 ${ }^{1}$ 佐藤 敏紀 ${ }^{1}$ ${ }^{1}$ LINE 株式会社 2 東京都立大学 \{seiichi.inoue, tung.nguyen, akifumi.nakamachi, shengzhe.li, toshinori.sato\}@linecorp.co.jp  