サイバーエージェントLLMとは?概要〜導入〜所感までを徹底解説!

今回は、サイバーエージェント社が開発した「OpenCALM」について解説します。
2023/05/30時点での概要、導入手順、所感について書きました。
初の国産LLMを試すいい機会ですので、ぜひ最後までご覧ください!
OpenCALMとは
サイバーエージェントが開発した日本語特化型のLLMです。
この新技術は既に「極予測AI」「極予測TD」「極予測LP」など、AIを活用した広告制作のサービスで積極的に利用されています。
OpenCALMの特徴は以下の通りです。
- パラメータ数は1億6000万から最大68億まで
- 国内初導入した「NVIDIA DGX H100」を使用
- 日本国内最大級のLLM
- 学習データとしてWikipediaやCommon Crawlのオープンデータを活用
- CC BY-SA-4.0ライセンスで商用・研究目的の自由利用可能
現在人気のChatGPTとの主な違いはパラメータ数です。
OpenCALMのパラメータ数は最大68億ですが、GPT-3.5は3550億のパラメータ数を有しています。
通常、パラメータ数が少ないと、LLMの性能や表現力は低下すると考えられます。
また、GPTを始めとする既存のLLMの多くは英語を中心に学習されていますが、OpenCALMはほぼ全て日本語のデータで学習されています。
そのため、日本語や日本文化に強い文章生成が可能です。
ちなみに、ChatGPTとOpenCALMは同じベースの技術を使用して作られているため、両者は似た構造を持つモデルです。
具体的には、OpenCALMは「GPT-Neo」と同じ、デコーダのみのTransformer構造を採用しています。
導入方法
今回は、OpenCALMのモデルが公開されているHuggingFaceのページを参考に、「OpenCALMのsmall版」を試しました。
まず、Google Colaboratoryを開き、「編集」→「ノートブックの設定」に移動します。

すると、画面中央にノートブックの設定画面が出てきます。

そこで「ハードウェアアクセラレータ」のプルダウンメニューから「GPU」を選択。

「保存」を押します。
これで完了です。

次に、必要なライブラリをインストールします。
以下のコードを実行します。
!pip install accelerate torch transformersこれを実行すると、次のようになります。

これでインストール完了です。
次に、OpenCALMを用いた文章生成をしていきます。
ソースコードは以下の通りです。「tokenizer」という関数の文字列が、プロンプトになります。
以下のプログラムを実行すると、tokenizerに書かれている「AIによって私達の暮らしは」という文章の続きが生成されます。
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("cyberagent/open-calm-small", device_map="auto", torch_dtype=torch.float16)
tokenizer = AutoTokenizer.from_pretrained("cyberagent/open-calm-small")
#↓プロンプト↓
inputs = tokenizer("AIによって私達の暮らしは、", 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)Google Colaboratoryで実行すると、以下のように動きます。

OpenCALMによって生成された文章の結果は、以下のようになりました。

実際に動かしてみた
1. 「あなたは誰ですか?」と質問
tokenizerの文字列のところに「あなたは誰ですか?」という文章を入力して、プログラムを実行してみました。
結果は以下の通りです。

日本語自体は自然な感じですが、質問に対する回答としては適切ではありません。
また、文章が中途半端なところで終わってしまっています。
2.ChatGPTと比較
同じ質問をChatGPTに投げかけたところ、次のような返答が来ました。
さすがはChatGPTと思えるものです!

