サイバーエージェントから公開された小規模言語モデルを試してみた

はじめに

サイバーエージェントから公開された言語モデルの中からsmall、medium、largeを実際に使用し、どのような文章が生成されるか検証した記録です。

言語モデル

5月にサイバーエージェントから68億パラメータの大規模な日本語言語モデルが公開されました。

www.cyberagent.co.jp

しかし、一般向けのPCでそのような大規模言語モデルを動かすことは不可能なため、パラメータ数を下げたモデルを使って何ができるか探っていきたいと思います。

環境

Google Colaboratoryで実行しました。 モデルをGoogle Driveに配置し"readme.md"に従ってモデル読み込みを行いました。

実行

ColaboratoryのランタイムをGPUに変更して実行を行います。 また、GoogleDriveへのアクセスを許可します。

ライブラリのインストール

transformers、accelerateをインストールします。

!pip install transformers accelerate

ライブラリのインポート

必要なライブラリをインポートします。

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

モデルのロード

drive_dirにモデルを含めたファイルを全て配置します。

drive_dir = "ディレクトリ"  # モデルを配置したディレクトリ

model = AutoModelForCausalLM.from_pretrained(drive_dir, device_map="auto", torch_dtype=torch.float16)
tokenizer = AutoTokenizer.from_pretrained(drive_dir)

文章の出力

input_textに文を入力すると続きが出力されます。

input_text = ""  # 入力文
inputs = tokenizer(input_text, return_tensors="pt").to(model.device)
with torch.no_grad():
    tokens = model.generate(
        **inputs,
        max_new_tokens=64,
        do_sample=True,
        temperature=0.7,
        top_p=0.9,
        repetition_penalty=1.05,
        pad_token_id=tokenizer.pad_token_id,
    )

output = tokenizer.decode(tokens[0], skip_special_tokens=True)
print(output)

出力結果

条件

small、medium、largeそれぞれで以下の入力文を与えて続きを出力しました。

  • AIによって私たちの暮らしは、
  • 日本で一番高い山は、
  • 机の上にはリンゴが3個あります。椅子の上にはバナナが2本あります。机の上にあるのは

パラメータはデフォルトの値で実行しています。

以下の出力結果はそれぞれのモデルと入力文での出力をそのままコピーしています。

small

AIによって私たちの暮らしは、

AIによって私たちの暮らしは、常に新しいものが生み出されていきます。その象徴である食やファッション、美容、インテリアなど「今」のライフスタイルに合わせて、私たちがお届けする商品が、みなさまに少しでもお役に立てるよう日々精進してまいります。 株式会社エブリディ・ラボ 〒812-0013 福岡県福岡市博多区博多駅

日本で一番高い山は、

日本で一番高い山は、なぜ? 登山ガイドが考える“山の常識”とは 「日本民医連」に聞く、いま「大」が重要にした国民生活の実態 「あなたの番じゃないですよ」 被害者に寄り添う、手紙から 「日本民医連」に聞く、いまやるべきは「新医療保険制度」

机の上にはリンゴが3個あります。椅子の上にはバナナが2本あります。机の上にあるのは

机の上にはリンゴが3個あります。椅子の上にはバナナが2本あります。机の上にあるのは、リンゴです。 リンゴは、1/4をラップで包んで冷凍します。 リンゴは、1/4をラップで包んで冷凍します。 冷蔵庫で冷やして食べます。 りんごの皮を剥いて食べるのが一般的ですが、今回はリンゴの皮を剥かずにそのまま食べてみました。

medium

AIによって私たちの暮らしは、

AIによって私たちの暮らしは、どんどん便利になり、より便利になってきています。 しかし、便利になる一方で、暮らしの中で「不都合」を感じることも増えてきているのではないでしょうか。 「不都合」とは、便利で快適な暮らしから、不便な暮らしへと変化していくこと。 そんな生活の変化に私たちは、どう向き合っていくべきなのでしょうか。 「

日本で一番高い山は、

日本で一番高い山は、どこの山? [保存版] 登山で「富士山」は登れるのか? 富士山を登る前に知っておきたいこと! [保存版] 登山で「山頂」は登れるのか? 富士山を登る前に知っておきたいこと! [保存版] 登山で「頂上」

机の上にはリンゴが3個あります。椅子の上にはバナナが2本あります。机の上にあるのは

机の上にはリンゴが3個あります。椅子の上にはバナナが2本あります。机の上にあるのは、アップルパイとコーヒーです。 リンゴは皮をむいて冷凍保存しておきます。冷凍保存すると1週間ほど保存できます。冷凍庫で凍らせたリンゴは、生でもおいしく食べられます。ただし、冷凍庫から出したばかりの状態では、リンゴの表面がカチカチに凍っています。りんごが冷えて

large

AIによって私たちの暮らしは、

AIによって私たちの暮らしは、より便利になる。しかし、そのぶん私たちは、人間から切り離されて生きていかざるを得ないのだ。 「機械化」が進めば進むほど、人間は、自らの内面に目を向けていく必要がある。 それは、機械化によって人間が失ってしまった「自然」と「人間」の本質的な部分を取り戻していく作業でもある。

日本で一番高い山は、

日本で一番高い山は、標高1,736mのアコンカグア(南米大陸最高峰)。世界第3位の高さである。 登山の難易度は高いが、その絶景は世界中の人々を魅了し続けている。また、アコンカグアは「氷河」と「火山」という2つの大自然を同時に楽しめる場所でもある。 ア

机の上にはリンゴが3個あります。椅子の上にはバナナが2本あります。机の上にあるのは

机の上にはリンゴが3個あります。椅子の上にはバナナが2本あります。机の上にあるのは、私(僕)にとって必要なものです。 しかし、バナナは1本もありません。 これは、何を意味しますか? 「自分に必要なもの」 自分が求めているものが 何なのかわからないとき あなたはどうしますか? 答えはこの記事に書いてあります。 今日もメッセージを読んでくれてありがとう! このメッセージを読んでくれた

終わりに

どのモデルも学習に使われた文章をもとに、単純に文章を続けているように感じました。 chatGPTなどと比べると、出力が劣っていることは仕方がないと思います。 一方で、個人の環境で実行できることや、高速に文章生成ができることを活かす方法を考えていきたいです。 今後はパラメータを変更して、どのような変化があるか検証していきたいと思います。