はじめに
どうもこんにちはこんばんは、S高2期通学生のKen_Cirです、今回は僕がTensorflowで会話AIを作るときに衝突した物理的問題(特にGPU)の話をします、もし今後機械学習する方の参考になれば幸いです。
そもそもなんで会話AI?
これにはいろいろと理由があります、第一にただ話し相手が欲しかったからなんですけどね。
ただ会話AIってのは非常に奥深い気がします、学習パターンとかモデルとかデータセットを変えれば根本的に変わる気がします。
今回僕が会話AIを作るのに参考にした記事は以下に載せておきますので、興味のある方はぜひぜひ!
今回学習に使用したPCやクラウド
1. ゲーミングWindows
まず僕は自分が使っていたゲーミングPC(BTO)を使用しました、比較的少ないデータならなんとか動いてくれたのですが、
かなり大量にデータを増やしたらVRAM(GPUメモリ)不足で動いてくれませんでした。
スペックは以下の通り
- CPU:i7-12700
- GPU:NVIDIA GeForce RTX 3070 Ti
- RAM:16GB
メリット
- 既にゲーミングPCがある人は新たにPCを買わなくていい
デメリット
- 機械学習中はゲームできない(GPUを使用しないならいけるかも)
- GPUにもよるが、かなり大量のデータ学習には向いていない
話がずれますが、state diffusionを動かしたときも8GBのVRAMをほぼ使い切るほど重かった記憶。
これじゃあ会話AIといえるAIが作れないじゃないか!ということで次に使用したのはGoogle Colaboratoryです。
2. Google Colaboratory
天下のGoogle社が提供している、Web上で機械学習ができるという素晴らしいサービス、
ゲーミングPCを持っていないという人にとっても気軽に機械学習を試せるので使いやすいです。
課金すればそれなりの大容量のデータセットでも動くので一時期は本当に助かった記憶。
僕はColab Proを1ヵ月ほど使っていました。
メリット
- 制約はあるが無料で使える
- 有料だとかなり高性能なGPU(A100など)が割り当てられる
- 手軽に試せる
デメリット
- 無料版だと12時間で初期化される(データが飛ぶ)
- 課金しても動かせる時間は決まっているのでそこア編を注意して使わなければならない
正直Google Colabでも十分だと思います、が長期的や、AI系のサービスを提供する場合はGPUサーバーが必要になってきますよね。
3. GPUサーバー(Ubuntu)
GPUサーバーって言っていますが実態はUbuntuにGPU積んだサーバー機です。
ゲーミングPCを犠牲にできない、クラウドサービスは長期的に見ると金銭的に厳しい、という結果今まで貯めたお金を犠牲にGPUサーバーを構築しました。
スペックは以下の通りです。
- CPU:i5-12400F
- GPU:NVIDIA RTX A4000
- RAM:32GB
RTX A4000の相場は価格comによると13万円~18万ほど、ただ僕はメルカリで9万ほどの中古品を手に入れることができました。
導入した結果
めっちゃ爆速
ゲーミングPCとは比にならないほど早かったです(当たり前)、Google Colabより性能は劣りますが、個人でやる分にはこれくらいで十分な気はします、ただもう少しいいGPU欲しかったな。
メリット
- 一度導入すれば時間とか気にせず好きなだけ回せる
- サービス提供も可能
- サーバー機なので機械学習以外にも使用可能
デメリット
- GPUは高い
- VRAMやcudaコアは増設できないのでGPUは慎重に決める必要がある
- 電気代などの別問題も発生する
本当にお金に余裕のある人にはおすすめします、ただ維持的な問題や電気代など色々課題が多いのが難点。
ただ僕はサーバーに飢えていたので、機械学習以外にも転用できるのを考えると、まだマシなのかな...
もしGPUサーバー自作する人が居たら、GPUは許す限り高性能のやつ買っておきましょう。
AIを作ってみて思ったこと
高性能のAIを作るにはその分高性能のGPUも必要なのか...ってのを実感させられました。
OpenAIとかMidjourneyとかはどんなGPU使っているのかな、ってのも結構気になっていたり。
ただ最近はGoogle Colabとかで手軽に試せるので比較的ハードルは下がったのではないでしょうか。
ぜひもっとAIに興味を持ってくれる人が増えてくれるといいですね。
今度は音声合成AIでも作ってみようかな。
終わりに
なんかもう少し技術方面の記事書きたいなーと思ったんですが、自分の機械学習に対する理解が全然ないのでほぼ他記事便りにしながら会話AIは作っていました(笑)
ただその際物理的問題(ほぼGPU)に当たったので、もし今後機械学習する方の参考になれば幸いです。
最後まで見てくださりありがとうございました!