サイトのデザインが新しくなりました。

サイバーエージェントが開発したLLM「OpenCALM-7B」とは?導入方法や使ってみた所感を徹底解説!

今回は、サイバーエージェント社が開発したLLM「OpenCALM-7B」について解説します。
OpenCALM-7Bの概要、導入手順、所感について書きました。
初の国産LLMを試すいい機会ですので、ぜひ最後までご覧ください!

なお弊社では、生成AIツール開発についての無料相談を承っています。こちらからお気軽にご相談ください。
→無料相談で話を聞いてみる

目次

サイバーエージェントが開発したLLM「OpenCALM-7B」とは

サイバーエージェントが開発した日本語特化型のLLMです。
この新技術は既に「極予測AI」「極予測TD」「極予測LP」など、AIを活用した広告制作のサービスで積極的に利用されています。
OpenCALM-7Bの特徴は以下の通りです。

  • パラメータ数は1億6000万から最大68億まで
  • 国内初導入した「NVIDIA DGX H100」を使用
  • 日本国内最大級のLLM
  • 学習データとしてWikipediaやCommon Crawlのオープンデータを活用
  • CC BY-SA-4.0ライセンスで商用・研究目的の自由利用可能

現在人気のChatGPTとの主な違いはパラメータ数です。
OpenCALM-7Bのパラメータ数は最大68億ですが、GPT-3.5は3550億のパラメータ数を有しています。
通常、パラメータ数が少ないと、LLMの性能や表現力は低下すると考えられます。

また、GPTを始めとする既存のLLMの多くは英語を中心に学習されていますが、OpenCALM-7Bはほぼ全て日本語のデータで学習されています。
そのため、日本語や日本文化に強い文章生成が可能です。

ちなみに、ChatGPTとOpenCALM-7Bは同じベースの技術を使用して作られているため、両者は似た構造を持つモデルです。
具体的には、OpenCALM-7Bは「GPT-Neo」と同じ、デコーダのみのTransformer構造を採用しています。

なお、その他の日本製AIについて詳しく知りたい方は、下記の記事を合わせてご確認ください。
【やってみた】Japanese InstructBLIP Alpha、Stability AIの日本語画像言語モデル 

サイバーエージェントのOpenCALM-7Bの導入方法

今回は、OpenCALM-7Bのモデルが公開されているHuggingFaceのページを参考に、「OpenCALM-7Bのsmall版」を試しました。
まず、Google Colaboratoryを開き、「編集」→「ノートブックの設定」に移動します。

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

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

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

次に、必要なライブラリをインストールします。
以下のコードを実行します。

!pip install accelerate torch transformers

これを実行すると、次のようになります。

これでインストール完了です。
次に、OpenCALM-7Bを用いた文章生成をしていきます。
ソースコードは以下の通りです。「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-7Bによって生成された文章の結果は、以下のようになりました。

サイバーエージェントのOpenCALM-7Bを実際に使ってみた

1. 「あなたは誰ですか?」と質問

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

日本語自体は自然な感じですが、質問に対する回答としては適切ではありません。
また、文章が中途半端なところで終わってしまっています。

2.ChatGPTと比較

同じ質問をChatGPTに投げかけたところ、次のような返答が来ました。
さすがはChatGPTと思えるものです!

このようになるのは、OpenCALM-7Bは、あくまで事前学習済みのモデルであるからだと思います。
ですので、そのまま使うと単純な次単語の生成しか行わないようです。
ChatGPTのような対話型AIを作ろうと思ったら、自身の手元にあるデータを使い、ファインチューニングをする必要があるかなと。

3.入力文の続きを書く

夏目漱石の「吾輩は猫である」の文章の続きを、生成させてみました。
入力文は以下の通り。

