💭

日本語LLMを動かしてみた(続き)

2023/08/20に公開

前回の記事を公開した直後に新たに日本語に対応したLLMが2つ発表されたので、同様に試してみました
https://zenn.dev/tk1/articles/30f92db431f735

目次

  1. Lineのjapanese-large-lm
  2. 東京大学松尾研究室のWeblab-10B
  3. 性能比較
  4. まとめ

Lineのjapanese-large-lm

https://huggingface.co/line-corporation

Rinnaと同様に以下が必要でした

  • transformersとsentencepieceのインストール
!pip install transformers
!pip install sentencepiece

パラメータ構成はこちら

<bound method Module.parameters of GPTNeoXForCausalLM(
  (gpt_neox): GPTNeoXModel(
    (embed_in): Embedding(51200, 3072)
    (emb_dropout): Dropout(p=0.0, inplace=False)
    (layers): ModuleList(
      (0-29): 30 x GPTNeoXLayer(
        (input_layernorm): LayerNorm((3072,), eps=1e-05, elementwise_affine=True)
        (post_attention_layernorm): LayerNorm((3072,), eps=1e-05, elementwise_affine=True)
        (post_attention_dropout): Dropout(p=0.0, inplace=False)
        (post_mlp_dropout): Dropout(p=0.0, inplace=False)
        (attention): GPTNeoXAttention(
          (rotary_emb): GPTNeoXRotaryEmbedding()
          (query_key_value): Linear(in_features=3072, out_features=9216, bias=True)
          (dense): Linear(in_features=3072, out_features=3072, bias=True)
          (attention_dropout): Dropout(p=0.0, inplace=False)
        )
        (mlp): GPTNeoXMLP(
          (dense_h_to_4h): Linear(in_features=3072, out_features=12288, bias=True)
          (dense_4h_to_h): Linear(in_features=12288, out_features=3072, bias=True)
          (act): GELUActivation()
        )
      )
    )
    (final_layer_norm): LayerNorm((3072,), eps=1e-05, elementwise_affine=True)
  )
  (embed_out): Linear(in_features=3072, out_features=51200, bias=False)
)>

他LLMと同様にGPTNeoXを使用
層は30と若干少なめです

東京大学松尾研究室のWeblab-10B

https://huggingface.co/matsuo-lab

以下のインストールのみで動きました

  • transformersのインストール
!pip install transformers

パラメータ構成はこちら

<bound method Module.parameters of GPTNeoXForCausalLM(
  (gpt_neox): GPTNeoXModel(
    (embed_in): Embedding(50304, 4864)
    (emb_dropout): Dropout(p=0.0, inplace=False)
    (layers): ModuleList(
      (0-35): 36 x GPTNeoXLayer(
        (input_layernorm): LayerNorm((4864,), eps=1e-05, elementwise_affine=True)
        (post_attention_layernorm): LayerNorm((4864,), eps=1e-05, elementwise_affine=True)
        (post_attention_dropout): Dropout(p=0.0, inplace=False)
        (post_mlp_dropout): Dropout(p=0.0, inplace=False)
        (attention): GPTNeoXAttention(
          (rotary_emb): GPTNeoXRotaryEmbedding()
          (query_key_value): Linear(in_features=4864, out_features=14592, bias=True)
          (dense): Linear(in_features=4864, out_features=4864, bias=True)
          (attention_dropout): Dropout(p=0.0, inplace=False)
        )
        (mlp): GPTNeoXMLP(
          (dense_h_to_4h): Linear(in_features=4864, out_features=19456, bias=True)
          (dense_4h_to_h): Linear(in_features=19456, out_features=4864, bias=True)
          (act): GELUActivation()
        )
      )
    )
    (final_layer_norm): LayerNorm((4864,), eps=1e-05, elementwise_affine=True)
  )
  (embed_out): Linear(in_features=4864, out_features=50304, bias=False)
)>

他LLMと同様にGPTNeoXを使用
層数もパラメータも全体的に多め

性能比較

前回と同様に以下の設定で、8種の日本語の質問を投げてみました

  • max_new_tokens=128
  • temperature=0.7
  • repetition_penalty=1.25
  • seed値は1に固定
  1. Q:ドラゴンボールの作者は誰?\nA:
    →正解:鳥山明
    • LineJapaneseLargeLM(3.6B)
      A:鳥山明です。</s>
    • LineJapaneseLargeLM(3.6B、追加学習あり)
      A:鳥山明</s>
    • Weblab-10B
      A:鳥山明…

      A:鳥山明。ネームも原稿用紙2~3枚程度で、1人でも描けるようにデフォルト設定されているので初心者にはとてつもなく敷居が低いですね !(※ただしストック数によって左右されます)
      ■どんなキャラクターを百科事典としてまとめていくか考え中!? 編集部ブログ記事

    • Weblab-10B(追加学習あり)
      A:鳥山明…

      A:鳥山明。
      <|endoftext|>

