どうもなまこです。
最近こんな相談を受けました。
まずM1のMacはおすすめしません。M1のMacはDockerなどプログラミングに必要なソフトウェアが未対応だったり、不具合が起きる可能性があるので機械学習やディープラーニングの目的以前に今の段階ではまだおすすめできません。
話が少しそれましたが、プログラミングを初めてとして機械学習でもそこまでの性能のPCを用意する必要はありません。今回はそこそこのスペックでも機械学習や深層学習などを行える手法についてまとめてみました。
この記事はプログラミングを始めようとしている方。特にAIをはじめとした機械学習やディープラーニングを始めようとしている、始めたい方におすすめな記事です。
高性能のPCが必須でない理由
確かに機械学習やディープラーニングは画像処理など高性能なGPUが必要とされます。最低でもGTX1080TiクラスのGPUが必要となります。
ディープラーニング以外の用途でこのクラスのGPUを持っている方はゲーミング用途で持っている方が多いと思うので、そういった方がディープラーニングする際は個別のPCを使っても良いかと思います。
GPUを調達すればよい話なのですが高性能のGPUは最低でも5万、高いものだと数10万します。また、最近仮想通貨のマイニングが流行っているせいかGPUの価格も高騰しています。
ちょっと始めてみようかと買ってみるのには少しハードルが高いのでこれから紹介する安く利用できる方法で感触を確かめてからGPUを買い、個別のPCでチャレンジしてみることをおすすめします。
安く始められる利用方法
安く始める方法としてはクラウドサービスを利用することです。特に以下に紹介するGoogle ColaboratoryやAWSなどがおすすめです。今回はそのふたつについて説明したいと思います。
Google Colaboratory
機械学習やディープラーニング以前にGoogle ColaboratoryはPythonの学習を初めようとしている方にもおすすめです。
私がPythonを学習し始めた2018年くらいではまだAnacondaをインストールしてPythonを学習するのが主流ですが、最近ではいろんな書籍でもGoogle Colaboratoryで学習を勧める書籍も出てきました。
Google Colaboratoryで学習をおすすめする理由はプログラミング学習でつまづきやすい環境構築がいらない点です。ある意味環境構築もプログラミング学習の一つなのですが、最初は少しハードルが高いため、早く学習の目的を達成できるコンテンツがおすすめです。
環境構築がいらないのも大きな利点ですが、今回の目的である機械学習やディープラーニングに必要なGPUを利用することができるのが利点です。
ランタイム->ランタイムのタイプの変更でノートブックの設定からハードウェア アクセラレータをGPUにすることで無料ですることができます。ただ無償ということもあって自由に使えるわけではありません90分をすぎると自動的にタイムアウトするので頻繁に使う方は有償版がおすすめです。

下の動画はニューラルネットワークを用いて学習をしている様子です。無償版のGPUでもこれだけの速さで学習することができます。CPU版で私個人のPCでやった時には6時間くらいかかりました。。。
より高性能のGPUを使用したい方やタイムアウトを気にする方は場合は月$9.99で有償版に変更可能です。
AWSなどのクラウドインスタンス
AWSと書きましたが、インスタンスを借りられるならGoogle Cloud PlatformでもMicrosoft Azureでも良いと思います。
要は高性能のGPUが搭載しているPC(インスタンス)を利用し、計算に必要なときだけ利用するという方法です。AWSのEC2にはディープラーニングに特化したインスタンスも準備されています。こちらもインスタンスを起動している時間はお金がかかりますが、使用する時以外はインスタンスを停止すれば数ドル単位の費用で使用が可能です。

まとめ
いかがでしょうか?ゲーミングPCなどで高価なGPUを所有している人以外で機械学習やディープラーニングを始めるのは初期投資の段階で非常にハードルが高いです。
まずは安く始められる方法でコツをつかんできたのちにGPUなどの設備を整えるといったやり方が良いかと思います。
あまりクラウドサービスのGPUにお金を払い続けているとそっちの方がお金かかってしまう可能性がありますのでバランスが必要ですね。
- 機械学習やディープラーニングを始めるならクラウドサービスで始めるのがオススメ
- プログラミングになれてきたり、使用方針が定まったところで個別PCへの切り替えを検討する