Lewati ke konten utama

PyTorch 2.0 Telah Hadir: Semua yang Kami Ketahui

Jelajahi rilis terbaru PyTorch yang lebih cepat, lebih Pythonic, dan lebih dinamis.
Diperbarui 28 Sep 2026  · 6 mnt Baca

Jelajahi bersama AI

ChatGPTClaudePerplexity

PyTorch adalah kerangka kerja deep learning open-source yang dipimpin komunitas, menyediakan cara yang fleksibel dan efisien untuk membangun model machine learning. Ia memiliki antarmuka yang ramah pengguna, dukungan komunitas yang luas, dan integrasi mulus dengan ekosistem Python.

PyTorch 2.0 memperkenalkan perubahan mendasar pada operasi inti kompilernya sambil tetap menjaga tingkat keakraban dan kemudahan yang sama bagi pengembang. Peningkatan terbaru ini menjanjikan kinerja yang lebih cepat serta dukungan yang diperluas untuk Dynamic Shapes dan Distributed.

Apa yang Baru di PyTorch 2.0?

PyTorch memindahkan sebagian komponen dari C++ kembali ke Python, membuatnya lebih cepat dan mudah diutak-atik. Dengan versi 2.0, mereka memperkenalkan `torch.compile`, yang mengubah cara kerja PyTorch pada level kompilernya. Fitur ini bersifat opsional dan tidak memengaruhi kode lama Anda.

Kompilasi PyTorch 2.0

Untuk menyediakan fondasi yang solid bagi fitur `torch.compile`, beberapa teknologi baru diperkenalkan:

  • TorchDynamo. Kompiler Just-in-Time (JIT) pada level Python yang dirancang khusus untuk mempercepat PyTorch. Dengan berintegrasi ke API evaluasi frame di CPython, ia memodifikasi bytecode Python secara dinamis saat runtime, sehingga memungkinkan eksekusi kode yang lebih cepat.
  • AOTAutograd. Perangkat bantu untuk membantu pengembang mempercepat pelatihan model di PyTorch. Ia melacak grafik forward dan backward di awal. Selain itu, AOTAutograd menawarkan mekanisme sederhana untuk mengompilasi grafik yang diekstrak secara mulus menggunakan kompiler deep learning terkini.
  • PrimTorch. Dengan secara signifikan mengurangi jumlah operator PyTorch dari lebih dari 2000 menjadi sekitar 250 operator primitif, PrimTorch sangat menyederhanakan proses pengembangan fitur atau backend PyTorch.
  • TorchInductor. Kompiler deep learning asli PyTorch yang secara otomatis memetakan model PyTorch ke kode terhasilkan untuk berbagai akselerator dan backend. TorchInductor menggunakan OpenAI Triton sebagai blok bangunan untuk akselerasi GPU.

Semua teknologi baru ditulis dalam Python dan mendukung Dynamic shapes. Hal ini membuat PyTorch baru menjalankan kode lebih cepat, lebih fleksibel, dan mudah diutak-atik, sehingga menurunkan hambatan masuk.

Contoh Kode

Mari kita tinjau implementasi kode PyTorch Compiler yang cepat dan mudah.

Tanpa torch.compile

import torch
model = torch.hub.load("pytorch/vision", "resnet50", weights="IMAGENET1K_V2")

Tanpa torch.compile

Untuk meningkatkan kinerja model, cukup tambahkan pembungkus torch.compile di sekitar model untuk mendapatkan model yang terkompilasi. Ini bersifat plug-and-play.

import torch
model = torch.hub.load("pytorch/vision", "resnet50", weights="IMAGENET1K_V2")
compiled_model = torch.compile(model)

Pelajari cara membangun model deep learning dengan pustaka PyTorch melalui kursus Deep Learning with PyTorch.

Anda dapat melatih model Anda tanpa mengubah apa pun.

import torch
model = torch.compile(model)
for batch in dataloader:
    run_epoch(model, batch)

Atau Anda dapat menjalankan mode inferensi.

model = torch.compile(model)
model(**input)

