Artificial Intelligence, Jeopardy, and Watson for Windows?
Okay, it had to happen sooner or later, Supercomputer beats experts at the game of Jeopardy. Yep, IBM's Watson Supercomputer nailed two Jeopardy experts Ken Jennings (a 74-time champion) and Brad Rutter (a 20-time champion) earlier this week, with a combination of massive parallelism and Natural Language Processing (NLP).We've been flooded at every intersection of social networking that we're involved in, because we've been preaching the gospel of massive parallelism and natural language processing for some time now. I guess Watson qualifies as massively parallel. It only has 2880 hundred cores. It's only pushing about 80 Teraflops (80 Trillion floating point operations per second). They say the human brain is somewhere around 10 quadrillion operations per second. So another 900 trillion or so flops and Watson will be in the neighborhood.
The questions we're getting are amazing, amusing, and beyond belief. I think one of my favorites was the person that asked: Does Watson run on Windows? I can't explain it. I don't know what it was about that question that hit my funny bone. Maybe it was the fact that it was near the end of a very long arduous and demanding day. Or maybe it was because it was e-mail number 300, but for some reason I found myself completely overcome with mirth to the point of tears. Now look, this is no shot at my Windows brethren and sistren out there, but to be perfectly honest I don't recall ever seeing a supercomputer, or large cluster, or massively parallel cluster running Windows. I imagine there are probably some running out there somewhere, it's just I've never seen one in the wild. It's also the case that the kind of problem solving that we do with computers and the culture that comes with it is more indicative of a Unix, Linux, or at the very least (POSIX compliant) environment. Folks we found the operating system wars fun while they were in full bloom, but we never took them too seriously. At the end of the day the right tool for the job tends to win.
Watson does some pretty wicked processing. Deep Q&A software systems are among the state of the art in natural language processing and text mining demanding all the power, flexibility, and expressability available at the hardware, operating system, language, and application layer. Most people with a little history in the computer world would agree that IBM is no stranger to operating systems, scalability, or high performance. The fact that Watson is running on Linux has deep implications that run in many directions. Before we get flamed for this blog, we would have you know that who has the percentage of what market plays no part in which tools we use to solve problems. We go for the tool that is the most effective for the task at hand. In most cases reliability, flexibility, scalability are part of the metric that we use for effectiveness. For serious to massively parallel applications, Linux and Unix (particularly Solaris and AIX) have never let us down. In fact out of all of the medium to large scale clusters and super computers that we have been exposed to and have worked with, without exception they've run some variant of Linux or Unix. And we have seen our fair share of HPC (High Performance Computers), and Watson falls right in with the rest of them.
For those of us that are involved in paradigm shifting the approaches to parallel and massively parallel programming at the system development and application development level, we need full and unbridled access to the operating system layer. We need to be able to explore new ideas, modify old ideas, throw some things out, add some things in, and then hit enter. It's the open source nature and culture of the Linux environment that makes this possible. Proprietary operating systems are black boxes that you are not free to experiment with, change, adapt or modify. Well, when you're running over 2500 cores, dealing with millions of chunks of knowledge in a Deep Q&A context with a constraint of fractions of a second for a solution to be found and presented, you need full access to hardware and full access to the operating system that is the middleman between your application and the hardware. You need access to be creative and innovative. In some cases this boils down to access to the source code of the operating system. In that regard Linux does not disappoint. Further, you are free to share your ideas with colleagues, academics, students, etc. without penalty.
Maybe, I'm just romantic in that way, but I think Watson defeating the Jeopardy Ken and Brad marks somewhat of a turning point or a milestone in our never ending pursuit of intelligent computers. That turning point includes strides made in Natural Language Processing (NLP), Information Extraction (IE), Data mining, and Massively Parallel Processing. That turning point lights the way for an entirely new set of innovations. It's our opinion that innovation is best realized at the hands of open communities, shared knowledge, and synergies that support Open Source research and development. It was refreshing to find out that Watson invigorated by IBM's Power7 processor is running on top of Apache and Linux, two of the most important Open Source projects to date. And for our part it is reassuring to see that IBM's approach to DeepQA had no problems scaling Linux to the 2880 processor task at hand. I'm not suggesting that the Windows operating system cannot manage multiple cores, I'm told by people I trust that it can. But I am saying for those of us that are in the nitty gritty of paradigm shifting the parallel programming metaphor that Watson is a progenitor of that Brave New World. In that world we need unfettered access to language implementations and paradigms as well as unfettered access to operating system implementations and paradigms in order to make the crucial advancements. The Open Source Linux/Unix variants are true and tried solid, flexible, and scalable foundations to launch our software engineering imaginations. Here's a thought for my Windows brethren and sistren. "When you have eliminated the impossible, whatever remains, however improbable, must be the truth".