AI & Machine Learning
Jeff Dean on machine learning, part 3: how machine learning is being used at Google
Jeff Dean talks about how machine learning is being used at Google.
After our first article covering the landscape of machine learning, and our second one bringing insights about TensorFlow and what’s to come, we close our series with Jeff telling us about how machine learning is being used inside Google, what resources Google offers to developers and how you can get started with machine learning today.
Machine learning at Google
What’s the scope of machine learning at Google? Where is it being used?
JD: In our team, we’ve been building tools for solving machine-learning problems and then collaborating with lots of other teams over the last 5 or 6 years at Google to solve different machine-learning problems. And we started out collaborating with a handful of teams: the speech-recognition team, various teams that had computer-vision problems and then we built infrastructure software that allowed us to solve problems with those teams in machine learning. And then over time, what we discovered is that the same machine-learning techniques and algorithms that solve problems in one area could be used in lots and lots of other product areas and product domains.
And so what you see is this general explosion of machine-learning usage across Google, across now hundreds of teams and thousands of developers using these machine learning techniques to solve problems in their areas. And we think that’s really because machine learning is so widely applicable to lots of problems, and because we've built the right tools that enable developers to really go and tackle machine-learning problems in their areas.
P.S.: As Google CEO Sundar Pichai explained in a recent article for the New York Times (“The Great A.I. Awakening”): the Google of the future is going to be AI-first. More and more products and services both within Google and accessible to the public are increasingly taking advantage of machine learning.
Translation has greatly improved in terms of quality thanks to neural network-based approaches, and Google researchers have published a paper explaining that recent techniques have enabled translations across language pairs that the system hadn’t been trained for. Artificial intelligence applied in Maps makes it able to predict parking difficulty. The Google Brain team has been using deep learning for detection of diabetic eye disease. More applications abound, from Inbox to Photos to the Google Play Music. There is a wide range of applications of A.I. techniques at Google!
Developer resources for machine learning
What does Google offer to developers in the machine-learning space?
JD: Google has a number of offerings for developers in the machine-learning space. The core of our offering is the TensorFlow platform itself, our open source platform for doing machine learning. And one of the things that’s really useful about TensorFlow is it can be applied to lots of different kinds of problems. We have a lot of good tutorials that show you how to use TensorFlow to solve different kinds of machine-learning problems and allow you to work through both the machine learning theory behind that, and also how you express that in TensorFlow.
We have several offerings that can be used in our cloud environment. One is we have a variety of pre-trained models where essentially you don’t have to do any machine learning yourself: we’ve done the machine learning for you. And so you can take, for example, an image and give it to our Cloud Vision API and get back information about what’s in that image, where are the people; what is the dominant thing in that image, is it a leopard, or a fire truck? What is all the text in that image, can we read all that text? And similarly, we have APIs for speech and natural-language understanding where we can understand text and extract interesting entities from text, and for machine translation.
And then we also have a more general purpose Cloud Machine Learning offering built around TensorFlow, and that offering allows you to take a TensorFlow model, and then train it on our scalable cloud machine-learning environment. So essentially, we run the training process for you or the inference process for you. It’s very no-operations needed, you just give us your model, and say "this is what I wanna do," and we’ll do that for you, and work on scaling it for you.
P.S.: Google offers:
- The open source TensorFlow library to create, train and run your deep-learning models
- Your TensorFlow code can be run on Google Cloud Machine Learning to train models as well as serve predictions
- Pre-trained models are offered as easily callable and integratable Web APIs:
- Cloud Vision API: to understand the content of your images
- Natural Language API: to analyze the structure of text and documents
- Cloud Speech API: to transcribe voice audio content as text
- Cloud Translation API: to translate text between different languages
- Cloud Jobs API: to improve job search and discovery
Get started with machine learning today
What can you do today to get started with machine learning?
JD: There are so many ways that you can get started with machine learning, and I’ll just highlight a few of them here today. One of them is that you can think carefully of what data your organization has and what problems could be solved with machine learning. Second, you can start downloading the TensorFlow open source release and work your way through the tutorials to teach yourself about machine learning, or have your developers learn about how machine learning can be used to solve lots of different kinds of problems. You can use our Cloud Machine Learning platform to train TensorFlow models in our cloud environment, which is much more scalable and very amenable to a managed experience dealing with lots of data. You can use our pre-trained machine learning APIs, for things like computer vision, speech recognition, language translation and language understanding.
If you think carefully about how you can integrate these sorts of features and capabilities into the kind of problems you’re trying to solve in your organization, you’ll find lots and lots of ways. Once you start seeing a way that you can do it, you’ll quickly transition to looking at almost every problem thinking how can machine learning can help me solve this problem. And that’s a really powerful and enlightening kind of way to view problems.
P.S.: To get started with TensorFlow, head over to the TensorFlow website, and follow the getting started guide or look at some tutorials (We covered this in more detail in Part 2 of our interview series.) You can then train your model in our Cloud Machine Learning fully-managed online service, and use it to make your predictions or classifications. But if you want to use off-the-shelf pre-trained models, we have ready-made APIs you can invoke, for image recognition, speech recognition, natural language processing or for text translation.