Fungsi torch.compile() hadir dengan parameter tambahan:

  1. mode: Anda dapat menentukan apa yang harus dioptimalkan oleh kompiler saat mengompilasi.
  2. dynamic: digunakan untuk mengaktifkan jalur kode untuk Dynamic Shapes.
  3. fullgraph: mengompilasi program menjadi satu grafik.
  4. backend: secara bawaan menggunakan TorchInductor, tetapi Anda dapat menentukan backend kompiler lain yang tersedia.
def torch.compile(model: Callable,
  *,
  mode: Optional[str] = "default",
  dynamic: bool = False,
  fullgraph:bool = False,
  backend: Union[str, Callable] = "inductor",
  **kwargs
) -> torch._dynamo.NNOptimizedModule

Pelajari dasar-dasar API PyTorch dan buat jaringan saraf sederhana dari nol menggunakan Tutorial PyTorch kami.

Benchmark

Untuk memulai dengan PyTorch 2.0, para pengembang telah menggunakan 163 open-source (46 HuggingFace Transformers, 61 TIMM, dan 56 TorchBench) model untuk membuat tolok ukur kinerja dari fitur kompilasi baru. Benchmark ini mencakup tugas seperti klasifikasi gambar, pembuatan gambar, pemodelan bahasa, sistem rekomendasi, dan pembelajaran penguatan.

Hasilnya menunjukkan peningkatan kinerja yang signifikan saat pelatihan pada GPU NVIDIA A100.

Catatan: saat ini, backend bawaan hanya mendukung CPU serta GPU Nvidia seri Volta dan Ampere.

Tolok ukur kompiler PyTorch pada GPU NVIDIA A100

Tolok ukur kompiler PyTorch pada GPU NVIDIA A100

Ini adalah permulaan, dan Anda akan melihat lebih banyak peningkatan kinerja dan skalabilitas pada pembaruan mendatang.

Cara Menginstal PyTorch 2.0

Anda dapat memasang versi PyTorch yang lebih baru dengan mudah menggunakan pip.

Salin dan tempel perintah di bawah ini ke terminal Anda.

Untuk GPU: CUDA 11.8

Ternyata versi GPU yang lebih baru menunjukkan kinerja yang jauh lebih baik.

pip3 install numpy --pre torch torchvision torchaudio --force-reinstall --index-url https://download.pytorch.org/whl/nightly/cu118

Untuk GPU: CUDA 11.7

pip3 install numpy --pre torch torchvision torchaudio --force-reinstall --index-url https://download.pytorch.org/whl/nightly/cu117

Untuk CPU:

pip3 install numpy --pre torch torchvision torchaudio --force-reinstall --index-url https://download.pytorch.org/whl/nightly/cpu

Untuk Verifikasi:

git clone https://github.com/pytorch/pytorch
cd tools/dynamo
python verify_dynamo.py

Mempercepat Hugging Face dengan PyTorch 2.0

Mari coba fungsi torch.compile untuk mempercepat transformer Hugging Face. Anda dapat membuat kode Hugging Face berjalan lebih cepat dengan dekorator satu baris.

Catatan: Dengan torch.compile(), kami melihat peningkatan kinerja 30%-200% pada pelatihan - Dasbor Kinerja TorchDynamo.

Dalam contoh ini, kita akan menerapkan torch.compile pada model bahasa besar "dolly-v2-3b" untuk inferensi yang lebih cepat. Untuk menjalankan kode di Google Colab, pertama-tama kita harus memasang pustaka Python yang diperlukan.

%%capture
%pip install transformers accelerate xformers

Kemudian, kita akan mengunduh dan memuat tokenizer serta model bahasa menggunakan Hugging Face transformers. Setelah itu, kita akan menambahkan nn.Module ke fungsi torch.compile().

import torch
from transformers import (
    AutoTokenizer,
    AutoModelForCausalLM,
    GenerationConfig,
    pipeline,
)