吾輩わがはいは猫である。
名前はまだ無い。
どこで生れたかとんと見当がつかぬ。
何でも薄暗いじめじめした所でニャーニャー泣いていた事だけは記憶している。
吾輩はここで始めて人間というものを見た。
しかもあとで聞くとそれは書生という人間中で一番獰悪な種族であったそうだ。
この書生というのは時々我々を捕つかまえて煮にて食うという話である。
しかしその当時は何という考もなかったから別段恐しいとも思わなかった。
ただ彼の掌に載せられてスーと持ち上げられた時何だかフワフワした感じがあったばかりである。
掌の上で少し落ちついて書生の顔を見たのがいわゆる人間というものの見始めであろう。
この時妙なものだと思った感じが今でも残っている。
第一毛をもって装飾されべきはずの顔がつるつるしてまるで薬缶だ。
その後猫にもだいぶ逢ったがこんな片輪には一度も出会した事がない。
のみならず顔の真中があまりに突起している。
そうしてその穴の中から時々ぷうぷうと煙を吹く。
どうも咽むせぽくて実に弱った。
これが人間の飲む煙草というものである事はようやくこの頃知った。
この書生の掌の裏うちでしばらくはよい心持に坐っておったが、しばらくすると非常な速力で運転し始めた。
書生が動くのか自分だけが動くのか分らないが無暗に眼が廻る。
胸が悪くなる。
到底助からないと思っていると、どさりと音がして眼から火が出た。
それまでは記憶しているがあとは何の事やらいくら考え出そうとしても分らない。
ふと気が付いて見ると書生はいない。
たくさんおった兄弟が一疋も見えぬ。
肝心の母親さえ姿を隠してしまった。
その上今までの所とは違って無暗に明るい。
眼を明いていられぬくらいだ。
はてな何でも容子がおかしいと、のそのそ這い出して見ると非常に痛い。
吾輩は藁の上から急に笹原の中へ棄てられたのである。

生成された文章の続きは以下の通りです。
「吾輩は猫である」のオリジナルのストーリーの流れからは大分逸脱してしまいました。

「さて書生は見つからない。
書生の首輪が掛かっている。
どうも首輪が掛かっているからまだ首輪は落ちていない。
ところがしばらくすると再び首輪が掛かってくる。
またもや藁わらの上に載る。
それでも藁わらの下からはほとんど何も見えない。
そこで藁わらの上に載った藁」

サイバーエージェントが開発したLLM「OpenCALM-7B」は文章生成に活用できる

日本語特化型のOpenCALM-7Bは国内最大級のLLMで、文章生成に活用することができます。
OpenCALM-7Bのモデルは、HuggingFaceのページを参考にして、皆様も自身で文章生成を試してみることが可能です。
ただし、OpenCALM-7Bは事前学習済みモデルのため、そのまま使用すると単純な次単語生成に留まる可能性があります。
ChatGPTのように洗練された対話型AIを実現するためには、手元にあるデータを活用してファインチューニング等を行うことが求められます。

なお、東大発のLLMについて詳しく知りたい方は、下記の記事を合わせてご確認ください。
【日本語版LLM】東大松尾研のWeblab-10b、使い方・実践をまとめて解説

最後に

いかがだったでしょうか?

弊社では

・マーケティングやエンジニアリングなどの専門知識を学習させたAI社員の開発
・要件定義・業務フロー作成を80%自動化できる自律型AIエージェントの開発
・生成AIとRPAを組み合わせた業務自動化ツールの開発
・社内人事業務を99%自動化できるAIツールの開発
ハルシネーション対策AIツールの開発
自社専用のAIチャットボットの開発

などの開発実績がございます。

まずは、「無料相談」にてご相談を承っておりますので、ご興味がある方はぜひご連絡ください。

➡︎生成AIを使った業務効率化、生成AIツールの開発について相談をしてみる。

生成AIを社内で活用していきたい方へ

「生成AIを社内で活用したい」「生成AIの事業をやっていきたい」という方に向けて、生成AI社内セミナー・勉強会をさせていただいております。

セミナー内容や料金については、ご相談ください。

また、弊社紹介資料もご用意しておりますので、併せてご確認ください。

投稿者

  • Leon Kobayashi

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

  • URLをコピーしました!
  • URLをコピーしました!
目次