中古パソコン購入!設定編③|パソコンの前にいないまま、スマホからDocker・n8n・Irodori・Bonsai・ComfyUI・Codexまで入れた話

中古パソコン購入!設定編③|パソコンの前にいないまま、スマホからDocker・n8n・Irodori・Bonsai・ComfyUI・Codexまで入れた話 AI制作・自動化

自宅の新しいGPUパソコンへXubuntuを入れ、TailscaleとSSHを有効化しました。

ここまで済ませたことで、その後の環境構築は、パソコンの前にいなくても進められるようになりました。

実際に私は、外出先からGalaxy Z FoldのTermiusを使い、

  • Docker Compose

  • n8n

  • Irodori TTS

  • Ollama

  • Bonsai 27B

  • ComfyUI

  • FFmpeg

  • Codex

まで導入しました。

スマホ自体にRTX 3060の性能があるわけではありません。

スマホはあくまで操作の入口です。

重い処理やダウンロード、ビルドを行うのは、自宅に置いたCore i7、メモリ32GB、RTX 3060搭載のパソコンです。

Docker EngineとDocker Composeを入れる

まずDocker EngineとDocker Composeプラグインを導入しました。

最初、ダウンロードフォルダにいる状態でインストールコマンドを実行したため、

「Dockerをダウンロードフォルダへ入れてしまったのでは」

と一瞬不安になりました。

しかし、apt installや公式インストールスクリプトで入れたDockerは、システム側へ配置されます。

現在いるフォルダは関係ありません。

Dockerのインストール後、現在のユーザーをdockerグループへ追加しました。

最初は、

permission denied while trying to connect to the Docker API

と表示されました。

グループ追加が、現在のSSHセッションへまだ反映されていなかったためです。

SSHを再接続するか、newgrp dockerを実行することで解決しました。

n8nをDocker Composeで起動

ホームディレクトリに、

~/docker/n8n

を作り、最小構成のcompose.ymlを用意しました。

n8nのコンテナには、

restart: unless-stopped

を設定しました。

Docker自体がsystemdで自動起動するため、n8n用に別のsystemdサービスを自作しなくても、パソコン再起動後に自動復帰します。

起動後は、スマホのブラウザから、

http://TailscaleのIP:5678

へアクセスできました。

これで、新しいGPUパソコン上に、自動化の土台ができました。

Irodori TTSをGPU化する

次に、音声生成環境を構築しました。

これまで古いパソコンでは、Irodori TTSをCPUで動かしていました。

CPUでも動きますが、生成と検証にかなり時間がかかります。

新しいパソコンでは、まずnvidia-smiを実行しました。

RTX 3060がXubuntu上で正常に認識されています。

そこで、WebUI版ではなく、APIとして呼び出せるIrodori-TTS-Serverを導入しました。

「OpenAI互換API」という言葉だけを見ると、OpenAIへ従量課金されるようにも感じます。

しかし、これはOpenAIの有料APIを使うという意味ではありません。

OpenAIの音声APIに似た形式で、自宅PC上のIrodoriへ命令できるという意味です。

処理はすべて自宅のRTX 3060で行われます。

かかるのは電気代とGPU負荷だけです。

PyTorchからCUDAを確認すると、

True
NVIDIA GeForce RTX 3060

と表示されました。

Irodori-TTS-Serverを8088番ポートで起動し、/healthへアクセスすると、status: okが返りました。

Irodoriをsystemdで常駐化

手動起動のままでは、Termiusを閉じるとサーバーも止まります。

そこでIrodori用のsystemdサービスを作成しました。

最終的に、

  • loaded

  • enabled

  • active

  • running

まで確認できました。

これで、

  • SSHを切っても継続

  • PC再起動後も自動起動

  • n8nや動画生成フローからAPIで呼べる

状態になりました。

テスト用の音声を生成し、生成したWAVファイルを参照音声として登録するところまで確認しました。

GPU音声生成、API、参照音声登録、systemd常駐化まで完成です。

Ollamaを導入

続いてOllamaを入れました。

systemdサービスが自動的に登録され、

  • enabled

  • active

  • running

になっていることを確認しました。

小型モデルを動かしながらnvidia-smiを見ると、OllamaのプロセスがGPUメモリを使用しています。

つまり、RTX 3060でローカルLLMが動いています。

APIも正常に応答し、n8nからローカルLLMを呼び出す土台ができました。

Bonsai 27BをRTX 3060で試す

以前、古いパソコンでBonsai 8Bを試したところ、小型モデルとしては日本語要約がかなり自然でした。

そこで、新しいGPUパソコンではBonsai 27Bの1-bit版を試しました。

Ollama経由で実行すると、

  • GPU使用率96〜100%

  • VRAM使用量約8.7GB

  • 温度82〜84℃

  • 消費電力約170W

