Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pembangun mengambil bahagian secara peribadi: Berbanding dengan bahasa Julia dan Python untuk pembelajaran mesin, yang manakah lebih baik?

Pembangun mengambil bahagian secara peribadi: Berbanding dengan bahasa Julia dan Python untuk pembelajaran mesin, yang manakah lebih baik?

WBOY
WBOYke hadapan
2023-04-11 12:28:021231semak imbas

Bahasa pengaturcaraan yang manakah akan anda pilih pada tahun 2022?

Beberapa tahun lalu terdapat pepatah bahawa Julia akan menggantikan Python dan menjadi salah satu bahasa pengaturcaraan yang paling popular. Kami mengambil sikap tunggu dan lihat terhadap kenyataan ini buat masa ini, tetapi sebagai alat yang berkuasa dalam pengkomputeran saintifik, kelebihan Julia telah muncul, yang bermaksud bahawa pengaturcara mempunyai pilihan lain.

Dalam bidang seperti sains data dan kecerdasan buatan, jika kita membandingkan Julia dan Python dengan teliti, kita akan mendapati Julia boleh melakukan tugas yang sama yang Python boleh capai, dan ia jauh lebih cekap dan mempunyai sintaks yang ringkas. Elegan, tetapi tidak dikenali sebagai Python dari segi penyebaran.

Baru-baru ini, siaran hangat di reddit telah menarik perbincangan di kalangan netizen. Catatan ini menyebut bahawa baru-baru ini, beberapa pembangun pek bahasa Julia membincangkan status semasa ML dalam Julia dan membandingkan statusnya dengan ekosistem ML Python dibandingkan. .

Alamat pos asal:

https://www.reddit.com/r/MachineLearning/comments/s1zj44/r_julia_developers_discuss_of_current_state /

Jordi Bolibar dari Universiti Utrecht percaya bahawa "Julia memang mempunyai potensi besar untuk pembelajaran mesin, tetapi status semasanya agak bercampur-campur. Lebih khusus lagi, saya berkeras untuk menggunakan Julia dalam SciML Sebab utamanya ialah Persamaan Perbezaan Perpustakaan .jl berfungsi dengan baik, tetapi saya tidak menemui apa-apa yang serupa dalam Python Walau bagaimanapun, kesakitan sebenar untuk penyelidikan saya adalah dalam Zygote Saya menghadapi dua pepijat yang melambatkan kerja saya selama beberapa bulan, tetapi saya masih menganggap Julia pilihan terbaik untuk SciML, tetapi perpustakaan ini (dan dokumentasinya) harus dioptimumkan agar lebih mesra pengguna 》

kata Netizen @jgreener64. : "ML dalam Julia sangat berkuasa dalam bidang tertentu. Semuanya mungkin dalam Julia. Masalah yang dihadapi oleh Julia ialah: dalam Julia ML memerlukan banyak pengetahuan sedia ada atau banyak masa mencari/percubaan dan kesilapan. Pada peringkat peribadi, Saya sedang membangunkan algoritma pembezaan novel dalam Julia >

Selain perbincangan hangat di kalangan netizen, pembangun pakej perisian Julia Christopher Rackauckas menjawab 7 soalan berikut yang lebih dibimbangkan oleh netizen. Rackauckas ialah seorang ahli matematik dan ahli farmakologi di MIT dan Universiti Maryland yang menggunakan Julia untuk pengaturcaraan. Rackauckas telah membuka blog khusus untuk Julia, matematik dan biologi stokastik untuk memperkenalkan kandungan yang berkaitan, dan Rackauckas telah membangunkan beberapa perpustakaan di Julia, termasuk (tetapi tidak terhad kepada) DifferentialEquations.jl dan Pumas.

Christopher RackauckasSoalan termasuk:

Di manakah ML dalam Julia benar-benar bersinar hari ini? Dalam cara apakah ekosistem ini akan mengatasi prestasi rangka kerja ML popular lain (cth. PyTorch, Flax, dll.) dalam masa terdekat dan mengapa?

    Apakah kelemahan fungsi atau prestasi ekosistem ML semasa Julia? Bilakah Julia akan berdaya saing dalam bidang ini?
  1. Bagaimanakah pakej ML standard Julia (cth. pembelajaran mendalam) dibandingkan dengan alternatif popular dari segi prestasi (lebih pantas, perlahan, susunan magnitud yang sama)?
  2. Adakah terdapat sebarang eksperimen penting Julia yang menanda aras alternatif ML yang popular?
  3. Jika syarikat atau institusi sedang mempertimbangkan untuk mewujudkan kedudukan untuk menyumbang kepada ekosistem ML Julia, adakah terdapat sebarang kes terbaik? Mengapa mereka perlu melakukan ini? Sumbangan manakah yang paling berkesan?
  4. Mengapa pembangun bebas yang bekerja dengan rangka kerja lain perlu mempertimbangkan untuk menyumbang kepada ekosistem ML Julia?
  5. Apakah pakej yang biasanya digunakan oleh pembangun Julia untuk tugasan tertentu? Apakah yang diharapkan oleh pembangun Julia untuk menambah yang tidak wujud pada masa ini?
  6. Di bawah kami telah memilih beberapa isu yang semua orang lebih bimbang untuk melaporkan:
  7. Soalan 3: Bagaimanakah prestasi Julia dalam "ML standard"?

Kelajuan kernel Julia adalah hebat: pada CPU kami melakukannya dengan sangat baik, pada GPU semua orang hanya memanggil cudnn yang sama dan lain-lain kelajuan AD Julia juga hebat. Zygote mungkin mempunyai sedikit overhed, tetapi berbanding dengan Jax/PyTorch/TensorFlow, Zygote adalah pantas dalam kebanyakan kes. Khususnya, overhed PyTorch jauh lebih tinggi dan tidak boleh diukur dalam aliran kerja ML standard. Pendaraban matriks yang cukup besar akan menyelesaikan masalah peruntukan atau masalah O(n) lain; Julia tidak menggabungkan kernel, jadi dalam kebanyakan penanda aras jika pengguna melihatnya, ia akan melihat bahawa ia tidak menggabungkan panggilan conv atau RNN cudnn.

Soalan 4: Apakah eksperimen dan penanda aras penting yang perlu kita jejaki?

Penjadual edaran XLA sangat bagus. Apabila kita berfikir tentang sambungan, kita harus mengabaikan PyTorch dan memikirkan tentang DaggerFlux dan TensorFlow/Jax. XLA mempunyai lebih fleksibiliti untuk menukar operasi jadi saya rasa XLA adalah pemenang dan kita perlu menggunakan helah e-graf untuk memadankannya. Perkara lain yang perlu diperhatikan ialah "bahagian tengah yang hilang dalam pembezaan automatik", yang masih perlu diselesaikan.

Soalan 7: Apakah pakej perisian yang disyorkan?

Saya cenderung menggunakan Flux apabila diperlukan, tetapi semua orang harus cuba menggunakan DiffEqFlux. Setakat biji sedia ada, Flux adalah yang paling lengkap, tetapi gayanya membosankan saya. Saya ingin mempunyai Fluks yang tidak menggunakan parameter tersirat, tetapi parameter eksplisit. Saya mahu parameter ini diwakili oleh ComponentArrays.

Atas ialah kandungan terperinci Pembangun mengambil bahagian secara peribadi: Berbanding dengan bahasa Julia dan Python untuk pembelajaran mesin, yang manakah lebih baik?. 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