tokenizer = AutoTokenizer.from_pretrained("databricks/dolly-v2-3b")
model = AutoModelForCausalLM.from_pretrained(
    "databricks/dolly-v2-3b", device_map="auto", torch_dtype=torch.bfloat16
)
model = torch.compile(model) #only line of code is required

Pada langkah akhir, kita akan mengonversi teks menjadi token menggunakan tokenizer, memberikannya ke model.generate, lalu mendekode keluaran yang dihasilkan menjadi teks menggunakan tokenizer.batch_decode.

prompt = "I love you because"
inputs = tokenizer(prompt, return_tensors="pt").to(device="cuda:0")


# Generate
generate_ids = model.generate(inputs.input_ids, max_length=50)
tokenizer.batch_decode(
    generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=True
)[0]

Seperti yang kita lihat, "dolly-v2" telah melengkapi kalimat tersebut dengan menambahkan, "you are a good person…"

"I love you because you are a good person.
You are kind, you help others, you are honest, you are loyal, you are humble, you are humble, you are humble.
You are a good person."

Ini juga berfungsi dengan pipeline Hugging Face. Cukup sediakan jenis tugas, model, dan tokenizer.

generator = pipeline("text-generation", model= model,tokenizer=tokenizer)
generator("What is the name of Germany's Capital?")

Keluaran:

[{'generated_text': "What is the name of Germany's Capital? 
The name of Germany's Capital is Berlin."}]

Fungsi compile bekerja langsung dengan pustaka Python transformers, accelerate, dan TIMM.

Jika Anda belum yakin harus mulai dari mana untuk karier deep learning dan AI, jalur karier Machine Learning Scientist with Python adalah titik awal yang sangat baik. Jalur ini memberikan gambaran komprehensif tentang keterampilan Python penting yang dapat membantu Anda meraih pekerjaan sebagai ilmuwan machine learning.


Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

Sebagai data scientist tersertifikasi, saya bersemangat memanfaatkan teknologi mutakhir untuk menciptakan aplikasi machine learning yang inovatif. Dengan latar belakang kuat di pengenalan ucapan, analisis dan pelaporan data, MLOps, conversational AI, dan NLP, saya mengasah keterampilan dalam mengembangkan sistem cerdas yang berdampak nyata. Selain keahlian teknis, saya juga komunikator andal yang mampu menyederhanakan konsep kompleks menjadi bahasa yang jelas dan ringkas. Karena itu, saya menjadi blogger yang dicari di bidang data science, membagikan wawasan dan pengalaman kepada komunitas profesional data yang terus berkembang. Saat ini, saya berfokus pada pembuatan dan penyuntingan konten, bekerja dengan large language model untuk mengembangkan konten yang kuat dan menarik agar membantu bisnis dan individu memaksimalkan data mereka.

Topik
Python
Terkait

blogs

Tutorial Korelasi di R

Dapatkan pengenalan dasar-dasar korelasi di R: pelajari lebih lanjut tentang koefisien korelasi, matriks korelasi, plotting korelasi, dan sebagainya.
David Woods's photo

David Woods

13 mnt

blogs

12 Alternatif ChatGPT Terbaik yang Bisa Anda Coba pada 2026

Artikel ini menyajikan daftar alternatif ChatGPT yang akan meningkatkan produktivitas Anda.
Javier Canales Luna's photo

Javier Canales Luna

14 mnt

blogs

Spaghetti Plot dan Jalur Badai

Temukan alasan mengapa Anda sebaiknya (tidak) menggunakan spaghetti plot untuk menyampaikan ketidakpastian jalur prediksi badai serta dampaknya terhadap interpretasi.
Hugo Bowne-Anderson's photo

Hugo Bowne-Anderson

13 mnt

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026

Kuasai pertanyaan wawancara basis data, dari konsep SQL dasar hingga skenario desain sistem tingkat lanjut. Panduan mendalam ini mencakup semua yang Anda perlukan untuk sukses di wawancara DBMS dan meraih peran berikutnya.
Dario Radečić's photo

Dario Radečić

15 mnt

Lihat SelengkapnyaLihat Selengkapnya