回答編集履歴

3 コメントを読め

raccy

raccy score 20988

2018/03/18 12:46  投稿

多くの人が勘違いをしていますが、「プログラミング」自体はエディタさえ動けば良いですので、性能は求められません。しかし、作る物を実際に動かしたりするときや、また、動かしてデバックするときに性能が求められます。
やりたいことの中で一番性能のネックになるのはディープラーニングです。ある程度のディープラーニングを行う場合はそこそこの性能のGPUが必要になります。より本格的なディープラーニングになるとGPUを搭載したサーバーが大量に必要になります。ですので、開発段階では三択になります。
1. そこそこの性能のGPUを開発機に搭載する。
2. 本格的なGPUを搭載したサーバーを別途購入し、実行はそのサーバーで行う。(初期費用が高い)
3. 手元で行うことは諦めて、動作はすべてクラウドのサーバーを借りて行う。(ランニングコストが高い)
本来、機械学習なんて物はかなりの金食い虫です。企業とかでなければ、現実的なのは1.と3.です。1.はゲーム用マシン程度スペックでそこそこいけますが、企業レベルの本格的な物を動作させるのは無理と割り切る必要があります。3.はお試しの無料サービスがいくつかあり、無料版は本格サービスとして提供できるようなレベルではありませんが、開発だけであれば十分となります。
ということで、上の1.と3.について書きます。
最初の1.の場合、そこそこのGPUが必要になります。ディープラーニングに使うにはどんなGPUでも良いというわけではありません。CUDAという機能が搭載されていなければなりません。そして、使うライブラリがそのGPUをサポートしているかです。ディープラーニングの機械学習でよく使われるTensorFlowは**NVIDIA製GPU**しかサポートしていません。しかし、現在のMacBook, MacBook Air, MacBook ProにはIntel製かAMD製のGPUしか搭載されていません。つまり、内蔵のGPUではTensorFlowを使うのは難しいということです。TensorFlow自体はCPUだけでも動くバージョンもありますが、遅すぎて使い物にならない可能性があります。あれ、MacのノートPCでは無理なのでしょうか…いいえ、まだ諦めるのは早いです。
最新の機能にeGPUというのがあります。eGPUというのは端的に言うと外付けGPUです。ノートPCのようなグラフィック性能が低いマシンに外付けでGPUを追加することで、グラフィック性能を上げると言うことです。eGPUはThunderbolt3を使用しますので、その点だけが必須になります。MacBookとMacBook Airにはありませんが、MacBook ProであればThunderbolt3はどの機種も搭載されています。ということで、この場合は少なくとも**MacBook Proでなければならない**となります。
実際に動作させた参考記事: [macにeGPUを繋いでTensorflow(GPU版)を動かす - Qiita](https://qiita.com/Kos-Ne/items/5ac5577ecc21326a58c7)
ただし、macOSでのeGPUは(Appleはサポートしていくと言っていますが)まだ実験的機能であり、安定して動作するという保証は全くありません。**現状は人柱です。**プログラミングと言うよりMac自身やPC周りの高度な知識が必要になる場合がありますので、ご注意ください。
ただし、macOSでのeGPUは(Appleはサポートしていくと言っていますが)まだ実験的機能であり、安定して動作するという保証は全くありません。**現状は人柱です。**プログラミングと言うよりMac自身やPC周りの高度な知識が必要になる場合がありますので、ご注意ください。(現状はコメント欄参照)
さて、手元で動かすことは諦めてクラウドで実行するとなると、手元のマシンの性能はどうでも良くなります。それこそ、ネットに繋いでエディタが動けば十分になるからです。画面の大きさ、持ち運びしやすさなどから選べばいいかと思います。
2 人柱!!!

raccy

raccy score 20988

2018/03/18 12:45  投稿

多くの人が勘違いをしていますが、「プログラミング」自体はエディタさえ動けば良いですので、性能は求められません。しかし、作る物を実際に動かしたりするときや、また、動かしてデバックするときに性能が求められます。
やりたいことの中で一番性能のネックになるのはディープラーニングです。ある程度のディープラーニングを行う場合はそこそこの性能のGPUが必要になります。より本格的なディープラーニングになるとGPUを搭載したサーバーが大量に必要になります。ですので、開発段階では三択になります。
1. そこそこの性能のGPUを開発機に搭載する。
2. 本格的なGPUを搭載したサーバーを別途購入し、実行はそのサーバーで行う。(初期費用が高い)
3. 手元で行うことは諦めて、動作はすべてクラウドのサーバーを借りて行う。(ランニングコストが高い)
本来、機械学習なんて物はかなりの金食い虫です。企業とかでなければ、現実的なのは1.と3.です。1.はゲーム用マシン程度スペックでそこそこいけますが、企業レベルの本格的な物を動作させるのは無理と割り切る必要があります。3.はお試しの無料サービスがいくつかあり、無料版は本格サービスとして提供できるようなレベルではありませんが、開発だけであれば十分となります。
ということで、上の1.と3.について書きます。
最初の1.の場合、そこそこのGPUが必要になります。ディープラーニングに使うにはどんなGPUでも良いというわけではありません。CUDAという機能が搭載されていなければなりません。そして、使うライブラリがそのGPUをサポートしているかです。ディープラーニングの機械学習でよく使われるTensorFlowは**NVIDIA製GPU**しかサポートしていません。しかし、現在のMacBook, MacBook Air, MacBook ProにはIntel製かAMD製のGPUしか搭載されていません。つまり、内蔵のGPUではTensorFlowを使うのは難しいということです。TensorFlow自体はCPUだけでも動くバージョンもありますが、遅すぎて使い物にならない可能性があります。あれ、MacのノートPCでは無理なのでしょうか…いいえ、まだ諦めるのは早いです。
最新の機能にeGPUというのがあります。eGPUというのは端的に言うと外付けGPUです。ノートPCのようなグラフィック性能が低いマシンに外付けでGPUを追加することで、グラフィック性能を上げると言うことです。eGPUはThunderbolt3を使用しますので、その点だけが必須になります。MacBookとMacBook Airにはありませんが、MacBook ProであればThunderbolt3はどの機種も搭載されています。ということで、この場合は少なくとも**MacBook Proでなければならない**となります。
実際に動作させた参考記事: [macにeGPUを繋いでTensorflow(GPU版)を動かす - Qiita](https://qiita.com/Kos-Ne/items/5ac5577ecc21326a58c7)
ただし、macOSでのeGPUは(Appleはサポートしていくと言っていますが)まだ実験的機能であり、安定して動作するという保証は全くありません。**現状は人柱です。**プログラミングと言うよりMac自身やPC周りの高度な知識が必要になる場合がありますので、ご注意ください。  
 
さて、手元で動かすことは諦めてクラウドで実行するとなると、手元のマシンの性能はどうでも良くなります。それこそ、ネットに繋いでエディタが動けば十分になるからです。画面の大きさ、持ち運びしやすさなどから選べばいいかと思います。
1 ちょっとだけ文法を改善

raccy

raccy score 20988

2018/03/18 08:11  投稿

性能のネックになるのはディープラーニングです。ある程度のディープラーニングを行う場合はそこそこの性能のGPUが必要になります。より本格的なディープラーニングになるとGPUを搭載したサーバーが大量に必要になります。ですので、開発段階では三択になります。
やりたいことの中で一番性能のネックになるのはディープラーニングです。ある程度のディープラーニングを行う場合はそこそこの性能のGPUが必要になります。より本格的なディープラーニングになるとGPUを搭載したサーバーが大量に必要になります。ですので、開発段階では三択になります。
1. そこそこの性能のGPUを開発機に搭載する。
2. 本格的なGPUを搭載したサーバーを別途購入し、実行はそのサーバーで行う。(初期費用が高い)
3. 手元で行うことは諦めて、動作はすべてクラウドのサーバーを借りて行う。(ランニングコストが高い)
ということで、上の1.と3.について書きます。
最初の1.の場合、そこそこのGPUが必要になります。ディープラーニングに使うにはどんなGPUでも良いというわけではありません。CUDAという機能が搭載されていなければなりません。そして、使うライブラリがそのGPUをサポートしているかです。ディープラーニングの機械学習でよく使われるTensorFlowは**NVIDIA製GPU**しかサポートしていません。しかし、現在のMacBook, MacBook Air, MacBook ProにはIntel製かAMD製のGPUしか搭載されていません。つまり、内蔵のGPUではTensorFlowを使うのは難しいということです。TensorFlow自体はCPUだけでも動くバージョンもありますが、遅すぎて使い物にならない可能性があります。あれ、MacのノートPCでは無理なのでしょうか…いいえ、まだ諦めるのは早いです。
近の技術革新によってeGPUというのがあります。eGPUというのは端的に言うと外付けGPUです。ノートPCのようなグラフィック性能が低いマシンに外付けでGPUを追加することで、グラフィック性能を上げると言うことです。eGPUはThunderbolt3を使用しますので、その点だけが必須になります。MacBookとMacBook Airにはありませんが、MacBook ProであればThunderbolt3はどの機種も搭載されています。ということで、この場合は少なくとも**MacBook Proでなければならない**となります。
新の機能にeGPUというのがあります。eGPUというのは端的に言うと外付けGPUです。ノートPCのようなグラフィック性能が低いマシンに外付けでGPUを追加することで、グラフィック性能を上げると言うことです。eGPUはThunderbolt3を使用しますので、その点だけが必須になります。MacBookとMacBook Airにはありませんが、MacBook ProであればThunderbolt3はどの機種も搭載されています。ということで、この場合は少なくとも**MacBook Proでなければならない**となります。
実際に動作させた参考記事: [macにeGPUを繋いでTensorflow(GPU版)を動かす - Qiita](https://qiita.com/Kos-Ne/items/5ac5577ecc21326a58c7)
さて、手元で動かすことは諦めてクラウドで実行するとなると、手元のマシンの性能はどうでも良くなります。それこそ、ネットに繋いでエディタが動けば十分になるからです。画面の大きさ、持ち運びしやすさなどから選べばいいかと思います。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る