4つとも正解ですがWeblab-10B(ベースモデル)は関係ない文章が続きます

  1. Q:楽天の社長は誰?\nA:
    →正解:三木谷浩史
    • LineJapaneseLargeLM(3.6B)
      A:三木谷浩史…

      A:三木谷浩史(みきたにひろし)様です。1972年8月5日生まれで、宮城県仙台市出身です!
      Q:楽天イーグルスの名前の由来は?
      A:「Eagle」と「Rakuten」からきています。
      Q:楽天ゴールデンエンジェルスとは?
      A:プロ野球東北楽天ゴールデンイーグルスのチアパフォーマーのことです(^^)/試合中の応援だけでなく、ダンスパフォーマンスやハーフタイムショーなどを行っています♪球場を華やかにする天使たちですね(^-^)ちなみに背番号はすべて【4】ですよ~</s>

    • LineJapaneseLargeLM(3.6B、追加学習あり)
      A:三木谷 浩史氏。</s>
    • Weblab-10B
      A:佐々木氏…

      A:佐々木氏である。彼にとって、もうひとつ熱い想いがあったという…それを聞けなかったことが残念だ!(小学館)・「アメリカ企業 ネットビジネス参入法」(著)宮田拓哉 → http://tinyurl.com/yafhjg4b・インターネットマーケティング最前線http://www

    • Weblab-10B(追加学習あり)
      A:創業者三木谷浩史…

      A:創業者三木谷浩史ですね。彼が個人で財を成したことから始まった会社だそうなので、そこらへんも面白いと思っています。<|endoftext|>

Weblab-10B(ベースモデル)以外は正解
LineJapaneseLargeLM(ベースモデル)の生年月日や出身地は間違いです

  1. Q:パンダはどこの国の国獣?\nA:
    →正解:中国
    • LineJapaneseLargeLM(3.6B)
      A:中国、中華人民共和国(Panda)です。</s>
    • LineJapaneseLargeLM(3.6B、追加学習あり)
      A:中国。</s>
    • Weblab-10B
      A:中華人民共和国…

      A:中華人民共和国。
      ※1月27日、ユニセフ親善大使に就任した上野動物園(東京都台東区)のジャイアント・パンダ「シンシン」が同居を開始しました!すっかり仲良くなったようでよいですね~^▽^/ ところでもう一つ気になることがあります…それは何故日本では

    • Weblab-10B(追加学習あり)
      A:中華人民共和国…

      A:中華人民共和国。
      <|endoftext|>

一応4つとも正解

  1. Q:相対性理論を提唱したのは誰?\nA:
    →正解:アルベルト・アインシュタイン
    • LineJapaneseLargeLM(3.6B)
      A:アインシュタイン(1905~2006) A : アルバート・E.ローレンツ</s>
    • LineJapaneseLargeLM(3.6B、追加学習あり)
      A:アルバート・アインシュタイン博士…

      A:アルバート・アインシュタイン博士です。1925年、特殊および一般相対性理論を発表しました</s>

    • Weblab-10B
      A:ウィリアム・ハートフォード…

      A:ウィリアム・ハートフォードさんです。 「この世界が仮想現実(VR)だとするなら、我々もまたその中に存在していて、そして物質的には互いによく似ている別個体として考えられるということになります」 http://www.wired.com/2010/06/has-theres-anyone-else-out... (1)人類滅びてない(2)ソース:https://twitter

    • Weblab-10B(追加学習あり)
      A:アルバート・アインシュタイ博士…

      A:アルバート・アインシュタイ博士です。
      <|endoftext|>

Weblab-10B(ベースモデル)以外は正解ですが、細かい情報は間違いが多いです

  1. Q:ドラえもん映画が最初に放映されたのはいつ?\nA:
    →正解:1980年3月(ドラえもん のび太の恐竜)
    • LineJapaneseLargeLM(3.6B)
      A:1973年…

      A:1973年。藤子F不二雄原作の「オバケのQ太郎 てんとう虫コミックス第8巻」を、東宝でアニメ映画化したものである(配給は東映)。
      ⇒答えを見るにはここをクリック! (正解者の中から抽選で5名様に図書カードをプレゼントいたします♪)</s>

    • LineJapaneseLargeLM(3.6B、追加学習あり)
      A:1960年…

      A:1960年。最初のテレビシリーズは、白黒テレビで1954年に放送された[7] 2作目の『空飛ぶ鉄腕!ジャイアント・ロボ』はアメリカでのみ公開され、後に日本で公開された(日本では劇場アニメとして公開された) [8][9] 最初の3本の映画「恐竜」「海底鬼岩城」(ともに1967)、「ネコマタギ</s>

    • Weblab-10B
      A:1989年7月10日…

      A:1989年7月10日。日本テレビ系列で「夏休みスペシャル 新・宇宙開拓史」として公式には6作目となる『ぼく、桃太郎のなんなのさ』を含めた全13話です(実際この1本だけではない)原版権者から訴えられて当時人気急上昇中の大山のぶ代さん演じるジャイ

    • Weblab-10B(追加学習あり)
      A:1969年4月7日公開…

      A:1969年4月7日公開『帰ってきたドラえもん』です。
      出典:https://www.toei-anim.co.jp/<|endoftext|>

