UK — The Register
PyTorch 2.15、「不良GPU1台」問題に対応
AI2分で読めます
PyTorch 2.15 は、AI の学習で GPU が 1 台壊れても、学習を最初からやり直さずに済むようにする新しい仕組みを入れたというニュースです。中心にあるのは、GPU 同士の通信を担うソフトウェアを作り直したことです。
何が起きたのか
PyTorch 2.15 では、Nvidia の通信ライブラリ NCCL を動かす部分(バックエンド)が作り直されました。新しい部分は、GPU の不具合を見つけやすくし、そこから立ち直りやすくすることを目指しています。作り直しを進めた Meta のエンジニア Tristan Rice さんが、YouTube のライブ配信で説明しました。
NCCL とは何か
NCCL は「ニッケル」と読み、Nvidia Collective Communications Library の略です。GPU 同士が同じ機械の中や、複数の機械をまたいで、データをやり取りするための道具です。大きな AI モデルを動かしたり、LLM を作ったり運用したりするときに欠かせません。古い仕組みは、通信の管理が複雑すぎて、突然止まったり、性能が安定しなかったりしていました。
主な変更点
- 新しい NCCL バックエンドは、1 つのプロセスグループにつき通信の担当(コミュニケータ)を 1 つだけ作ります。
- 古い仕組み(ProcessGroupNCCL)は、1 つのプロセスグループに数十個の担当を作ることがあり、止まったり性能がばらついたりしていました。
- GPU が止まったり遅くなったりしたら、外部の管理ツールがその GPU を外し、代わりの作業役を割り当てられます。
- 「フライトレコーダー」が、処理の記録を連続したスナップショットとして残します。失敗の後で、何が起きたかを調べられます。
- 古い仕組みは 2.15 に残りますが、新しい仕組みがうまく動けば、2026 年早々に予定されている 2.16 で削除される見込みです。
なぜ大事なのか
大規模な AI の学習は、何日も何週間も続くことがあります。GPU が 1 台壊れるだけで最初からやり直しになると、時間とお金が大きく無駄になります。今回の変更で、PyTorch は研究者向けの道具から、実際のサービスを支える土台へ近づいたと言えます。
今後注目したい点
- 新しい NCCL バックエンドが、実際の大規模な環境でも安定して動くか。
- 2.16 で古い仕組みが本当に削除されるか。
- 外部の管理ツールと組み合わせたとき、GPU の入れ替えがどれだけ速くできるか。
用語解説
- PyTorch
- AI のモデルを作ったり学習させたりするためのプログラム道具(ソフトウェア)です。
- NCCL
- Nvidia の GPU 同士がデータをやり取りするための通信ライブラリ(道具の集まり)です。
- GPU
- 画像処理などを速く行うための部品で、AI の学習にもよく使われます。
- ProcessGroupNCCL
- PyTorch で NCCL を動かす古い仕組み(バックエンド)の名前です。
- Meta
- Facebook や Instagram を運営する会社です。PyTorch の開発にも関わっています。
- LLM
- 大量の文章を学習して作られた、大きな言語モデルのことです。