10月21日の夜、ついにPyTorch 1.10がリリースされました! このアップデートには、バージョン 1.9 以降の 426 人の貢献者による 3,400 件を超えるコミットが含まれています。アップデートの主な目的は、PyTorch のトレーニング、パフォーマンス、開発者の使いやすさを向上させることです。
フロントエンドAPIFXの方が安定しています。 FX は、PyTorch プログラムを変換および縮小するために使用できる Python プラットフォームです。関数および nn.Module インスタンスでの Python から Python への変換を容易にします。 FX ツールキットは、Python 言語全体ではなく、Python 言語のサブセットをサポートして簡単に変換できるようにすることを目的としています。 1.10 のリリースにより、FX は安定しています。 SciPy に似た特別なモジュール torch.special が追加され、現在安定して使用可能です。このモジュールには、ガンマ、ベッセル、ガウスの誤差関数を含む 30 個の操作が含まれています。 nn.Module のパラメータ化により、ユーザーは nn.Module 自体を変更することなく、任意のパラメータをパラメータ化できます。このバージョンでは、重みの正規化 (weight_norm)、直交パラメータ化 (行列制約と部分的プルーニング) も追加され、ユーザーはより柔軟に独自のパラメータ化を作成できます。 ベータ版では、PyTorch は CUDA Graphs API を統合して、CUDA を呼び出す際の CPU オーバーヘッドを削減します。CUDA Graphs は、CPU に依存する cuda ワークロードの CPU オーバーヘッドを大幅に削減し、GPU 使用率を高めることでパフォーマンスを向上させます。分散ワークロードの場合、CUDA グラフはジッターを削減することもできます。並列ワークロードは最も遅いワーカーを待機する必要があるため、ジッターを削減すると全体的な並列効率が向上します。 この統合により、CUDA グラフによってキャプチャされたネットワーク コンポーネントと、グラフの制限によりキャプチャできないネットワークの部分との間のシームレスな相互運用が可能になります。 PyTorch の複素テンソルの共役 ( torch.conj() ) は定数時間の O(1) 演算となり、入力 Tensor の共役ビット単位のビューを返します。これは torch.is_conj() を呼び出すことで検証できます。これはすでに、行列乗算、ドット積などのさまざまな他の PyTorch 演算を活用して共役を融合しており、CPU と CUDA の両方でパフォーマンスが大幅に向上し、必要なメモリが少なくなります。 分散トレーニングバージョン 1.10 では、torch.distributed パッケージの多くの機能がベータ版から安定版に移行しました。
パフォーマンス最適化ツールTorchScript では、正常にコンパイルするために、ソース コードに型注釈が厳密に必要です。長い間、ユーザーは試行錯誤して不足している型注釈や間違った型注釈を追加するしかなく、つまり Torch.Jit.Script によって生成された型チェック エラーを 1 つずつ修正することでバグを解決するしかなく、非常に時間がかかり非効率的でした。現在、PyTorch 1.10 では、MonkeyType などの既存のツールを活用して、torch.jit.script のプロファイル指向入力が可能になり、プロセスがより簡単、高速、効率的になります。 PyTorch 1.10 では、CPU 用の LLVM ベースの JIT コンパイラが追加され、Torch ライブラリ呼び出しのシーケンスを融合してパフォーマンスが向上します。以前のバージョンでは GPU でこの機能がありましたが、1.10 では初めて CPU にコンパイルが導入されました。 PyTorch Profiler は、コード内で最も時間またはメモリコストが高い実行ステップを見つけ、GPU と CPU 間のワークロード分散を視覚化することを目的としています。現在のバージョン 1.10 には、主に次の機能が含まれています。
モバイル上の PyTorch昨年、PyTorch は Android Neural Network API (NNAPI) のプロトタイプ サポートをリリースしました。NNAPI の主な機能は、Android アプリケーションが携帯電話チップの最も効率的な部分を使用してニューラル ネットワークを実行できるようにすることです。サポートされているデバイスには、主に GPU (グラフィックス プロセッシング ユニット) と NPU (専用ニューラル プロセッシング ユニット) が含まれます。 新しいバージョンでは、PyTorch は、ロード時のより柔軟な形状のサポートや、テストのためにホスト上でモデルを実行する機能など、演算子 (op) の範囲をさらに広げています。 さらに、オブジェクト検出の例に転移学習が追加されました。 |
<<: レポート:中国の人工知能都市ランキングで北京が1位に
2021年AIインデックスレポートは、スタンフォード大学の人間中心AI研究所と、ハーバード大学、経済...
今日の物語の主人公は、サンジーヴ・アローラとアニルド・ゴヤルという二人の科学者です。アローラ氏はプリ...
IDC は、2024 年以降の世界の情報技術業界の予測である FutureScape レポートを発表...
[[264976]] [画像出典: Microsoft Research ブログ 所有者: Micr...
はい、この時計があれば、MNIST 手書きデータセットなしでは生きていけません。私たちは古代の真空管...
2024年初頭にChatGPTが人気を博して以来、コーディングを支援するさまざまなAIGCツールに...
すべてのテクノロジーが期待通りの成果を上げたり、当初の約束を果たしたりするわけではありません。技術進...
AI が人間の活動に取って代わるかどうかについての議論が激化するにつれ、データ サイエンティストは ...
COVID-19パンデミックの発生以来、世界中の研究チームがコロナウイルスの検出や感染の予測に役立つ...
従来のクライアント監視および分析シナリオでは、特定の URL に基づく統計分析方法が使用されます。た...