「GPU」と「Python」だけじゃない 知っておきたいAI時代の基礎知識:AI時代のインフラを展望【後編】
「GPU」や「Python」はAI時代に欠かせない技術となったが、AI時代のインフラを考える上で必要なのはこれらだけではない。プロセッサとプログラミング言語の選択肢について、企業が持つべき視点とは。
GPU(グラフィックス処理装置)は、AI(人工知能)モデルのトレーニングや推論を支える欠かせない存在となった。GPUの力を最大限に引き出すため、多くの開発者がプログラミング言語「Python」を採用している。PythonがAI開発において人気を集める理由の一つが、その簡潔な構文と豊富なライブラリ(プログラムの部品集)の存在だ。
とはいえ、GPUやPythonが常に最適な選択肢とは限らない。アプリケーション開発ツールを手掛けるAzul Systems(以下、Azul)のCEOスコット・セラーズ氏に、プロセッサやプログラミング言語の選択肢について聞いた。
GPUを選ばない理由、押さえるべき言語とは?
併せて読みたいお薦め記事
連載:AI時代のインフラを展望
AI時代のリスクとは
プロセッサ
GPUは何百、何千個ものコア(演算を担う処理ユニット)を1つのデバイスに詰め込み、それらが並列に動作するプロセッサだ。その特性はAIモデルのトレーニングや推論の高速化に役立つ。セラーズ氏は、「AI関連タスクは並列処理によって効率的に処理できる」と説明する。つまり、多数のGPUコアが比較的単純な命令を同時に実行することで高速に処理できる。これが、GPUがAI技術活用の推進力となっている理由だ。
一方で、複雑なプログラムを処理する場合、GPUは最適な選択肢とは言えない。例えば、Azulの顧客である金融取引企業LMAX GroupはGPUの採用を見送っている。同社のシステムが扱う計算は複雑であり、簡単に並列処理できるものではないからだ。
「GPUが適するのは、比較的単純な処理を多数のプロセッサコアに分散するような場合だ」とセラーズ氏は説明する。複雑なプログラムを複数のプロセッサで並列処理するようなシステムには、「x86」「ARM64」といった、より複雑な処理に適したプロセッサアーキテクチャを採用したCPU(中央処理装置)を検討することが一般的だ。
プログラミング言語
PythonはAI開発で人気のプログラミング言語としてよく知られている。セラーズ氏は「多くの人が気付いていないが、Pythonの役割はあくまで計算の指示を出すことであり、実際に計算をしているのはGPUなどのハードウェアだ」とその基本的な役割を説明する。
高度な並列処理を必要とするアプリケーションの開発と運用のためのプログラミング言語としては、「Java」が適する場合もあるとセラーズ氏は話す。
Javaは、NVIDIAが提供する「CUDA」のようにGPU向けに開発された開発環境およびプログラミング言語ではないが、並列処理に関する改善もある。Javaアプリケーションの開発キット「Oracle JDK」のバージョン21(Oracle JDK 21、通称「Java 21」)には新機能「仮想スレッド」が導入されており、並列処理プログラムの作成や保守、デバッグがより簡単に実行できるようになっている。
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.