まで上がりました。

RTX 3060 12GBで27Bモデルが実際に動いていること自体は、かなり面白い結果です。

Ollama経由では自己対話が崩壊

しかし、要約結果は不安定でした。

同じ要約文を何度も書き直し、

  • I give up

  • I will stop this loop

  • malfunctioning

など、英語の自己対話を延々と出力しました。

最終的に日本語の要約は出ましたが、実用的とは言えません。

モデルそのものの問題か、Ollama側のテンプレートや実行方式との相性なのかを切り分けるため、PrismMLの公式Bonsai-demo環境を導入しました。

公式Bonsai-demoでは正常に動いた

公式セットアップを進めると、

error while loading shared libraries: libcudart.so.12

というエラーが出ました。

CUDA 12のランタイムが見つからないという意味です。

システム内を調べると、Ollamaのディレクトリ内に、

/usr/local/lib/ollama/cuda_v12/libcudart.so.12

が存在していました。

つまりCUDAランタイムがないのではなく、Bonsai-demoから見える場所に入っていなかっただけです。

LD_LIBRARY_PATHへそのディレクトリを追加すると、Bonsai 27Bが正常に起動しました。

公式環境では、Ollama経由のような異常な自己ループは起きませんでした。

思考部分と最終回答が分離され、日本語の要約を返しました。

生成速度は約35トークン毎秒でした。

27Bモデルとして考えると、かなり速く感じます。

長文要約の品質比較は、今後ファイル入力で行う予定です。

スマホのターミナルへ数千字を直接貼ると、途中で入力が欠けたり、意図しない部分だけが送られたりしました。

長文処理は、対話画面へ直接貼るのではなく、テキストファイル経由で行う方が安定しそうです。

ComfyUI・FFmpeg・Codexも導入

外出先からの作業はさらに続きました。

ComfyUIも導入しました。

これまで古いパソコンではCPU中心で画像生成していたため、生成速度や試行回数に限界がありました。

RTX 3060を使えることで、画像生成だけでなく、動画用素材の作成や複数案の比較も現実的になります。

FFmpegも導入しました。

音声、字幕、画像を組み合わせて動画を作る処理や、形式変換、音声結合、書き出しなど、既存の動画生成フローを新しいパソコンへ移すために欠かせません。

Codexも入れました。

これにより、スマホからSSH接続したまま、

  • コードの確認

  • 設定ファイルの作成

  • Docker環境の整備

  • 自動化フローの修正

  • エラー原因の切り分け

を進められます。

実際にやっていることは、

スマホで自宅パソコンへ接続し、AIにコードを書かせながら、GPUマシンを組み上げる

という状態です。

パソコンの前にいなくても、パソコンを育てられる

今回もっとも強く感じたのは、環境構築のために、必ずしもパソコンの前に座っている必要はないということです。

最初にTailscaleとSSHを通してしまえば、その後は外出先からスマホで接続できます。

スマホはあくまで入口です。

重い処理をするのは、自宅に置いたGPUパソコンです。

しかし、しっかりしたパソコンを家に置き、遠隔操作の経路を作っておけば、その計算能力や開発環境をどこからでも使えます。

以前は、

パソコンで作業するには、パソコンの前に座らなければならない

と思っていました。

今は、

スマホから自宅パソコンへ入り、そこで環境構築や開発を進める

ことができます。

空き時間にスマホを開き、SSHで接続し、Codexに作業を依頼する。

ダウンロードやビルドは自宅パソコンに任せ、結果だけ確認する。

必要なら、n8nやローカルAIの動作をスマホのブラウザから確認する。

これは、スマホが高性能パソコンの代わりになったという話ではありません。

しっかりしたパソコンが一台あれば、スマホを起点に、その能力をどこからでも呼び出せるようになったという話です。

ノートパソコンを毎回持ち歩かなくてもいい。

外出先で高性能な端末を用意しなくてもいい。

自宅に計算資源を置き、スマホを操作端末にする。

新しいGPUパソコンを買ったことで増えたのは、単なる処理性能ではありません。

作業できる場所と時間そのものが増えました。

最後に

新しい中古GPUパソコンを受け取ってから、

  • Windows 8.1環境を救出

  • Windows 11へ更新

  • Office 2013を再認証

  • 980 PROへXubuntuを導入

  • TailscaleとSSHを有効化

  • 外出先からDocker、n8n、Irodori、Ollama、Bonsai、ComfyUI、FFmpeg、Codexを導入

するところまで進みました。

新しいパソコンを買ったというより、家の中に新しい研究室を作り始めた感覚です。

そして、その研究室には、パソコンの前にいなくてもスマホから入れます。

これからは、自宅のGPUパソコンを母艦にして、空き時間や外出先からもAI環境を育てていくことになりそうです。

コメント

タイトルとURLをコピーしました