見出し画像

饒舌な日本語ローカルLLM【Japanese-Starling-ChatV-7B】を公開しました

最近LLMコミュニティから生まれた小型MoEモデル「LightChatAssistant-2x7B」の日本語チャット性能がとても良いため、モデル作者さんが用いた手法(Chat Vector+MoEマージ)を後追いで勝手に検証しています

その過程で複数のモデルを試作したところ、7Bクラスとしてはベンチマークスコアがやたら高いモデルが出てきたので「Japanese-Starling-ChatV-7B」として公開してみました。

以下はこのモデルの簡単な説明です。

簡易評価

日本語によるinstruction-tuningを行ったモデルの評価用データセットとして知られる「ELYZA-tasks-100」を用いて、ほかの有力な7Bクラスの日本語モデルとスコアを比較しました。

その結果、GPT-4による評価において既存の日本語7Bモデルより大幅に高いスコア(3.42)を示すことが確認できました。単純にスコアだけを比べれば35Bクラスの中型モデル「Command R v0.1」にも匹敵します。

なおこれらはGGUFのQ8量子化フォーマットを用いた簡易評価であり、量子化前のモデル性能とは異なっている可能性があります。

どのように作られたか

冒頭で述べた通り、軽量・高性能なMoEモデル「LightChatAssistant-2x7B」の作出プロセスを勝手に検証するなかで副産物的に生まれたモデルです。

具体的には、Chat Vector手法によりMistral 7B系の英語モデルである「Starling-LM-7B-beta」から抽出したベースモデルとの重み差分を適用しました。このモデルは、人間による評価に基づきレーティングされる「LMSYS Chatbot Arena Leaderboard」においてGPT-3.5-Turbo・Claude 2.1・Gemini Proなどと肩を並べる、7BクラスのSOTAモデルです。

LMSYS Chatbot Arena Leaderboard

「Starling-LM-7B-beta」から取りだしたChat Vectorは、日本語モデルとして高い性能を持つ「ChatNTQ-JA-v1.0-7b」に1.0の比率で掛け合わせました。Chat Vector以外の追加的な日本語ファインチューンは一切行っておらず、極めて単純なプロセスから作出されています。

「LightChatAssistant-2x7B」を含めChat Vectorを利用した日本語モデルは既にいくつか公開されており手法的に目新しい部分はありません。とはいえ、確認されたベンチマークスコアが7Bモデルとしてはあまりに高く、Chat Vectorアプローチの有効性を示す興味深い一例となるかと思い公開してみました。

なぜこれほどスコアが高いのか

「Japanese-Starling-ChatV-7B」は他の7Bモデルに比べて高い推論能力や文章理解を示しますが、その最もシンプルな特徴は「出力テキストの長さ」です。「ELYZA-tasks-100」における平均回答字数は340字で、他のMistral 7Bベースの日本語モデル(おおむね100~280字程度)を大きく上回ります。

この饒舌さは、ポリシー最適化によって人間の好む丁寧な回答を出力するようトレーニングされた「Starling-LM-7B-beta」のChat Vectorがもたらした顕著な効果とみられます。

「ELYZA-tasks-100」の評価基準では、単に正答するだけでなく具体的で詳細に回答するほど高く評価されるものになっており、採点者のGPT-4もこの観点から相対的な高スコアを与えたものと解釈しています。

留意点

GPT-4には冗長な回答を高く評価するバイアスがしばしば指摘され、例えば英語の指示追従モデルを評価する「Alpaca Eval Leaderboard」では、回答の長さの影響を統制してELOレーティングしています。

「ELYZA-tasks-100」に関しては、個人的な検証範囲においてGPT-4が出力長に流される傾向は確認していません(こちらの記事など参照)。もともと説明の有用性を評価基準に内包するベンチマークでもあり、出力字数との相関が必ずしも問題になるわけでもありませんが、それでも解釈には注意が必要です。

今回使用した「ELYZA-tasks-100」における各モデルの回答・GPT-4採点は下記ファイルから実際にご確認いただけます。

関連メモ

Chat Vector処理についてはSdff-Ltbaさんの説明とそこで引用されているjovyanさんの記事をもっぱら参考にさせて頂きました。丁寧な解説を公開して頂きありがとうございます。

様々なモデルの「ELYZA-tasks-100」スコアについては、ELYZAさんの記事やwayamaさんの以下の記事で詳しく紹介されています。同モデルでも多少スコアが異なっていて、単純な誤差に加えてGPT-4のアップデート等も影響がありそうです。