見出し画像

【Japanese Stable LM Gamma 7B】Stability AI史上最強の日本語LLMが誕生!?

Japanese Stable LM Gamma 7Bは、2023年10月25日にStabiity AI Japanから発表された最新の日本語LLMです。

あのMistral-7B-v0.1をベースにしており、日本語と英語データを追加で事前学習させることによって、効率的に高い日本語能力を獲得しています。

その注目度は高く、発表ポストには450超のいいねと12万回以上のインプレッションがされています。

今回は、Japanese Stable LM Gamma 7Bの概要と使ってみた感想をお伝えします。

是非最後までご覧ください!

Japanese Stable LM Gamma 7Bの概要

Mistral-7B-v0.1をベースにしており、Mistral-7B-v0.1の高い言語能力指示追随能力をそのまま引き継ぎ、そこに日本語データを追加で日本語学習することで、少ない学習量で効率的に高い性能を獲得しました。

追加で学習させたデータは、Wikipedia, mC4, CC-100, OSCAR, SlimPajamaなどの日本語と英語のデータ、約1000億トークンです。

このように、既存の高性能LLMに追加でデータを事前学習させてLLMを構築する手法は、継続事前学習 (Continued Pretraining)と呼ばれており、ここ最近の日本語LLM開発ではトレンドとも言える手法です。

以下の表は、Japanese Stable LM Gamma 7Bとその他のLLMの概要を比較した表です。

表に載せているELYZA-japanese-Llama-2-7bは、Llama2-7bをベースに同じく継続事前学習で開発された日本語LLMです。

ただ、Japanese Stable LM Gamma 7BのベースのMistral-7bは、性能評価でLlama2-13bを上回っているので、これら2つの日本語LLMの性能にどれほどの違いがあるのかとても気になります。

比較検証は後ほど行いますが、その前にJapanese Stable LM Gamma 7Bの性能評価の結果を見ていきましょう。

以下の表は、日本語言語理解ベンチマーク(JGLUE)のタスクを中心として、文章分類、文ペア分類、質問応答、文章要約などの合計8タスクで評価を行った結果です。

これを見ると、Japanese Stable LM Gamma 7BはベースモデルのMistral-7B-v0.1のより高い日本語能力を持っていることが示されており、ベースモデルの高い言語能力を引き継ぐことに成功しています。

また、同じ手法で構築されたJapanese Stable LM 3B-4E1Tも、ベースモデルより高い性能を有し、倍以上もサイズの大きいJapanese Stable LM Alphaより高い日本語能力を持ってることが示されています。

さらに、Japanese Stable LM Gamma 7BにSFT(Supervised Fine-tuning)を施して、よりユーザーの指示に受け答えできるようにしたモデルでは、さらに高い日本語能力を示しました。

これは期待できそうですね!

早速実際に使ってその性能を確かめていきましょう!

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

Japanese Stable LM Gamma 7Bの使い方

Japanese Stable LM Gamma 7Bのモデルは、ベースのjapanese-stablelm-base-gamma-7bとSFTを適用したjapanese-stablelm-instruct-gamma-7bの二種類があり、どちらもStability AIのHugging Faceからダウンロードすることができます。

今回は、より高い日本語能力を持っているとされるjapanese-stablelm-instruct-gamma-7bを使ってみます。

Hugging Faceのページは以下のリンクからアクセスできます。

japanese-stablelm-instruct-gamma-7b

まず、モデルのロードに必要なパッケージをインストールします。

pip install transformers accelerate

次に、トークナイザーとモデルをロードします。

from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("stabilityai/japanese-stablelm-instruct-gamma-7b")
model = AutoModelForCausalLM.from_pretrained(
  "stabilityai/japanese-stablelm-instruct-gamma-7b",
  torch_dtype="auto",
  device_map="auto",
)

これで、モデルのロードは完了です。

早速推論を実行していきましょう!

[ad_tag id="16722"]

Japanese Stable LM Gamma 7Bを実際に使ってみた

これ以降は、以下の記事からご確認ください。

他の記事もご覧になりたい方は、こちらをご覧ください。

この記事が気に入ったらサポートをしてみませんか?