
コンピューターは、さまざまなパーツから成立している精密機械ですが、近年多いに注目を集めているのがGPUです。元々はCPUのサポート役として活躍していたGPUですが、人工知能研究が盛んになるにつれ、この分野における有用性が高く評価されるようになってきました。
今回は、機械学習やAI開発において、GPUはなぜ活躍しているのか、そもそもGPUとはどのような役割を果たしているのかについて、ご紹介します。
目次
GPUの仕組み
まずは、GPUの仕組みについて紹介します。GPUは近年こそAIの分野で脚光を浴びていますが、元々はPCの普及に欠かせないパーツの一つです。
GPUとは
GPUはGraphic Processing Unitの略称で、その名の通りコンピューターにおけるグラフィック描写を担当する半導体チップです。コンピューターは非常に多くの処理を瞬時に行っていますが、GPUは特に負荷の大きいビジュアル表現に特化したチップです。
コンピューター本来の計算処理はGPUがなくても行えますが、グラフィック描写がなければユーザーは視覚的に何が起こっているのかを判断できず、コンピューターの強みをいかせません。
そのため、GPUによって滑らかでリアルタイムの描画を実現し、快適なコンピューティングを実現してくれています。
GPUの一般的な使い方
グラフィック描写特化のGPUですが、一口に視覚情報と言っても非常に多くの仕事が発生しています。
映像や写真、Webサイトの表示はもちろん、ソフトウェアのビジュアル表現からゲーミング、さらにはグラフィックデザインに至るまで、幅広く司っているのがGPUです。そのため、GPUは一般的なPC選びの現場においても重要な指標となっています。
GPUはほぼ毎年最新の製品が登場し、その度にバージョンアップを繰り返しています。性能の違いも年を重ねるごとに明らかになり、5~10年のギャップがあると、性能の差は歴然です。
最新型のGPUほど値段も高額になるので、良いGPUを積んだPCは必然的に値段も高くなります。PCは外装の値段よりもむしろ、CPUやGPUなどのスペックの差で大きく異なるハードウェアです。
CPUとの違い
ここであらかじめ確認しておきたいのが、CPUとGPUの違いです。基本的にコンピューターにおいて計算処理が発生するのはこの二つのプロセッサのみにおいてですが、役割はまったく異なります。
まずGPUは、前述の通りPCのグラフィック処理をすべて担当しているプロセッサです。映像表現などの描写は単調な処理が多い一方、非常に処理すべきタスクが多く、CPU単体では処理が困難になります。
特に、近年はリアリティあるCG描写や豊かなデザインのWebサイトなどが増えたことで、グラフィック処理の重要性は増しています。そのため、グラフィック特化のプロセッサとしてGPUが活躍しているというわけです。
一方のCPUは、グラフィック以外のすべての計算を処理しているユニットです。従来のコンピューティングにおいてはCPUがすべての処理を担当していましたが、グラフィックの重要性が増したことから、GPUが増設されることとなりました。
役割こそ違え、どちらも現代のPC利用には欠かせないユニットであるといえます。
PC向けGPUの仕組み
GPUの利用にあたっては、PC向けの利用とサーバーでの利用の二択に分けることができます。
まず、最も一般的なPC向けGPUですが、こちらはGPUをグラフィックボードと呼ばれる基板に設置することで機能しています。グラフィックボードはPCモニターへのビジュアル出力を担当する基板で、パソコン内に装着して使用します。
どのような映像を出力するかは、CPUが搭載されたマザーボードと呼ばれる基板からコマンドが送られるため、そこからの情報をもとにアウトプットしてくれます。グラフィックボードをPCに搭載することで、GPUを生かした美麗な映像を実現できます。グラフィックボードがなくともPCは動作しますが、画質にこだわるのであれば搭載は不可欠です。
また、マザーボードに直接GPUを搭載してしまう「内蔵GPU」形式のモデルも存在します。この場合は、マザーボードが直接モニターへ指令を送り、グラフィック描写を行います。グラフィックボードを使ったものに比べ、消費電力などの面で省エネメリットがありますが、処理速度やクオリティについてはグラフィックボードを搭載したモデルに劣ります。
より高い性能を発揮するGPUサーバー
GPUの性能をさらに発揮したい場合には、GPUサーバーが活躍することもあります。
GPUサーバーとは、コンピューターからCPUを取り除き、代わりにGPUを積んでいるコンピューターのことです。通常のPCとは違い映像などを直接アウトプットすることはできないものの、通常のPCでは得られない非常にパワフルな演算能力を有していることが特徴です。
高い処理能力を持つGPUサーバーは、主に研究やビジネスの目的で利用されています。ディープラーニングのような複雑な処理を必要とする人工知能研究や、ビットコインを始めとする仮想通貨のマイニングなど、とにかく多くのリソースを必要な場面で活躍するサーバーです。
GPUが機械学習で活躍する理由
それでは、ここでGPUがなぜ機械学習に活躍しているのか、理由を解説していきましょう。
GPUの演算能力が優れているから
一つは、近年のGPUが非常に高い演算能力を有しており、通常のCPUよりも圧倒的なパフォーマンスを発揮できるという理由です。元々グラフィックに特化して開発が進められてきたGPUですが、その性能の向上に伴い、GPUのさらなる運用可能性についても検証が進められました。
特に、研究者の間では地震予測や気象情報の観測・予測に向けたシミュレーションに活躍するとして、運用に向けた研究が行われています。その結果、2006年にはCUDA (Compute Unified Device Architecture、クーダ)と呼ばれる形で研究結果がまとめられ、GPUコンピューティングのさらなる可能性が世界的に注目されました。
参考:「【図解】なぜGPUはディープラーニング・AI開発に向いているの?選び方は?NVIDIAさんに聞いてきました」(カゴヤのサーバー研究室)
CUDAはエンジニア向けに構築されたフレームワークの一種で、描画のためのGPUを別の用途に拡張・転用する際に用いられます。当時のプログラマーにとってポピュラーだったC言語をGPUにおいてもそのまま利用できるということで、大変な人気を誇りました。
CUDAの発表から数年後の2012年には、18,688基ものGPUを搭載するオークリッジ国立研究所のスーパーコンピューター『Titan』が世界最速のスパコンとしてランクインしています。また、同年はGPUで学習を行ったAlexNetというディープニューラルネットワークが驚異的な画像認識結果を弾き出したこともあり、ディープラーニングへの注目、そしてGPUを使った人工知能開発が脚光を浴びる結果をもたらしています。
GPUは並列処理能力に優れているから
GPUが機械学習やディープラーニングで注目を集めている理由としては、GPU特有の並列処理能力も挙げられます。CPUとGPUの役割の違いは先ほど紹介した通りですが、実が各々の役割に応じて、計算処理の仕組みも大きく異なります。
まず、CPUは一つのタスクを一つずつこなすタイプの処理を採用しており、高速で直列的に計算を行えることが強みです。コンピューターのあらゆる処理を担っているので、さまざまな計算を行わなければならず、そのためには一つずつの計算が欠かせません。
一方のGPUは、並列処理能力に長けているユニットです。元々、グラフィックの描写は負荷の大きな処理が発生しますが、ここで必要な計算は単調な処理の連続であるため、一つずつ丁寧にこなす必要はないものです。
そのため、GPUは一度に同様の計算を複数行える並列計算処理能力を備え、効率良くタスクをこなし、滑らかな映像を実現しているというわけです。
実は、ディープラーニングもグラフィックと同様に、決まったパターンの計算処理が発生する仕組みを備えています。ディープラーニングはニューラルネットワークと呼ばれる構造を備えており、これは正解に近づくべく膨大な数の検証作業を行います。
検証そのもののフレームワークは同様であるため、ディープラーニングが必要とするのは単一作業を高速で行う能力です。そのため、GPUのような並列処理能力の高いプロセッサーは、ディープラーニングをはじめとする機械学習に最適のユニットであるというわけです。
GPUが活躍する機械学習環境に必要なもの
このように、GPUはディープラーニングを中心として、さまざまなシーンで活躍するようになってきました。GPUを使って十分な機械学習を実施するためには、どのような環境を整える必要があるのでしょうか?
豊富なGPUリソース
まず重要なのは、豊富なGPUリソースを確保することです。
確かに、GPUは単体でも優れたパフォーマンスを発揮してくれますが、それはあくまでも個人用の場合です。ビジネスや研究目的で人工知能の開発を進める場合、必要なGPUリソースは膨大です。複雑な学習モデルを構築したり、汎用性の高いAIを開発したりするためには、何台ものGPUサーバーを設置し、フル稼働させる必要があります。
現状AIの利用は万人に開かれている一方で、AIを開発するためにはこのように大量のリソースを必要とします。これだけの設備を揃えるためには、多くの初期投資を必要とするだけでなく、設備を設置するためのスペースの確保や、これらを維持管理するための電気代など、多くの費用が発生します。
そのため、優れたAI開発を行えるのは現状大企業や大手研究所に限定されていますが、近年はクラウドを使ったGPU利用も増えています。その特徴については後述します。
ディープラーニング運用のノウハウ
ディープラーニングや機械学習といった用語は、数年前に比べて非常にポピュラーになりました。それに合わせてAI研究者やエンジニアの活躍を目にする機会も増えていますが、依然として開発そのものの難易度は大きく変わっていません。
最近では、簡単なアプリなどをノーコードで開発できるツールなども登場していますが、AI開発は現在もある程度のスキルが必要であるため、専任の人材が必要です。
また、ディープラーニングをどのように運用するかのノウハウについても、研究者やコンサルタントなどの手を借りる必要があります。一朝一夕で養えるものではないため、長期的な人材育成や、AI人材の確保が求められるでしょう。
データサイエンティスト
AI人材の中でも特に注目を集めているのが、データサイエンティストです。データサイエンティストとは、その名の通りデータ活用に特化した科学者のことを指しています。従来では売り上げ予測や市場調査などで活躍してきた職種ですが、近年は人工知能分野においても脚光を浴びています。
AIは高度な技術ですが、その仕組みを紐解いてみるとデータ分析手法の一種であることがわかります。AI開発には統計分野のスキルやプログラミング能力も大きく関わっており、データサイエンス分野の技術としての側面を持っています。
表面的なAI開発と運用にとどまらず、本格的に企業活動に貢献できる人工知能を開発するためには、データサイエンティストの存在は不可欠でしょう。
機械学習でクラウドGPUを利用するメリット
このように、GPUを使った機械学習は魅力的な一方で、導入や運用に伴う負担は看過できないものとなっています。
こういった負担を少しでも軽減するべく、近年多くの企業が採用しているのがGPUクラウドです。クラウド経由でGPUを利用することで、どのようなメリットがあるのかについてお伝えしていきましょう。
クラウド経由で迅速に導入できる
クラウドGPUは、スピーディに導入できるのが大きな魅力です。
通常のGPUサーバーの場合、GPUの選定から始まり、どれくらいのサーバーを設置するか、どこにサーバーを設置するかを検討しなければならず、多くの時間を要します。
また、サーバーの設置は申し込んですぐできるものではなく、実際に搬入が始まり、導入環境が整うまでは数カ月かかることもあります。
一方のクラウド経由の場合、申し込みはオンラインで完結するだけでなく、最短で即日利用が可能です。インターネットを経由してGPUサーバーを運用するので、設置の手間がかからないためです。
また、どれくらいの規模のサーバーを導入するかは気軽に調整できます。従来のサーバーでは叶わなかった、必要なときに必要な分だけ、という柔軟性を実現しています。
コストパフォーマンスが高い
クラウドGPUは導入に時間がかからないだけでなく、初期費用や運用コストを抑えられることも特徴です。本体購入の必要がなく、月額あるいは年額のライセンス料さえ支払えば、半永久的に利用し続けられます。
また、運用にともなう電気代やメンテナンス費用もかからないため、長期的な運用の場合でもコストを小さく抑えられるのが特徴です。
当社モルゲンロットのクラウドGPUサービス「M:CPP」では、GPUクラウドの中でも特にコストパフォーマンスに力を入れたサービスを展開しています。大手クラウドと比較して、料金は2分の1程度に抑えられた事例もあり、コストを重視したい方におすすめのサービスです。
BCP対策に向いている
クラウド化したGPUは、BCP対策の面でも有効です。BCP対策とは、自然災害などが発生し、出社やオフィス利用が難しくなった場合でも、事業を継続するための環境整備です。
GPUサーバーを会社に設置すると、地震や津波で会社が失われた場合、GPUの利用ができなくなります。一方、クラウドを使ってGPU利用を別の地域に分担することで、たとえ会社が失われても、GPUは生きているため事業は継続できるというシナリオを描けます。
長期的な継続運用が鍵となるAI開発において、BCP対策のようなリスク管理は不可欠です。積極的に利用しましょう。
機械学習向けGPU:ハイパフォーマンス編
ここから、機械学習に最適なGPUを紹介します。まずは、ハイパフォーマンスのものを紹介していきましょう。
NVIDIA RTX A6000
NVIDIA RTX A6000は、世界有数のビジュアルコンピューティングGPUとして注目を集める製品です。メモリサイズは最大で48GBという、驚異的なキャパシティを有しており、たいていの機械学習タスクにも十分に対応ができる製品と言えます。
本体には新型のTensor Float 32 (TF32) を採用しているため、従来のTensorコアを採用するGPUの5倍近い速度でAIモデルのトレーニングを実行可能です。
画像引用元:NVIDIA RTX A6000(NVIDIA)
NVIDIA Tesla T4
画像引用元:NVIDIA Tesla T4(ELSA)
NVIDIA Tesla T4は、NVIDIAが代表するハイエンドGPUシリーズの新型モデルです。機械学習をはじめとするAI開発に特化した機能を備え、CPUの最大 40 倍のパフォーマンスを発揮できるポテンシャルを秘めています。GPUに求める演算能力の高さを、同製品で存分に実感できるでしょう。
NVIDIA Quadro GV100
画像引用元:NVIDIA Quadro GV100(ELSA)
NVIDIA Quadro GV100は、Volta アーキテクチャGPU と32GB のHBM2 メモリを搭載する、強力なGPUです。5120基のCUDAコアと32GBの大容量メモリを備えており、通常のGPUでは得られない、驚きのパフォーマンスを発揮します。
別売りのブリッジを導入することで、同製品を2台同時に運用し、デュアルGPUとして更なる高みを目指すことも可能です。
AMD Instinct MI100
画像引用元:AMD Instinct MI100(AMD)
AMD Instinct MI100は、AMD社が提供するディープラーニングや機械学習に最適化されたGPUモデルです。120演算ユニット(7,680コア)を備えたAMD CDNA アーキテクチャで構成されており、一般的なGPUとは比較にならない、パワフルな処理を実現します。
HPC および AI ワークロード向けのまったく新しいマトリックスコアを備え、最大で184.6 TFLOP FP16の超高速 AI トレーニングに貢献します。
機械学習向けGPU:ミドルパフォーマンス編
続いて、ミドルパフォーマンスな機械学習向けのGPUを紹介します。
GeForce RTX 3060
画像引用元:GeForce RTX 3060(NVIDIA)
GeForce RTX 3060は、ハイエンドなゲーミング体験を届けるために開発されたGPUですが、機械学習においても有力な製品です。世界最速のNVIDIA Ampereアーキテクチャと次世代のTensorコアを備え、AI開発に向けた演算処理も、従来モデルよりも高速で実行することができます。
メモリサイズは最大12GBなので、ミドルクラス以上の活躍が期待できるでしょう。
NVIDIA RTX A2000
画像引用元:NVIDIA RTX A2000(LENOVO)
NVIDIA RTX A2000は、ミニマルなデザインが特徴的なNVIDIAのGPUです。VIDIA Ampereアーキテクチャに基づいて構築され、6GBのメモリサイズと26個の第2世代RTコア、104個の第3世代Tensorコア、3,328個の次世代CUDAコアを備え、高い演算能力を有します。
省スペースでいてパワフルな環境を求める場合、最適なモデルです。
Radeon RX 7900 XTX
画像引用元:Radeon RX 7900 XTX(価格.com)
Radeon RX 7900 XTXは、最大メモリーサイズが24GBという高いポテンシャルを秘めているGPUです。チップレット・テクノロジーを搭載した画期的なAMD RDNA3アーキテクチャをベースに構成されており、次世代のGPU体験を提供します。
Radeon RX 560
画像引用元:Radeon RX 560
とにかく安価でも良いのでGPUを導入したいという方は、Radeon RX 560がおすすめです。
メモリータイプのGDDR5は前世代モデルですし、メモリサイズも4GBしかありませんが、価格は1万円台で手に入れることができるため、現在GPUが手持ちのPCに実装されていない場合、押さえの一台として最適です。
まとめ
GPUはグラフィックに特化したプロセッサと考えられていますが、今日では活躍の場が増えつつあり、AI開発にも貢献しています。
運用のためには設備投資や人材登用が必要となりますが、これらを揃えることができれば、優れたAIを自前で用意することも夢ではありません。GPUクラウドなどのサービスを利用しながら、効率良く環境を整備していきましょう。