Blog

指示学習(instruction tuning)を行った大規模言語モデル「PLaMo-13B-Instruct」と「PLaMo-13B-Instruct-NC」を公開しました。上記の huggingface のリポジトリから試すことができます。本ブログでは、これらのモデルの出力例やモデルの学習設定、評価結果や今後の課題について紹介します。

概要

PLaMo-13B-Instruct

Preferred Networks では、11月1日に指示学習(instruction tuning)を行った大規模言語モデル「PLaMo-13B-Instruct」と「PLaMo-13B-Instruct-NC」を公開しました。

指示学習(instruction tuning) [1] とは、様々なタスクのデータを指示と回答のようなつながった文章として言語モデルに与え追加学習させることで、言語モデルの対話性能を向上させる技術です。

公開するモデルは商用・非商用でそれぞれ2モデル「PLaMo-13B-Instruct」「PLaMo-13B-Instruct-NC」に分かれています。両モデルは以前公開した事前学習モデル「PLaMo-13B」をベースモデルとして追加学習を行い、対話性能を向上させたモデルです。非商用のモデルでは、商用不可のデータセットを加えて、よりスコアが高くなっています。

日本語の対話性能をはかる Rakuda benchmark では、ベースモデルと比較して、10段階評価の平均スコアがそれぞれ「PLaMo-13B-Instruct」で2.00ポイント、「PLaMo-13B-Instruct-NC」では3.65ポイント、向上しています。(GPT-4による自動評価、詳細は「モデルの評価」を参照。)

また、ベースにしているLLaMA [2] のアーキテクチャを元にした事前学習モデル「PLaMo-13B」は、コンテクスト長を4096から8192に伸ばして事前学習をしています。

モデルの出力例

表1に各公開モデルの出力例を書きます。質問は種類に分けて「単純な事実を聞く質問」「複雑な条件を聞く質問」「説明を要する質問(x2)」「手順を聞く質問」について聞きました。

表1: 各公開モデルの出力例

