AI トレーニングに GPU が必要な理由

ChatGPT をきっかけとした AI ブームにより、GPU は AI ビッグモデル学習プラットフォームの基礎となり、決定的な演算基盤とさえ言えます。なぜ AI トレーニングに GPU が必要なのかという疑問に答えるには、人工知能 (AI) とディープラーニングの主要なテクノロジーを理解することが不可欠です。

人工知能とディープラーニング

人工知能は長い歴史を持つ学問です。 1950 年代以来、さまざまな技術的方向で探求され、いくつかの山と谷を経験してきました。人工知能の初期には、「人工ニューラル ネットワーク」として知られるやや失敗したジャンルが誕生しました。この技術の背景にあるコンセプトは、人間の脳の知能は比類のないものであり、高度な人工知能を実現するには人間の脳を模倣することが重要であるというものでした。人間の脳は、相互接続された数十億のニューロンで構成され、広大で複雑なニューラル ネットワークを形成しています。赤ちゃんの脳は白紙のようなもので、出生後の学習によって高いレベルの知能を獲得することができます。

生体ニューロンから人工ニューロンへ

人工ニューロン モデルは、人間の脳のニューロンからインスピレーションを得て考案されました。図の右側の人工ニューロンでは、各入力の重みを調整し、ニューロンを通じて処理することで、対応する出力が得られます。この文脈における各重みはパラメータと呼ばれます。

人工ニューラルネットワーク

このように複数のニューロンを接続してネットワークを形成すると、人工ニューラル ネットワークが形成されます。人工ニューラル ネットワークは通常、入力層、その間のいくつかの隠れ層、および出力層で構成されます。

このような人工ニューラル ネットワークは赤ちゃんの脳に似ており、空っぽであり、実際的な問題解決のための知識を獲得するために包括的に学習するためには大量のデータ供給が必要です。このプロセスは「ディープラーニング」として知られており、「機械学習」のサブセットに分類されます。

学習

一般的に使用される「教師あり学習」アプローチでは、AI に供給されるデータには問題と答えの両方が含まれている必要があります。たとえば、写真に猫が含まれているかどうかを検出するように AI をトレーニングすることが目的の場合、猫が含まれているとラベル付けされた多数の画像と、猫の特徴を AI に提供する必要があります。 AI はこれらの例を使用して、猫のパターンと特徴を学習します。

学習プロセスは、AI が初期パラメーター セットを使用して特定の画像を分析することから始まります。次に、その結​​論と正解を比較し、それに応じてパラメータの重みを調整します。この反復プロセスは、AI の出力が正解とほぼ一致するまで続きます。

ニューラルネットワークの学習プロセス

この学習プロセスはトレーニングと呼ばれます。一般に、正解がわかっている大量のデータを AI に提供すると、トレーニングの結果が向上します。トレーニングに満足したら、未知の問題に対する AI のパフォーマンスをテストできます。 AI が正確に答えを見つけることができれば、トレーニングは成功したと考えられ、AI は優れた「一般化」能力を示しています。」

単純なニューラルネットワーク

図に示すように、ニューラル ネットワークのある層から次の層へのパラメーターの重みの転送は、基本的に行列の乗算と加算です。ニューラル ネットワーク パラメーターのスケールが大きくなるほど、トレーニング中に必要な行列計算がより広範囲になります。

最先端の深層学習ニューラル ネットワークには数億から数兆のパラメーターが含まれる場合があり、高精度を達成するには膨大な量のトレーニング データが必要です。これは、順方向および逆方向の伝播を通じて膨大な数の入力サンプルを処理する必要があることを意味します。ニューラル ネットワークは多数の同一のニューロンから構築されるため、これらの計算は本質的に高度に並列化されます。膨大な計算需要を考慮すると、CPU と GPU のどちらを使用すべきでしょうか?

CPU と GPU

CPU (Central Processing Unit) はコンピュータの頭脳であり、中核です。これは主に、計算を実行する算術論理ユニット (ALU) と、データと命令のフローを管理する制御ユニット (CU) で構成されます。

CPU

データが到着すると、まずメモリに保存されます。次に、コントロール ユニットはメモリから関連データを取得し、それを処理のために ALU に渡します。計算が完了すると、結果がメモリに再度保存されます。

