1 行のコードでエリクサーを 2 倍速く作成できます。 PyTorch 2.0 が驚きの登場、LeCun が熱心に推進
12 月 2 日、PyTorch 2.0 が正式にリリースされました。
このアップデートは、PyTorch のパフォーマンスを新たな高みに押し上げるだけでなく、動的な形状と分散のサポートも追加します。
さらに、2.0 シリーズでは、一部の PyTorch コードが C から Python に戻されます。
現在、PyTorch 2.0 はまだテスト段階にあり、最初の安定バージョンは 2023 年 3 月初旬に利用可能になる予定です。
PyTorch 2.x: より速く、より Python らしくなりました!
過去数年間、PyTorch は 1.0 から最近の 1.13 まで革新と反復を繰り返し、新しく設立された PyTorch Foundation に移行して Linux Foundation の一部になりました。
PyTorch の現在のバージョンの課題は、eager-mode が増え続ける GPU 帯域幅とよりクレイジーなモデル アーキテクチャに追いつくのが難しいことです。
PyTorch 2.0 の誕生により、コンパイラ レベルでの PyTorch の実行方法が根本的に変わり、改善されます。
ご存知のとおり、PyTorch の (Py) は、データ サイエンスで広く使用されているオープン ソースの Python プログラミング言語に由来しています。
ただし、PyTorch のコードは完全に Python を使用しているわけではなく、その一部を C に提供しています。
ただし、将来の 2.x シリーズでは、PyTorch プロジェクト チームは torch.nn に関連するコードを Python に戻す予定です。
さらに、PyTorch 2.0 は完全なアドオン (およびオプション) 機能であるため、2.0 は 100% 下位互換性があります。
つまり、コード ベース、API、モデルの記述方法は同じです。
その他の技術サポート
- TorchDynamo
Python フレームワーク評価フックを使用して安全にキャプチャする PyTorch プログラムこれは、過去 5 年間にわたってグラフ キャプチャのチームによって開発された主要なイノベーションです。
- AOTAutograd
PyTorch の autograd エンジンを、先読み逆トレースを生成するためのトレース autodiff としてオーバーロードします。
- PrimTorch
~2000 以上の PyTorch オペレーターを、開発者が完全な PyTorch を構築するためにオペレーターをターゲットにできる ~250 のプリミティブ オペレーターのクローズド セットに削減しました。バックエンド。 PyTorch 機能やバックエンドを作成する障壁は大幅に低くなります。
- TorchInductor
複数のアクセラレータとバックエンド用の高速コードを生成できるディープ ラーニング コンパイラ。 Nvidia の GPU では、主要な構成要素として OpenAI Triton が使用されています。
TorchDynamo、AOTAutograd、PrimTorch、TorchInductor はすべて Python で書かれており、動的シェイプをサポートしていることは注目に値します。
トレーニング速度の高速化
新しいコンパイル モード「torch.compile」の導入により、わずか 1 行のコードで PyTorch 2.0 を高速化できます。モデルトレーニング。
ここでは特別なトリックは必要ありません。torch.compile() を実行するだけで完了です:
opt_module = torch.compile(module)
これらのテクノロジーを検証するために、チームは、画像分類、オブジェクト検出、画像生成などのタスクと、言語モデリング、質問応答、シーケンス分類などのさまざまな NLP タスクを含むテスト ベンチマークを慎重に作成しました。 、推奨システム、強化学習。その中で、これらのベンチマークは 3 つのカテゴリに分類できます:
- HuggingFace Transformers の 46 モデル
- 61 TIMM のモデル: Ross Wightman による最先端の PyTorch コレクション 画像モデル
- TorchBench の 56 のモデル: github の人気のあるコード ベースのセット
テスト結果は、これらの 163 のモデルがビジョン、NLP、その他の分野に及ぶことを示しています。オープン ソース上でモデルでは、トレーニング速度が 38% ~ 76% 向上しました。
#NVIDIA A100 GPU での比較
さらに、チームは次のことも行いました。いくつかの人気のあるオープンソース PyTorch モデルでベンチマークが実施され、30% から 2 倍まで大幅な速度向上が得られました。
開発者の Sylvain Gugger 氏は次のように述べています: 「わずか 1 行のコードで、PyTorch 2.0 は Transformers モデルのトレーニング時に 1.5 倍から 2.0 倍の高速化を達成できます。これは自己混合型の高精度トレーニングです。
技術概要PyTorch のコンパイラは 3 つの部分に分類できます:
- 取得グラフの取得
- # グラフの削減
- # グラフのコンパイル
今年の初めに、チームは TorchDynamo の開発に取り組み始めました。 PEP-0523 で導入された、フレームワーク評価 API と呼ばれる CPython 機能を使用します。
この目的を達成するために、チームはデータ駆動型のアプローチを採用し、PyTorch で記述された 7,000 を超える Github プロジェクトを検証セットとして使用して、グラフ キャプチャにおける TorchDynamo の有効性を検証しました。
結果は、TorchDynamo が無視できるオーバーヘッドで、99% の確率でグラフ キャプチャを正確かつ安全に実行できることを示しています。
TorchInductor
PyTorch 2.0 の新しいコンパイラ バックエンドについて、チームはユーザーが高性能カスタム カーネルを作成する方法からインスピレーションを得ました。使用量の増加トリトン語の。
TorchInductor は、Pythonic で定義されたループごとのレベル IR を使用して、PyTorch モデルを GPU 上で生成された Triton コードおよび CPU 上の C/OpenMP に自動的にマッピングします。
TorchInductor のコア ループレベル IR には約 50 個の演算子しか含まれておらず、Python で実装されているため、拡張が簡単です。
AOTAutograd
トレーニングを高速化するには、ユーザーレベルのコードだけでなく、バックプロパゲーションもキャプチャする必要があります。
AOTAutograd は、PyTorch の torch_dispatch 拡張メカニズムを使用して Autograd エンジンを追跡し、バックプロパゲーションを「事前に」キャプチャし、TorchInductor を使用して順方向チャネルと逆方向チャネルを高速化できます。
PrimTorch
PyTorch には 1,200 を超える演算子があり、各演算子のさまざまなオーバーロードを考慮すると、2,000 を超える演算子があります。個人。したがって、バックエンドまたはクロスドメイン機能の作成はエネルギーを消費する作業になります。
PrimTorch プロジェクトでは、チームは 2 つのより小さくより安定したオペレーター セットを定義しました。
- Prim 演算子には、コンパイラに適した約 250 個の演算子があります。十分に低レベルであるため、優れたパフォーマンスを得るためにそれらを融合するだけで十分です。
- ATen ops には、そのままの出力に適した約 750 個の典型的な演算子があります。これらは、ATen レベルで既に統合されているバックエンド、またはコンパイルされていないバックエンドに適しており、Prim ops のような低レベルのオペレーター セットのパフォーマンスを回復します。
動的形状
PyTorch コードの汎用性をサポートするために何が必要かを調査する際の重要な要件動的形状をサポートし、形状が変更されるたびに再コンパイルを発生させることなく、モデルが異なるサイズのテンソルを受け入れることができるようにすることです。
動的シェイプがサポートされていない場合の一般的な回避策は、最も近い 2 の累乗まで埋め込むことです。ただし、以下のグラフからわかるように、パフォーマンスに重大なオーバーヘッドが発生し、コンパイル時間も大幅に長くなります。
PyTorch 2.0 は、動的シェイプのサポートにより、Eager よりも最大 40% 高いパフォーマンスを達成しました。
最後に、PyTorch 2.x のロードマップにおいて、チームはパフォーマンスとスケーラビリティの点でコンパイル モデルをさらに前進させたいと考えています。
以上が1 行のコードでエリクサーを 2 倍速く作成できます。 PyTorch 2.0 が驚きの登場、LeCun が熱心に推進の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









