【パイトーチ】

PyTorch とは?

最終更新:
💡 テンソル計算と自動微分で、AIモデルを組み立てる

テンソル計算と自動微分を備える、オープンソースの機械学習フレームワーク。Pythonからモデルの学習や推論を実装でき、CPUや対応するGPUなどで計算を実行できる。

📌 このページのポイント
PyTorch:学習の計算を実装する 入力データ テンソルで扱う モデル 予測を計算 損失を計算 予測と目標を 比較する autograd 勾配を計算 最適化器 パラメーター更新 モデルへ反映 自動微分とパラメーター更新は別の役割 CPUや対応するGPUなどで実行する
予測と目標から損失を求め、自動微分の勾配を最適化器が更新に使う学習例
ひよこ ひよこ
PyTorchって何をしてくれるの?
ペンギン先生 ペンギン先生
数値を多次元の配列であるテンソルとして扱い、モデルの計算や学習を実装するための道具だよ。Pythonから使え、CPUや対応するGPUで計算できる。データを用意してモデルを定義すれば、自動的に正しいAIが完成するという意味ではないんだ。
ひよこ ひよこ
自動微分って何に使うの?
ペンギン先生 ペンギン先生
学習では、予測と目標のずれを表す損失を計算し、その損失がパラメーターの変化にどう反応するかという勾配を求めるよ。autogradがその計算を助ける。得られた勾配を使ってパラメーターを更新する処理は、最適化器の役割なんだ。
ひよこ ひよこ
動的計算グラフって何?
ペンギン先生 ペンギン先生
通常の実行では、その回に行った操作をautogradが記録してグラフを作るよ。Pythonの分岐や繰り返しを使って、その回の計算を変えられる。モデルの定義と実行を対応させて確認しやすい仕組みなんだ。
ひよこ ひよこ
torch.compileを付ければ必ず速くなる?
ペンギン先生 ペンギン先生
モデルや関数を最適化する機能だけれど、効果は条件によるよ。最初のコンパイルや、入力の変化による再コンパイルのコストもある。対応する操作や実行環境を確認し、実際の処理で時間やメモリを測ろう。
ひよこ ひよこ
研究用ならPyTorch一択なの?
ペンギン先生 ペンギン先生
使うモデルの実装、チームの知識、実行環境、必要なライブラリの保守状況などで選ぶとよいよ。PyTorchはLinux Foundationがホストする財団のもとでコミュニティーが支えている。研究向けだけに限定された道具ではないんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「PyTorch」って出てきたら「テンソル計算と自動微分でAIを実装するフレームワーク」と思えばだいたいOK!
📖 おまけ:英語の意味
「PyTorch」 = Pythonから利用できる機械学習フレームワークの名前
💬 Pythonではtorchというモジュールを読み込んで使うよ。公式文書はPyTorchを、CPUやGPUを使う深層学習向けのテンソルライブラリと説明しているよ。

参考資料

← 用語集にもどる