これは米国IBM の SEが投稿した記事によるもので
IBM iのPASE環境にオープン・ソースのローカルLLMを
ダウンロードして導入して動作させる手順を解説したものである。
ローカルLLMとは文字通りローカルのPCやサーバーに
LLM(=大規模言語モデル)を導入してインターネットに接続せずに
ローカル環境だけでAIモデルと会話する構成のことである。
つまり簡単に言えばこの場合はIBM iのPASE環境にAIを導入しようという
試みである。
下記の米国IBM SEによる投稿記事を試してみた。
How to run LLMs on IBM i
https://ajshedivy.notion.site/How-to-run-LLMs-on-IBM-i-1ce662038dd180f8b59bd9cfada2815b#1ce662038dd180c09a8afc165820b895
導入するLLMは Llama.cpp というC言語で書かれたLLMであり
そのLLMのオープン・ソースをダウンロードしてPASE環境に
導入することを示している。
記事では簡単そうに見えるが実際の導入は何度もオーバー・フローのエラーに
見舞われて一晩かかってようやくVer7.3への導入に成功した。
ただしコンパイルには gcc12というコンパイラーが
必要で i5/OS 環境は Ver7.3以上が必要であるので
弊社では Ver7.3に gcc12 と Llama.cppをダウンロードして
導入した。
ただしgcc12によるLlama.cppのコンパイルは恐ろしく時間が
かかるし何度もオーバーフローなどのエラーで停止してしまう。
オープン・ソースの導入はかなり手間のかかる作業である。
彼の記事にはオーバーフローなどのエラー対策も紹介されているが
その程度ではなく繰り返し修正作業が根気よく必要となる。
同じことをLinuxでおこなってみると10分弱で完了するが
PASE環境はやはりAIXの仮想環境のため遅いのだろう。
▼ 弊社 Ver7.3上で動作したローカルLLM画面
■ ローカルLLMとは?
LLM(=Large Language Models:大規模言語モデル)とは
既に大規模なディープ・ラーニングを済ませたAIモデルのことを
言う。特にここで言及しているのは「ローカルLLM」と呼ばれる
ローカル・サーバーやPCに保存してインターネット環境に
接続しなくても単独動作できるAIモデルのことである。
■ 今までのLiteLLM との違い
今まではLiteLLMというオープン・ソースのLLMが公開されていた。
このLiteLLMを使う場合はLLMはローカルに導入しても
AIモデルはクラウドのAIを使うことになる。
そのため
・いろいろな種類のAIモデルを使うことができる
・AIモデルの使用料金が必要である。
・インターネット接続なのでセキュリティの懸念がある。
・API KEYの取得と設定が少し面倒になる。
■ ローカルLLM の利点
ローカルLLMはAIモデルの始めにはLiteLLMと呼ばれる大規模な
LLMがあったが大規模だけにどのバージョンのIBM iにも導入することが
できなかった。
またLiteLLMはローカルには導入するがあくまでもクラウドのAIモデルと
接続するものでありローカルだけで完結するものではなかった。
しかしここにきて「Llama.cpp」という小規模なIBM iにも導入できる
ローカルLLMが公開された。
ローカルLLMはクラウドのAIと接続する必要はなくローカル環境だけで
完結しているAIモデルであると言える。
・ローカル環境だけで完結しているのでクラウド接続の必要がなく
セキュリティ対策としても安全である。
・AIモデルとの接続費用が発生せずコストが安い。
・ローカルなので自社独自の教育が可能である。
・面倒な手続きがなくサーバーさえ起動すればすぐに使うことが
できる。
LiteLLMに比べると
・使用するAIモデルは主に1種類のAIモデルに限られる
・最新の高機能なAIモデルが使えない。
という問題がある。
特にIBM iにAIモデルを導入するときはIBM iは
「ビッグ・エンディアン」というUTFの違いがあり
多くの公開されているAIモデルは
「リトルエンディアン」という型式のUTF型式であるため
簡単にはIBM iでは動作しない。
※リトル・エンディアカとビッグ・エンディアン
同じUTF-8であっても数字り0,1~9の表記がコツ成る場合がある。
ほとんどの公開AIモデルはリトル・エンディアンだがIBM i PASE環境では
ビッグ・エンディアンしか動作できない。
このため変換の必要がある。
■ローカルLLMはまだ問題が多い
ローカルLLMがIBM i上で正しく動作すれば良いのだが
実はまだ問題がかなり多いことがわかった。
・遅い
何と言っても動作が遅い。一般にオープン系のサーバーにローカルLLMを導入するにしても
CPU以外にGPUと呼ばれる高機能なハイスペックの演算装置が必要とされ
これはPCデモ100万円以上する高価なものである。
現在ではPowerSystemにローカルLLMを導入すると返事に10分くらいかかるという
遅さでありとても実用的に応答速度を得ることはできなかった。
・日本語能力に欠ける
日本語の処理能力も劣っていてほとんど会話にならない。
・知識や能力に劣る
IBM iのことはほとんど知らないし前提知識が低すぎる。
…ローカルLLMに対応できるAIモデルは実はなんと約280万個も公開されている。
私てちが知っているAIモデルはほんの一部である。
そこでCopilotなどに相談してCopilotが推薦するAIモデルをいくつか
試してみたのだがことごとく能力に欠けるモデルであり
とても実用レベルではなかった。
■ ローカルLLMは
LiteLLMに比べて簡略的ではあるが手軽にIBM iで
AIを使えるというのは意味あることである。
今は実用レベルではないがやがてマシな使えめローカルLLMが
発表されるかもしれない。
やがてはIBMユーザーは自ら5250画面に向かって
コマンドを叩いてIBM iを動作させるのではなく
AIに指示するだけの時代がすぐにやってくるだろう。
特別な技術の知識や経験がなくても日本語さえ
駆使できれば十分IBM iを使いこなせる時代である。
ローカルLLMはその時代の入り口になるかも知れない。
※ この一連の実験で驚いたことがある。
それは公開されているローカルLLMに使用可能なAIモデルというのは
バイナリのプログラムではなく拡張子.GGUFというバイナリィ・ファイルであることである。
単なる静的なバイナリィ・ファイルがAIモデルとして動作している。
AIモデルが実はGGUF規格という単なるファイルであることは驚いた。
現在公開されているAIモデルは約280万個もある。
ということは我々にも作れそうなのである、AIモデルを。
※ 調査は続けます
ローカルLLMがきちんと動作する日は来るはずなので
この調査と研究は今後も継続する。
