Rumah  >  Artikel  >  Peranti teknologi  >  PyTorch 1.12 dikeluarkan, secara rasmi menyokong pecutan GPU cip M1 Apple dan membetulkan banyak pepijat

PyTorch 1.12 dikeluarkan, secara rasmi menyokong pecutan GPU cip M1 Apple dan membetulkan banyak pepijat

WBOY
WBOYke hadapan
2023-04-12 21:31:03982semak imbas

PyTorch 1.12 dikeluarkan, secara rasmi menyokong pecutan GPU cip M1 Apple dan membetulkan banyak pepijat

​PyTorch 1.12 dikeluarkan secara rasmi. Rakan yang belum dikemas kini boleh mengemas kini.

Hanya beberapa bulan selepas PyTorch 1.11 dilancarkan, PyTorch 1.12 sudah tersedia! Versi ini mengandungi lebih daripada 3124 komitmen sejak versi 1.11, dilengkapkan oleh 433 penyumbang. Versi 1.12 termasuk penambahbaikan utama dan banyak pembetulan pepijat.

Dengan keluaran versi baharu, perkara yang paling dibincangkan mungkin PyTorch 1.12 menyokong cip Apple M1. ​

PyTorch 1.12 dikeluarkan, secara rasmi menyokong pecutan GPU cip M1 Apple dan membetulkan banyak pepijat

Malah, seawal Mei tahun ini, PyTorch secara rasmi mengumumkan bahawa ia secara rasmi menyokong latihan model pembelajaran mesin PyTorch dipercepatkan GPU pada versi M1 Mac . Sebelum ini, latihan PyTorch pada Mac hanya boleh menggunakan CPU, tetapi dengan keluaran PyTorch versi 1.12, pembangun dan penyelidik boleh memanfaatkan GPU Apple untuk mempercepatkan latihan model dengan ketara.

Memperkenalkan latihan PyTorch yang dipercepatkan pada Mac​

Pecutan latihan GPU PyTorch dilaksanakan menggunakan Apple Metal Performance Shaders (MPS) sebagai bahagian belakang. Bahagian belakang MPS memanjangkan rangka kerja PyTorch untuk menyediakan skrip dan fungsi untuk menyediakan dan menjalankan operasi pada Mac. MPS mengoptimumkan prestasi pengiraan menggunakan kuasa teras yang diperhalusi untuk ciri unik setiap keluarga GPU Metal. Peranti baharu memetakan graf pengiraan pembelajaran mesin dan primitif ke rangka kerja Graf MPS dan kernel penalaan yang disediakan oleh MPS.

Setiap Mac yang dilengkapi dengan cip yang dibangunkan sendiri oleh Apple mempunyai seni bina memori bersatu, membolehkan GPU mengakses terus storan memori yang lengkap. Pegawai PyTorch berkata ini menjadikan Mac platform yang sangat baik untuk pembelajaran mesin, membolehkan pengguna melatih rangkaian yang lebih besar atau saiz kelompok secara tempatan. Ini mengurangkan kos yang berkaitan dengan pembangunan berasaskan awan atau keperluan untuk kuasa pengkomputeran GPU tempatan tambahan. Seni bina memori bersatu juga mengurangkan kependaman pengambilan data dan meningkatkan prestasi hujung ke hujung.

Seperti yang anda lihat, berbanding dengan garis dasar CPU, pecutan GPU mencapai peningkatan prestasi latihan eksponen:

PyTorch 1.12 dikeluarkan, secara rasmi menyokong pecutan GPU cip M1 Apple dan membetulkan banyak pepijatPyTorch 1.12 dikeluarkan, secara rasmi menyokong pecutan GPU cip M1 Apple dan membetulkan banyak pepijat

Dengan sokongan GPU, latihan dan kelajuan penilaian melebihi CPU