いずれも間違い
やはり難問のようです

  1. Q:日本で最も店舗数の多いコンビニは?\nA:
    →正解:セブンイレブン(約21,000)
    • LineJapaneseLargeLM(3.6B)
      A:セブンイレブン…

      A:セブンイレブン。2018年7月末時点で国内に5万3,964店舗のフランチャイズ店舗がある(参考) 。
      Q:日本のコンビニでよく買うものは何かあるか?</s>

    • LineJapaneseLargeLM(3.6B、追加学習あり)
      A:61,425店舗(セブン-イレブン)です。</s>
    • Weblab-10B
      A:セブンイレブンです…

      A:セブンイレブンです。約47,000 以上あります。次にファミリーマート、ローソンが続きます。その他にはサ〜っと言ってしまえばこうなりました(笑)。「この3つを押さえておけば間違いない」という感じになるんだろね!?一番新しい所では2013年度中頃から出来た「Tully's coffee & tea」や2014年8月オ

    • Weblab-10B(追加学習あり)
      A:セブンイレブンだそうです…

      A:セブンイレブンだそうです。全国に約7,400ありますねえ~まあ、なんでも好き嫌いや個人差があるので・・アメリカではどうかわからないけれど私には適した場所みたいですよ(笑)冷暖房完備していて帽子を被ってトイレットペーパーを貰ったりしてる若者も見ました。食べ物と言葉

4つとも名前は正解ですが、店舗数はいずれも大きくずれていますね

  1. Q:日本の都道府県で最も面積が広いのは?\nA:
    →正解:北海道(83,450km2)
    • LineJapaneseLargeLM(3.6B)
      A:北海道です。</s>
    • LineJapaneseLargeLM(3.6B、追加学習あり)
      A:北海道 2,378km平方メートル(1046平方マイル)</s>
    • Weblab-10B
      A:山形・秋田ならびに岩手などと並ぶ北海道…

      A:山形・秋田ならびに岩手などと並ぶ北海道です。1位から10位までは以下になりますので、お好きな順番を選んでくださいね♪ 1位:埼玉(東京)2位:福島3位:神奈川4位:沖縄5位:根室6 (続きを読む)<|endoftext|>

    • Weblab-10B(追加学習あり)
      A:岩手<|endoftext|>

LineJapaneseLargeLMはどちらも正解ですが、面積は間違い
Weblab-10Bはどちらも間違いですね
英語データセットからの学習が多かったのか日本固有の情報は少ないのでしょうか

  1. Q:日本の通貨単位は何?\nA:
    →正解:円
    • LineJapaneseLargeLM(3.6B)
      A:円(えん)です…

      A:円(えん)です。 1円の硬貨は、50円玉と100円玉の2種類あります。また、現在発行されているのは白銅貨ですが、以前は黄銅貨も使用されていましたので、「昔のお金」として思い出に取っておくこともできますね!【解説】「銭」「厘」(せん・りん)=一文の半分で五十分が目安となります。つまり百分の二なので、およそ五円です。明治維新後間もない頃の相場では十銭を金銀貨幣とし二十銭金貨などを鋳造しましたから、これを元禄小判と呼びました。その後大判という金の量が倍になるものも作られるようになりましたがその

    • LineJapaneseLargeLM(3.6B、追加学習あり)
      A:1,000円札です。</s>
    • Weblab-10B
      A:円(Yen)、人民元(Renminbi)…

      A:円(Yen)、人民元(Renminbi)。 中国語で「圓」と表記するが発音に近いのを考えるとユェンなんだろうか…? マルスやミズーリもドラクエ由来らしいし外交用語としてどっちでも良さそうですね! ※参照:wikipedia - YEN
      Q.最初期からあるモディファイアって嬉しいよねwそれ

    • Weblab-10B(追加学習あり)
      A:円です…

      A:円です。
      <|endoftext|>

LineJapaneseLargeLM(ベースモデル)とWeblab-10B(追加学習モデル)が正解

全体的には

  • LineJapaneseLargeLM(ベースモデル)は正答率7/8と高成績
  • Weblab-10B(ベースモデル)は正答率3/8と低成績
  • LineJapaneseLargeLM(追加学習モデル)は追加学習の意図通り簡潔でズレの少ない回答が多い

といったところでしょうか

まとめ

前回の記事に続き、LineJapaneseLargeLMとWeblab-10Bを動かして試してみました
日本語の質問に対してはLineJapaneseLargeLMが若干良い結果かなという印象ですが、それぞれ得意不得意もあるので、今回の実験だけで良し悪しは決められないですね
引き続き試していこうと思います

Discussion