【初心者向け】OpenCALM とは?使い方とPythonのサンプルコードを用いて解説!

はじめに

この記事では、OpenCALM(オープンカーム)とは何かを解説し、その後OpenCALMモデルに質問を行い回答を得るところまでを説明します。今回はGoogle Colabratory(以下、Colabと略記)を環境として使っていきます。Colabの使い方についてはこちらをご参考ください。より詳細な内容について学びたい方はLLMアプリ開発コースをご受講ください。

OpenCALMとは?

株式会社サイバーエージェントが開発した、日本語に特化したLLMです。いくつかの異なるモデルが用意されており、それぞれでスペックが異なっています。

サイバーエージェント社が出したプレスリリースはこちら

それでは、早速使っていきます。

パッケージをインストール

!pip install transformers accelerate

パッケージをインポート

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

モデルとトークナイザーを準備

model = AutoModelForCausalLM.from_pretrained(
    cyberagent/open-calm-large,
    device_map=auto,
    torch_dtype=torch.float32
)

# 今回使用するOpenCALMは”large”
tokenizer = AutoTokenizer.from_pretrained(cyberagent/open-calm-large)

プロンプトを宣言

prompt = “Q: 箱根駅伝は毎年いつ頃開催されている?\nA: 箱根駅伝は、”

質問を実行

inputs = tokenizer(prompt, return_tensors=”pt”).to(model.device)
with torch.no_grad():
    tokens = model.generate(
        **inputs,
        max_new_tokens=64, do_sample=True,
        temperature=0.7, pad_token_id=tokenizer.pad_token_id,
    )

回答を取得・表示

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

実際の解答例

Q: 箱根駅伝は毎年いつ頃開催されている?
A: 箱根駅伝は、1月2日〜3日開催です。往路は12月31日(日)に東京を出発し、3日(日)に最終の往路ゴール箱根に到着します。復路は6日(水)に東京を出発し、8日(金)に東京に到着します。
Q: 箱根

解釈

後半は誤りを含んでいますが、最初の一文で正答を得ることができました。

レスポンスの精度向上は、今後の課題と言えるでしょう。

また、OpenCALMに限らず新しいLLMも今後数多く出てくる可能性があり、日本語特化のLLMはより盛り上がっていくものと思われます。

最後に

この記事では、OpenCALMとは何かと、OpenCALMを用いて質問と回答を得るところまでの方法を解説しました。

ぜひ、日本語特化LLMであるOpenCALMを用いて様々な実装を試してみてください。

AIスキルを効率よく身につけるには

最後まで記事をお読みいただきありがとうございました。今回紹介したOpenCALMについて学びたい方はLLMアプリ開発コースなどを活用してみてください。

最新の生成AIやAIアプリの開発スキルを効率よく習得するためには、AIの基礎からAIを活用したWebアプリの開発など、体系的に学習できるサービスを利用することが重要です。例えば、AI Academy Bootcampでは、自分の好きな時間と場所で動画コンテンツを視聴しながら学ぶことができます。

受講料も6ヶ月間35,000(税込)というお手頃価格で受講でき、いつでも好きな時間に質問し放題の環境で学べるため、初学者でも安心してご受講いただけます。