四畳半のオフィスで70億パラメータのLLMを事前学習した話
はじめに
こんにちは、Lightblueの樋口です。
大規模言語モデル(LLM)は大変注目を集めていますが、日本語で事前学習された公開モデルは限定的です。LLMの事前学習は大きなコストがかかるとされており、公開されているモデルは海外のビッグテックが中心で、国内では2件しか例がありません。
そこで、MosaicMLが開発したMPT-7B(MosaicML Pretrained Transformer 7B)を日本語で事前学習させたモデルを作成し、公開しました。具体的には、多言語データで学習済みのチェックポイントに対し日本語データで追加で事前学習したモデルlightblue/japanese-mpt-7bと0から日本語データで追加で事前学習したモデルを作成しました。
先行リリースとして、まずは、lightblue/japanese-mpt-7bを公開しています。
この記事では、開発手順とモデルの性能評価、さらに実際にかかったコストについて説明します。
4畳半のオフィスでのLLM開発
ChatGPT-4がリリースされた2023年3月以降、AIスタートアップだけでなく社会全体を巻き込んだ大きなうねりが発生しています。
Lightblueでも、社員合宿でChatGPTの活用ハッカソンや、社内文書の活用を支援する検索botのカスタマイズ対応など社内、社外問わず取り組んできました。
一方で、デモはうまくいってもセキュリティ上の理由で活用に進まない企業や、専門用語への対応が不十分であるなどいくつかの課題が見えてきました。
社内のChatGPT活用ハッカソンでも、promptは英語の方がいい結果が得られるといった指摘もあり、事前学習時点で日本語のデータによる学習を強化することは重要であると考えています。
一方で、日本語で事前学習されたLLMというのはほとんど公開されておらず、政府もOpenAIに真っ向から勝負する日本語LLMを作るのは難しいと諦めている節もあります。
そこで、4畳半のオフィスしか持たないLightblueのようなスタートアップが工夫することで、効率的に事前学習も行えることを示すことで、国内のNLPコミュニティに対し貢献し、日本語で事前学習されたよりよいLLMの開発が進むと期待できます。
英語ができないとChatGPTを最大限活用できないというのは、Lightblueが目指すAIの民主化からは外れていると考えており、誰でも等しくこの技術革新の恩恵を受けられるようにしたいと考えています。
開発手順
モデル・データ概要
本記事では、先行リリースする多言語データで学習済みのチェックポイントに対し日本語データで追加で事前学習したモデルlightblue/japanese-mpt-7bについて説明します。
多言語モデルは数多く公開されており、一部のモデルは開発情報も詳しく公開されていますが、多言語データの中に含まれている日本語の割合は一般的に少ないという課題があります。そこで、多言語データで事前学習したモデルから、日本語データのみで追加学習を行うことで、低コストで高性能な日本語LLMの開発を目指しました。
0から学習した場合と多言語データで学習済みのモデルに追加で学習した場合の性能比較やコスト比較は別記事でまとめます。
モデルとして、Mosaic Pretrained Transformers(MPT)を選択しました。MPTはMosaicMLが開発したGPTベースのオープンソースLLMで、商用利用が可能な上に、LLaMA-7Bと同等の性能を有しているとされています。記事執筆時点で、7Bおよび30Bの多言語データセットで事前学習したモデルが公開されており、日本語も対応しています。
追加学習に利用した日本語データは、mC4の日本語サブセットを選択しました。これはHuggingFaceのデータセットとして公開されています。また、データ量は830GBと非常に多いため、このデータセットを使用することにしました。
トレーニング
学習ステップ(max_duration)については、出力を確認し3,000バッチで改善が見られたのでそこで止めています。
評価方法
定性評価として、次の3つの日本語入力に対する出力結果を評価しました。
結果
出力結果一覧を示します。学習が進むに連れて自然な日本語が出力できていると思います。
黒は英語でなに?
すべてでblackと回答できています。
batchが進むについれて、より自然に会話の続きを生成できるようになっていそうです。
好きな食べ物はなに?
追加学習前は意味が通らない答えをしている一方で、学習が進むに連れて自然な応答ができていることがわかります。
Wikipediaのりんごの説明
正確な知識が出力できているかは微妙ですが、日本語として出力できていそうです。
学習にかかる時間・コスト
学習にかかる時間や1秒あたりに学習できるトークン数を以下に示します。
学習を開始してから約118時間後に学習を停止し、そのコストはおよそ66万円でした。
注意すべき点として、バリデーションデータに対するperplexityやlossの算出にも時間がかかりますので、評価ステップ数を増やしすぎるとコストが増えます。今回は重みの保存のみ行い、推論は別のインスタンスで実行し、出力結果の確認は目視で行いました。
結果まとめ
多言語用に学習されたLLM(MPT-7B)の学習済みモデルに日本語の追加学習を行いました。
チャット形式の会話応答において、Instructionチューニングを行わなくても自然な日本語の出力が改善されることが確認できました。
60万円のコストでも、70億パラメーターのモデルに関して、優位に日本語での性能が改善できることが確認できました。
今後のLLM開発
本記事では、多言語用に学習されたLLM(MPT-7B)の学習済みモデルに日本語で追加学習させたモデルの開発手順や性能を報告しました。
0から日本語で学習させたモデルも今後公開予定です。こちらは、本記事で紹介した追加学習の数十倍のコストがかかりますが、現在、開発中で性能の検証を続けているところです。0から日本語で学習させた場合と多言語モデルを追加学習した場合の性能比較も、今後進めていきます。さらに300億パラメータのモデルの開発も計画しています。
また、チャットbotとしてのファインチューニングについても行う予定です。
昨年末より盛り上がっているLLMですが、本当に面白い技術だと思います。もともと、BERTやT5のファインチューニングでメディア企業やコンサル企業へドメイン特化のNLPサービスを提供してきたLightblueですが、パラメータが増えてより性能が向上してきたことでさまざまなユースケースが出てきており、とてもワクワクしています。
AI業界にいて、かつてないほど技術的にできることが増えている印象です。
面白い時代に生きることができ、とてもハッピーですね。
さて、今後、Lightblueでは、プライベート環境でのドメイン特化型のLLMサービスと、SaaSとしての社内文書検索botの提供を強化していきます。
先行しているHuman Sensingのエッジでの提供のノウハウを活かし、LLMサービスもプライベート環境で提供することで、これまで二の足を踏んでいた企業様にもさまざまなユースケースを提案できると考えています。
今回、LLMの事前学習済みモデルの開発・提供を通して社内体制の見直しも図りました。
生成AI特化チームとしてLLabを開設しました!チーム立ち上げメンバーを募集中です。
4畳半(6人掛)から15人掛のオフィスに拡張しました!w
2023年中にカスタマーサクセス、コンサルチームを立ち上げ予定です。こちらもチーム立ち上げメンバーを募集中です。
LLabチームでは、日本語で誰もが便利に使える基盤モデルの開発や提供基盤のGPU環境の整備に取り組んでいきます。これまでもジャーナル投稿や人工知能学会へ参加してきましたが、よりAIコミュニティへのコミットを強化していきます。
最後に、普通の人がみんなAIの恩恵を受けられる社会を作ることに興味を持ってくれた方は、ぜひ、連絡ください。
会社の制度を使って焼肉ランチに行きましょう!
この記事が気に入ったらサポートをしてみませんか?