6/27-28で”Microsoft Build Japan”のいくつかのトピック(オンライン)に参加しました。
各内容については、”AI”を中心とした話題でした。
今回は私が参加したトピックの中で頻出単語だった”LLM”について記載しました。
LLMとは
まずLLM(Large Language Model)とは、和訳すると大規模な言語モデルという意味になりますね。大規模なデータを学習することで、質問への応答・翻訳・コーディング等の様々なタスクを可能にしたモデルのことです。
またLLMは、自然言語処理(NLP :Natural Language Processing)分野の一部を指します。
代表的なLLMって何かというと、GPT(Generative Pretrained Transformer)シリーズです。
GPTをすごくざっくりまとめると、トランスフォーマーベースの大規模言語モデルという意味になります。
”トランスフォーマー”という単語の意味は、自然言語処理分野の中で押さえておくべきだと思います。なぜなら皆さんが想像するAIには、トランスフォーマーという概念が組み込まれているため。(※現在の主流みたいなものです)
そのGPTなんですが、名前を見てピンと来る方もいると思います。
そう最近有名のChatGPTに使われています。
最近ChatGPT3.5とか4とか聞きますが、3.5とか4の数字ってGPTというLLMのシリーズのバージョンの事です。
LLMを理解する上で大事なことは、L(Large)とLM(Language Model)を分けて理解することだと感じました。
・L(Large)つまり、大規模とは何ぞや?
・LM(Language Model)つまり、言語モデルとは何ぞや?
このように分けて理解することで非常に概要はつかみやすかったです。
L(Large:大規模)について
大規模ってそもそも何の規模を指しているんですかですが、これは事前に学習したデータセットの規模になります。データセットはテキストデータの事を指します。
データセットの量をパラメータ数といいますが、これが一定を超えれば大規模になるようです。厳密な基準はない?ようですが、調べる限り1000億(一兆)が基準なのかと思います。
ChatGPTに使用されている言語モデルのGPTは、1750億のパラメータ数を持っているようです。(イベントで言ってました)
当然パラメータ数が多ければ多いほど、性能が向上するわけです。
知識がたくさんあるかないかで試験のパフォーマンスが変わるのと同じと思います。
ただイベントではパラメータ数が多ければいいってわけではないとも言ってました。
“量より質”という考え方も大事にしろよということだと思います。
また大規模なことにより、それまでできなかったタスクもできるようになるようです。
これを創発的能力と言うようです。ChatGPTなどにもこの能力があるおかげで、文章作成・翻訳・コーディングなどの様々なタスクことをこなしてくれるようです。
よくAIって特定のタスクしかできないから・・・とか数年前は言われていた気がしますが、そんな時代はもう古いようです…頭良すぎますね…
きっとAIは学習した知識を忘れてないと思うので、少し人間に分けて欲しいですね…
LM(Language Model:言語モデル)について
言語モデルとは何ぞやってことですか、これは少し前で触れたようにトランスフォーマーベースの言語のことです。
トランスフォーマーという考えが2018年頃に出てきたようで、それ以前の言語モデルで使用されていたベースの考え方とは異なるようです。
トランスフォーマーだと何がすごいのかですが、大きく以下の2点があるようです。
・GPUによる並列処理が可能
・事前学習(pre training)と微調整(fine tuning)が可能
以前はデータセットの並列処理をすることが難しかったようでしたが、トランスフォーマーによりそれが可能になり、言語モデルの大きな発展につながったと言う記載がありました。
またデータセットの処理をする際はCPUではなく、並列処理を得意とするGPUを使用するのが一般的なようです。
そして微調整(fine tuning)が可能なことで、各々のタスクに対して最適化された回答を出せることが可能になります。これによりChatGPTに質問しても、精度の高い回答が返ってくるのだと思います。
ちなみにトランスフォーマー以前は、ニュートラルネットワークによるアプローチがなされていたようです。