Everything you need to know about TensorFlow, a Google-created project that's helping companies like Uber, Twitter, and Airbnb put AI in their apps
- The artificial intelligence framework TensorFlow started within Google as an internal tool.
- In November 2015, TensorFlow was made available to the public as open source. Since then, TensorFlow has quickly spread in popularity among developers, getting put into use at companies like Uber, Twitter, and more.
- AI jobs are also in high demand, contributing to the popularity of the tool.
- TensorFlow has even been used to discover new planets, detect illegal deforestation, and translate Vatican texts.
- Click here for more BI Prime stories.
In 2016, more than 100 million people worldwide watched closely as the legendary world champion Go player Lee Sedol played against a computer program - and lost. Then, in 2017, NASA scientists discovered two new planets with the Kepler space telescope.
What these seemingly-disparate achievements have in common is that they were possible with the technology behind TensorFlow, an open source AI project. It was originally started by Google engineers, but has proven especially popular for any project requiring the processing of big data.
TensorFlow was created by the Google Brain team, led by Google senior fellow and AI researcher Jeff Dean. It was originally built as an internal tool called DistBelief, but by November 2015, Google launched it to the public as TensorFlow, making it available as open source - allowing anyone to freely use, download or modify it. The name is a reference to tensors, the operations carried out by the kinds of neural networks created by the software.
Now, with over 9,000 contributors, it's the third most popular open source project in the world, according to Microsoft's code hosting website GitHub. Part of the reason why it's popular is the increasing need for companies to use AI technology. Over the last year, postings for AI jobs rose 29.1%, according to a report by job site Indeed.
Today, companies like Twitter, eBay, PayPal, Airbnb, and Uber are using TensorFlow to power some or all of their AI technology. It's also used in industries like retail, healthcare, manufacturing, finance, food, and banking - for example, Coca-Cola uses TensorFlow in its mobile app.
"TensorFlow is truly comprehensive. It always had a really large community," Sandeep Gupta, product manager for TensorFlow at Google, told Business Insider. "All of these reasons have contributed to TensorFlow's really rapid growth."
What is machine learning?
TensorFlow was built as a tool for machine learning, the field of AI that helps computers learn from data, identify patterns, and make decisions without humans telling it what to do. A person could feed the algorithm data, such as a large set of images, and the algorithm would automatically be able to categorize them.
Within Google, Gupta says the company uses machine learning very heavily in most of its products. For example, Gmail relies on machine learning to compose Smart Replies, a feature that can suggest automatic replies based on the email that was just received. Google Photos is able to categorize and organize photos.
It still uses TensorFlow for tasks like analyzing images and text, getting put to use in Google Search, Maps, Photos, Gmail, and Translate, as well as internally for its own operations.
"It's the exact same version of TensorFlow that's out there in open source," Gupta said. "It's integrated in Google's infrastructure."
TensorFlow just released new updates in June, as part of the official second version of the tool. For this new version, Gupta says the team focused on making it easier to use. It partnered with companies and the open source community to make sure it's user-friendly, so that more developers can take advantage of the potential of AI.
"It's trying to make sure machine learning is as easy to use and get started," Gupta said. "It makes it possible for people trying to use machine learning for challenging problems...We continue to look for improvements on how it can make the whole end to end solution better."
From winning Go to discovering planets
Gupta says he's constantly surprised about what he sees TensorFlow being used for. He says he's seen it used to identify diseases and air qualit, and improve agriculture and dairy production. He's even seen a university in Rome use TensorFlow to transcribe ancient texts from the Vatican archives.
In March 2016, Google's Go-playing AI, called AlphaGo, beat champion Lee Sedol, achieving a 4-1 victory. This program was built using the first version of the Tensor Processing Unit, a custom AI chip designed for TensorFlow that has the power to run complicated AI problems. Computer scientists would go on to use TensorFlow to build even more powerful versions of this program, like AlphaGo Master, AlphaGo Zero, and AlphaZero.
In 2017, NASA scientists even used TensorFlow to discover new planets with the Kepler space telescope. With a dataset of over 15,000 telescope signals, scientists trained TensorFlow to sort out planets from non-planets by looking for patterns.
Then, they brought it to real life. Using this model, they looked at 670 stars, and they discovered two new planets: Kepler 80g and Kepler 90i.
In 2018, a group of engineers used TensorFlow to detect illegal deforestation in the central Amazon, training it to detect the sounds of logging and chainsaws.
At the Google I/O developer conference, the team showcased a TensorFlow application that can identify the dance moves of famous dancers and give tips on how to improve dancing.
"There's lots of applications in art and education and music where people are using TensorFlow to make it easier for people to understand and interact with and control devices," Gupta said.
It's commonly used at other tech companies as well. At Twitter, developers use machine learning to rank tweets on users' Twitter feed, as well as for advertising.
Yi Zhuang, a senior staff engineer at Twitter, says this is to ensure users see the most relevant information, determining clickthrough rate, and deciding which ads to show. It's also used to make sure users feel safe on Twitter, Zhuang says.
"It's very difficult for humans to identify which tweets are most relevant and most interesting to our users," Zhuang told Business Insider. "That's why we applied machine learning to solve these problems."
And at Uber, developers use TensorFlow in its app, for purposes such as customer support.
"When users are trying to get help and file tickets, we try to optimize the process and try to enable them to answer their own questions by predicting which problem that they may have," Alex Sergeev, a staff software engineer at Uber, told Business Insider.
Often, developers use TensorFlow with a related tool called Keras - a library for the Python programming language, created by French Googler François Chollet. Keras is used to train AI models for prototyping, research, and production. While it's not required to use them together, developers often find that Keras helps make TensorFlow easier to manage.
"Most people who use TensorFlow are using it through Keras," Ali Ghodsi, CEO and co-founder of Databricks, told Business Insider. "With Keras, it's actually really simple to write machine learning programs. You can think of it kind of like that. If you want simplicity, go with Keras."
Why is it so popular?
TensorFlow isn't the only AI framework out there. Other popular ones include scikit-learn, used for data analysis, and PyTorch, created by Facebook engineers and used by researchers.
But KellyAnn Fitzpatrick, industry analyst at RedMonk, says that TensorFlow has become possibly the most widespread of all of them because of the strong community around it and support from Google, which also provides resources for people to learn how to get started in AI and machine learning.
"Having community support and support from an entity like Google never hurts," Fitzpatrick told Business Insider. "You have software developers learning about machine learning, but you also have data scientists and data engineers having to acquire good coding skills. There's a cross-pollination of knowledge there."
Since TensorFlow is open source, it's allowed a larger community of people to contribute to the code. With more hands on the wheel, the project advances faster. That popularity has also created somewhat of a network effect, meaning that the influx of developers has caused even more developers to join in.
Zhuang says that before Twitter used TensorFlow, it used a wide variety of machine learning toolkits, but many of them didn't have deep learning capabilities - that is, the ability for computers to learn to discern some differences that are intuitive to humans, such as recognizing the difference between a cat and a dog. Deep learning is especially important in self-driving cars, as it's important to recognize street signs and not run into pedestrians.
Before TensorFlow, Zhuang says, deep learning was mostly done as academic work at universities and research labs, but there weren't a lot of options for anybody trying to use it in their real-life software. Google saw this gap, and built the AI library that companies needed, says Zhuang.
"TensorFlow is practical and simplifies deep learning," Zhuang said. "If you look at deep learning before these frameworks became available, deep learning was a mysterious field, meaning only researchers who have deep knowledge in deep learning was able to apply it in solving product problems.
'The field is moving very fast'
Google's Gupta says TensorFlow's popularity reflects how fast the field of machine learning is growing. It's brought together developers, data scientists, and all kinds of other tech specialities.
Even though the project is now out in the open, Gupta says it still benefits Google because it can benefit from the project's advances. Other projects started within Google, like the cloud project Kubernetes, have also found success when they became available as open source.
"We see those benefits in lots of direct and indirect ways," Gupta said. "The biggest is accelerating our own research and the research of our community."
And since TensorFlow is one of the largest and most comprehensive machine learning platforms, it's quickly become popular among users. Online, TensorFlow community members are sharing what they've been up to with the technology, whether it's detecting dance moves or beating humans at games.
As word of mouth spreads, it has attracted interest among developers, who may want to reuse and experiment with these projects. Today, there are scores of educational resources out there that make it easier for developers to learn and get started with it. With AI skills and jobs in high demand, it doesn't hurt for them to try.
"The field is moving very fast," Gupta said. "If you have a framework that's open source, it really accelerates the signs and the field of machine learning."