With release of the Department of Energy’s AI for Science report in late February, the effort to build a national AI program, modeled loosely on the U.S. Exascale Initiative, enters a new phase. Project leaders have already had early discussions with Congress on what such a program might look like. It is early days and the general thinking is AI for Science could be a 5-to-10-year platform from which to accelerate development of AI technologies and applications relevant to DoE and science broadly.
The report itself is fascinating. Written by six prominent DoE researchers – Rick Stevens and Valerie Taylor (Argonne National Laboratory); Jeff Nichols and Arthur Barney McCabe (Oak Ridge National Laboratory); and Kathy Yelick and David Brown (Lawrence Berkeley National Laboratory) – the AI for Science reports seeks to summarize and prioritize the core ideas discussed by more than 1000 attendees to DoE’s series of town hall meetings held between July and October of last year. (HPCwire coverage)
HPCwire recently had a chance to talk with Stevens, one of the report’s authors and associate laboratory director at ANL, about the scope of the potential AI project and a few particulars regarding the AI opportunity and challenge. He framed the project around three points:
- Community. “First, like exascale, this is really a whole community coming together to build hardware and software. 1000 people participated – people from 17 Labs, from 90 universities, from 30 companies was, you know, very broad base four different meetings, 350 people plus at each of the meetings. The high-level thing that we wanted to accomplish with this is to get a baseline document that captures the excitement and the opportunity space and gives us a platform to start working on a program concepts.
- Impact. “Second, this is the probably the most important direction for computing in science that we know about and we are significantly ahead of the curve of most other countries. We’ve got collaborations planned with the U.K. and other countries on this front, but relative to efforts happening in Asia, we don’t see that yet. So it’s not just an American thing, but the idea that we’re going to pivot pretty quickly from exascale to very large-scale applications of AI is interesting and strategic. We’re not seeing this happening in other places yet.
- Commitment. “Third, to actually realize the benefits of AI is going to be a large-scale effort over many years. It’s not about a little bit of money for a couple years.”
It was a wide-ranging discussion encompassing hardware, software development, and what Stevens believes will become wider inclusion of experimentalists as HPC users as AI assumes a greater role during data collection and as an interface with HPC systems. Interestingly, one worry is we’ll rush to develop hardware based on the current crop of commonly-used algorithms and potentially get bogged down as new AI-centric algorithms emerge. Presented here are a few of Stevens observations.
HPCwire: Since you make the point that the AI effort will leverage the exascale efforts, let’s start with hardware.
Rick Stevens: Everybody’s talked about how the exascale machines are going to be excellent platforms for deep learning training because the lower precision we need for deep learning training is going to be amazingly fast on these machines. And that’s true. But as we look towards the future, we’re trying to understand what’s the mix going to be between simulation use cases for future hardware and machine learning use cases or AI use cases. In order to explore that more deeply we’re going set up a testbed for the advanced AI hardware coming out of startups like Cerebras, Samba Nova, Groq and Graphcore and others.
We’re interested in taking the models that we’re developing for scientific applications that might be dealing with types of data that are different from internet applications or just standard computer vision, and the types of architecture models that we need for those [scientific] problems, and use those as test cases on this new hardware. We’ll use those test cases on this new hardware and try to learn from their relative performance and functionality to feed forward into future architectures that would combine traditional processing elements with accelerators for AI. So that’s kind of how the hardware piece fits.
HPCwire: Are there any examples of the hardware you’re working with now and the problems you’ve now started to attack on it, and what advantages it brings to it?
Stevens: My team’s been working a lot with Cerebras. We have Cerebas’ CS1. That’s the world’s largest chip with 1.2 trillion transistors, and hundreds of thousands of cores. We’ve got several different models running on that. We have a cancer-drug response prediction model that’s running many hundreds of times faster on that chip than it runs on a conventional GPU. We have a gravity wave detection code that’s also running many times faster than the GPU on this platform. That’s a code is used for processing things like LIGO (Laser Interferometer Gravitational Wave Observatory) data looking for signals to gravity waves. We have materials design [projects] as well. We have about a dozen projects in the pipeline.
HPCwire: This seems to suggests that even near term some of the better devices used for advanced AI will be different from traditional CPU-GPU approaches. Is that a fair assumption?
Stevens: I think the way to look at it is the architectures that we’re doing the bulk of the work on now, which are primarily CPU- GPU-based and have been around for a bunch of years, are proven. The software stack on them is quite good. The support for deep learning frameworks is very robust. It’s really the current standard platform, right. And, we’ve got machines coming, like Frontier and Aurora, and so on that will have next generation versions of that technology and they’re going to be super at that.
The great thing about the GPUs is they’re quite general purpose. We can use them for machine learning. We can also use them for vector processing, solving, simulations. If you look at how far can you push computer architecture, the only thing you’re trying to do, and it’s critically important to get this right, is if all you’re doing is deep learning training, or deep learning inference, how much faster can you go than a GPU? That’s more or less the question we’re trying to answer with these AI hardware platforms. There’s dozens of companies now making those platforms.
The thing to be careful of is that in the future we will still need to do an enormous amount of simulation and we’ll need general purpose machines for that. Everything that we invented over the last 20-30 years including HPC has been essentially on general purpose machines. What we’re trying to understand is what is the tradeoff between general purpose hardware – whether it’s a GPU or extensions to CPUs like vector extensions like on the Japanese machine – versus these very special purpose accelerators that essentially are good at only one thing, which is a training or inference in deep learning. How would they fit into the ecosystem? It’s unlikely that we would have a system that only has those accelerators, because it would be very limited in what we could do with it.
On the other hand, if we can learn what are the key features of those accelerators that give them the most of the of the bang for the buck if you want to think of it that way, we can think about how architectures might converge in the future? That’s really the end game that we’re aiming at. So it might be future hardware systems, like in the 2025 kind of timeframe, have not just CPUs and GPUs, but they might have a lot of these specialized accelerators also in the architecture. Getting that mix exactly right is one of the questions. Like what’s the right ratio? What are the types of applications that would be good or bad on that kind of architecture.
So that’s kind of the pathfinding work that we’re doing. It’s also likely that some of the accelerator ideas that are in dedicated hardware will find their way into more general-purpose platforms like future GPUs or CPUs. There’s a number of us have been spending a lot of time talking about that. There’s even a bet that I’ll tell you about some time over beer on how that might play out. I think that what we’re discovering, what’s so exciting about this, is that even though Moore’s Law is slowing down and it’s becoming harder to do things, the number of architectural ideas in circulation right now has never been greater in some sense. I mean, maybe back in the 60s, it was larger when people were inventing everything (IT-related) then.
HPCwire: That all sounds positive.
Stevens: Well, we’re suddenly in this realm where we literally have 100 companies trying to come up with new architectures all chasing the AI target. And it’s already unclear to me right now, in some fundamental sense, whether we have the right algorithms. If the hardware is prematurely optimized for the current algorithms, right, the current methods, that could backfire because we keep inventing new methods. At the same time, for certain problems, there may be cases where I can just do something I wanted to do on accelerators that I can also do on the other machine but it’s just taking a lot longer. It’s super important to actually have these [new devices] in our labs and made available to our community. We, and the DoE, have this incredible environment where we have access to the best of all these worlds and are in a great position to actually evaluate them.
HPCwire: Your point about algorithms is interesting. Along those lines will the AI for Science program have a software component, a sort of analog to the Exascale Computing Project which focuses on the needed software ecosystem to support exascale?
Stevens: We’re still trying to work out what the specific program elements are. Certainly we’ll need big pushes on what you would call an application, where there’s a domain facing activity. AI for specific kinds of problems, whether materials or chemistry or physics or astrophysics, or whatever. You can imagine there will be pieces like that. There is a need for a new type of software infrastructure that connects all this stuff together and helps us manage large amounts of data. Or it’s, you know, huge libraries of thousands of models or millions of models. It creates a whole ecosystem around a new currency, which is kind of data and models. That’s different from what we currently have.
Clearly there will be revisions of workflows too which include significant AI components, whether that’s in experimental science or whether it’s AI that helps us write code. The latter is already starting to happen, having AI systems that are helping debug codes or tune codes or translate codes or even sometimes writing code directly. That’s going to change the software development process, which in the context of like exascale is pretty much the same way we’ve been doing things for a long time. Exascale is not really changing how we do software development but the AI initiative will probably do that.
Of course, the [existing] simulation and the existing software stacks and libraries, none of that has to go away because much of how we’re going to use AI is actually coupled to the traditional scientific computing software stack.
HPCwire: But AI will itself become a major part of the software development paradigm?
Stevens: Probably the right way to think about this is that all these things [software development process and components] are going to be augmented with AI. There’ll be many applications that are kind of AI-centric, machine learning-centric; some that will still be simulation-centric; and some will be hybrid. Software environments [are likely] to evolve from the kind of batch oriented traditional simulation towards these more real time interactive, collaborative or shared, resources that support a much larger number of projects simultaneously. The underlying system software and the hardware will have to evolve to support these new workloads.
We know from the exascale [experience] that we can have reasonable success with the current organizational model, right, where in applications and software and kind of hardware investments as a project. And then the facilities, acquisitions kind of in the initiative. But I think with AI, the one thing that we’re starting to understand is that we need a bit more research. I say a bit more but probably a lot more research so rather than moving quickly to a formal kind of project, I think it will have to incubate in research mode a bit longer.
HPCwire: Are there good examples now of AI writing code or tuning code you can cite?
Stevens: There’s quite a few that are starting to pop up. One of the big use cases at Argonne, Oak Ridge, Los Alamos, and Livermore is to use large scale computing, with deep learning, to optimize other deep learning network design. In deep learning, you write a lot of code, but you’re often trying to improve the model architecture; the number of layers and the topology of the neural network that you’re building. It turns out that deep learning is really good at doing that problem. So think of it as AI writing AI. That use case is becoming very common. We’re doing that now on Summit. We’re doing it now on Theta. This is a routine thing that we’re doing to improve our models by using a different AI model to actually design the new AI model. In some cases you get incredible boost in improvements in wall clock performance or accuracy. I mean by factors of two or five or something like that.
So the models were for a problem in cancer in natural language processing problems, and then another was for the climate data, and it was applied to a problem in cosmology. It’s a very general technique and can be used pretty much all domains in which deep learning can be applied. There’s actually a fair amount of work going on and not just in the labs. It’s happening in industry where this idea of having coded systems is gaining traction.
HPCwire: We haven’t talked much about applications. One area that has been receiving attention is the potential to use AI for facilities and systems management. Thoughts on how DoE could leverage that?
Stevens: DoE runs about 27 or so user facilities and many of these are experimental user facilities, like the light sources, neutron sources and things like that. There, the principal idea is we’re often collecting data that has to be post-processed. One thing you could do is use machine learning methods to do post processing very quickly. Or you could use machine learning or maybe reinforcement learning to control the configuration of the experiment to collect data in a more efficient way. There are many dozens of ways of using machine learning there. So that’s an experimental side. We can also use AI methods to monitor and manage HPC systems and to optimize data paths, data flows, workflows, and so on.
So we’re starting to see the need to think differently about how we operate these facilities. There’s applications in the kind of control data reduction space that are starting to gain traction. One of them is in what I call complex experiment control and there are two examples that are already out there.
One is in fusion where deep learning models are able to predict the future state of the plasma, you know, many milliseconds in advance. They can predict pretty accurately if that plasma is going to go unstable. The reason that’s kind of cool, is that humans can’t do that. We can’t look at the diagnostic data coming off the test reactors and predict what’s going to happen. I mean, it just happens too fast. Properly trained, the network can do that. The next step there is trying to interface that to the control system so not only is it going to predict when something’s going to go unstable, it can control the reactor to move away from that zone so maybe it would not crash. Doing that involves taking these deep neural networks and interfacing them with classical control systems or maybe replacing that class control system with a different way to do control.