Perbandingan PyTorch dan TensorFlow pada 2022
(assemblyai.com)-
Biasanya orang mengatakan TensorFlow untuk industri dan PyTorch untuk riset, tetapi itu berdasarkan informasi lama
-
Pertimbangan praktis: biasanya bermuara pada 3 perbandingan
→ Ketersediaan model: seberapa banyak model yang tersedia untuk digunakan secara publik
→ Infrastruktur deployment: seberapa efisien deployment dapat dilakukan
→ Ekosistem: berbagai lingkungan/perangkat keras
Model Availability
-
Baik PyTorch maupun TensorFlow sama-sama memiliki repositori model resmi sendiri
-
HuggingFace
→ 85% hanya dapat digunakan di PyTorch, dan untuk model yang tidak eksklusif pun 50% dapat digunakan. Hanya 16% dari keseluruhan yang bisa digunakan di TensorFlow (hanya 8% khusus TF)
→ Untuk 30 model paling populer, semuanya tersedia di PyTorch tetapi di TensorFlow hanya 18 yang tersedia
- Makalah riset
→ Penggunaan PyTorch dalam makalah yang diajukan setiap tahun terus meningkat
→ Dimulai dari 7% pada 2017 dan pada 2021 mencapai hampir 80%
→ Banyak yang memilih PyTorch karena sulitnya TensorFlow 1
→ Kesulitan ini banyak diperbaiki di TensorFlow 2 yang dirilis pada 2019, tetapi PyTorch sudah terlanjur memantapkan diri sebagai pusat riset
→ Dari peneliti yang menggunakan TensorFlow pada 2018, 55% pindah ke PyTorch pada 2019
→ Dari peneliti yang menggunakan PyTorch pada 2018, 85% tetap menggunakan PyTorch pada 2019
- Menurut data Papers With Code
→ TensorFlow terus menurun, sementara PyTorch dan framework lain semakin banyak digunakan
→ Tren ini tetap berlanjut bahkan setelah rilis TensorFlow 2. Tidak cukup kuat untuk membalikkan kesulitan yang dialami pada TF1
-
Kesimpulannya, dalam hal ketersediaan model PyTorch mendominasi pasar
-
Pengecualian lain
→ GoogleAI terutama menggunakan TensorFlow, tetapi Google Brain menggunakan JAX/Flax
→ DeepMind juga mengadopsi JAX dan mengembangkan Haiku, pustaka jaringan saraf untuk JAX (Sonnet for JAX)
→ JAX: framework terpisah yang dibuat Google. Sedang makin populer di sisi riset
Deployment
- TensorFlow sejak awal dioptimalkan untuk aplikasi yang berorientasi deployment
→ Dengan TensorFlow Serving, TensorFlow Lite, dan lainnya, deployment ke cloud/server/perangkat mobile/perangkat IoT dapat dilakukan tanpa banyak kesulitan
- PyTorch sangat tertinggal dari sudut pandang deployment, tetapi dalam beberapa tahun terakhir berupaya memperkecil kesenjangan ini
→ TorchServe dan PyTorch Live
- Kesimpulannya, untuk saat ini TensorFlow masih lebih unggul dari sisi deployment
→ Khususnya kemampuan menggunakan TFLite di perangkat lokal dan Coral juga sangat dibutuhkan di industri lain
→ PyTorch Live hanya berfokus pada mobile, dan TorchServe masih dalam tahap awal
Ecosystems
- PyTorch
→ Ada PyTorch Hub resmi: memiliki berbagai model seperti Audio/Vision/NLP
→ SpeechBrain: toolkit speech open source resmi, memiliki banyak fitur seperti ASR/pengenalan pembicara/verifikasi, dll.
→ Ada berbagai alat dan pustaka termasuk Fast.ai
→ TorchElastic: proyek kolaborasi AWS+Facebook
→ TorchX: pustaka untuk pengembangan dan deployment machine learning yang cepat
→ PyTorch Lightning: Keras of PyTorch
- TensorFlow
→ TensorFlow Hub resmi: berbagai model termasuk BERT
→ Model Garden: repositori source code untuk model SOTA(State-of-the-ART)
→ TensorFlow Extended(TFX): platform E2E untuk deployment model
→ Vertex AI: platform machine learning terpadu milik Google Cloud
→ Media Pipe: framework multimodal lintas platform untuk membangun pipeline machine learning yang membuat fitur seperti pengenalan wajah, pelacakan tangan, pengenalan objek, dan lainnya
→ Coral: toolkit yang dibuat untuk mendukung produk dengan AI lokal tertanam (IOT)
→ TensorFlow.js: pustaka JavaScript untuk machine learning
→ TensorFlow Cloud: menghubungkan lingkungan pengembangan lokal ke Google Cloud
→ Colab: lingkungan notebook berbasis cloud (mirip Jupyter)
→ Playground: alat edukasi yang bagus untuk memahami dasar-dasar jaringan saraf
→ Datasets: menyimpan dataset yang dirilis Google secara berkala (juga bisa digunakan pengguna PyTorch)
- Kesimpulannya, TensorFlow lebih unggul dalam hal ekosistem
→ Google telah banyak berinvestasi selama ini
→ Menghubungkannya ke Google Cloud atau memudahkan porting ke perangkat seperti Coral juga lebih baik di beberapa bidang
Jadi, mana yang sebaiknya dipakai?
- Jika Anda berada di industri terkait, pilihan bisa berbeda tergantung industri Anda (artikel asli menyediakan flow chart untuk memudahkan pilihan)
→ Jika Anda menggunakan deep learning di lingkungan industri, kemungkinan Anda sudah memakai TensorFlow dan bisa lanjut seperti itu
→ Karena TorchServe, PyTorch juga layak dipertimbangkan
→ Jika mobile, gunakan PyTorch Live; jika input audio/video, gunakan TensorFlow
→ Jika menggunakan AI di IoT, gunakan TensorFlow Lite + Coral
- Jika Anda peneliti?
→ Kemungkinan Anda sudah memakai PyTorch dan bisa lanjut seperti itu
→ Sebagai pengecualian khusus, jika Anda meneliti Reinforcement Learning, pertimbangkan TensorFlow
→ Jika tidak ingin memakai TensorFlow, JAX juga layak dipertimbangkan
→ Apa pun pilihannya, pada 2022 JAX patut diperhatikan
- Jika Anda profesor?
→ Itu bisa berbeda tergantung tujuan kurikulum
→ Jika ingin menghasilkan engineer yang bisa langsung memakai machine learning di dunia kerja, pilih TensorFlow
→ Jika ingin memahami deep learning dan model deep learning, pilih PyTorch
- Jika Anda berganti karier?
→ PyTorch / TensorFlow keduanya opsi yang baik
→ Pilih yang lebih mudah digunakan
→ Jika tidak ingin terikat pada framework tertentu, TensorFlow yang digunakan sebagai standar industri mungkin lebih baik
→ Dalam pencarian kerja/perekrutan, sisi TensorFlow lebih menguntungkan
- Jika Anda mendalami deep learning sebagai hobi?
→ Tergantung apa yang ingin dilakukan, tetapi pada dasarnya PyTorch lebih baik
- Jika Anda benar-benar pemula dalam deep learning?
→ Disarankan mulai dengan Keras
→ Jika mencari lingkungan yang mirip native Python, pilih PyTorch, khususnya PyTorch Lightning
1 komentar
Menarik juga membandingkannya dengan pembahasan yang muncul pada 2019/2020.
Kondisi terkini framework machine learning [2019] https://id.news.hada.io/topic?id=696
Arah AI pada 2020 yang diprediksi para pakar machine learning https://id.news.hada.io/topic?id=1213
Wawancara dengan peneliti yang belajar AI secara otodidak dan bergabung ke Google https://id.news.hada.io/topic?id=1347
Ekosistem TensorFlow: dari pengembangan hingga deployment machine learning https://id.news.hada.io/topic?id=1757
Kursus kilat machine learning buatan Google dengan TensorFlow [bahasa Korea] https://id.news.hada.io/topic?id=1052