ChatGPT・Large Language Model(LLM)概要解説【後編】
こんにちは!Hi君です。
前編では「ChatGPT」について解説しました。後編ではそもそもの技術としてLarge Language Model (LLM) についてまとめてみます。
LLMとは
■LLMとは何か
・LLMは、大量のテキストデータを学習して自然言語処理を実現するためのモデル、あるいは技術体系を指します。
▶ChatGPTはLLMを利用したサービスです。
▶LLMには深層学習(Deep Neural Network)と呼ばれる種類の数理モデルが用いられています。そのモデルのパラメタ数が膨大であることから、"Large"と呼ばれます。
▶例えば深層学習・AIブームのきっかけになった、ILSVRC2012コンペティションで使用されたAlexNetと呼ばれる画像認識用DNNモデルのパラメタ数は6000万とされています。一方で、例えばChatGPTで使われているGPT-3.5モデルでは3550億とまさに桁違いのパラメタ数である事が伺えます。
└さらに言えば、最先端のモデルの一つであるGPT-4のパラメタ数は100兆とされています。
└ちなみに人間の全脳の細胞数は一説では860億とされています。数値のみの単純比較はできないとはいえ、オーダーとしてはその程度となります。
▶そのパラメタ数の膨大さを背景に、膨大な教師データを用意する事で、結果的に膨大な表現力・利用用途を持たせる事ができます。
└例えば、自然言語入出力のみに完結せず、画像など別の種類の情報も同時に扱う(Multimodalな)LLMモデルも出てきています。
▶特にLLMの中でもGPT(Generative Pre-trained Transformer)とよばれる種類のモデルが近年突出した着目を浴びています。
■LLMで何が出来るか
・LLMの応用例には、自動文章生成、対話システム、機械翻訳、文書要約、質問応答、文書分類、テキストマイニングなどがあります。
・特に近年では、いわゆるページランク型のGoogle検索に対抗し得る、検索エンジンのパラダイムシフトの要素として着目されています。
■LLMを利用したサービス
・ChatGPT: OpenAI社が開発している、LLMを利用したサービスです。
・Bing AI: Microsoftが開発している、LLMを利用したサービスです(OpenAIとMicrosoftは提携関係にあります)。
・Bard: Googleが開発している、LLMを利用したサービスです。
・DeepL: ChatGPT的なモノではないですが、大規模な翻訳用DNNを利用しています。
現在入手できるLLMの例
■オープンソース的
・LLaMA: Meta (旧facebook)発。
▶ホワイトペーパー等: https://ai.facebook.com/blog/large-language-model-llama-meta-ai/
▶比較的ローエンドな実行環境でも動作するLLM。7B(70億)、13B、33B、65Bモデルが提供されている。
▶AlpakaやDoryなどの派生がある。
└AlpakaについてはLoRAによる日本語fine-tune版も最近出てきている。
▶公式のコードについては非商用利用限定。また、訓練済モデル利用のためにはリクエストフォームに情報記入し利用承認を得る必要がある。
▶Lightning-AIがLLaMAモデルをApache-2.0コードで利用できるコードを公開している。
・GPT-NEOX: EleutherAI発。
▶GPT-3に似た構造の200億(20B)パラメタモデル
▶huggingfaceのTransformersライブラリを経由して利用可能
└Transformersの日本語版ドキュメント
└Transformers自体はApache-2.0ライセンス
▶ABEJAがMITライセンスの日本語対応モデルを公開している。
└但し、27億(2.7B)パラメータで比較的小規模
・Cerebras-GPT: Celebrus発。
▶111M〜13Bまでの様々なパラメタサイズのモデルが公開されている。
▶Apache 2.0ライセンス
▶オープンソースでGPTベースの大規模言語モデル「Cerebras-GPT」7種類が一気に誰でもダウンロード可能に
・RWKV: BlinkDL発。
▶関連リポジトリ含めApache-2.0。
▶TransformerベースのアーキテクチャモデルではなくRecurrent Neural Network(RNN)ベースのモデル。比較的軽量で高速。
▶利用のためにはChatRWKVのコードを見ながら実行する必要がある。
└RWKVをローカルPCで動かす(pyenv/Docker)
※プロンプトに"+gen"を付ける必要があるなど、多少つまづきやすい点はある。
└ChatRWKVのコード自体は多少開発途中感があり読みにくい点があり、実利用の際には要リファクタリング
▶日本語対応版モデルも出てきている。開発スピード感はある。
└https://huggingface.co/BlinkDL/rwkv-4-raven/tree/main
■クローズ的
・GPT: OpenAI発
▶ホワイトペーパー: Language Models are Few-Shot Learners
▶Microsoftが開発支援・情報共有を行っている。
・LaMDA, PaLM: Google発
▶Googleが検索に導入するBardとは? LaMDAをベースにした対話型のAIアンサーエンジン
▶グーグル、大規模言語モデル「PaLM」のAPIを発表
■法律面
大規模言語モデル(LLM)に関連するビジネスを展開する際に留意すべき法規制・知的財産権・契約, 柿沼太一
■リスク等
・何かしらのLLMを使った自社サービスを開発・公開する場合はプロンプトインジェクション対策は必要になる可能性が高いです。
▶More than you’ve asked for: A Comprehensive Analysis of Novel Prompt Injection Threats to Application-Integrated Large Language Models
関連記事
■自然言語処理全般
・自然言語処理の技術紹介:危険すぎる(GPT-2)モデルと関連する技術を試してみた話(簡単な翻訳、ニュースの内容とFX動きの予測), GMO INTERNET GROUP
▶GPT-3以前のNLP用ニューラルアーキテクチャの変遷・歴史的経緯に詳しい。
■GPT関連
■Transformerモデル, Attentionモジュール
・Transformer, Attention: 多くのLLMの構成に使われているモデル・モジュール。
・30分で完全理解するTransformerの世界
・数式を使わないTransformerの解説(前編)
以上です!
前編・後編にわけて、ChatGPT、その背景にあるLLMについてを解説してみました。
次回は3Dシーンを生成する「NeRF」について調べてみたことを投稿します!
文:Hi君
協力:inaho株式会社