Free software giveaway! This week we look into the open source nature of AI and look into why companies are giving away code for free.
Rise of open source
Many moons ago, the idea of giving away software for free was met with some skepticism. In the late 70s, Bill Gates wrote an open letter to computer hobbyists where he essentially said that the copying of software discourages developers from creating high quality code. Steve Balmer called Linux a “cancer.” Companies such as Oracle and Microsoft dominated the 90s making billions on closed software.
A funny thing happened
Despite the naysayers, smart developers started working on open source projects in their spare time and actually developed amazing software. Companies then realized not paying for software was better than paying for it and Linux went from being a “cancer” to the “fountain of youth.” Now a days, 90% of AWS instances run on Linux, two thirds of all web servers run on Linux and 40% of servers on Microsoft’s own cloud run on Linux.
Open source AI
AI/ML software has followed this trend and almost every major AI company has released some sort of open source software. From neural network design (Google – Tensorflow, Keras, Facebook – Pytorch, Microsoft – CNTK), to time series forecasting (Facebook – Prophet), to probabilistic programming (Uber – Pyro) and even hardware design (Facebook – Big Sur), almost every area of AI/ML research has been open sourced. Baidu even released an open source autonomous car platform.
Microsoft has now become a preacher of open source with Mark Russinovich, Microsoft’s Azure CTO, recently had this to say about open source and AI:
“AI technologies and techniques are experiencing a renaissance. Open-source technologies and communities have fostered the growth of self-taught machine learning developers with libraries and frameworks. As more research continues to be done and shared throughout the communities we will continue to see more intelligent apps driving even greater adoption of open-source technologies across all processing platforms.
Why are they doing this?
Why would companies hire world class AI/ML researchers and then give away their work? Part of the open source give away is most likely to recruit academics from prestigious universities to their company. Companies are allowing their researchers to publish papers and software to become more like the universities they used to work for. Bloomberg speculated that Apple originally fell behind the AI race because researchers were not allowed to publish their findings and couldn’t even reveal which company they worked for unless someone asked. Even the most secretive company of all time, Amazon, who declines comment for any piece of media, doesn’t put signs on its buildings that it is in fact Amazon, published some research (while it still had to be reviewed by an internal committee, it’s a start).
The types of software these companies are releasing require significant knowledge in order to use them. A good analogy would be imagine if Gulfstream decided to give you a G6 private plane. It would be great, except for the fact that you have no idea how to fly it. Tuning neural networks is very hard and these networks have so many different things you need to tune, it feels as complicated as flying a plane. People without knowledge of neural networks who then try to implement them using open source software often get stuck. There are many questions posed to programming forums where people try and build their own neural networks, such as trying to tell a dog vs a fish, and the algorithm labels all images a fish. I’ll spare you the details of solving this problem, but you need to evaluate things like designing your network architecture, Relu vs Tanh (not typos) activation, whether or not to include dropout, yea, you get the idea…
Now, I am quite grateful for the software these companies have released and find it very useful. However, AI/ML companies have a very fine line they have to walk, as they need to balance how much of their cutting edge research they keep proprietary and how much they give away completely for free. While Google has open sourced some of its software, it’s certainly not giving away its reinforcement learning secrets, which lead to major events such as AlphaGo. IBM has made available many different guides on how to do machine learning, but they are not going to open source their entire Watson division.
How do they make money?
For developers and programmers that aren’t as AI/ML savvy, companies provide APIs that do machine learning (we did a webinar on this here), but revenue from these services is small. Actual revenue from AI/ML software is around $1 – 5bn and varies widely by which source you use. But considering Intuit, the maker of TurboTax had revenues of $5bn in 2017, the AI software market has a long way to go.
In the near term, these companies will make significant amounts of money on cloud services they provide to run your neural network algorithms. Running these algorithms needs significant computing resources and specialized hardware that can cost $1,000 per chip. Companies are so committed to running AI in the cloud, that Google developed its own TPU chip which you can run calculations on for $6.50 per TPU per hour. If you are using multiple TPUs, things get expensive real quick.
AI software is almost the razor/razor blade model, but the razor blades are $1,000 chips. At least we got free software