🫠

オンプレミスで動かすLLM

2024/06/06に公開

あらゆる産業で生成AIの活用が検討される中で、導入自体が難しい代表的な業界が製造業です。製造現場は基本的に外部からネットワークが隔絶されており、GPTシリーズのようなLLM(大規模言語モデル)を利用することができません。従来であればエッジコンピューティングに代表されるようなオンプレミスでの運用も考えられますが、LLMは実行するコンピュータへのハードウェア要求が非常に高いため、研究室機関レベルのコンピュータを用意する必要があり、一般的な工場にそのような機器を導入することは現実的ではりません。

自然言語モデルには “スケーリング則” と呼ばれる原理が存在します。スケーリング則とは、自然言語処理モデルのパラメーター数・データセットのサイズ・トレーニングに使用される計算量の3つの変数が大きくなればなるほど、パフォーマンスが良くなるというシンプルなルールです。スケーリング則に従えばお金を投入すればするほど良いモデルを作ることができるため、MicrosoftやGoogleなどのビッグテックはその資金を数兆円という規模で投資してきました。GPT、Gemini、LLaMaといったLLMはこのスケーリング則の産物と言えます。

モデルが大規模になればなるほど、それを動かすことのできるコンピュータのスペック要求が高くなってしてしまい、限られた設備でなければ運用できないレベルに達しました。2023年の初頭ごろから、大規模言語モデルを小型化することを目指す研究が見られるようになりました。

今回はオンプレミスでも動作する可能性のある “小型の大規模言語モデル” を2つ紹介します。

TinyLlama

シンガポール工科デザイン大学の研究チームから、比較的小型(パラメータ数が少ない)のLLMを極めて大きいデータセットでトレーニングすると、既存のモデルよりもシンプルかつ著しく性能が向上した、という結果が発表されました。
スケーリング則に従うとパラメータ数が多ければ多いほどパフォーマンスが高くなるという論理が存在しますが、そのパラメータ数が多くなればなるほどそれだけコンピュータのスペック要求が高くなるというデメリットがあります。この研究では、小型モデルであっても十分なデータ量でトレーニングをした場合、高い性能が得られるのではないかという仮説に基づいて実験が行われました。

https://arxiv.org/pdf/2401.02385.pdf

論文の公開と併せてHuggingFaceにモデルが公開されており、誰でも利用することが可能です。

https://huggingface.co/TinyLlama/TinyLlama-1.1B-Chat-v1.0

学習時間の短縮

次のグラフは、Pythia-1.0BやMPT-1.3Bという、TinyLlama-1.1Bと同規模の言語モデルが、300Billion(3,000億)トークンのトレーニングをするのに要した時間を示しています。約1兆トークンに対して3エポック(つまり総量3兆トークン)の事前学習を行ったTinyLlamaは、3,000億トークンのトレーニングをするのに3,456時間しか要していません。小型モデルを大量のデータセットで学習させると、追加学習のスピードが最も速くなった、ということが言えます。


画像: “TinyLlama: An Open-Source Small Language Model” より (https://arxiv.org/pdf/2401.02385.pdf)

1 Billion(10億)パラメータ級のモデルでは最高の推論能力

続いての実験では、TinyLlamaの常識推論能力を計測するために、Hellaswag(Zellers et al., 2019)、OpenBookQA(Mihaylov et al., 2018)、WinoGrande(Sakaguchi et al., 2021)、ARC-EasyとARC-Challenge(Clark et al., 2018)、BoolQ(Clark et al., 2019)、PIQA(Bisk et al., 2020)の6つの広範なタスクをゼロショットで実施させました。TinyLlamaは、多くのタスクで他モデルよりも優れたスコアを残し、平均スコアでも、最も高水準であることがわかります。


画像: “TinyLlama: An Open-Source Small Language Model” より (https://arxiv.org/pdf/2401.02385.pdf)

次のグラフは、それぞれの推論タスクにおいて、GPU時間の対数のスケールに対して精度がどのように変化したかについて、TinyLlamaとPythia-1.4Bの数値をプロットしています。どのタスクにおいても、対数が10の4乗から5乗にスケールするタイミングで、Pythia-1.4Bの性能を上回っていることが確認できます。

画像: “TinyLlama: An Open-Source Small Language Model” より (https://arxiv.org/pdf/2401.02385.pdf)

phi-2

続いてMicrosoftが開発する小型のLLMであるphi(ファイ)シリーズの最新版、phi-2の紹介です。

https://huggingface.co/microsoft/phi-2

phiシリーズはオンプレミス環境で動かすことが期待される小型LLMの急先鋒でしたが、発表当初のライセンスは商用利用不可であり、実際に現場で運用する際の選択肢には含まれませんでした。

そんな中、2024年1月6日に突如phi-2のライセンスがMITライセンスに変更され、商用利用が可能となったことが知られるとX上で大きな反響を呼びました。

phiシリーズ

phiシリーズは “Textbooks Are All You Need” という論文で注目を浴びました。

https://arxiv.org/pdf/2306.11644.pdf

この論文の主張は「LLMの性能を大きく左右するのは、事前学習データの量よりも質である」というものです。LLMの開発は前述の通りスケーリング則に従うため、とにかく大量のデータで学習するというアプローチが取られています。先ほど紹介したTinyLlamaのアプローチとは逆のアプローチですが、データセットの質もLLMの性能を向上させるのに重要であることがわかっています。

しかしながら大量のデータの中には質の低いデータの割合が多く、質の低いデータがLLMの性能の低下を招いていると考えることができます。phi-1の研究 “Textboks Are All You Need” では、少量でありながら高品質なデータセットで学習することで、従来型の高性能だが高コストなモデルに匹敵する性能が得られることを示しました。

phi-2はRLHF (Reinforcement Learning from Human Feedback) と呼ばれる、人間のフィードバックからの強化学習を通じたファインチューニングが施されていません。OpenAIのGPTシリーズには非常に強いRLHFが施されているため、ユーザーに危険が及ぶような情報の回答や、一般的な倫理観に反する発言はされないように矯正されています。しかしこのような矯正は、例えば危険物や化学薬品を扱う現場においてはノイズとなります。phi-2にはそのような矯正が施されていないため、現場での活用に向いたモデルであると言えます。

オンプレミスでのLLMの運用は現実的か

TinyLlamaは11億パラメータであり、phi-2は27億パラメータです。GPTやGeminiは数千億パラメータ級なので、それらのLLMと比べると易しいスペック要求ではありますが、それでも市販のコンピュータ上ではスムーズに動作するとは言えません。しかし実行自体は可能なので、即時性を求められないタスクに絞ってユースケースを検討することができます。

しかし注意すべきはTinyLlamaやphi-2に限らずほとんどのLLMは複雑なタスクの処理ができません。また日本語でのQ&Aもサポートしていない場合が多いです。ChatGPTで使い慣れたGPT-4を基準に考えてしまいがちですが、今はまだそれほど頭を使わないような単純なタスクしかできないということを念頭に置く必要があります。

💬 Comment

使ってみた人たちのブログを見ましたが、推論能力がまだ実用に足るレベルではないと感じました。もう少し複雑な推論ができるようになれば、例えばチャットのようなタスクはまだ難しいですが、その1日の作業データを夜間に処理して翌朝にレポーティングするといったタスクであれば実現可能性は高いと感じました。

Dynagon Tech Blog

Discussion