従来のコンピューティングを超える能力を備えているだけでなく、より低コストでより効率的なパフォーマンスを実現する人工知能モデルを想像してみてください。これは SF ではありません。世界で最も強力なオープンソース MoE モデルである DeepSeek-V2[1] が登場しました。 DeepSeek-V2 は、経済的なトレーニングと効率的な推論の特徴を備えた強力な専門家混合 (MoE) 言語モデルです。これは 236B のパラメータで構成されており、そのうち 21B は各マーカーをアクティブにするために使用されます。 DeepSeek67B と比較して、DeepSeek-V2 はパフォーマンスが優れていると同時に、トレーニング コストを 42.5% 節約し、KV キャッシュを 93.3% 削減し、最大生成スループットを 5.76 倍に高めます。 DeepSeek は一般的な人工知能を研究する会社です

今月初め、MIT やその他の機関の研究者らは、MLP に代わる非常に有望な代替案である KAN を提案しました。 KAN は、精度と解釈可能性の点で MLP よりも優れています。また、非常に少数のパラメーターを使用して、多数のパラメーターを使用して実行する MLP よりも優れたパフォーマンスを発揮できます。たとえば、著者らは、KAN を使用して、より小規模なネットワークと高度な自動化で DeepMind の結果を再現したと述べています。具体的には、DeepMind の MLP には約 300,000 個のパラメーターがありますが、KAN には約 200 個のパラメーターしかありません。 KAN は、MLP が普遍近似定理に基づいているのに対し、KAN はコルモゴロフ-アーノルド表現定理に基づいているのと同様に、強力な数学的基礎を持っています。以下の図に示すように、KAN は

