Julia: A Modern Language for Modern ML [video]
infoq.com
infoq.com
Is this a common occurrence?
If you disagree please show me how many ML researchers/labs/companies use Julia over Python/C++. Its cool to claim "Modern", "Deep", "ML", but I don't see any evidence.
[1] http://tvmlang.org/2017/08/17/tvm-release-announcement.html
Thus, the advantage is to have all your codebase in a single language vs a 2-language solution (e.g. Python && C++).
Julia might still be good enough MATLAB replacement for Computational Simulation style tasks, but its clearly not suited for Machine learning.
In some sense ML people are working from the bottom up while Julia is working from the top down. ML/AI frameworks are starting to put better IRs on top of their low-level codegen. They haven't gotten to the surface syntax part yet because they're just starting on the IR – but they will, because that's the next logical step. Julia, on the other hand, is working from the top down, starting from a really nice surface syntax that's excellent at codegen. First it has targeted CPUs, now GPUs, and in the future TPUs, Nervana chips, FPGAs, etc. It's already possible to target all kinds of different hardware with the same productive, generic high-level code. Which approach do you think is going to end up with a better, more productive developer experience in the long run?
The syntax is fairly similar to Matlab, which makes it familiar for engineers like me.
And then there's the speedup. For one benchmark I wrote when evaluating the language, it had a 60x speedup over Octave, but I'll have to see what happens when I finish porting over all of my code.
Matrix operations are good, and functions can be arguments. Macros are cool, code can be generated at runtime which can be very elegant in the right uses.
This is the language you want if you are reading a research paper and want to implement the mathematical formulas directly from the paper and still have good performance.
Its a serious high performance computational language, but somehow accessible and not arcane.
I have no idea what machine learning/deep learning/AI is. Is now a do or die situation for me careerwise?
But it's something in the webapp world that isn't just about massaging strings and reports or connecting libraries, so people flock to it both for resume-padding and much-needed variety.
if you couldn't care less and just want to be able to earn your bread - AI won't take your bread unless you're an uber driver or a customer support employee