Published on

transformersモデル毎のパラメタ数など

Author
株式会社イエローバックの機械学習エンジニアです

はじめに

前回に引き続き、HuggingFace transformers のネタです。

日本語を扱える多言語モデルのパラメタ数を抽出してみました。

https://huggingface.co/transformers/pretrained_models.html

ここに載っているモデルもありますが、載っていないモデルも含めて日本語を扱えるモデルについて対象としました。

抽出方法

学習可能なパラメタ数は以下の方法で取得可能なようです。

sum(p.numel() for p in model.parameters() if p.requires_grad)

今回はこれを使いました。

対象モデルは

  • 日本語も扱える多言語モデル
  • 日本語特化のモデル

としました。base に加えて large モデル以上も対象としました。

パラメタ数以外は config から抽出しています。

以下、抽出用のコード全体です。

from transformers import AutoModel, AutoConfig
model_name = "xlm-roberta-base"

model = AutoModel.from_pretrained(model_name)
config = AutoConfig.from_pretrained(model_name)

# レイヤ数
print(config.num_hidden_layers)

# 隠れ層の次元
config.hidden_size

# アテンションヘッドの数
config.num_attention_heads

# 語彙数
config.vocab_size

# パラメタ数
params = sum(p.numel() for p in model.parameters() if p.requires_grad)
print(params)

パラメタ数など一覧

以下、結果です。

日本語も扱える多言語モデル

| モデル | layers | hidden_size | attn heads | vocabs | params | | ---------------------------------- | -----: | ----------: | ---------: | -----: | -------: | | xlm-roberta-base | 12 | 768 | 12 | 250 K | 278 M | | xlm-roberta-large | 24 | 1024 | 16 | 250 K | 559 M | | bert-base-multilingual-cased | 12 | 768 | 12 | 119 K | 177 M | | distilbert-base-multilingual-cased | 6 | 768 | 12 | 119 K | 134 M | | facebook/mbart-large-cc25 | 12 | 1024 | 16 | 250 K | 610 M | | google/mt5-base | 12 | 768 | 12 | 250 K | 390 M | | google/mt5-large | 24 | 1024 | 16 | 250 K | 973 M | | google/mt5-xl | 24 | 2048 | 32 | 250 K | 3,230 M | | google/mt5-xxl | 24 | 4096 | 64 | 250 K | 11,896 M |

日本語特化のモデル

| モデル | layers | hidden_size | attn heads | vocabs | params | | ------------------------------------------ | -----: | ----------: | ---------: | -----: | -----: | | cl-tohoku/bert-base-japanese-v2 | 12 | 768 | 12 | 32 K | 111 M | | cl-tohoku/bert-base-japanese-char-v2 | 12 | 768 | 12 | 6 K | 90 M | | cl-tohoku/bert-large-japanese | 24 | 1024 | 16 | 32 K | 337 M | | rinna/japanese-gpt2-medium | 24 | 1024 | 16 | 32 K | 336 M | | sonoisa/t5-base-japanese | 12 | 768 | 12 | 32 K | 222 M | | bandainamco-mirai/distilbert-base-japanese | 6 | 768 | 12 | 32 K | 67 M | | laboro-ai/distilbert-base-japanese | 6 | 768 | 12 | 32 K | 67 M |