Julia vs Python: Hvilket programmeringsspråk vil styre maskinlæring i 2019?

Hvordan maskinlæring revolusjonerer programvareutvikling Professor Chris Bishop, direktør for Microsoft Research Lab i Cambridge, Storbritannia, staver ut effekten av maskinlæring.

Julia dukket opp i 2018 som et av de raskt voksende programmeringsspråkene, verdsatt for sin tilnærming til å kombinere styrken til flere større språk.

Mer om innovasjon

  • IBM kunngjør gjennomslag av batteriteknologi
  • Augmented reality for business: Cheat sheet
  • Bilder: Verdens 25 raskeste superdatamaskiner
  • Inside the Raspberry Pi: Historien om $ 35-datamaskinen som forandret verden

De som nylig har truffet versjon 1.0, har de bak Julia nå ambisjoner om at det skal bli det valgte språket innen maskinlæring (ML).

Å hjelpe til med å realisere dette målet er Flux, et maskinlæringsprogramvarebibliotek for Julia som er designet for å gjøre ML-kode enklere å skrive, for å forenkle treningsprosessen, og å tilby visse ytelsesfordeler fremfor konkurrerende rammer på maskinvareakseleratorer som GPUer og Googles TPUer Tensor-behandlingsenheter.

I dag dominerer Python- og R-språkene typisk maskinlæring, med Python fortsatt det raskest voksende programmeringsspråket når det gjelder utviklernes popularitet, drevet i stor grad av styrken i maskinlæringsrammer og biblioteker. Til sammenligning er det bare en relativt liten andel av utviklerne som bruker den nye Julia.

Når det er sagt, sier teamet bak Julia at språket deres er godt plassert til å lage differensierbare algoritmer - navnet gitt til prosedyre, datadrevet kode som kan brukes til å bygge de nevrale nettverkene som brukes i maskinlæring.

"Vi trenger et språk for å skrive differensierbare algoritmer, og Flux tar Julia til å være dette språket, " skriver Julia-teamet i et blogginnlegg.

"Julia er designet fra grunnen av for matematisk og numerisk databehandling, og er uvanlig godt egnet til å uttrykke ML-algoritmer. I mellomtiden gjør dens blanding av moderne design og nye ideer i kompilatoren det enklere å imøtekomme høye ytelsesbehov i forkant ML."

Flux-biblioteket utvider Julias kompilator med forskjellige ML-fokuserte verktøy, ifølge bloggen, og støtter førsteklasses graderinger for å oppnå en bedre balanse mellom ytelse og utviklerkontroll, nettopp tid CUDA-kjerne-kompilering for GPU-er, automatisk batching for å redusere omkostningene under trening, og optimaliseringer for å kjøre på Google TPUer.

Teamet sier at Julia med Flux, sammen med det kommende differensierbare programmeringsspråket Myia og det siste alternativet Swift for Tensorflow, snart kan utfordre etablerte maskinlæringsrammer og tilnærminger.

"Vi tror at fremtiden for maskinlæring hviler på språk- og kompilerteknologi, og spesielt i å utvide nye eller eksisterende språk for å oppfylle de høye kravene til ML-forskning, " skriver de og legger til at språk som "støtter differensiering, vektorisering og eksotiske maskinvare "vil" drive mange fremskritt innen vitenskapen ".

"Det er en vei å gå før disse neste generasjons verktøyene - Myia, Swift / TF og Flux - er like produksjonsklare som deres eksisterende rammekontrakter, TensorFlow, PyTorch og Knet, " sier Julia-teamet.

"Men hvis du bryter ny terreng i ML, kan det hende at det er det beste alternativet. Gi dem en sjanse og se hvordan fremtiden til maskinlæring ser ut."

Da Julia traff versjon 1.0 tidligere i år, var brukere av språket generelt positive til hvordan det hadde kommet frem, selv om noen fremdeles hadde bekymringer for tilstanden til feilhåndtering og lite nyttig dokumentasjon.

Maskinlæringsingeniør var den raskest voksende jobbkategorien i løpet av de fem årene til 2017, ifølge LinkedIn, og det er et økende antall gratis kurs tilgjengelig for utviklere som ønsker å spesialisere seg på feltet.

Bilde: Zapp2Photo, Getty Images / iStockphoto

Nyhetsbrev om innovasjon

Vær kjent med smarte byer, AI, Internet of Things, VR, AR, robotikk, droner, autonom kjøring og mer av de kuleste teknologiske nyvinningene. Leveres onsdager og fredager

Registrer deg i dag

© Copyright 2020 | mobilegn.com