FIXER cloud.config Tech Blog
「Visual ChatGPT」をAzure VM上で動かす方法
2023年07月07日 10時00分更新
本記事はFIXERが提供する「cloud.config Tech Blog」に掲載された「Azure VM上で「Visual ChatGPT」を動かす」を再編集したものです。
はじめに
こんにちは これが2本目のブログとなる日高祥矢です。
今回は少し前に公開されたChatGPTと対話しながら画像生成、画像編集を行う「Visual ChatGPT」のVM上での環境構築などについてまとめてみました。
一応動かすことができたので記事を書いてみたんですけど、まだわからないことも多いので勉強していこうと思います。
僕が使ったVMは既に削除していて文章ばっかになってしまいますが、できるだけわかりやすくを心がけるので参考にしていただけたら何よりです。
あと、英語を翻訳している部分があるんですけど日本語おかしくなってたらすいません、、、
コードはGitHubに公開されているものを使用しました。
1.事前準備
事前に行ってもらいたいのはAPIキーの取得です。
APIキーがないとVisual ChatGPTはまず動かせないので必須です。
必須ではあるんですけど取得方法はそんなに難しくないので、この記事では省略させてもらいます。
2.VMの作成
それではVMの作成に移ります。文章だけの説明になってしまうのは申し訳ないです。
VMの作成で大事なのはサイズについてです。
サイズはVisual ChatGPTのどの機能を使用するかによって変わってきます。
GitHubのページの一番下あたりにそれぞれの機能当たりのGPUのメモリ使用量があるので参考にしてください。
またNvidiaのGPUを積んでいるものを選んでください。
そうしないとCUDAを動かすためにかなりめんどくさい過程を踏むことになります(僕はやってないので何とも言えませんが)
あとは自動シャットダウンを忘れないことですね。結構高価なVMになると思うので財布危なくなるかもです。
それ以外はお好みで特に問題ないと思います(バージョンの関係などで自由の範囲は狭くなるかも)
3.VM作成後の準備
VMを作成したらまずドライバのインストールを行います。
これはAzure portal上で行います。
仮想マシンへ移動→設定の拡張機能とアプリケーションからNVIDIA GPU Driver Extensionを作成します。
完了するとVMが再起動されるのでVM上で作業している場合は注意です。
次にAnacondaをインストールします。
これは難しくないと思うので説明は省略させてもらいます。
Anaconda上で以下のコマンドを実行しGitを使えるようにしておいてください。
4.Visual ChatGPTの実行
Anacondaで環境を作りターミナルに以下の手順で入力していきます。
ここまで完了したらいよいよ実行です。使用したい機能やGPUの数などによって以下のコマンドを少し変更して実行してみてください。
変更する点はどの機能をどのGPUに割り当てるか、またはどの機能を使わないようにするかですね。
5.発生したエラー
ここからはエラーが出た時に僕が行った対処法について紹介していきます。
エラー名:RuntimeError: CUDA out of memory
このエラーが出たときには主に2つの原因が考えられます。
1つ目はシンプルにGPUのメモリ容量が足りない時です。これはコマンドプロンプトで以下のコマンドを入力することで確認できます。
これで確認したときにメモリ容量が足りなさそうなときは機能を減らすかVMのサイズを大きくすることで解決します。
サイズの変更はAzure portal上から行うことができます。
2つ目に考えられる原因はPyTorchとのバージョンの関係性が悪く認識されていないときです。
この時は以下のコマンドをターミナル上で以下を入力して解決することができました。
6.終わりに
Visual ChatGPTを動かしてはみたんですけどなかなか思うような実行結果を出してくれなかったのが正直な感想です。
VMを削除したのもそれが理由の1つです。
記事を書いてから削除するべきだったと後悔しています。
もっとわかりやすい記事が書けるようにこれからも頑張っていきます!
日高祥矢/FIXER
2023年度入社の日高祥矢です。出身は鹿児島県です。高専を卒業しているんですけど工業高校から高専に編入しました。小学校からバスケットをしていて、今も大好きです。
この連載の記事
-
TECH
メタバースのメリットは? 実際の活用事例から考えてみる -
TECH
法人向け「Microsoft Entra ID P2ライセンス」を個人で購入する方法 -
TECH
環境ごとに異なるTerraformのバックエンド設定を効率化、override.tfの使い方 -
TECH
Azure FunctionsとAzureのサービスを連携させる方法 -
TECH
PlaywrightをAzure Functionsにデプロイして動かす方法 -
TECH
Windows Admin Centerとは? ― 2020年代の新しい運用管理のカタチ -
TECH
Azureの管理コスト削減! リソースのタグ付けを自動化しよう -
TECH
Logic Appsでリソースのサブスクリプションを移動させる方法+注意点 -
TECH
生成AIで大注目のOpen InterpreterとAzure CLIを使ってリソースを自動作成してみた -
TECH
AzureのvCpuクォータ制限解除、爆速に改善されていて草 -
TECH
AzureのApplication Insightsでお手軽にお安く? HTTP監視しよう - この連載の一覧へ