Llama 2 の日本語出力性能を評価してみた

こちらの記事は、noteに投稿した記事の再掲となります。

はじめに

こんにちは、Lightblue の富岡です。

Meta から先月 (日本時間2023年7月19日)発表された 「Llama 2」 ですが、その日本語性能については賛否両論で、評価がまだ定まっていません。

本記事では、Llama 2 (7B ・13B) の日本語による質問応答性能についてまとめます。結論から言うと、Llama 2 の出力は公開モデルの中では優秀な方と言えそうです。
既存のモデルとの比較はもちろん、Llama 2 を日本語でファインチューニングした独自モデルの評価も合わせて紹介します。

Llama 2 の意義

「Llama 2」は、Metaが開発した7B・13B・70BパラメータのLLMです。

2023年2月に公開された「初代Llama」では商用利用は認められていませんでした。
一方で Llama 2 は、商用利用が無料で可能なライセンス形態と、ソースコードだけでなくニューラルネットワークの重みづけデータまでオープンソース化されている点が特徴的です。

また Llama 2 には対話特化型の「Llama 2-Chat」というモデルが存在していて、人間の評価においても、あの ChatGPT と同等のレベルを達成しているとされているそうです。

以下のスペースで Llama 2 (70B) のデモが触れます。

Explore Llamav2 With TGI – a Hugging Face Space by ysharmaDiscover amazing ML apps made by the communityhuggingface.co

日本語性能の怪しさ

ただし日本語圏では評価が割れています。

確かにデモを使ってみると、英語で質問に答えてしまいがちだったり、単語がところどころ不自然な印象です。

画像
Llama 2 (70B) のデモ

Llama 2 の事前学習に含まれる言語のうち、90%は英語、8%はコードで、日本語はたったの 0.1%。
日本語出力が苦手なのは仕方なさそうですが、Llama 2 はせっかくカスタマイズ性が高く商用利用も可能なので、日本語ファインチューニングのしがいがありそうです。

画像
Llama 2 の事前学習に含まれる日本語 (ja) は 0.10%

比較するLLMモデルと評価手法

今回評価に使ったモデルの一覧です。

画像

Lightblue (LB) の「kirin」というモデルが、 我々が今回 Llama 2 を 日本語でファインチューニングしたモデルになります(7B・13B)。
日本語の学習には、Wikipedia, Izumi, TyDiQA, ESCI, StackOverflow, OASST を使用しています。このあたりのファインチューニングについては別記事で紹介予定です。
(余談ですが、 「LB_japanese-mpt-7b」 は先日公開した67億パラメータのLLMです)

ちなみにGPT3.5-turbo と GPT4 はパラメータ数が数千億と言われています。一見アンフェアですが、ChatGPTレベルの回答はもはや社会のスタンダードになっているので、あえて比較に加えました。

そして精度検証タスクですが、今回は質問応答機能にフォーカスしています(これは会社として機能開発の優先度が高かったからです)。
精度評価用データセットは2種類用意し、質問回答に特化した JSQuAD と、オリジナルのQ&Aデータセット(Livedoorのブログ記事から作成)で行いました。

評価は、各モデルによる回答を目視で採点しています。 1点~5点の5段階評価で、基準は以下です。

画像

評価結果

JSQuAD

・Jumtraを除けば、chatGPTがトップ
・Llama 2 をファインチューンしたLB_kirin 7B/13B が2番手
・Llama 2 13B は3番手で、他のLLMよりも精度が高い

画像
JSQuADによる精度評価(平均スコア高い順)

JumtraはJSQuADについてかなり高精度が出ていますが、これは学習データにJSQuADが含まれているためと推察されます。

オリジナルQA(Livedoorブログ記事から作成)

JSQuADに代わる新しい評価データを作成・使用した理由は、上記のようなデータ汚染の問題を取り除いて、各モデルの実力値をピュアに評価したいからです。
作成方法:Livedoorブログ記事データセットから100記事を抽出し、それらをもとにインターンの東大生に設問と回答を作ってもらいました。こちらの設問・回答データも追って公開予定です。

結果
・chatGPTがトップ
・Llama2 をファインチューンしたLB kirin-13Bは2番手
・Llama2-13B は3番手で、他のLLMよりも精度が高い

画像
オリジナルQAによる精度評価(平均スコア高い順)

やはり ChatGPT が強いですね。実際の回答結果を紹介します。

画像
オリジナルQA

日本語でファインチューニングしている「kirin」では、Llama 2 に比べて端的に回答できるようになっています。

とはいえ Llama 2 (13B) も 「ChatGPTに匹敵」とは行かないまでも、既存の公開モデルに比べると精度は高い方と言えるでしょう。

まとめ

今回は Llama 2 の 7B と 13B について、ユースケースを質問回答に絞った形で日本語出力の検証を行いました。
結論としては、公開されているLLMモデルの中では Llama 2 (7B・13B)の日本語出力性能は優秀と言えそうです。

おそらく hugging face 公開デモ上での日本語がやや怪しい理由としては、デフォルトのシステムプロンプトが少なからず影響していると推察されます。

近日中に、その他のユースケースでの検証、および日本語で Llama 2 をファインチューニングしたモデルの公開を予定しています。お楽しみに!