Presentation: Vowpal Wabbit a Machine Learning System



11:50am - 12:40pm

Day of week:



Key Takeaways

  • Learn about some of the new research and practices with modern machine learning.
  • Understand application of machine learning tools and techniques in common software domains.
  • Gain a deeper understanding of the use of conceptual decision making online.


The difference between a machine learning toolkit and a machine learning system is mechanisms for generating data and effectively deploying a model. Vowpal Wabbit ( is an online machine learning system which has been deployed and used in many companies. Having a complete data lifecycle prevents bugs, including very difficult to trace data bugs. It also makes the process of doing machine learning much faster and easier to automate---new models can be deployed in minute timeframes rather than weeks.

This talk will discuss how to use Vowpal Wabbit in and as a machine learning system including architecture, unique capabilities, and applications. The talk will go into detail about use in the context of a decision service ( for personalized news recommendation.


What is your role and function today?
Primarily, I am a researcher but I am also guiding the development of two different systems. One of them is VW- Vowpal Wabbit- which is an online out-of-core learning system. That’s particularly useful when you have very large datasets or when you want to learn in an interactive loop. It is also very good at handling the framing of problems, much better than many other platforms.
I am sure there is a reason for the name, but why Vowpal Wabbit?
There are actually three references in there. So one of them is Elmer Fudd. He tends to turn his R’s into W’s. Another one is Bugs Bunny, the rabbit. Another one has to do with the poem “Jabberwocky”. It’s a poem with nonsense words but you can understand what they mean just because of the way they are used. One of them is vorpal. But what I really had in mind was this one scene in Monty Python in the search for the Holy Grail, where they run into a rabbit that starts killing everyone. So that’s Vowpal Wabbit. It’s one of the systems I’ll be talking about.
The other system that I have been working on is a decision service that we are creating. The decision service is something rather different. Most machine learning applications are rather piecemeal, in the sense that data gathering is not a part of the machine learning process.
We are creating a system which handles a full data life cycle of machine learning in practical applications (for example, personalized news on MSN).
What’s the main motivation for the talk?
I think machine learning is changing from a research academic field to something we want to apply industrially, and I want to cover the key insights on how to do that in this talk.
For example, there are a lot of silly bugs that appear when you use machine learning in practice, but they won’t come up if you have the right platform or use the right techniques. That can be very powerful. Suppose you want to predict which news story is most interesting to people. You could obviously take whether somebody has clicked on it or not, and build a predictor on that. But it might be that the news story is never clicked on because it is never actually displayed. You can’t get any clicks if it is not displayed.
Then, your predictor is just going to predict that you should keep displaying whatever you were previously displaying. So, we have systems which systematically avoid this problem to make it impossible to commit these kinds of errors. Normally, you need to be exploring. Having a system which does the exploring for you allows you to do unbiased evaluation of different policies. It lets you achieve big improvements and it allows you to succeed where otherwise a sequence of bugs and programming errors would cause you to collapse.
What do you consider the persona for this talk? Is it ML practioners or perhaps architect generalist?
I think an architect person would benefit from the talk because they would understand the new capability that they may not be aware of or a new system that they are not aware of. A data scientist might benefit from the talk because they can learn about new techniques for solving problems which may work much better than the ones they are used to. I think that a ML interested programmer might be interested in the talk because the system that we are creating eliminates many bugs which require a data scientist to solve the problem. The threshold to entry becomes much lower than for most machine learning systems so a programmer with a little bit of extra education can actually start thinking about applying this.
How experienced a developer do you need to be to use these systems?
I hope that an intermediate level of knowledge would work. Many things are implemented in C++, which I consider to be an advanced language at this point, but that’s not required to use the system. Do you want to use the system or do you want to modify it? If you want to take it and modify, you will need to be advanced. If you want to use it, intermediate level is fine.
If I am an architect coming to your talk, what am I going to walk away with that I can use in my job?
Essentially, we are talking about contextual decision making online. These are situations where you want to choose amongst several possibilities based upon context. They could be user features or whatever. It’s sources of information that might be relevant to make decisions. This happens often. News recommendation is an example, but it can also be something like healthcare (given various information about a patient you can make a decision).
There will be a slide in the presentation where I mention a dozen areas in Microsoft which can use this kind of technology. I don’t go through each of those because that would be boring, but it shows that everything can benefit from this kind of machine learning.

Speaker: John Langford

Leading Machine Learning Researcher, Vowpal Wabbit Contributor

John Langford is a machine learning research scientist, a field which he says "is shifting from an academic discipline to an industrial tool". He is the author of the weblog and the principal developer of Vowpal Wabbit. John works at Microsoft Research New York, of which he was one of the founding members, and was previously affiliated with Yahoo! Research,Toyota Technological Institute, and IBM's Watson Research Center. He studied Physics and Computer Science at the California Institute of Technology, earning a double bachelor's degree in 1997, and received his Ph.D. in Computer Science from Carnegie Mellon University in 2002. He was the program co-chair for the 2012 International Conference on Machine Learning.

Find John Langford at


Monday, 13 June

Tuesday, 14 June

Wednesday, 15 June