見出し画像

【Youri 7B】日本最強!?総学習量2兆トークン超えの神日本語LLM

Youri 7Bは、2023年10月31日に日本のrinna社が公開した最新の日本語LLMです。

このモデルは、Llama2 7Bをベースに開発され、目的や環境に合わせて複数のモデルが用意されており、より多くのAI研究に活用されることを目的としています。

また、量子化された軽量モデルもあるので、一般の方でも気軽に試すことができます!

今回は、Youri 7Bの概要や使ってみた感想をお伝えします。

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

Youri 7Bの概要

Youri 7Bは、2023年10月31日に日本のrinna社が公開した最新の日本語LLMで、Meta社のLlama2 7Bをベースに、日本語データの継続事前学習を行うことで構築されました。

Llama2に継続事前学習を適用してモデルを構築する手法は、最近の日本語LLM開発のトレンドになっており、Llama2の高い言語能力指示追従能力を引き継ぐことで、低コストで高い性能を得ることができます。

そんなYouri 7Bのモデルには以下のような複数のバリエーションがあります。

  • Youri 7B:汎用言語モデル

  • Youri 7B Instruction:対話形式でユーザーの指示に応える能力が高いモデル

  • Youri 7B Chat:複数ターンの対話データを用いて追加学習された対話性能が高いモデル

  • GPTQモデル:前述の3つのモデルをGPTQという手法で4bit量子化したモデル

ここからは、Youri 7Bのモデルの特徴と性能を見ていこうと思います。

ちなみにYouriという名前の由来は、妖怪の「妖狸(ようり)」だそうです。

Youri 7Bの特徴と性能

Youri 7Bは、70億パラメータを2兆トークンで学習したLlama2 7Bに対して、日本語と英語の学習データ約400億トークン継続事前学習することで構築されました。

これにより、Llama2の高い言語能力指示追従能力を引き継ぐことができ、低コストで高い性能を得ることができました。

この結果を見ると、ベースモデルに対話形式でユーザーの指示に答える学習データを追加学習させたYouri 7B Instructionが、最も高いスコアを獲得しています。

また、複数ターンの対話データを用いて追加学習させた、対話性能重視のYouri 7B Chatも高い性能を示しています。

Youri 7Bは、ベースモデルでもその他の同規模のモデルのファインチューニングモデルと比べ、同等かそれ以上の性能を示しており、そもそもの性能が高いことがうかがえます。

このように高性能なYouri 7Bですが、Llama2 7Bをベースにしていることもあり、そのサイズは大きく一般的な家庭用PCで動かすのはなかなか難しいという問題もあります。

そこで、GPTQというモデルを量子化する手法を使って、ファイルサイズを1/3程度に軽量化したモデルも用意され、少ないリソースでも動作するようになっています。

GPTQモデルは、ファイルサイズが小さくなるので、性能も大幅に下がってしまうのではないかと心配される方もいるかと思いますが、実際には量子化による性能の低下はベンチマークスコアで1~2程度に抑えられています。

ここまで、公式発表をもとに特徴と性能をご紹介してきましたが、ここからは実際に使ってみてその性能を確かめようと思います。

Youri 7Bの各モデルは、以下のHugging Faceページで公開されており、誰でもダウンロードして利用できます。

collections/rinna/youri-7b-654053610cb8e9d8e6289efc

また、ライセンスはLlama 2 7BのLLAMA 2 Community Licenseをそのまま継承しているため、条件を満たせば商用利用することも可能です。

では、早速使っていきましょう!

まずは使い方から説明します。

なお、ELYZA-japanese-Llama-2-7bについて詳しく知りたい方は、下記の記事を合わせてご確認ください。
【ELYZA-japanese-Llama-2-7b】東大スタートアップの日本語LLMは日本語検定一級合格なるか?

Youri 7Bの使い方

今回は、ベンチマークで最もスコアの高かったYouri 7B InstructionをGoogle Colab ProのA100GPUで使っていきます。

Youri 7B Instructionは以下のページからからダウンロードできます。

rinna/youri-7b-instruction

まず必要なパッケージをインストールします。

pip install transformers accelerate

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

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("rinna/youri-7b-instruction")
model = AutoModelForCausalLM.from_pretrained("rinna/youri-7b-instruction")

if torch.cuda.is_available():
    model = model.to("cuda")

これでモデルのロードは完了したので、早速推論を実行していきます。

Youri 7Bを実際に使ってみた

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

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

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