べれすく!

素人プログラマによるモノづくりやブログ生活を話すブログ

【スポンサーリンク】

【機械学習用のモバイルPCを自作しよう!】小型で外でも使えるデスクトップPCを考える話。【前編】

こんにちは!べれすくです。
 
今回は妄想企画です。
実際に組んだわけではないので、そこら辺の理解はお願いします。
 
さて、最近は身近な物にもDeapLeaningを用いることがふえてきました。
しかしDeapLeaningは学習にも仕分けにも結構なスペックが必要なんだとか。(深層学習エアプの見解です。)
それこそ、一般的なノートパソコンじゃ厳しいほどに...
 
ロボットに積みたいのに、持ち運べないデスクトップPCがメインってどういうこと?!
ハイスペックノートパソコンは...めっちゃ高い!(値段が)
 
 
ならば自作しようではないか!!  
 
今回はYOLOv3リアルタイム10FPS程度で動かせるようなスペックのモバイルデスクトップPC自作について考えたいと思います!

もくじ

モバイルデスクトップPCの定義を考えよう

今回、モバイルデスクトップパソコンというわけのわからない単語が出ています。
意味は容易に想像できると思いますが、「持ち運びできるデスクトップPC」です。
 
ではそんなことが可能なのでしょうか?
理論的には可能だと思います。ただ今はやりの薄いノートパソコンにははるかに劣る携帯性だと思いますけどね。
 
今回は、「リュックサックに入る」ことと、理論上「1時間以上、外で使える」ことを念頭において考えたいと思います。

YOLOv3を10FPSで動かすのに必要なスペックを考えよう

これに関しては推測になります。
探してもあまり載ってないんですよね。
古いのでよければ一応公式から出ています。

pjreddie.com

  • 基本的に一枚10万円のTitanXを4枚刺し、安価に済ませるならGTX980Tiの4枚刺し
  • 14万円のパソコンに40万円分のGPU足して64万円!150万円以下じゃん!安い!

とか言ってくるんでお話になりません。
 
とてもじゃないですが学生の持てるマシンじゃないですし、これ1000W以上食います。絶対。(TitanXはTDP250W)
こんなもの19Vで賄おうものなら53Aも流れます。53000mAhのモバイルバッテリーとかあるんだろうか...
家庭用非常電源の域だし、あっても絶対にリュックに入らないですね。
参考にならず!
 
ということで試した人のデータを探します。

 
GPUを使うと早いのはわかるのですが、GPU使用時にCPUの性能で差が出るのかというのもわからないです。
そもそも、機械学習用チップとデスクトップPC用のCPUをベンチマーク等で比べていいもんかという問題もあります。
 
まぁいろいろ見ていきましょう。

こちらのサイトによると、JetsonシリーズだとこのくらいFPSが出るらしいです。(画面サイズ不明)
f:id:Veresk:20200305220352p:plain

demura.net

いずれもGPUを用いた値だそうです。
やはりTensorコアに対応したGPU機械学習に強いということがわかりますね。
f:id:Veresk:20200305222519p:plain
Tensorコア搭載のJetsonの性能を見る限り、これ以上のGPUが必要になりそうです。
まぁ、市販で買えるグラボでTensorコア積んでるのってRTXシリーズしかないので、どれ選んでも余裕で越えますけどね。
ちなみにこのJetsonは15万円ほどします。省電力だけあっていいお値段しますねぇ。

Tensorコアを使わないGPUを使うとどうなんでしょうか。
github.com こちらのページのYolo v3に関する話を少しまとめると
 

  • 「Yolo v2」は「最大400Gflop-SP/FPS」、「Yolo v3」は「最大700Gflop-SP/FPS」(双方共に832x832)

  • 「Yolo v2」は「最大100Gflop-SP/FPS」、「Yolo v3」は「最大175Gflop-SP/FPS」(双方共に416x416)

  • 「Yolo v3」で「GTX970」で「20FPS程度」(416x416)

  • GPUの内蔵メモリが少ないとエラーが出る(GTX750で確認)

 
 
こんなものですかね。
このスレッド自体、失敗者に教える意味合いが強いのでどこまで参考になるかはわかりません。
HD画質(1280x720)で10FPS出そうと思うと7000Gflop-SPでぎりぎり?なので、GTX1070 TIぐらいは必要になりそうです。
しかし、こちらの記事だと「GTX1070」で「4K(4096x2160)」でも「18-20FPS」ほど出るらしいのであまり心配しなくてもいいのかもしれません。(ほんとかなぁ)

www.nakasha.co.jp

詳しい比較は後にするとして、GTX1070も電力をそこそこ食うので、ある程度の妥協は必要になりそうです。

 
続いてCPUのみでの運用を見てみましょう。
今更ですが、手法云々はわからんのでごちゃまぜです。
先ほどのスレッドで、「Core i7-7820QH」を用いて実験した結果、 f:id:Veresk:20200306000117p:plain
このような結果になっていました。

ここまで低いのは少しおかしい気もしますが、まぁ参考程度に見ましょう。  
 
続いてこちらのサイト。

qiita.com

こちらによると「Core i7-8750H」で「4-5FPS」だそうです。
 
 
ただ、同じ人の記事でMultiProcess + MultiThread による折衷実装をすると、「13FPS」まで上がるそうです。
正直、ここまでできる気がしないのであまり参考になりませんね...。

qiita.com

GitHubにやり方が上がっているとはいえ、この人は天才の域だと思います。素直に尊敬。
CPUのみで10FPSを出そうと思ったら、Core i7-8750は超えている必要がありそうです。(上位CPUなのでこれ以上はキツい)
 

ノートパソコンならどのくらいの値段がするのか考えよう

BTOとか上げていけばキリがないので、今回はAmazonに売っているものの中で見てみます。
まず気になるのがRTXシリーズ搭載ノートパソコンですね。
 
まずはRTX2060から見てみます。

iiyama製 152280円

MSI製 179986円

DELL製 178400円

おっ、想像していたよりは安いですね。
これなら3か月ほどバイトをすれば学生でも狙える値段です。
ただ重量的に重そうではあります。  
続いてRTX2070

iiyama製 207780円

ASUS製 226500円

MSI製 255000円

20万円から25万円ほどですね。
やはり高い。さすがゲーミングノートPC。
 
最後にRTX2080です。

Acer製 294166円

iiyama製 334480円

RAZER製 439780円 

基本的には30万から40万ほどです。
ここまで来るとさすがに手が出ません。

先ほどのページでGTX1070でもいい結果が出ていたのでそれも見てみましょう。

一番安いのでこの価格ですね。
これならどう考えてもRTX2060のほうがお得です。
TensorコアなしでもGTX1070に比べ、1.2倍の性能を持っていますから。
簡単な機械学習をする人がノートパソコンを買うならRTX2060搭載のものが一番お勧めですね。
ただ、性能的なコスパで言うならRTX2070搭載ノートPCが最高です。
 

次回は実際に構成を考えよう

今回、かなりパーツの候補が絞れました。
次回は今回の資料をもとに、実際にモバイルデスクトップパソコンのパーツ構成を考えていこうと思います。
 
つぎ↓

veresk.hatenablog.com

 
今回はこのあたりにしましょう。それでは!