2026年11月15日(日) 記事を探す決算カレンダー広告掲載このサイトについて
トップ › 仕組み
仕組み

AI向けコンパイラとは モデルを各社の半導体向けに組み直すソフト

AI向けのコンパイラは、AIのモデルの計算をまとめて読み取り、半導体ごとの速い命令に組み直すソフトです。PyTorchの開発陣によると、新しい言語Helionの自動設定は、vLLMの手書きのCUDAの部品より1.27倍速く動きました。

ポイント
  • AI向けのコンパイラは、モデルの計算を半導体ごとの速い命令に変えるソフトです。
  • 計算をつなげて一度に処理する「融合」と、半導体に合わせた区切り方の調整が主な仕事です。
  • 代表例は、PyTorchのtorch.compile(中の部品はInductor)、グーグルのXLA、OpenAIが始めたTritonです。
  • IBMは、PyTorchのコンパイラを使うことで、自社の半導体向けのコードを7分の1に減らしたとしています。

AI向けのコンパイラは、PyTorchやJAXで書いたモデルを、GPUやTPU、各社の専用半導体で速く動く命令に変えるソフトです。人が書いた計算の手順を、半導体の得意な形に並べ直します。

計算をまとめ、区切りを決める

AIのモデルは、行列の掛け算、足し算、活性化関数などの小さな計算の連なりです。1つずつ半導体に送ると、そのたびにメモリとの読み書きが起き、時間がかかります。

コンパイラはまず、モデル全体を計算の流れの図(グラフ)として読み取ります。次に、続けて行える計算を1つの部品にまとめます。これを「融合」と呼び、メモリの往復を減らせます。最後に、データをどの大きさの区画に分けて、何本の処理で同時に回すかを決めます。この区切り方は半導体ごとに最適な値が違います。

区切り方の候補は多く、実際に何通りも動かして速いものを選ぶ「自動調整」がよく使われます。ただ、手間がかかります。

主なコンパイラと言語

AI向けの主なコンパイラ・部品の記述言語
名前中心になる組織役割
torch.compile(Inductor)PyTorch(メタなど)PyTorchのモデルをまとめて速くする
XLAグーグルなどJAXなどの計算をCPU・GPU・TPU向けにする
TritonOpenAIが開始GPUの計算部品をPythonに近い形で書く言語
HelionPyTorchTritonの上で、さらに短く部品を書く言語
CuTeDSLエヌビディアエヌビディアのGPU向けの部品の記述言語
FlyDSLAMDAMDのGPU向けの部品の記述言語

2026年10月28日に出たPyTorch 2.15版では、AMDのMI355X世代(gfx950)向けに、InductorがFlyDSLの部品を自動調整の候補に入れるようになりました。エヌビディアのBlackwell向けには、CuTeDSLで書いた行列計算の部品(NVGEMM)を4ビットの計算に合わせて調整しています。

自動調整を省く試み

PyTorchの開発陣は2026年11月12日、Helionで自動調整をせずに設定を決める方法を公表しました。以前は、1つの注意機構の部品を72通りの形で調整するのに、簡易の調整でも10時間かかった例があるといいます。

新しい方法は、コンパイルの時点で部品の中身を分析し、設定を直接決めます。エヌビディアのH100で、vLLMの手書きのCUDAの部品と比べて1.27倍、公開の手書きのTriton部品集(FLA)と比べて1.18倍の速さでした。分析にかかる時間は数十ミリ秒です。H100とB200では標準でこの方法が有効になっています。

新しい半導体の入り口

コンパイラは、新しい半導体の会社にとって、既存のAIのソフトを動かす入り口になります。PyTorch Foundationによると、IBMは自社のAI向け半導体「Spyre」のソフトでPyTorchのコンパイラを広げ、Spyre専用のコンパイラのコードを7分の1に減らしました。44の部品と約1万行のコードで、数千のモデルに対応したとしています。AWSは自社のTrainium向けに「TorchNeuron」を公開し、torch.compileにも対応させました。

関連する用語

  • カーネル:半導体の上で動かす計算の部品。
  • 融合(フュージョン):複数の計算を1つの部品にまとめること。
  • 自動調整(オートチューニング):設定の候補を実際に動かして速いものを選ぶこと。
  • MLIR:コンパイラを作るための共通の土台。IBMのSpyreの部品も使う。

Helionの新しい設定の方法は、H100とB200のTritonの経路で評価され、ほかの半導体向けの調整はこれからです。

この記事は公開資料をもとに作成しています。売買をすすめるものではありません。誤りを見つけたら訂正します(編集方針)。

関連する記事