NVIDIA、Sparkの独自関数をGPU向けに書き換えるAIエージェント技術を公開 最大20倍超の高速化を実現
要点
-
米NVIDIAは2026年10月13日、Apache Sparkのユーザー定義関数(UDF)をGPU向けコードへ数分で書き換えるAIエージェント手法を公開した。
-
SparkのUDFはGPU処理中にCPUへのフォールバックを引き起こし、パイプライン全体の長年の性能ボトルネックとなっていた。
-
提供される「cuDF skills for Apache Spark」により、テストからコード変換、ベンチマーク、動作検証までをエージェントが自律的に実行する。
-
UDFのGPU化によって20倍以上の高速化が可能となり、大手企業では6000億行の処理時間を274時間から約13時間へ短縮した実績も示された。
-
米NVIDIAは現地時間2026年10月13日、大規模データ処理フレームワーク「Apache Spark」で用いられるユーザー定義関数(UDF)を、GPUアクセラレーション対応コードへ短時間で変換するAIエージェント手法を公式技術ブログで発表した。
-
オープンソースの高速化ツール「NVIDIA cuDF plugin for Apache Spark」を活用する環境において、長年の性能ボトルネックとなっていたUDFの処理を、専用のAIスキルセットを用いて自動的に再実装できるという。
-
元記事によると、このワークフローにより数分でGPU対応コードへの書き換えが完了し、最大22倍以上の処理高速化が確認されたと報告している。
GPU処理のボトルネックとなってきた「UDFの壁」
Apache Sparkは、大規模データの分散処理基盤として広く普及している。NVIDIAはこのSpark向けに、GPUの大規模並列性と広帯域メモリを活用してデータ処理を高速化し、総保有コスト(TCO)を改善するプラグイン「NVIDIA cuDF plugin for Apache Spark」を提供している。
Sparkの利点の一つは、SQLやDataFrame(表形式のデータ構造)を用いた宣言的なプログラミングモデルにある。処理の目的と実行方法が分離されているため、cuDFプラグインはコードを変更することなく、GPUのSIMD(単一の命令で複数のデータを同時に並列処理する仕組み)機能を用いて行処理を自動で並列化できる。
しかし、独自の業務ロジックを実装するユーザー定義関数(UDF: User-Defined Function)は任意のコードを含むため、システムが処理内容を推論できないブラックボックスとなる。その結果、GPU上で動作するパイプラインであっても、UDF実行時には列形式データを1行ずつの行形式へ変換してCPUへ転送し、処理後に再び列形式に戻してGPUへ再転送する「フォールバック」が発生していた。この往復転送によるオーバーヘッドとGPU演算機会の喪失が、長年のボトルネックとなっていたという。
GPU対応コードへの書き換え手法と手動移行の限界
元記事によると、UDFを適切なプリミティブを用いて書き換えることでCPUフォールバックを排除し、20倍以上の高速化を達成できると説明している。記事内では主に以下の3つのアプローチが挙げられている。
1つ目は、Spark SQLの標準表現への置き換えである。抽象度が高く実装の複雑さも低いため、単純なリレーショナルロジックやインライン化できる小さな関数に適している。
2つ目は、GPUデータフレームライブラリ「cuDF」のJava APIとRapidsUDFインターフェースを用いた書き換えだ。柔軟性と実行制御力に優れ、大半のユースケースに対応できるとされる。
3つ目は、JNI(Java Native Interface:Javaからネイティブコードを呼び出す仕組み)を介してカスタムCUDAカーネルを呼び出す手法である。
だが、本番環境で稼働している既存のUDFを手作業で書き直すのは容易ではない。書き換え後のコードが元のUDFと完全に同一の結果を出力するかを厳格に検証する必要があり、これまで膨大な工数と時間を要する要因となっていた。
検証ループを自動化する「cuDF skills for Apache Spark」
こうした課題を解消するため、NVIDIAはAIエージェント向けのツールセット「cuDF skills for Apache Spark」をGitHub上で公開した。
このツールは、AIエージェントがテストの作成、GPU対応コードへの変換、ベンチマーク測定、最適化までを一貫して支援するスキルを提供する。最大の特徴は「検証駆動型のフィードバックループ(verification-driven feedback loops)」を備えている点だ。エージェントは単にコードを自動生成するだけでなく、テストを実行して出力結果の整合性を確認し、不一致やエラーがあればその結果をもとに自律的に修正・最適化を繰り返す。
これにより、人間が介入する手間を大幅に減らし、わずか数分程度で信頼性の高いGPU対応コードへと変換できる環境を実現したと説明している。
6000億行の処理時間を274時間から約13時間へ短縮
元記事では、このAIエージェントワークフローを先行導入した大手コンシューマーテクノロジー企業の実績も紹介されている。同社では本番環境で運用されていた30個以上のUDFを、この手法を用いてGPU対応コードへと移行した。
その中の一例として、6000億行におよぶ大規模データセットを扱う処理において、特定オペレーターの実行時間が書き換え前の274.55時間から12.78時間へと大幅に短縮されたケースが報告されている。
NVIDIAの著者陣は、近年のエージェントAIの普及に伴い、企業が扱うデータ量の増大と複雑なクエリの頻発が進んでいると指摘する。増大するデータ需要に対してコストを抑えつつスループットを引き上げる手段として、AIエージェントによるUDFのGPU化が極めて有効に機能すると強調している。