Boston Dynamics Atlas は正式に電動ロボットの時代に突入します!昨日、油圧式アトラスが歴史の舞台から「涙ながらに」撤退したばかりですが、今日、ボストン・ダイナミクスは電動式アトラスが稼働することを発表しました。ボストン・ダイナミクス社は商用人型ロボットの分野でテスラ社と競争する決意を持っているようだ。新しいビデオが公開されてから、わずか 10 時間ですでに 100 万人以上が視聴しました。古い人が去り、新しい役割が現れるのは歴史的な必然です。今年が人型ロボットの爆発的な年であることは間違いありません。ネットユーザーは「ロボットの進歩により、今年の開会式は人間のように見え、人間よりもはるかに自由度が高い。しかし、これは本当にホラー映画ではないのか?」とコメントした。ビデオの冒頭では、アトラスは仰向けに見えるように地面に静かに横たわっています。次に続くのは驚くべきことです

AI は確かに数学を変えつつあります。最近、この問題に細心の注意を払っている陶哲軒氏が『米国数学協会会報』(米国数学協会会報)の最新号を送ってくれた。 「機械は数学を変えるのか?」というテーマを中心に、多くの数学者が意見を述べ、そのプロセス全体は火花に満ち、ハードコアで刺激的でした。著者には、フィールズ賞受賞者のアクシャイ・ベンカテシュ氏、中国の数学者鄭楽軍氏、ニューヨーク大学のコンピューター科学者アーネスト・デイビス氏、その他業界で著名な学者を含む強力な顔ぶれが揃っている。 AI の世界は劇的に変化しています。これらの記事の多くは 1 年前に投稿されたものです。

Google が推進する JAX のパフォーマンスは、最近のベンチマーク テストで Pytorch や TensorFlow のパフォーマンスを上回り、7 つの指標で 1 位にランクされました。また、テストは最高の JAX パフォーマンスを備えた TPU では行われませんでした。ただし、開発者の間では、依然として Tensorflow よりも Pytorch の方が人気があります。しかし、将来的には、おそらくより大規模なモデルが JAX プラットフォームに基づいてトレーニングされ、実行されるようになるでしょう。モデル 最近、Keras チームは、ネイティブ PyTorch 実装を使用して 3 つのバックエンド (TensorFlow、JAX、PyTorch) をベンチマークし、TensorFlow を使用して Keras2 をベンチマークしました。まず、主流のセットを選択します

テスラのロボット「オプティマス」の最新映像が公開され、すでに工場内で稼働可能となっている。通常の速度では、バッテリー(テスラの4680バッテリー)を次のように分類します:公式は、20倍の速度でどのように見えるかも公開しました - 小さな「ワークステーション」上で、ピッキング、ピッキング、ピッキング:今回は、それがリリースされたハイライトの1つビデオの内容は、オプティマスが工場内でこの作業を完全に自律的に行い、プロセス全体を通じて人間の介入なしに完了するというものです。そして、オプティマスの観点から見ると、自動エラー修正に重点を置いて、曲がったバッテリーを拾い上げたり配置したりすることもできます。オプティマスのハンドについては、NVIDIA の科学者ジム ファン氏が高く評価しました。オプティマスのハンドは、世界の 5 本指ロボットの 1 つです。最も器用。その手は触覚だけではありません

目標検出は自動運転システムにおいて比較的成熟した問題であり、その中でも歩行者検出は最も初期に導入されたアルゴリズムの 1 つです。ほとんどの論文では非常に包括的な研究が行われています。ただし、サラウンドビューに魚眼カメラを使用した距離認識については、あまり研究されていません。放射状の歪みが大きいため、標準のバウンディング ボックス表現を魚眼カメラに実装するのは困難です。上記の説明を軽減するために、拡張バウンディング ボックス、楕円、および一般的な多角形の設計を極/角度表現に探索し、これらの表現を分析するためのインスタンス セグメンテーション mIOU メトリックを定義します。提案された多角形モデルの FisheyeDetNet は、他のモデルよりも優れたパフォーマンスを示し、同時に自動運転用の Valeo 魚眼カメラ データセットで 49.5% の mAP を達成しました。

FP8 以下の浮動小数点数値化精度は、もはや H100 の「特許」ではありません。 Lao Huang は誰もが INT8/INT4 を使用できるようにしたいと考え、Microsoft DeepSpeed チームは NVIDIA からの公式サポートなしで A100 上で FP6 の実行を開始しました。テスト結果は、A100 での新しい方式 TC-FPx の FP6 量子化が INT4 に近いか、場合によってはそれよりも高速であり、後者よりも精度が高いことを示しています。これに加えて、エンドツーエンドの大規模モデルのサポートもあり、オープンソース化され、DeepSpeed などの深層学習推論フレームワークに統合されています。この結果は、大規模モデルの高速化にも即座に影響します。このフレームワークでは、シングル カードを使用して Llama を実行すると、スループットはデュアル カードのスループットの 2.65 倍になります。 1つ
