ビジネスのドメインや最新情報に対応した130億パラメータの日本語LLMの公開

Tags
ビジネスのドメインや最新情報に対応した130億パラメータの日本語LLMの公開

Research部門の近江崇宏です。

ストックマークではビジネスのドメインや最新情報(2023年9月まで)に対応した130億パラメータの大規模言語モデル(LLM)を商用利用も可能なライセンスで公開しました。 モデルはHuggingface Hubからダウンロードいただけます。

https://huggingface.co/stockmark/stockmark-13b

このモデルは、合計2200億トークンの日本語のテキストデータにより事前学習が行われました。 一般に事前学習でよく使われるWikipediaやCommonCrawl由来のコーパスだけではなく、当社が独自に収集しているビジネスに関連するWebページや特許などのデータも用いました。 そのため、既存のモデルに比べると、最新の情報やビジネスのドメインに対応したようなモデルになっております。 実際に、ビジネスに関連する知識を問うタスクでは、既存のモデルに比べて高い性能を示し、今回開発したモデルがビジネスや時事問題のドメイン知識を獲得していることがわかりました。 また、日本語の言語理解のベンチマークであるJGLUEの中で、特に与えられた文脈の中から質問に答えるJSQuADでも、高い性能を示すこともわかりました。

開発にあたっては、AWSのLLM開発支援プログラムの支援を受けました。

また、この開発は国立研究開発法人産業技術総合研究所との共同研究の一環で行われました。

モデルの概要

今回のモデルのアーキテクチャーは130億パラメータのLlama2を用いております。

モデルの事前学習では、ハードウェアアクセラレーターとしてはAWSが開発している機械学習アクセラレーターであるTrainiumを、ライブラリとしてはTrainium上で分散学習を行うためのライブラリであるneuronx-nemo-megatronを用いました。

事前学習に用いた日本語のデータセット(合計約2200億トークン)の構成は以下の通りになっており、既存の同規模のモデルと比べると、日本語のデータの規模が大きく、多様性も高いものとなっています。

CommonCrawlは2023-23、2022-49、2022-21、2021-21のスナップショットを用いました。

評価

ビジネスに関連した知識

今回開発したモデルが実際にビジネスのドメインに関連した知識を獲得しているかどうかを評価するために、市場動向、時事問題、社会課題、ビジネストレンドなどの知識を問う問題を50題作成しました。

評価にあたっては、今回作成したモデルと、以下の既存の同規模の3つのモデルの事前学習済みモデルを用いました。

  • llm-jp/llm-jp-13b-v1.0
  • pfnet/plamo-13b
  • matsuo-lab/weblab-10b

また、参考のためにChatGPTも評価に追加しました(以下、ChatGPTのバージョンはgpt-3.5-turbo-0613を使いました)。

評価にあたっては、まず、それぞれのモデルに対して、日本語に翻訳されたAlpacaデータセットでInstruction tuningを行いました。 事前学習のみをおこなったLLMだと、必ずしも意図に従って応答を行なってくれないという問題があり、またInstruction tuningされたモデルにしても、応答の質やスタイルが、どのようなデータセットでInstruction tuningを行うかに大きく依存するため、このように各モデルを同じ方法でInstruction tuningしてから、評価することにしました。

モデルの出力の正解・不正解の判定は人手により行いました。

結果として、ChatGPTを含め既存のモデルに比べると高い性能を示すことがわかり、私たちのモデルは最新の情報やビジネスのドメインの知識を獲得していることがわかりました。また、私たちが今回用いた独自のビジネスに関連するWebコーパスは全体のデータセットの中では4-5%程度と小さな割合しか占めていないが、それでも100億パラメータ規模のモデルではドメイン知識が一定獲得できるということも示しています。

私たちのモデルのみが正しく答えられたようなQAの具体例は以下のようなものとなっています。

  • Question: 2023年3月に経営破綻したアメリカの2つの銀行は?
  • Question: ダークストアとは?

日本語の言語理解

日本語の言語理解のベンチマークであるJGLUEを使った評価も行いました。ここでは質問回答のタスクとしてJSQuADとJCommonsenseQAを対象とし、lm-evaluation-harnessを用いて評価を行いました。ここでは、事前学習のみを行なったベースモデルを対象としました。

その結果、同規模のモデルと比べて高い性能を示し、特にJSQuADでは最も高い性能を示すことがわかりました。

stockmark/stockmark-13bとllm-jp/llm-jp-13b-v1.0では、few-shotの提示数はJSQuADでは2、JCommonsenseQAでは3としました。プロンプトのバージョンはJSQuADでは0.2、JCommonsenseQAでは0.3を使いました。

pfnet/plamo-13bのスコアは次のページから取得しました:https://tech.preferred.jp/ja/blog/llm-plamo/

matsuo-lab/weblab-10bのスコアはこちらのページから取得しました。

テキスト生成の効率性

ChatGPTとの比較

ChatGPTと比較すると、パラメータ数が100億の規模のモデルを使うメリットとして、テキスト生成を高速に行えることが考えられます。そこで、実際にテキスト生成の速度の比較を行いました。私たちのモデルからテキスト生成を行う時には、DeepSpeedのライブラリを用いました。

1秒あたりに生成される文字数を計測したところ、私たちのモデルはChatGPTに比べて、約4倍高速であることがわかりました。これは実際に試してみると体感としても、大きな差になります。

同規模のモデルとの比較

また、私たちのモデルと同規模のモデルとの生成の効率性の比較も行いました。この実験では、DeepSpeedを用いた前項とは異なり、Hugging Faceのtransformersのgenerate関数を用いてテキスト生成を行いました。これは、一部のモデルではDeepSpeedを使っても処理時間があまり短縮されない場合があったからです。上と下の表でstockmark/stockmark-13bの1秒当たりの文字生成数が異なっているのはそのためです。

その結果、同規模なモデルの中では、私たちのモデルが最も生成速度が速いことがわかりました。

この一つの要因はトークナイザにあると考えられます。上の表に、CC100の日本語のデータセットから見積もられた1トークンあたりの平均文字数を示しています。私たちのモデルはこの値が高く、効率よくテキストをトークンに変換できていることがわかります。トークン化の効率に差が起こる要因としては、トークナイザの語彙数、トークナイザの語彙が日本語のみか日英混合か、トークナイザ学習時にデータに対して事前分割を行うかどうかなどが考えられます。