いままでUbuntu22.04.4LTSでLocalAIを動かしていました。
どうやってもN150に内蔵されているGPUを有効化できなかったので、不要そうなaptのパッケージを削除したり意味なくインストールされたものをアンインストールしてたところ…
再起動と同時にWifiの接続が無くなっていましたw
apt removeが原因のような気もしますが、おそらくintel oneAPI toolkitのオフラインインストーラーでアンインストールしたのがトドメのような気がしますw
raspberry piでも良くありましたが、手動で元に戻そうとすると結構面倒だったり。特に自動でセットアップされて使える状態になっているものだとバージョンによって結構設定の癖が違ってたりするのでどんどん複雑になりがちです。
どうせ再インストールするならと、最初のころ上手く行かなかったバージョンでもう少し再確認してみようかとLTSの最新版となる24.04.2LTS版をインストールしてみることに。
厄介なことにちょうどIntelのWebサーバーのメンテナンスと言うか整備が行われているようで先日まで見れていたダウンロードのページのURLが軒並み消えていました。導入手順は残っていたのですが、リンクも一部欠けていたり、検索で引っかからなくなったり結構面倒な状態。
その影響なのかはわかりませんが、Ubuntu24.04.2LTSのセットアップが失敗するようになっていました。3,4回試した結果、セットアップ時にオフラインのまま行う必要がありました。
Wifi接続でオンラインにすると、インストーラーのアップデートがあるのですが、仮にアップデートしなくてもエラーになったり、追加のドライバやcodecのチェックボックスをチェックしてもしなくても同様にエラーが発生していたのでパッケージのアップデートでタイムアウトするのかもしれません。
セットアップ後にソフトウェアアップデートを行うとエラーになってしまうので、設定でダウンロードサーバーを適当なサーバーに切替てやり過ごしましたが、何とかセットアップが完了。以前インストールしたときはこんなエラーで引っかからなかったのですが。
実際に24.04が起動されるとすでにIntelのグラフィックスドライバーで動作されている状態だったので、あとは必要そうなtoolkitなどをaptでインストールしてみました。
LocalAIをインストールする上で注意することは、
snap curlやsnap dockerなどsnap版のインストールを行わないこと。
curlはsnap版ではLocalAIのインストールスクリプト内でmktempで作成されるフォルダにアクセスできず失敗するため。apt版のcurlであれば問題なし。
dockerはsnap版では機能が制限されているようでdockerのサービス関連が動いていないので一時的な使用には問題ないものの、実際に使うと後から面倒なことになりました。
この辺を踏まえたうえで、インストールしてみると問題なくCPU版までは動くように。
IntelGPUで動かす方法は2つ。3つかな?
一つはソースからビルドすること。もう一つはdockerで動かすこと。もう一つはdocker内にあるバイナリを取り出して設置する方法。
いくつか方法はありそうですが、一番お手軽なのはdockerで用意されているものを使用するのが早そうです。LocalAIの公式ページ上ではdockerコンテナを使用してGPU版のバイナリを扱っているようなので…全体的に細かいこともいろいろありそうですが。
一番の問題はintel GPUなのですが、ちょいちょいスクリプト周りに組み込まれるチェックロジックを試してみて問題なさそうな状態にはなったので、いろいろと試してみましたが、GPUで動作している感じにはなりました。
というのは…いまだにログの見方が分かってないというw
docker版を使う上で問題となっているのがbackendsディレクトリが参照できないとかなんとか表示されてしまうのと、つい最近アップデートしたのか、バイナリ版で起動したものだとかなり表示が改善しているというかなんというか…なんかいい感じです。モデルをインストールした後に再起動が必要だったはずなのですが、それもなんかしなくてもいいっぽい?設定ファイルとかの設定は必須のようなのでそれなりにやらないとだめっぽいですが、それさえすれば再起動させなくてもMODELが動いた感じです。backendに関しては不明ですが。
と、なんとなく動いたり動かなかったりといった感じでどのように動いているのか体験しながら確認していますが、メインで使用している4Bはそもそもチャットだと最初はめちゃくちゃ軽くてレスポンスも早いのですが、長い回答があったりするとそこから結構待つ感じになりました。IntelGPUが使用されるとそれなりに短くはなりますが、dockerかGPU動作のためのオーバーヘッドが意外と長く、メッセージを送ってからCPUが動くまでにタイムラグができているのが気になりました。
dockerのaioイメージを動かしたついでに絵の生成もしてみました。aioといってもMODELは個別に用意する必要がありそうでした。正しく読めていないからなのかaioイメージは単体で最低限のLLMも入っているとうイメージだったのですが、どうも設定周りだけの感じがします。インストールした画像生成LLMが日本語未対応だったりすると嫌なので、humanと入力してみたところ256x256で10分ぐらいかかってました…CPUのみですが。生成された絵はなんかワケワカでしたがW
と、ここで突然電源が切れて落ちました。
どうやらACアダプタが20時間程度で死んでしまったようです…初期不良っぽいので返品対応痛いです…
SSDは別途挿げ替えて使っていたので環境は残りますけども…今日はもう弄れない…残念。