このようになるのは、OpenCALMは、あくまで事前学習済みのモデルであるからだと思います。
ですので、そのまま使うと単純な次単語の生成しか行わないようです。
ChatGPTのような対話型AIを作ろうと思ったら、自身の手元にあるデータを使い、ファインチューニングをする必要があるかなと。
3.入力文の続きを書く
夏目漱石の「吾輩は猫である」の文章の続きを、生成させてみました。
入力文は以下の通り。
吾輩わがはいは猫である。
名前はまだ無い。
どこで生れたかとんと見当がつかぬ。
何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。
吾輩はここで始めて人間というものを見た。
しかもあとで聞くとそれは書生という人間中で一番獰悪な種族であったそうだ。
この書生というのは時々我々を捕つかまえて煮にて食うという話である。
しかしその当時は何という考もなかったから別段恐しいとも思わなかった。
ただ彼の掌に載せられてスーと持ち上げられた時何だかフワフワした感じがあったばかりである。
掌の上で少し落ちついて書生の顔を見たのがいわゆる人間というものの見始めであろう。
この時妙なものだと思った感じが今でも残っている。
第一毛をもって装飾されべきはずの顔がつるつるしてまるで薬缶だ。
その後猫にもだいぶ逢ったがこんな片輪には一度も出会した事がない。
のみならず顔の真中があまりに突起している。
そうしてその穴の中から時々ぷうぷうと煙を吹く。
どうも咽むせぽくて実に弱った。
これが人間の飲む煙草というものである事はようやくこの頃知った。
この書生の掌の裏うちでしばらくはよい心持に坐っておったが、しばらくすると非常な速力で運転し始めた。
書生が動くのか自分だけが動くのか分らないが無暗に眼が廻る。
胸が悪くなる。
到底助からないと思っていると、どさりと音がして眼から火が出た。
それまでは記憶しているがあとは何の事やらいくら考え出そうとしても分らない。
ふと気が付いて見ると書生はいない。
たくさんおった兄弟が一疋も見えぬ。
肝心の母親さえ姿を隠してしまった。
その上今までの所とは違って無暗に明るい。
眼を明いていられぬくらいだ。
はてな何でも容子がおかしいと、のそのそ這い出して見ると非常に痛い。
吾輩は藁の上から急に笹原の中へ棄てられたのである。生成された文章の続きは以下の通りです。
「吾輩は猫である」のオリジナルのストーリーの流れからは大分逸脱してしまいました。
「さて書生は見つからない。
書生の首輪が掛かっている。
どうも首輪が掛かっているからまだ首輪は落ちていない。
ところがしばらくすると再び首輪が掛かってくる。
またもや藁わらの上に載る。
それでも藁わらの下からはほとんど何も見えない。
そこで藁わらの上に載った藁」まとめ
日本語特化型のOpenCALMはは国内最大級のLLMで、文章生成に活用することができます。
OpenCALMのモデルは、HuggingFaceのページを参考にして、皆様も自身で文章生成を試してみることが可能です。
ただし、OpenCALMは事前学習済みモデルのため、そのまま使用すると単純な次単語生成に留まる可能性があります。
ChatGPTのように洗練された対話型AIを実現するためには、手元にあるデータを活用してファインチューニング等を行うことが求められます。
最後に
今回は、サイバーエージェントが公開したLLM「OpenCALM」の、概要と導入方法、所感をご紹介しました。
ChatGPTのように使う場合は、ファインチューニングが必要と考えられます。
これを皮切りに、日本発のLLMがどうなっていくのか期待ですね。
以上、株式会社SaaSis AIエバンジェリストLeonでした。
また、SaaSisでは、全体最適の視点でシステム提案から検証、導入、連携までワンストップで支援いたします。
「“ChatGPT × 社内データ“のAIチャットボットを作りたい」
「ChatGPTを使って、社内業務をどのように効率化できるか知りたい」
などChatGPT関連のご相談も承っております。
お気軽にご連絡くださいっ!

Leon Kobayashi
必ずフォローすべきAIエバンジェリスト(自称)
=> 元東証一部上場ITコンサル
(拙者、早口オタク過ぎて性に合わず退社)<-イマココ
【好きなもの】官能小説・リコリコ・しゃぶ葉
宜しくおねがいします。

Leon Kobayashi
自称: 必ずフォローすべきAIエバンジェリスト
=>元東証一部上場ITコンサル
(拙者、早口オタク過ぎて性に合わず退社)<-イマココ
【好きなもの】
官能小説・リコリコ・しゃぶ葉
宜しくおねがいします。

Leon Kobayashi
必ずフォローすべきAIエバンジェリスト(自称)
=>元東証一部上場ITコンサル
(拙者、早口オタク過ぎて性に合わず退社)<-イマココ
【好きなもの】
官能小説・リコリコ・しゃぶ葉
宜しくおねがいします。
\ご覧いただきありがとうございます!/
チャットボット開発等のPoC開発
承っております!

- “ChatGPT × 社内データ“のAIチャットボットを作りたい方
- 自社の業務にジェネレーティブAIを適用したい方

Recruit
現在、生成系AI事業急成長のため
積極的に人材採用を行なっています
ChatGPT講演会承っております!