Gambar di atas adalah penggunaan Apple M1 Ultra oleh Apple (20 Hasilnya adalah diuji pada sistem Mac Studio dengan memori 128GB, GPU 64-teras dan SSD 2TB. Model ujian ialah ResNet50 (saiz kelompok = 128), HuggingFace BERT (saiz kelompok = 64) dan VGG16 (saiz kelompok = 64). Ujian prestasi dijalankan menggunakan sistem komputer tertentu dan mencerminkan prestasi anggaran Mac Studio.

Ciri baharu PyTorch 1.12 yang lain

API bahagian hadapan: TorchArrow

Pegawai PyTorch telah mengeluarkan versi beta baharu untuk dicuba oleh pengguna: TorchArrow. Ini ialah perpustakaan prapemprosesan pembelajaran mesin untuk pemprosesan data kelompok. Ia berprestasi tinggi, gaya Pandas dan mempunyai API yang mudah digunakan untuk mempercepatkan aliran kerja dan pembangunan prapemprosesan pengguna.

(Beta) Kompleks32 dan Konvolusi Kompleks dalam PyTorch

Pada masa ini, PyTorch secara asli menyokong nombor kompleks, autograd kompleks, modul kompleks dan sejumlah besar operasi kompleks (linear algebra dan transformasi Fourier pantas). Nombor kompleks sudah digunakan dalam banyak perpustakaan, termasuk torchaudio dan ESPNet, dan PyTorch 1.12 melanjutkan lagi keupayaan nombor kompleks dengan lilitan kompleks dan jenis data kompleks32 eksperimen, yang menyokong operasi FFT separuh ketepatan. Disebabkan oleh pepijat dalam pakej CUDA 11.3, jika pengguna ingin menggunakan nombor jamak, secara rasmi disyorkan untuk menggunakan pakej CUDA 11.6.

(Beta)Pembezaan Automatik mod Maju

AD mod hadapan membenarkan pengkomputeran terbitan arah (atau produk vektor Jacobian yang setara) dalam pas hadapan. PyTorch 1.12 meningkatkan liputan AD mod hadapan dengan ketara.

BetterTransformer

PyTorch kini menyokong berbilang pelaksanaan laluan pantas CPU dan GPU (BetterTransformer), modul pengekod Transformer, termasuk pelaksanaan TransformerEncoder, TransformerEncoderLayer dan MultiHeadAttention (MHA). Dalam versi baharu, BetterTransformer adalah 2x lebih pantas dalam banyak senario biasa, bergantung pada model dan ciri input. Versi baharu API menyokong keserasian dengan API Transformer PyTorch sebelumnya, yang akan mempercepatkan model sedia ada jika ia memenuhi keperluan pelaksanaan laluan pantas, serta membaca model yang dilatih dengan versi PyTorch terdahulu. PyTorch 1.12 dikeluarkan, secara rasmi menyokong pecutan GPU cip M1 Apple dan membetulkan banyak pepijat Selain itu, versi baharu mempunyai beberapa kemas kini:

  • Modul: Ciri beta baharu untuk pengiraan modul ialah API berfungsi. API functional_call() baharu ini memberikan pengguna kawalan penuh ke atas parameter yang digunakan dalam pengiraan modul.
  • TorchData: DataPipe telah meningkatkan keserasian dengan DataLoader. PyTorch kini menyokong DataPipes berasaskan AWSSDK. DataLoader2 telah diperkenalkan sebagai satu cara untuk mengurus interaksi antara DataPipes dan API dan hujung belakang yang lain.
  • nvFuser: nvFuser ialah pelebur lalai baharu yang lebih pantas untuk menyusun ke peranti CUDA.
  • Ketepatan pendaraban matriks: Secara lalai, pendaraban matriks pada jenis data float32 kini akan berfungsi dalam mod ketepatan penuh, yang lebih perlahan tetapi menghasilkan hasil yang lebih konsisten .
  • Bfloat16: Penambahbaikan baharu pada jenis data Bfloat16 dalam 1.12 untuk menyediakan masa pengiraan yang lebih pantas untuk jenis data yang kurang tepat.
  • API FSDP: Dikeluarkan sebagai prototaip dalam versi 1.11, API FSDP mencapai beta dengan keluaran versi 1.12, dengan beberapa peningkatan ditambah.

Untuk maklumat lanjut, sila lihat: https://pytorch.org/blog/pytorch-1.12-released/.

Atas ialah kandungan terperinci PyTorch 1.12 dikeluarkan, secara rasmi menyokong pecutan GPU cip M1 Apple dan membetulkan banyak pepijat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam