【AI関連】第1章 LLMを用意する(概念編)
前回の続き
前回の振り返り
AIをやってみるとは、「ビッグテックが作ったLLMを活用していくこと」というのが僕なりの答えになった。そうとなればLLMを用意しないといけない。なので今回はLLMを用意するというところを考えようと思う。
LLMを用意するとは
AIを活用するなら目の前に動くAI、つまりLLMが必要になる。単純にそれを用意することを指す。ChatGPTなんかのサイトにログインしたらOpenAI製のLLMとおしゃべりできるからそれで準備完了でしょ?と思うかもしれないが若干それは違う。ChatGPTのサイトはWebサイトの入力欄というヒューマンインターフェースを介してLLMとやりとりをしている。LLMを活用していくには、LLMとやりとりをするためのAPIインターフェイスが必要になってくる。そのためChatGPTサイトなどの人間のためのインターフェイスで活用していくことは難しい。
インターフェースの種類のおさらい
インターフェースというのはざっくりというと「窓口」のようなものだと思えばよい。そのプログラムに対してやりとりをするための「窓口」をインターフェースと呼んでいる。その窓口には、人間がプログラムに対してやりとりするためのヒューマンインターフェース(HI)と、プログラムがプログラムに対してやりとりをするためのアプリケーションインターフェイス(API)がある。
AIを活用するための構成
僕たちがAIを活用していくためには、下記のような構成が必要になってくる。人間とLLMの間に活用するためのソフトウェアが介在する。
[人間]--(1)-->[中間SW]--(2)-->[LLM]
このとき、(1)は人間とプログラムがやりとりするのでヒューマンインターフェース。(2)はプログラム同士がやりとりするのでアプリケーションインターフェイスとなる。
例えばChatGPTのサイトはこの様な構成になっている。
[人間]--(HI)-->[ChatGPT Web]--(API)-->[GPT4 LLM]
なので、僕たちがAIを活用したいときChatGPTを用意してしまうとこうなる。
[人間]--(HI)-->[中間SW]--(HI)-->[ChatGPT Web]--(API)-->[GPT4 LLM]
この構成ではプログラム同士のインターフェイスにAPIではなくHIが来てしまいプログラム同士のコミュニケーションは行えない。これがChatGPTのサイトにログインしただけでは準備にならない理由になってくる。活用したいなら直接APIを介してLLMと繋げられる必要がある。
ではAPIで繋げられるLLMとは?
例えばChatGPTのWebサイトを提供するOpenAI社はGPT4というLLMとChatGPTのサイトをAPIで繋ぐことでWebサービスを提供している。ではGPT4と直接APIで繋ぐ方法はあるのか?というともちろん用意されている。ただAPIアクセスはChatGPTのサイトの利用と異なり、有料となっていてアクセスするたびに費用がかかる。実際にAIを活用しようと思えば何度もLLMに問い合わせすることになるので、その都度費用がかかるとなるとなかなか億劫だ。では何度APIアクセスしても無料の方法はないのか?と考えるだろう。その方法として「ローカルLLM」というものが挙げられる。ちなみにOpenAIがやっているような有料のAPIアクセスはこの記事の中ではクラウドLLMと呼ぶことにする。
ローカルLLMとは?
ローカルLLMとはLLMを自前のマシン上で動かしてしまおうというものになる。自前のマシン上で動いているLLMに対してであれば何度APIアクセスしても無料で済む。じゃあクラウドLLMを使う人なんていなくないか?と思うかもしれないが必ずしもそうとは言えない。なぜならローカルLLMを動かすためのマシンはかなりの性能が求められるからだ。個人範囲であればMacBook Proなどであればある程度十分に動作するが、最低でも25万円もするマシンを用意するとなればそれなりのハードルだろう。初期投資のハードルが高い場合は、気軽に1アクセス単位で課金となるクラウドLLMから初めてみるというのも全然選択肢になってくる。ただ個人の勉強などでは初期投資でAI用のマシンを買ってそこで好き放題APIアクセスをしている人が多いように感じる。
ローカルLLMをPCにインストールする方法
ローカルLLMをPCにインストールする方法としては、「Ollama」というOSSを使用する方法が現在最もメジャーなようだ。僕も元から所有していたMacBookAir M1/8GBモデルに試しにインストールしてみたがものの30分程度でローカルLLMを動かすことができた。(MacBookAirでは回答の生成が遅くもっさり感が否めなかったが・・。)
すでに「Ollama」のインストール方法などはネット上にたくさんあるため、気になる人は「Ollama」を調べて実際にLLMを用意してみてほしい。
Discussion