AI ClusterのダッシュボードをChat GPTに作らせみた。

Chat GPTでダッシュボードを作った。https://dashboard.slow-fire.net/

最初は、自分の持っているドメインの単なるテストページとして作っただけだった。(www-test.自分の持っているドメインの全てでも同じ内容が表示できる。)ページにアクセスした人の情報を表示する、よくある確認用のページ。GeoIP、回線、ブラウザ、解像度。ブラウザやネットワークが、普段こちらへ渡している情報を遊び心で可視化していただけだった。

しかし、Chat GPTで改造を続けるうちに、このページは少しずつ変質していった。

最初は machine telemetry だった。ネットワーク状態、RTT、HSTS、GPU、デバイス情報。静かな observability dashboard のようなものになっていった。そこへ LLM を接続した瞬間、GPU がただの計算装置ではなくなった。まるで、そこに微かな生命が宿ったようだった。さらに、長年蓄積され続けた Last.fm の膨大な再生履歴と、リアルタイムの再生情報を流し込むことで、今度は人間側の telemetry がページへ入り始めた。このページに表示されるものは、全て事実で構成されている。GeoIP も、RTT も、地震情報も、音楽も、リアルタイムの人間の行動そのものだ。

自分の音楽の聴き方は、ジャンルとしては広い。しかし実際には偏りがあり、ある時突然、特定の空気感の曲だけを延々とヘビーローテーションし始める。その変動を見ていると、アニメ『Psycho-Pass』のサイコパス係数のようだと思った。普段は静かに安定しているのに、ある瞬間だけ、明確に drift する。以前から、こうしたものを形にしたかった。しかし、何を作ればよいのか、どのタイミングで成立するのか、自分でもわからなかった。

最後に残ったのは、単なるテストページではなかった。これは、自分の音楽と、そこに滞留している意識のダッシュボードになってしまった。

 

閑話休題

 

トップページはいつのまにか、アニメ Psyco Pass調に。Active ListenningはよくあるNow Playingだが、ここは、Last.fmトリガーで完全にLLM駆動の部分で、裏で様々な判定が行われている。コメントも全てローカルLLMが書いている。元はにLast.fmのAPIから引っこ抜いてきているだけだが、現在と過去をAIが認識している。たとえば、再生する曲がドリフト(全然違うジャンルの再生の傾向)を検知するとアラートが出るようになっている。音楽が再生されるたびに、変化が起きるたびにGPUが反応する。いわば音楽監視というか感情監視というか。しかし、この機能、いつのまにかこのページの中核になってしまった。出来栄えとして、Roonにつけて欲しい機能になってしまった。

下のAccess Signalは、最初のテストページにあったもの。機能はそのままでデザインだけ変えて残してある。

 

下にスクロールすると、GPUホストのダッシュボードがある。もちろんLLMは音楽再生だけではなく、Open WebUIやN8N、OpenClawでも共有で使えるようになっている。また、画像生成は、ComfyUIで動かしている。このダッシュボードでGPUの働きっぷりがわかる。音楽再生寺は静かに動き、Open WebUI、OpenClawやComfyUIを加速的負荷が表示される。

以下のUIは、前のUIで、今はデザインも違い、情報量も多いが、参考のキャプチャとして紹介する。5060TIは、VRAMが16GBしかないのに電気バカ喰い。今となっては、VRAMの容量と消費電力を考えるとdGPUの必要性はないかもしれない。逆にStrix Halo/EVO-X2はちょいちょい動くが消費電力は少なく、ファンの音も気にならない。テレビの裏に置いているから、テレビの音でかき消されている?多分、すごく静かな部屋だったら、ファンが不定期に回るので気になるかもしれない。それにしてもdGPUマシンよりだいぶ静かかも。

というわけで5060TIは完全に電源落とした。電源を切るとちゃんといないことを教えてくれる。

さらにQNAPに搭載のGPUも見れるようになっている。QNAPのGPUはVRAM2GBなので、簡単なものしか動かないが、よく考えたら、NPUのないパソコンのタスクモデルで使うといいかもしれない。しかし、Strix HaloのNPUと同じくらいの性能で電気消費量が高いとなるともはや使い道がない。Strix Haloがなければ使い道があったが。もし、NPUマシンがなく対応していて、多少の電気代が払えるのであれば、VRAM2GB程度のGPUはいれてもいいかもしれない。ある意味、最高、最速を求めない使い方。

個々のマシンのグラフ自体は相関関係が見えて面白い。この手の出力は、1台だけの情報でも複数のコマンドを打つ必要があって取り出しにくい。さらにGPUベンダーの違いもあるし、NVIDIAでもdGPUとDGX Sparkでも値の取り方が違う。どうやったかというと、値をひたすらとって、jsonにおまとめするpythonコードが動くコンテナを作った。Webページはそれを拾っている。なので、jsonだけ取り出せば簡単にAPIでステータスが取れるという副産物までできた。

また、インフラとNASのダッシュボードを作った。

インフラは監視は、大元では細かく取っているが、詳細をお見せすることはできないので大体の内容を表示するようになっている。

NASで気になるのは、帯域という人もいるかもしれないが、帯域が出ていない場合は、設定の問題だとしたら、設置時に問題になるし、環境の問題だとしたらなんかしらのアラートが出ると思うのでこのダッシュボードには入れなかった。しかし、CPU負荷と温度は、NAS用のGrafanaなどを立てていなければ、NASあるいはNASベンダーのサイトにログインしないとわからない。まして、これらは体感では決してわからない。

QTSが遅いのかTS-464が遅いのか、TS-464のSNMPが遅い。以前、Grafana ダッシュボードを作ったが、QNAPで派手にSNMPWALKをするのはおすすめしない。特にQNAP専用のSNMPを叩くと遅い上にSNMPのサービス自体が無言で落ちるので軽めのSNMPだけにした。

TS-453Beは、膨大なオフラインデータが駄HDDに入っている。普段は使わないので電源オフ。整理して1台にしたいのだが、1台にしたNASがパンクして2台になった。まだ、これ以外に8本くらいHDDが眠っている。。。ここら辺のHDDは、自分が死んだら、秋葉原最終処分場。に持ち込んで欲しいところ。

あとは一台だけ余っているSynologyは後日足すか?リクエストがあれば足すかなぁ。

 

今や、アプリ開発者がいない、お金がないからからアプリは作れないなんていうことは過去の話。プログラムコードのスキルより、企画力や仕様の決定、プロンプト、ドキュメントの書き方が重要で。どのようににつくるかではなく、何のために必要でどういう結果をもたらすかが重要。ある意味AI導入の障壁は、AIの使い方とAIを入れると起きる変化に対応できるようになっていないからかもしれない。

もう、Chat GPTとCodex様様で、独創性のいらない作業であれば、中途半端なプログラマー、デザイナー、運用担当はそんなにいらなくなるかもしれないと思った。

今やアラジンの魔法のランプのように願えばアプリができてしまう。だから願い(目的)は重要なのかもしれない。

破壊的な変更が起きている。一番重要なのは、破壊的な変更が起きていることを認識することで、破壊的な変更に気がつかない状態が一番脆弱ということかもしれない。

コメントする