ACRiルームのGPUで生成AI自動プログラミングを試す方法
大規模言語モデルの進化によりゲーム用のGPUで実行できるサイズのモデルであってもかなり実用的な精度と速度で生成AIを利用できるようになってきた。Gemma 3は多言語に対応していて、翻訳や英文の添削、領収書の写真から情報を読み取るなど日常的なタスクには十分な能力があると感じる。
一方で、ゲーム用のGPUではVRAM容量が限られ、長文の生成やプログラミングなど長いコンテキストを扱うタスクには不十分であることも分かった。
ACRiルームではAMD Instinct MI210という64GBの大容量VRAMを搭載するGPUが無料で提供されているため、これを使って生成AIにプログラミングを行わせてみる。ACRiルームは以下のサイトから利用できる。
手順
ACRiルームのサーバーを利用してollamaを動かし、ローカルのVS Codeから接続してClineを動かす。
ollamaの起動
as006を予約してsshで接続する。サーバーではroot権限がないため、Rootless Dockerを利用してollamaを動作させる。Rootless Dockerのセットアップ方法は以下を参照。
配布されているDockerイメージはそのままでは動かなかったため手順を工夫している。
# スクラッチ領域にモデルを保存するディレクトリを作る(うまく使われていない?)
mkdir -p /scratch/$USER/ollama
cd /scratch/$USER
# 一旦bashを起動して必要な設定を行ってからollamaを起動する
docker run --device /dev/kfd --device /dev/dri -v ollama:/root/.ollama -p 11434:11434 --name ollama -it --entrypoint '' ollama/ollama:rocm bash
groupadd -g 109 render
usermod -a -G render root
newgrp render
/bin/ollama serve
モデルのダウンロード
別のターミナルを開いて以下を実行するとモデルのダウンロードが始まる。
docker exec -it ollama bash
/bin/ollama pull gemma3:27b
SSHによるポート転送
ローカルのVS Codeからリモートのollamaを利用できるようにsshコマンドでポート転送を行う。都合によりローカルポートに11444を設定している。
ssh -L 11444:as006:11434 USER@gw.acri.c.titech.ac.jp
Clineでollamaを使うように設定
次のように設定した。Model Context Windowは76K程度までなら設定して問題なく動作した。Gemma 3としては128Kまで対応しているが、大きくすると64GBのVRAM容量では不足するらしい。
動かしてみる
Actモードで指示を出してみた。AIが自分で何を作るかを考えて、html/css/javascriptを生成した。
生成されたindex.htmlをブラウザで開くと、特にエラーがでることもなく黒い背景を白い点が一方向にゆっくり動くデモが表示された。
Discussion