初期の頃、CPU には ALU、CU、およびキャッシュの単一セットがあり、一度に 1 つのタスクしか処理できませんでした。複数のタスクを処理するには、CPU がタスクをキューに入れて順番に実行し、リソースを共有する必要があります。

複数のタスクを処理する

その後、複数の ALU、CU、およびキャッシュのセットが 1 つのチップに統合され、マルチコア CPU が作成されました。マルチコア CPU は真の並列処理機能を備えています。

マルチコアプロセッサ

通常、最新の CPU には数個から数十個のコアが搭載されています。スマートフォンが普及し始めた頃、メーカーはコア数を重視し、スマートフォン市場での「コア戦争」を引き起こした。しかし、このコア数競争は最終的に頭打ちとなり、チップメーカーはコア性能の最適化に注力するようになりました。

なぜ CPU にはさらに多くのコアが統合されないのでしょうか?これは、CPU が汎用プロセッサであるためです。そのタスクは非常に複雑で、さまざまな種類のデータ計算を処理し、人間とコンピューターの相互作用に応答する必要があります。複雑なタスク管理とスケジューリングには、タスク間の切り替え時に低遅延を維持するために、より洗練された制御ユニットと大規模なキャッシュが必要です。コアの数が増えると、コア間の通信オーバーヘッドも増加し、個々のコアのパフォーマンスが低下する可能性があります。さらに、コアの数が増えると消費電力が増加する可能性があり、ワークロードが均等に分散されていない場合、全体的なパフォーマンスが向上しない可能性があり、さらには低下する可能性があります。

GPU、並列コンピューティングのエキスパート

GPU の領域を詳しく見てみましょう。グラフィックス プロセッシング ユニットとしても知られる GPU は、もともと CPU の負荷を軽減し、コンピュータ グラフィックス カードで一般的に使用される 3 次元グラフィックスのレンダリングを高速化するために設計されました。画像処理は本質的に、行列に焦点を当てた集中的な並列コンピューティングの一種です。以下の図に示すように、左側の画像は多数のピクセルで構成されており、自然に右側の行列として表現できます。

グラフィック処理装置

「GPU」という用語は、1999 年に Nvidia がリリースした GeForce256 によって人気を博しました。GeForceXNUMX は、各ピクセル ポイントを同時に処理し、画像レンダリングのためのグラフィック変換、ライティング、三角形クリッピングなどの数学的に集中的な並列計算を実行します。

GPU が集中的な並列コンピューティングを処理できるかどうかは、CPU と比較したアーキテクチャの違いに起因します。 CPU はコアの数が少なく、各コアが十分なキャッシュと堅牢な計算能力を備えているほか、多数のアクセラレーション分岐予測やさらに複雑な論理判断をハードウェアでサポートしているため、複雑なタスクの処理に適しています。

CPUとGPUの違い

対照的に、GPU はより単純で強引です。各コアの計算能力とキャッシュ サイズは限られており、全体的なパフォーマンスを向上させるにはコア数の増加に依存しています。コアの数が増えると、GPU は大量の単純な並列コンピューティング タスクを処理することで効率的にマルチタスクを実行できます。

GPUはマルチタスクが可能

時間の経過とともに、GPU はより多用途でプログラム可能になるように進化し、その機能を画像表示レンダリングを超えて拡張して、ハイパフォーマンス コンピューティング、ディープ ラーニング、およびその他のワークロードを高速化しました。人工知能による並列コンピューティングの需要の急増によってもたらされた機会を捉えて、GPU は以前の周辺的な役割から中心的な役割を担うようになり、非常に需要が高まっています。 「GPU」という用語は、汎用 GPU を表す GPGPU に変わりました。 GPU 上での AI トレーニング固有の並列性を活用すると、CPU のみを使用したトレーニングと比較して速度が大幅に向上し、大規模で複雑なニューラル ネットワーク ベースのシステムのトレーニングに推奨されるプラットフォームになります。推論操作の並列性は、GPU での実行とよく調和します。したがって、主力として GPU によって提供される計算能力は「インテリジェント コンピューティング」と呼ばれます。

コメント

上へスクロール