【ご確認ください】こちらは以下の記事の続編記事となります |
研究開発に際し、特定のソフトウェアを利用されることがあるかと思います。実のところ各ソフトウェアの技術要件は意外にもざっくりしたものです。また使用されるソフトウェアもひとつとは限りません。つまり、単一の要件やご要望だけで複数のソフトウェアとマシン性能を合致させる、あるいはパフォーマンスの最適化を図ることは難しい可能性があります。
そこで今回は、前回の記事でご紹介したデータサイエンスに役立つStataを例に「PC選定のポイント」をご紹介します。
オーダーメイドPCの製作サービス「テグシス」と 研究開発者向け海外製品調達・コンサルテーションサービス「ユニポス」という2種類のサービスを提供するテガラだからこそ可能な、「R&D向け海外製品の購入とその利用に最適化したカスタムPCの製作」というワンストップサービスの一例です。
目次
最適なマシンを用意する必要性は?
データサイエンスや機械学習、ディープラーニング用のPCをご相談いただく際、どのようなスペックのPCがよいのか悩まれることはありませんか?
「実現したいこと」に対し、PCはあくまでもそれを補助する「道具」です。最適な道具の選定は、目標達成に不可欠で、いちばんの近道です。
例えばこのようなご相談
- Stata を利用しているが、処理スピードが遅い気がする
- ハイスペックなマシンを購入したけれど、Stata の要件に見合わない
- Stata は問題なく動いているが、ほかの処理に時間がかかる
- Stata 以外のソフトウェアも併用したい
とどのつまりPCに求めるスペックとは?
課題解決はもちろんのこと、できることならば~とご要望いただく「要件トップ3」はこちら。
- 処理能力
- コストパフォーマンス(費用対効果)
- 安定性と拡張性の実現
弊社では、ご予算の中で最も優先させたい要件に重きを置き構成を検討しております。
では、これらのご要望を出来る限り実現すべく、ソフトウェアとハードウェアの双方より構成を導き出したいと思います。
Stataのシステム要件は?
近年CPUのメニーコア化が進み、一般的なCPUは並列処理(複数の計算などを、同時進行で処理することで計算時間を短縮する方法)に対応しています。並列化によって処理速度を向上させたい場合は、CPUのコア数を重視してハードウェアを構成します。
Stataには、データセット(ある目的や対象について収集された集合体)に応じた3つのエディション「Stata/MP」「Stata/SE」 「Stata/BE」があります。並列処理をサポートしないStata/SE と Stata/BEはクロックを重視したCPUを採用します。
それに対し、Stat/MPは、マルチコアおよびマルチプロセッサコンピュータを最大限に活用するようにプログラムされているため、CPUの物理コア数を重視します。
まずは、ご利用予定のコマンドが並列処理に対応しているかを確認してください。
|
処理するコマンドを優先させます。そのうえで、処理速度についても検討していきます。
|
なお、それぞれのエディションを選択いただく際に、扱う変数の数に応じたStataを選択する必要があります。次の表をご確認ください。
エディション | 変数最大値 | 独立変数最大値 | 観測データ最大値 | 並列処理 | コア数 | RAM |
Stata/MP | 120,000 | 65,532 | 200億* | 〇 | 2コア以上 | 4 MB |
---|---|---|---|---|---|---|
Stata/SE | 32,767 | 10,998 | 21.4億 | × | 1コア | 2 MB |
Stata/BE | 2,048 | 798 | 21.4億 | × | 1コア | 1 MB |
* 観測データの最大値は、システムで使用可能なRAMの容量によって制限されます。なおRAMの容量は、使用するデータ容量の1.5倍を推奨しています。
Stata/MP を例にした PC選定のポイント
ここからは、処理速度の速さを重視して Stata/MP を選択されることを想定し、PCをどのように選ぶべきかをご紹介していきます。
Stata/MPについて
Stata/MPは、使用するコア数に応じて選択するライセンスが変わります。例えばマシンの物理コア数が8個の場合、実際に使用するコア数に応じて8コア、4コア、2コアのいずれかのStata/MPライセンスを選択します。処理速度をどれほど重視するかによって、マシンおよびライセンスのコア数をご検討ください。
Stata/MPは、Stata の最も計算負荷の高いタスクの多くをコンピュータのすべてのコアに分散し、どのエディションよりも高速に動作します。一般的に、処理速度を高速化したい場合、CPU、メモリ、ストレージ、ビデオカードなどのパーツ選定に注意が必要(※)ですが、Stata/MPの場合は、CPUのコアが重視されます。そのほかのハードウェア要件はさほど高くありません。
※コア数の多いCPUはクロック数が低い傾向があります。コア数を優先しすぎた結果、かえって処理速度が遅くなってしまう場合があります。このため、ご希望のコア数に近いCPUの中から、最もクロック数の高いCPUを採用するなど、バランスも考慮が必要となります。
Stataのシステム要件はこちらをご参照ください
Compatible operating systems
https://www.stata.com/products/compatible-operating-systems/
以下、Stata関連記事です
Stata/MP is the fastest and largest edition of Stata.を参考にしています
https://www.stata.com/statamp/
所有されているPCを見直すには?
まずはじめに、タスクマネージャーを起動し、CPUのコア数を確認します。
タスクマネージャーの起動と確認
Windows 11の場合、「Ctrl+Alt+Delete」を同時に押し、ウィンドウメニューより「タスクマネージャー」を選択します。タスクマネージャーのパフォーマンスタブを選択すると、右下の部分でコア数を確認できます。
例えばご利用マシンが「4コア」である場合、4コアのライセンス選択が望ましいです。
なぜライセンスとコア数を合わせるのか?
Stata/MPは、比較的安価な2コアのPCで約33~50%、標準的な4コアのコンピュータで約50~75%ほど、分析に要する時間を短縮できます。 6コアライセンスに対し、CPUの物理コアが本来計算で使用できるコア数を下回る場合、計算能力がその分低下します。このため、6コアライセンスをお持ちの場合、ライセンスを存分に利用するには6コア以上のCPUが搭載したマシンが必要になります。
コア数 | 2 core | 4 core | 8 core |
---|---|---|---|
全コマンド | 1.7倍 | 2.4倍 | 3.1倍 |
推定コマンド(中央値) | 1.8倍 | 2.9倍 | 4.1倍 |
ロジスティック回帰 | 2.0倍 | 3.8倍 | 6.9倍 |
有限混合モデル | 2.3倍 | 3.5倍 | 4.5倍 |
正規性検定(90%) | 3.6倍 | 4.4倍 | 5.8倍 |
以下のメーカーレポートに「Stata/MPのコマンドごとのパフォーマンス」が掲載されています(17ページ以降)。ご参照ください。
Stata/MPPerformanceReport
https://www.stata.com/statamp/report.pdf
ライセンス/コア数が多ければ多いほど処理は早くなる
- さらに大容量のデータセットを扱いたい
- 処理スピードを上げたい
もし仮に上記のようなご要望がある場合、実装されるCPUのコア数が多くなればなるほど高速処理の実現が可能です。
弊社ではご予算に合わせたライセンスとマシンのセットご提案が可能です。ご予算などを考慮した上でライセンスを選定し、マシン構成をご提案いたします。お気軽にご相談ください。
■ Stata 用マシンに関する詳細、お問い合わせはこちら |
CPUコア数がライセンスを上回ればOKなのか?!
例えば32コアライセンスに対し、32または64コアのCPUが搭載されたマシンを比較した場合、32コアのCPUが搭載されたマシンの方が、処理が早い可能性があります。
Stata/MPにおいては、ライセンスのコア数と物理コア数の差が開くほど処理スピードが低下するという特性があります。このためCPUの物理コア数は単純に多ければ多いほどよいとは言えません。
近い将来に64コアライセンスを購入される場合には、64コアのCPUが搭載されたマシンも選択肢のひとつとなりますが、32コアライセンスに最適なマシンとしては、32コアのCPUを搭載したマシンを推奨いたします。
なお、並列処理を実行しない場合は、コア数ではなくクロック重視にてCPUを選定します。
まとめ: Stata/MP用のPC設計ポイント
Stata/MP用のPC設計ポイント
※ご利用予定のコマンドが並列処理に対応しているかを確認してください。 |
次回予告
次回は、【提案事例】データサイエンス向けPC【Stata編】を公開予定です。
■Stataの詳細、お問い合わせはこちら |