PyTorch(パイトーチ)は、Pythonでニューラルネットワークを組み立てて学習・推論させるための、オープンソースの深層学習フレームワークです。画像認識や大規模言語モデルなど、現在のAI開発の多くで土台として使われています。
PyTorch とは:誰が作っているのか
PyTorchはもともとMeta(旧Facebook)のAI研究部門が開発しました。2022年に運営がLinux Foundation傘下の「PyTorch Foundation」へ移りました。現在は特定の1社ではなく、複数の企業が参加する団体が管理しています。
ソースコードはGitHubで公開されており、BSD系のライセンスのため商用でも使えます。
何ができるのか
中心となる機能は2つあります。「テンソル」と呼ばれる多次元配列の計算と、自動微分(autograd)です。モデルの計算式を書くだけで、学習に必要な勾配を自動で求めてくれます。
PyTorchは、Pythonのコードを実行しながら計算グラフを組み立てる「define-by-run」方式をとっています。普通のPythonと同じようにif文やループを書け、途中の値をprintで確かめられるので、試行錯誤やデバッグがしやすくなります。NVIDIAのGPU(CUDA)で高速に計算できます。PyTorch 2.0からは、torch.compileでモデルの実行を最適化する機能も加わりました。
使い方の流れ
導入は pip install torch でインストールし、import torch で読み込むのが基本です。GPU版は、手元のCUDAのバージョンに合わせて公式サイトの手順どおりに入れます。
学習の手順はおおむね次のとおりです。まず torch.nn でモデルの層を定義し、DataLoaderでデータを読み込みます。次に損失関数と最適化手法(torch.optim)を選びます。あとは「予測→損失の計算→backward()で勾配を計算→パラメータの更新」を繰り返します。Hugging FaceのTransformersをはじめ、学習済みモデルを配布するライブラリの多くがPyTorchに対応しています。そのため、ゼロから作らずに既存のモデルを調整して使うのも一般的です。
料金:PyTorch 自体は無料
PyTorchにライセンス料はかかりません。費用がかかるのは、学習や推論を動かす計算資源です。GPUサーバを自社で用意するか、クラウドのGPUを借りるかで金額は大きく変わり、モデルの規模や学習時間にも左右されます。企画・DXの立場では、ソフト代ではなく「GPU代と人件費」で見積もるのが実態に近い考え方です。
競合と最近の動き
同じ種類のフレームワークでは、Googleが開発したTensorFlowやJAXが主な競合です。
ハードウェアの各社も、PyTorchへの対応を競っています。PC Watchによると、AMDとIntelは、x86 CPU向けにそれぞれ進めてきたPyTorchの最適化を統合します。時期や範囲の詳細はまだ分かっていません。TechCrunchによると、AmazonはNVIDIAへの対抗策として開発ツール「TorchNeuron」を投入しました。名称から、PyTorchとAmazonの自社AIチップ向けのNeuronを結びつけるツールとみられます。ただし、対応するチップや提供時期の詳細は明らかになっていません。
PyTorchがAI開発の共通の土台になっているので、各社とも「自社のチップでPyTorchがそのまま動くこと」を重視している、というのが当サイトの見方です(推測)。