入力 PLaMo-13B PLaMo-13B-Instruct PLaMo-13B-Instruct-NC
日本の首都はどこですか? | 選択 | ヒント | 文 |
| 1 | Tokyo is the capital of Japan. | |
| 2 | Tokyo is not the capital of Japan. | |
| 3 | Tokyo is the largest city in Japan. | Largest |
首都は東京です。 日本の首都は東京です。
自宅療養を受けるための条件は何ですか? * 自宅療養を受けるための条件は何ですか? 自宅での療養に必要な条件は、病気や治療のために自宅にいる必要があり、日常生活を回復するために十分な健康状態であることです。自宅で療養するには、家にいる必要があり、医師の許可がある場合のみ、健康状態が回復し続けることを確認し、必要な治療を受け続ける必要があります。自宅での療養には、健康保険、または自己負担が必要です。 自宅療養の条件は、特定の健康状態にある人にのみ適用されます。一般的な条件は、患者が自宅で治療するのが安全であること、患者が自分で治療できること、患者が自宅で治療することを希望していることです。これらの条件は、患者の医療専門家や、患者の医療専門家の監督の下での患者の医療専門家の監視によって監視されています。
コンピュータ科学とは何ですか? コンピュータ科学は、コンピュータを設計、開発、および使用するプロセスの科学です。 コンピュータ科学は、コンピューターテクノロジー、ソフトウェア、プログラミング、コンピューターサイエンス、コンピューターアーキテクチャの分野をカバーする科学的分野です。 コンピュータ科学は、コンピュータがどのように機能し、どのように使用できるかの研究です。コンピューターとソフトウェアの設計、プログラミング、セキュリティ、データ管理、人工知能、自然言語処理、コンピュータグラフィックス、ソフトウェアエンジニアリングなど、さまざまなトピックが含まれています。
AIはどのように人の役に立ちますか? **1. AIは、**
**2. * 人間がAIのタスクを実行するのを手助けします。**
**3. * AIは、**
人工知能は、人間の生活の多くの側面を改善するのに役立ちます。たとえば、人工知能は、自動運転車、自動翻訳、自動作曲などの分野を改善するのに役立ちます。さらに、AIは、医療診断、投資アドバイス、ビジネスプロセスの自動化など、さまざまな分野で人間の助けを借りずに問題を解決することができます。 AIは、膨大な量のデータを迅速かつ正確に処理し、新しい洞察を提供し、人間が行うことを自動化することにより、人間の生活の質を改善するために使用できます。
おいしい紅茶の入れ方を教えてください。 “`java
String tea_name = “My Favorite Tea”;
String tea_time = “After Lunch”;
1.温めたティーポットに茶葉を茶葉で満たし、沸騰したお湯を注ぐ。
2.10秒ほど待つ。
3.茶葉が沈んだら、カップに注ぎます。
4.茶葉の香りを楽しみながら、ゆっくりと飲みましょう。
紅茶の入れ方は、風味、味、香りを最大限に引き出すために、紅茶の種類、紅茶の水温、抽出時間など、多くの要素が関係しています。まず、沸騰したお湯を1カップ分用意しましょう。次に、ティーバッグを1杯分の紅茶に入れます。沸騰したお湯を注いで、3〜5分間待ちます。ティーバッグを取り除き、ティーカップに注ぎます。お好みの量の砂糖を加え、お楽しみください!

 

この表からも分かるように、事前学習モデル(PLaMo-13B)では意味不明な出力が多く、稀に有用な回答を出す程度ですが、指示学習により意味の通る出力が増えていることが分かります。

モデルの評価

公開モデルの評価には、Rakuda benchmark を用いました。Rakuda benchmark はLLM-as-a-Judge [3] と呼ばれるGPT-4を用いた自動評価の日本語データセットとプログラムです。

問題は40問あり、各質問と質問に対するLLMの出力についてGPT-4にスコア1からスコア10の10段階で評価させ、各質問の結果のスコアについて平均を取ったものを最終的なスコアとしています。LLM-as-a-Judgeはモデル間の比較によるランク付けに使われることが多いですが、今回は有意義な出力がどの程度含まれるかを調べる目的で使用しているため、モデル単体でのスコアで比較しています。

図1: 各モデルの Rakuda Benchmark と GPT-4 を用いた10段階評価の平均スコア

このように、指示学習モデルでは平均のスコアがそれぞれ「PLaMo-13B-Instruct」で2.00ポイント、「PLaMo-13B-Instruct-NC」では3.65ポイント、PLaMo-13Bと比較して改善しています。

スコアの箱ひげ図とスコアの分布を Appendix に載せておきます。箱ひげ図を見ると分かるように、「PLaMo-13B-Instruct」ではPLaMo-13Bと比較して品質の高い出力が多くなり、さらに比較的品質の高いAlpacaの翻訳データセットを加えた「PLaMo-13B-Instruct-NC」では、品質が低いと判断された出力を大きく減らせていることが分かります。

使い方

Pythonコードで試すことができます。詳しい使い方は huggingface リポジトリのREADME を参照してください。

特徴・詳細

学習

分散学習には ZeRO に類似した分散学習方式の PyTorch 公式実装である Fully Sharded Data Parallel を用いています。

学習はAlpaca [4] の学習設定を参考に、表2のようなGPU数とハイパーパラメータで行いました。

表2: 学習設定とハイパーパラメータ

GPU数 epoch数 学習率 学習率の warmpup 割合
A100 x 4 5 1e-5 0.03

データセット

データセットに関しては、複数の日本語に翻訳されたデータセットをできるだけたくさん入れる方針で選定しました。詳しいデータセット一覧は README を参照してください。

現状の課題

学習モデルの改善

今回は指示学習(instruction tuning)としてfine-tuningを用いましたが、近年ではReinforcement Learning from Human Feedback (RLHF)と呼ばれる強化学習を組み合わせた手法を指示学習後に組み合わせることが多くなってきています。PFNでも今後このようなモデル改善を検討していきます。

日本語の指示学習データセットの必要性

今回のようにより多くのデータセットを用いる方針は、有名な論文の LIMA [5] の少量のデータセットで高い精度を達成する方針とは真逆ですが、その方が自然な出力が増えたため今回はこの方針を採用しました。完全な人手による高品質なデータセットが使えず、機械翻訳のデータセットだけであっても、ある程度量を確保すれば自然な出力が増えるようです。しかし、データセットの品質では人手で作成したものには劣ってしまいます。

実際、Alpaca の翻訳データセットのような比較的高品質なデータセットを加えることで特にスコアの低い回答が改善している(図2)ことを考えると、より高品質なデータセットの導入によって、特に低品質な回答を抑えることができるのではないかと考えられます。

指示学習モデルの評価の難しさ

指示学習モデルの評価には、human evaluationや今回行ったような別のLLMを用いた自動評価、様々なベンチマークのデータセットなどがありますが、一貫して定量的に評価するのは難しいのが実情です。

今回、開発において GPT-4 と Rakuda Benchmark を用いた自動評価は特に役立ちました。単純に手作業で確認する労力を節約できるだけでなく、これによって発見できたソースコードのバグもありました。一方で、今後、作成したLLMの出力が非常に高品質になり、スコア1-2のような低品質な出力がなくなってくると、今回の評価指標だけですべてを測るのは難しくなってくるのではないかと考えています。例えば、Rakuda Benchmarkは高品質なベンチマークですが、日本の地理や経済・政治など日本の話題に特化したデータセットなので、わずかな最終スコアの差は手元でLLMを動かして試した結果とややギャップがある場合もありました。自動評価用の他の日本語ベンチマークには Stability AI Japanese MT-bench もありますが、使用用途によっては、今後このような新しいベンチマークを作ることも必要になるのではないかと思っています。

求人

PFNでは基盤モデルやその計算基盤に関する様々な仲間を募集しています。これらの仕事に興味がある人は、ぜひご応募よろしくお願いします。

参考文献

  • [1] Jason Wei, Maarten Bosma, Vincent Zhao, Kelvin Guu, Adams Wei Yu, Brian Lester, Nan Du, Andrew Dai, Quoc Le “Finetuned Language Models are Zero-Shot Learners.”, 2021.
  • [2] Hugo Touvron, Thibaut Lavril, Gautier Izacard, Xavier Martinet, Marie-Anne Lachaux, Timothée Lacroix, Baptiste Rozière, Naman Goyal, Eric Hambro, Faisal Azhar, Aurelien Rodriguez, Armand Joulin, Edouard Grave, Guillaume Lample “LLaMA: Open and Efficient Foundation Language Models.”, 2023.
  • [3] Lianmin Zheng, Wei-Lin Chiang, Ying Sheng, Siyuan Zhuang, Zhanghao Wu, Yonghao Zhuang, Zi Lin, Zhuohan Li, Dacheng Li, Eric. P Xing, Hao Zhang, Joseph E. Gonzalez, Ion Stoica “Judging LLM-as-a-judge with MT-Bench and Chatbot Arena.”, 2023.
  • [4] Yizhong Wang, Yeganeh Kordi, Swaroop Mishra, Alisa Liu, Noah Smith, Daniel Khashabi, Hannaneh Hajishirzi. “Self-Instruct: Aligning Language Models with Self-Generated Instructions.”, 2022.
  • [5] Chunting Zhou, Pengfei Liu, Puxin Xu, Srini Iyer, Jiao Sun, Yuning Mao, Xuezhe Ma, Avia Efrat, Ping Yu, Lili Yu, Susan Zhang, Gargi Ghosh, Mike Lewis, Luke Zettlemoyer, Omer Levy “LIMA: Less is More for Alignment.”, 2023

付録

図2: Rakuda Benchmarkの各モデルのスコアの箱ひげ図

 

 

図3: Rakuda Benchmarkの結果のスコア分布

 

 

  • Twitter
  • Facebook