どうも、タナシンです(・∀・)ノ
みんな、AIしてる?
さて、前回以下の記事で、ディープラーニングに必要な環境スペックのお話をしました。
ですが、ぶっちゃけこの環境ってどうやって用意すればよいの?という疑問があるかと思います。
ですので、今回はその環境をどのようにして準備すれば良いのかについて、お伝えしていこうと思います!
AI開発の必要な環境の構築方法
機械学習環境の構築方法は主に以下の2種類に分かれます。
- オンプレミスで環境を構築する方法
- クラウドサービスを利用する方法
簡単にお話していきます。
オンプレミスで機械学習環境を構築する方法について
オンプレミスというのは、いわばローカルのマシン環境ということです。
前回の記事でご紹介したCPU、メモリ、GPUの条件を満たしたPCを購入・構築するという方法です。
条件に適したPCを購入する方法
ローカル環境で最も簡単に機械学習環境を用意する方法をご紹介します。
それは
機械学習に適したPCを購入する!
です。
まぁ、お金で解決ってやつですね。
ぶっちゃけ、これが最も簡単です。
組み立て済みを購入することができるので、ネットでポチッとするだけで機械学習環境を構築できます。
ネットで調べてみると、研究用途のディープラーニング用PCなどが検索にかかりますが、パソコン工房などではゲーミング用のGPUを利用したディープラーニング用PCが用意されています。
また、選択しとしてはゲーミングPCを購入するという方法もあります。
前の記事でもお伝えしたように、GPUは元々ゲーム用途で使われることが多いものです。
そのため、ゲーミングPCのBTO会社で販売されているPCは、そのまま機械学習に利用することも可能です。
ドスパラなどはNVIDIA製GPUを積んだゲーミングPCを販売している企業です。
他にもBTOでPCを販売している企業はいくつかあります。
お好きなショップがあればそちらで購入いただいてい構いませんが、1点だけ注意してください。
GPUはNVIDIA製を選んでください!
GPUはいくつか種類があり、NVIDIA製以外のものもあります。(AMD製など)
ゲームをする際はNIVIDIAであろうがなかろうがスペックが満たされていれば良いです。
ですが、以前の記事でお伝えしたように、ディープラーニングはNVIDIA製しかまだ対応していないため、ここは外さないように注意してください。
高いかものですからね!
ゲーミング用PCはそのままゲームに利用できるという利点がありますが、一方でゲームをやらず、機械学習のみをやる人にとってはオーバースペックになりがちです。
ここだけは欠点です。
ちなみに、PCはスペックさえ満たしていればデスクトップでもノートPCでもどちらでも構いません。
ですが、後々の拡張性を考えると、自分で拡張しやすいデスクトップPCをおすすめします。
条件に適したPCを一から構築する方法
PCを購入する方法は非常に楽です。
ですが、自分がほしいスペックズバリそのものを得られない時があるという欠点があります。
もし、機械学習用にしか使わないなら、それ専用のPCを購入すれば良いですし、ゲームもやるといった人であればゲーミングPCを買えばよいです。
ですが、普段遣い+機械学習という用途の場合、ちょうどよい感じのPCが選択肢にない場合があります。
私はそうでした。
そういう場合は、自分の用途にあったPCを一から組んでしまうほうが良いです。
スペックも適切ですし、安いパーツで構成すれば、費用も高くなりすぎずに済みます。
普段遣いを考えると、ゲームはしないからそんなにパワーはなくても良いけどパワポとかメールとか動画視聴くらいはサクサクやりたいとか、DVDドライブとかはいらないとか、USB3.0はいくつかほしいとか、PCは用途によって微妙に欲しいものが変わります。
そんなときは自分で作ってしまうのが一番です!
もちろん、一から作る自信がない人は、まずはBTOで最低限必要なスペックのPCを購入して、拡張するという手があります。
私は初めてデスクトップPCを購入したときはそうしました。
このPCの構築に関しては、後日実際に機械学習環境構築してみた編の記事を投稿しようと思いますので、そこで詳しくご紹介しようと思います。
クラウドサービスを利用した機械学習環境の構築について
次に、クラドサービスを利用した機械学習環境の構築についてお話していこうと思います。
と言っても、こちらに関しては読んで字のごとくです。
世の中で出回っているクラウドサービスを利用して機械学習に必要な環境を構築します。
環境構築から実施するクラウドサービス
クラウド環境を提供してくれるサービスといえば、以下の2つが有名だと思います。
- Amazon Web Service (Amazon)
- Azure(Microsoft)
上記の環境は、クラウド上にサーバを構築し、その中に機械学習に必要な環境を構築する場合に利用する環境です。
いわゆるPaasやIaasと言われるサービス形態です。
この環境の強みは、ユーザ側がほしいマシンスペックを自由に選んぶことができる点です。
機械学習はデータの量や構築するモデルに応じて、必要なマシンスペックが変わります。
ですので、明確に「このデータとこの機械学習モデルでこんなことができるAIを作りたい!」という目的がある方は、これらのサービスを利用すると良いと思います。
一方、弱みとしては使用方法を理解して利用するのが難しい点です。
私はAWSもAzureもちょっと触ったことがありますが、いずれも各サービス自体の使い方を学ばないと環境構築が難しいです。
また、従量課金制のサービスですので、その料金形態を理解せずに使うと、無駄に費用がかさんでしまう場合があります。
もちろん、無料で使える部分もありますので、それらを上手に使ってあげれば、さほどお金は気にせずともなんとかなりますが......
環境構築が不要なクラウドサービス
また、クラウドサービスには機械学習に特化させた環境を提供する、Saasのようなサービスもあります。
例えば以下のようなものです。
- Azure Machine Learning(Microsoft)
- Google Colaboratory(Google)
Azure Machine LearningはGUIベースで機械学習モデルを作成して、AIを開発できるサービスです。
学習のための教師データは自分で用意する必要がありますが、プログラムを一切せずに機械学習させることができます。
予め用意されている機械学習モデルしか利用できないという欠点がありますが、メジャーなものはほとんど揃っていますので、試しに分析したらどうなるかを検証するのに便利です。
一方、Google Colaboratoryは機械学習用のプログラミング環境を提供してくれるサービスです。
Pythonでプログラムできる環境を無料で提供してくれます。
また、ディープラーニングに欠かせないGPUも提供してくれます。
AWSやAzureで環境を構築する場合、GPUは有料プランでないと使えなかったりしますので、これはGoogle Colaboratoryの最大の利点と言えます。
そして、Google Colaboratoryは機械学習やディープラーニングでよく利用されるフレームワークなどがすでにインストールされている点もメリットの一つです。
Pythonで機械学習のプログラミングをする場合、機械学習に特化したフレームワークというものを利用します。
フレームワークにはいくつか種類がありますが、それはまた次回紹介したいと思いますので、ここでは割愛します。
ただこのフレームワークは、一般的にライブラリといわれるものをいろいろインストールしないと使えません。
しかも、ものによってはそのインスール作業が難しかったりします。
ですが、Google Colaboratoryはそれらのライブラリがすでにインストールされており、すぐに使えるようになっているので、環境構築一切不要でいきなりAI開発を始めることができます。
他にもサービスはたくさんありますが、この記事ではこれくらいにしておこうと思います。
個人的には、AIや機械学習ってどんなふうに作るか雰囲気を知りたいという方はAzure Machine Learning、AIや機械学習を勉強して実際に自分で作ってみたいしたいという方はGoogle Colaboratoryを使うのが良いと思います。
このブログでもGoogle Claboratoryは利用していこうと思いますので、別の記事で使い方を紹介したいと思います。
まとめ
いかがだったでしょうか?
今回は機械学習環境の準備方法という点に絞って書かせていただきました。
今後は実践編として、実際にローカル環境の構築方法やクラウド環境の利用方法をお伝えしていきたいと思います。
フレームワークの話もしたいですし、実際に私がやっている人物検出のお話もしたいですし、記事にしないことはまだまだたくさんあります。
できる回切りアウトプットしていきますので、ご興味のある方は引き続き見ていただけると幸いです!
それでは、今回はこのへんで!
では、また次回(* ̄▽ ̄)ノ~~ マタネー♪
コメント