oracle / truffleruby

A high performance implementation of the Ruby programming language, built on GraalVM.
https://www.graalvm.org/ruby/
Other
3.03k stars 185 forks source link

ML Opportunity #1424

Open ylluminate opened 6 years ago

ylluminate commented 6 years ago

Had a thought after seeing a good bit of chatter regarding Machine Learning and language options. Python pretty much has the arena buttoned up right now, but there's no lack of interest from Rubyists.

It might be a smart idea if Oracle were to dedicate a Ruby developer to tooling Truffle out for Machine Learning and ML libraries. I believe that given Truffle's targets that this is a realistic and important goal with the very high levels of interest. Right now there's only serious chatter about using JRuby with ML applications when it comes to performance, but Truffle can change this landscape significantly.

chrisseaton commented 6 years ago

Do you have examples of people using JRuby for ML that we could try to run as well?

ylluminate commented 6 years ago

https://github.com/paulgoetze/weka-jrubyhttps://www.codementor.io/victor_hazbun/build-a-jruby-on-rails-application-from-scratch-and-dockerize-it-gvjxh1xiehttps://github.com/jedld/brains-jruby • Might want to make this run with Truffle and demo it: https://github.com/dansbits/lurn (good number of stars & recent) • https://github.com/febeling/rb-libsvm (https://github.com/andreaseger/jrb-libsvm) • https://www.slideshare.net/PrasunAnand2/fosdem2017-scientific-computing-on-jrubyhttps://www.sitepoint.com/creating-machine-learning-systems-with-jruby/http://www.vasinov.com/blog/machine-learning-with-ruby-part-one/https://codequs.com/p/BJoVz_kxR/how-to-creating-machine-learning-systems-with-jruby/ • (might work through these) https://github.com/arbox/machine-learning-with-ruby

ylluminate commented 6 years ago

Looks like Machine Learning has propelled Python into the top 3 (no other good reason it should be there except for that and Google behind it): https://www.tiobe.com/tiobe-index/

And even IEEE is showing Python as #1 (some clear bias or screwiness there). It must be again due to ML as a primary driver.

ML is definitely an enormous mover in the industry.

ylluminate commented 6 years ago

An interesting observation: while I was shocked to see Ruby fall to #18 on the TIOBE index, I believe I can see why it happened. It seems to me that Python made a "big" stride yet again and I can only conclude that this is due to the Machine Learning "effect." (One might argue the same of surrounding top rung languages.) I came back to realizing that Ruby is losing its "appeal" to developers largely due to the enormous thrust of ML (and need for performance).

Python pushing up due to ML

I still maintain that if Oracle has a vested interest in Ruby, then it would be a great, and shrewd, move to hire someone new entirely dedicated to moving this area forward for Ruby / Truffle.

chrisseaton commented 6 years ago

Thanks for your interest in machine learning. We've been sprinting on some other things. You gave me a great list of machine learning resources, but is there one standout simple one we could try quickly?

ylluminate commented 6 years ago

I'm not sure if this is on point enough, but I wonder if this would be an area to examine since it's an active project: http://sciruby.com/ (https://github.com/SciRuby/) - and it could present a good starting point.

It may be worth examining a "popularity list" like this: Top 20 Python libraries for data science in 2018

It seems to me that this would provide some kind of path to consider and move through as far as what is considered a priority in the dominant ML language.

The problem I have is that I'm mostly an outside observer of the ML situation since I primarily focus on other areas in software development at the moment. I see, though, that Machine Learning is an enormously important niche that has allowed Google to propel Python up through the ranks just from its online interest levels and chatter / tutorials, etc. and thus this rocketing of the ranking (interest levels). I'm convinced that this ML area is important for any organization interested in the perceptions of Ruby on a large scale, such as Oracle... especially since it seems that ML will be a moving force for the foreseeable future.

It would make sense, to me, that Oracle would recruit a sharp top level ML expert that traditionally uses Python, etc., but likes Ruby to enter this space to help change the paradigm.

ylluminate commented 5 years ago

https://www.reddit.com/r/ruby/comments/adeg6o/tensorstream_bringing_machine_learning_to_ruby/

ylluminate commented 5 years ago

https://github.com/ankane/eps

arbox commented 5 years ago

@ylluminate you are welcome to add Eps (and other resources) to the Ruby ML list: https://github.com/arbox/machine-learning-with-ruby