皆さんこんにちは。
NABLAS株式会社で採用窓口を担当している村田です!
先日公開したNABLASの開発環境紹介では、弊社エンジニアが使っているキーボードの紹介をさせていただきました。今回はその第2弾として、AI開発を行う我々NABLASの研究開発を支える【計算資源】についてご紹介しようと思います!
膨大な量のデータを扱い、複雑な学習モデルの構築や汎用性の高いAIの開発をする現場では、豊富な計算資源の確保は必要不可欠です。
先端AI技術でより良い社会の実現を目指すNABLASの計算資源はどうなっているのでしょうか?早速見ていきましょう!
CPUとGPUについて
NABLASの計算資源をご紹介する前に、コンピュータの計算処理を担うプロセッサであるCPUとGPUについて簡単にご説明します!
CPUとは
CPUとはCentral Processing Unitの略で、主にコンピュータにおける制御と演算を担当する、言わばコンピュータの「脳」のような役割を持つパーツです。キーボードやハードディスク等の周辺機器から送られてくる複雑な指令に対して、1つずつタスクをこなしていく連続的且つ直列的な計算処理を得意としています。
GPUとは
GPUとはGraphics Processing Unitの略で、一般的にはコンピュータにおけるグラフィック描写の処理を行う半導体パーツで、コンピュータ上の視覚情報に関わるコマンドを可視化する役割を持っています。画像や動画の出力処理は単純な指令ではあるものの、処理するタスク量が膨大であるため、単調(定型的)で膨大な量の指令を複数並列的に行う計算処理を得意としています。
GPUの登場以前は比較的負荷が大きい処理もCPUが担っていましたが、AI開発では膨大な量のデータを扱うため、処理に時間がかかり過ぎてしまっていました。しかしGPUが登場し、GPU自体の演算性能の向上や、得意とする計算処理の特徴が機械学習のニーズとマッチしていることから、今やAI開発の現場においてGPUは欠かせない存在となっています。
NABLASの計算環境
前置きが長くなりましたが、ここからはNABLASに導入している計算資源をご紹介していきます!現在NABLASではNVIDIA DGX Station 3台(32 GBのメモリを搭載したV100が合計12枚)があり、今後NVIDIA Tesla V100(32GB)を6台追加予定となっています。これに加え、パワフルなGPUを搭載した計算機も設置しています!(NVIDIA GeForce RTX™3090Ti*1 搭載ワークステーション、NVIDIA GeForce GTX™ 1070*1 搭載ワークステーション)
業務では、JupyterHubやKubeflowをホストしてリサーチャーにノートブックの割り当てを行っています。NVIDIA DGX Station 3台の過去半年間のGPU使用率は37%でした。
社内における自作PC
ここまで会社として導入している計算機をご紹介しましたが、社内にはPCを自作し、自分に合った開発環境を整えている人もいます。ここでは2名の自作PCを紹介すると共に、作成した理由や自作PCのメリット・こだわったポイントについてご紹介します!
リサーチエンジニア:井上
【自作PCのスペック】
- OS…Ubuntu18.04
- GPU…NVIDIA GeForce RTX™ 2060
*メモリ容量(VRAM):8 GB
*CUDA Core 数:1,920
*Tensor Core 数:None
- CPU…Intel® Core™ i5-10400
*クロック周波数:2.9 GHz
*コア数: 6
*TDP: 65 W
- メモリ…Crucial CT16G4DFD8266
*16 GB DDR4 2666 MHz × 2
- SSD/HDD…WD Blue WDS500G2B0C
*500 GB
Q.PCを自作をした理由は何ですか?
VSCode のリモート開発機能を使って、GPU マシン上の Docker Container 内で作業したかったからです。NABLAS では多くの GPU マシンを保有しているのですが、運用上 Docker の実行権限が与えられておらず、VSCode のリモート開発機能が使えない状況でした。VSCode の debugger 機能がないと開発できない体質なので、どうしても開発環境を整えたくて PC を自作しました。これによって、自作 PC でプロトタイプ開発した後に、DGX などのパワフルなマシンで学習および評価するサイクルを回せるようになって、開発効率が爆上がりしました!
Q.PCを自作してよかった点やメリットは何だと思いますか?
まずは既製品と比べると圧倒的にコスパが良いことですね。今回の構成だと確か 11 万円前後だったと思います。後は、自分の専用機なので自分が使いたいタイミングで使えることですね。NABLAS が多くのGPU マシンを保有しているとは言え繁忙期は混むので、待ちなく使える開発環境があるのは開発効率の向上に貢献してると思います。
Q.PCを自作するにあたってこだわったポイントは何ですか?
今回は可能な限りコンパクトに仕上げることにこだわりました。僕は PC を自作するときはいつも秋葉原の TSUKUMO の店員さんに相談にのってもらうので、こだわったといっても要望を店員さんに伝えただけですが (笑)。秋葉原の TSUKUMO の店員さんは、知識豊富で親身に話を聞いてくれるので自作 PCを考えている人はぜひ行ってみて欲しいですね。今回の自作 PC のコンパクトさは同僚たちからの評判も良く、どんな構成なんだとよく聞かれるので製作者として鼻が高いです。
NABLAS代表:中山
【自作PCのスペック】
- OS…Ubuntu
- GPU…NVIDIA RTX™ A6000 x 2
*メモリ容量(VRAM):48GB w/ ECC
*CUDA Core 数:10,752
*Tensor Core 数:336
*TDP:336W
- CPU…AMD Ryzen 7 PRO 4750G
*クロック周波数:3.6GHz
*コア数: 8
*TDP: 65W
- メモリ…Kingston KSM32ED8
*DDR4 3200MHz 32GB ECC x 4
- SSD/HDD…Kingston SSD NV1-E
*2TB
Q.PCを自作をした理由は何ですか?
自分で作ったほうが同じ予算でも非常に高いパフォーマンスの計算機を構築できるからです。昔から自分でPCを作ることが多く、研究員時代も大規模な計算機環境を一から構築したりしていたので、自分で作ることには抵抗ないというか、むしろ好きなくらいです。今までに合計40台以上は自分でPCを組んでいます。GPUの計算環境を整えるためには、パーツの組み合わせを考慮したり、OSとミドルウェアの設定を工夫したり、いろんなテクニックが必要で、そこも面白いところです。ちなみに、今回は採用していませんが水冷式のGPU環境も好きで、何度も構築したことがあります。構築した計算機は主に新技術開発、サーベイ、実装の検証などに利用しています。
Q.PCを自作してよかった点やメリットは何だと思いますか?
非常にハイスペックな計算機が利用できる点と、計算効率の良いハードウェア構成およびそのハードウェアの性能を最大限に発揮する設定が可能になったこと。ハードウェアレベルで何がどうなっているか把握できているので、問題に直面したときに対策がしやすいこと。
Q.PCを自作するにあたってこだわったポイントは何ですか?
1)グラフィック機能を搭載しているRyzenのCPUを利用してコストパフォーマンスの高い構成にしたこと、2)オンボードGPUを利用する構成にして、GPUを化学計算用に専有して利用できるようにしたこと、3)サイドフローのCPUファンを利用して空気の流れを良くしたこと、4)全体としての冷却性能を確保しつつ、デスク横に置くので静音性も両立したこと、5)CPUなどは下手にオーバークロックせず、安定性と冷却性能を重視して長期運用が可能なように設計したこと、6)ECCメモリを採用して計算の信頼性を上げたこと、7)GPUはメモリの多いモデルを採用し、大きなディープラーニングのモデルも実行できるようにしたこと。
まとめ
さて、今回はNABLASの開発を支える計算環境についてご紹介しました!
トライ&エラーの学習を繰り返して成功にたどり着くAI開発だからこそ、NABLASではエンジニアがより効率的に学習を進めるための開発環境整備に力を入れています。
今回の記事で少しでもNABLASの開発環境について魅力的に感じてくださる方がいれば嬉しいです!
NABLASでは一緒に働くメンバーを積極採用中です!
少しでも気になった方、まずはカジュアルに面談をしてみませんか?
皆さんからのご応募、お待ちしております。
Comments