Future of Science and Technology Q&A (December 1, 2023)

Transcript of Stephen Wolfram's Q&A on the future of science and technology (Dec 1, 2023). Wolfram discusses feasibility and distinctions between time travel, teleportation (including cryonics, wormholes, and information-based teleportation), limits from physics and computation (speed of light, space atoms, computational irreducibility), molecular archaeology, browser/runtime architecture, computer security, and the trajectory and limitations of large language models (LLMs).
Chapters
Sa. Hello, everyone. Welcome to another episode of Q and A about future of science and technology. I see we have a whole bunch of questions here. We have a question from time. What do you think is more. Which do you think is more likely, teleportation or time travel? I think I've talked about both of these topics a bit before, but let's talk about them again a bit. Well, time travel, there's time travel to the past, there's time travel to the future. If we could solve cryonics, figuring out how to freeze humans, we'd have great time travel to the future. Just like you can think about every time you go to sleep. It's kind of like time travel to the future. You are thinking about your day and you are sensing the passage of time through the day, and then you don't sense the passage of time until the next morning. And we can certainly imagine. And people think that, I mean, the problem of cryonics is one of those things where basically if you could just get a biological organism down to the temperature of liquid nitrogen, then all the sort of processes that normally go on, all the sort of biochemical processes that normally go on would effectively stop and the thing would be in kind of suspended animation until it's heated up again. The problem is when you cool it down, bad things happen. In particular, water has this very nasty feature that ice is. For a given volume of water, ice is bigger than the liquid water. And so you cool things down. If they freeze, then to ice, then. And since the majority of what's in us is water, that's a lot of the content of our cells is water. That means that if you cool us down so that we are freezing, then the. Then the problem is that all of the water in our cells expands and that destroys our cells. So the question is, can you get from the kind of the normal body temperature down to the temperature of, let's say, liquid nitrogen without that happening? And there are all sorts of ways people think about doing that. There are cryoprotectants, basically antifreeze chemicals that just like you put salt down on roads and things, and that reduces the freezing temperature of water. You can try to do the same thing. The only problem is you got to get that antifreeze into every cell in the body, and that's not easy to do. Our bloodstream carries things like oxygen into every cell in our body. But it's not so obvious how you carry these other chemicals in there. Or you can try some kind of more physical process of higher pressure, or maybe there Are electric or magnetic fields, something like that. But my own feeling is that there hasn't been an awful lot of. There's been sort of. People have been picking away at this problem of cryonics for a long time. And it's been kind of a field that people don't, don't take seriously. My guess is it will eventually just be solved and it'll be figured out how to take a biological organism, including any of us, and just say, okay, put it on pause, freeze it down to liquid nitrogen temperature and let it hang out there for as long as one wants and then kind of wake it back up again. So in a sense that's time travel to the future. If you say, okay, I'm going on pause now, maybe I've got some medical problem that can't be solved today, but in 50 years I'm sure it's going to be solvable. Just pause for 50 years or even five years. So that's in a sense experiential time travel to the future. When it comes to time travel to the past, it doesn't make a lot of sense because the universe evolves in the way the universe evolves according to the rules the universe evolves according to. And if you say, take my thread of experience and have that loop back to the past, it doesn't really make sense. You can create something where you have what in sort of physics is usually called the closed timelike curve, a curve where sort of the progression of the future goes back to the past. But what does it mean when you do that? Well, anytime you have a system whose behavior repeats, you effectively have it in a closed time like curve. For example, let's imagine you have an oscillator that's just going back and forth, back and forth, back and forth. Okay, the. If the oscillator is the whole universe, if there's nothing else in the universe or nothing else that you care about in the universe, then for practical purposes, the future of that oscillator is also the past of that oscillator. Because the thing has, it's gone to one side, then it's going to go back to the other side and so on. One could think about its future as returning to the state that it was in in the past, which will then continue to be its future and so on. So normally when people say, oh, you know, there are all kinds of paradoxes that you get into, or what if I went back in time and prevented myself from being born, what would then happen? Well, the answer is if there Is an evolution of the universe so that, that you could do that. Then in a sense, what's happening is you're just defining sort of a consistency condition that this happens in the universe, then this happens, then that having happened, this now has to happen. It's kind of this loop like the case of the harmonic oscillator and, or some kind of oscillator where essentially something where the behavior is just repeats, repeats, repeats. That's kind of like time travel. That's the best you're going to get for time travel to the past. Any other kind of thing where you say, well, I'm making a decision to travel to the past doesn't really make sense. If you believe that the universe evolves according to definite rules, your decision to travel to the past sort of already was included in what happened in the past. And the best you can do is to have this kind of consistency loop. Go on. So let's see now, let's talk about teleportation. And first thing to define for ourselves is what do we mean by that? We mean we're here, and sort of a moment later we're somewhere else. And normally we expect that the speed of light is the thing that limits how fast anything can travel in our universe. What does the speed of light talk about? The speed of light says that if you want to go a certain distance in space, it's going to take you at least a certain amount of time. And so now the question is, can you break out of that? Let me comment on a couple of different things. For practical purposes, if we're sitting here and we want to find ourselves on the opposite side of the earth, Even if we could do that at the speed of light, we would be very impressed. That would be very useful. And obviously we can do that with information. We can take some. This live stream is going out to all kinds of corners of the world through fiber optic cables and things like this, and it's going at something very close to the speed of light. So the informational content of this live stream is being ported quickly, at least to lots of other places. So we'll talk about in a minute the question of sort of things going very fast, like at the speed of light as compared to at the speed that usual material objects travel at. But there's a separate question which is, can you make something that goes faster than the speed of light? That's a different issue that's relevant. If we want to get to the other side of the galaxy in a human lifespan or something, we're Going to need to go faster than the speed of light. So the question is, can that be achieved? That's a separate question from the question of whether we can take material objects. And have them go at some speed very high. Compared to the speeds that we can normally get planes and rockets and so on to go at. Let's talk about going faster than the speed of light. So, as I say, the main issue is, in a given amount of time. How much of space can you cross? And that's actually a pretty subtle question. Because it depends on the structure of space. If, for example, so we've known for 100 years that sort of space Is not quite as uniform a thing as we had imagined. There can be curvature in space. The presence of mass produces curvature in space. That's what leads to gravity. And in the case of something like a black hole. We have more extreme kinds of curvature in space. There are weird kinds of things that can happen in space. For example, there's this idea of a wormhole. Where essentially one place in space. Is directly connected to another place in space. And you can kind of go the long way around. Or you can go through this kind of wormhole, this handle where one piece of space Is directly connected to another piece of space. There's a question of, can we make a wormhole like that? Well, in traditional theories of gravity and theories of space time. It's really difficult to make a wormhole. If there existed a wormhole, if somehow in the beginning of the universe, a wormhole was created. It could have been with great effort. It could be sustained. And what would it mean if it was sustained? Well, it would mean that you kind of go across space one way. And it takes you 100 years or something. Even at the speed of light, you go across space the other way. You kind of go in a slightly different direction in space. And you go through the wormhole. And it takes you only a second, for example, to get to the same destination. So what's happening is, in that case, space is multiply connected. There's more than one way to get from one place to another. And by the way. So that's something that's very hard to create. In traditional theories of the way that space time works. In our models of space and time and so on, Things are a little different. Because the structure of space is itself dynamic. And the whole sort of the network of little atoms of space. That make up the structure of space. That's a very dynamic thing. And much more dynamic than it is in traditional theories of gravity and so on. Okay, so the following tricky thing can happen if down at the level of kind of atoms of space, there's a lot of sort of apparent randomness in the way that things are getting connected and disconnected and so on. And the question is, can you somehow cheat that randomness to find a way to get from one place in space to another sort of more efficiently than by the. By sort of going through the usual experience of traveling through space? Okay, so let's take an analogy. Molecules in a gas in a room. These molecules are randomly colliding with each other. The typical molecule goes a millionth of a meter before it collides with another molecule. And every time it collides, its direction is more or less randomized. And the time it takes for a single molecule to go across the room can be quite long. That's why, for example, if you open something that smells, has an intense smell on one side of the room, it takes a while for that smell to diffuse to the other side of the room. That's because the molecules that are the thing that create that smell, the molecules of that smell of that scent, they're in the air, and they keep on getting. They're going in one direction, but then they get bashed by another molecule, they go in another random direction, and they're kind of randomly walking from one side of the room to the other quite slowly. The actual molecules in air, for example, go pretty much at the speed of sound. And if you could only figure out how to attach yourself to exactly the right molecule instead of diffusing across the room, if you could jump from one molecule to the next and get exactly the right molecule every time, you would be able to sort of surf across the room at the speed of sound. Okay, so why can't you do that? Well, you can't do that because even if you were down at the molecular scale, it's still hard to know which molecule to pick. And it's very computationally difficult to work out which molecule should you pick now, then the next time and so on to be able to do that surfing. This is why things like the second law of thermodynamics work, because you can't sort of untangle. You can't figure out how all these sort of apparently randomly moving molecules, even though they actually do have definite rules for how they move, you can't kind of figure that out in advance to see how to kind of untangle the randomness. But if you could, you would be able to kind of surf from molecule to molecule and get quickly across the room. Okay, why is this relevant to space time? Well, it's the same kind of story because these discrete elements that represent the atoms of space at this very small scale, they too are interacting in all these complicated ways of having of. It's not like collisions, like physically moving. It's rather the kind of network of relations between these things is continually updated. If you could only know exactly what was going to happen, you could kind of attach yourself to a certain atom of space and you could be surfing across the universe and you could be. The overall structure of space is defined by sort of the aggregate, sort of random behavior of all these atoms of space. And in a sense, you can cheat the usual rate at which sort of things are connected to other things by doing this kind of surfing process. The only problem is you fundamentally can't do that because you would need to be able to work out computationally what's happening sort of you have to be able to outrun the universe to know exactly what, where you should go next in order to kind of surf these atoms of space. So the fact that you sort of can't go, in the end faster than light is more of a sort of engineering problem, but a very fundamental engineering problem than it is something actually about the structure of space time. Now, one of the other problems is that even if you could do all this surfing and so on, the problem is what could you sort of get through the universe faster than light? The answer is it won't be you, because you are this great big U. All of us are these great big things with 10 to the 100 atoms of space in us, and we are this sort of coherent object that successfully moves from one place in space to another when we move. It's a complicated thing that motion is possible, that you can take this whole big object that's us, made from one set of atoms of space at one moment in time, and then at every successive moment of time, we're made of different atoms of space. And the fact that there is this connection between us at one moment of time and us at another moment of time in another place, potentially that's a non trivial fact that pure motion is possible, that we can maintain the coherence of us as entities through time and in different positions in space, it's kind of the analogy I tend to use here is little eddies in water. You can see this eddy and it maintains its coherence even as it moves through the water, even though it's made of different water molecules at every successive moment of time. So the question is does the physics work out so that we can maintain our objectness as we move through time and as we move across space? And it's a fact that we notice that, yes, we can maintain our objectness as we do that pure motion is possible. But now when you start kind of trying to mess with things down at the level of individual atoms of space, and you're trying to cheat sort of the structure of space time, then it's no longer going to be the case that the thing that can cheat the structure of space time is a thing that can also be sort of a material object like us. So my guess is, and this is something which one can sort of prove at the same level that one can prove the second law of thermodynamics, law of entropy increased from computational kinds of ideas, something I just recently wrote a whole book about, in that same sense, I think one can essentially prove that a material object like us can't go faster than the speed of light. Only a thing that is deeply shredded, so to speak, has that possibility. And even that isn't really possible for something that is computationally embedded in the Universe. So, okay, so the only way one could get sort of faster than light travel in the universe is through some structure like a wormhole or another kind of concept that I sort of talked about a couple of years ago is things called space tunnels. The Universe doesn't have to be completely three dimensional in our models. And so there could be a place in the universe that is, let's say, five and a half dimensional. And that place, when you have higher numbers of dimensions, one thing that that means is that there are more ways to connect two points than you knew before. And so when you have this sort of higher dimensional piece, there can be this kind of faster, this kind of tunnel through space that kind of connects different parts more efficiently in a different way than that happens in wormholes. But we have no reason to think that space tunnels exist. Maybe space tunnels were created in the early universe because we believe that the universe started kind of infinite dimensional and only kind of gradually cooled down to three dimensional. And so maybe there are space tunnels left over from the early universe. The likelihood that there's a space tunnel that's aligned with being in a place that would be in any way useful to us seems very low. So that doesn't seem like a thing. All right, but let's take the different branch, which is, how about you just take yourself, and at the speed of light, or close to the speed of light, you move yourself somewhere else. So the way that would happen for a material object is something we certainly don't yet know how to do. But if we could take sort of us and we could kind of scan us and turn us into pure information, so to speak. So let's say we had a device that could, like disassemble us, you know, atom by atom. It picks off, oh, it's this atom, it's this atom, it's this atom. And you could take that sequence of atoms and you could just describe that, the positions of all those atoms, just as information, so to speak. Then you transmit that digitally to somewhere else, and then you essentially have a 3D printer that's reassembling the object from its atoms. Now, you could also imagine that you could scan the object on one side without disassembling it, without taking it apart, without destroying it, and then make a clone of it on the other side. And that's more what typically happens with kind of digital data is like you're transmitting it, but in principle, you could keep a copy of it at the place where it started. So now the question is for. And it then becomes a more complicated sort of philosophical consciousness type question. The question is, if it's a question of transporting us, there's different things. Let's say you want to transport. I don't know, let's say you want to transport a metal bolt from here to somewhere else. Well, you can kind of almost already do that. You can almost already teleport such a thing. You scan it on one side and you 3D print it on the other side. And although it takes a while usually to do the 3D printing, let's imagine that that could be made quicker, because I don't think there's anything fundamentally that limits that, at least at this kind of level, then effectively you have a teleportation system for a bolt. Now, the issue is, even if we could do that for us, with all of our complicated molecular biology and so on, what would happen to our thread of consciousness when we get teleported? It's kind of like the time travel case. We could imagine that we sort of go to sleep and wake up in n years and we still feel it's us at the other side. Is that also possible with motion in space? It seems much less plausible. It seems that the thing that would be the reconstituted us, so to speak, will not have that same sort of thread of consciousness that we have sort of being in one place, going through time, so to speak. Now then, of course, the question arises, if at some point in the future. We are kind of, you know, there's an uploaded version of us where sort of the future of our consciousness really is digital, then it's a quite different story. And then teleportation, as well as cloning, copying of that thing become much, much easier. Now, an interesting thought experiment might be. Imagine that you have. Boy, this is where it gets complicated. Imagine you have some kind of neural implant that has sort of taken a large part of the memories of your brain and put them in digital form and it's going to replay them to you on neural demand, so to speak. Well, you can take those outsourced digital memories and they're very transportable and you can put them somewhere else. But now, the thing is, and this kind of relates maybe to questions about, in a scenario where you've got a brain and a lot of its functionality has been taken over by digital stuff, to what extent is that still the same brain, the same consciousness and so on. And I think one thing one realizes is if you say, well, can we transport it somewhere else? Yes, we can transport the digital data, but there's still that leftover thread of kind of, I don't know, humanness or something that is still represented by the material object that is the brain. And that is a different problem to be able to transport. But I tend to feel that we just have no idea what it would be like, what it sort of feels like to be a digital consciousness that's being transported around to different places. We just have no. It's just so different from our normal experience that it's hard to know kind of how to map what one thinks into those kinds of things. Let's see. All right, there's various comments on this. Blah, blah, blah. Let's see. Okay, there's a question here from Alexandra commenting on accurately reconstructing the past using present data. And how much of the past can you learn from what is there now? You know, I think the progress of archaeology has been an interesting lesson in this regard. It's kind of like, could you imagine that we know what was the meal that was eaten by people at the funeral of so and so and then where all their eating utensils were buried along with so and so. You know, we might have imagined. No way are we going to know what that meal was. But then there's kind of molecular scale archeology where it's like, well, there's a little tiny piece of DNA that got left over here and we can reconstruct, oh, that was a type of sheep and so on. In other words, the molecules tell a story. I've often wondered whether solid objects tell more stories than we know. So, for example, when you have something like a gas, it's really hard to decode sort of what happened. You put some scent or something into gas, into air. It spreads out. It does it. To reverse that process. This is a whole second world of thermodynamics story. To reverse that process is truly computationally infeasible. But let's imagine we have a solid surface. Let's imagine it's the keys on our keyboard, and we've been typing, typing, typing away on those keys. Every time we type, atoms move on those keys. Now, atoms are moving all the time, just because at the temperature, at room temperature, there's a certain amount of motion of atoms. And atoms in a solid are always bouncing around a little bit. They're usually kept more or less in place. Otherwise it wouldn't be a solid. Otherwise it would be flowing like a liquid or like a gas. They're more or less kept in place. That's what defines it being a solid. But every time we type on our keyboard, we're moving a few atoms around. And the question is whether it will be possible in the future, just as today we can go back and do this sort of molecular archeology and say, oh, there was a DNA molecule left over there. We know what happened. Will we be able to see the kind of micro scratches and the pits and so on of all of these solid surfaces? Now, we can trace the positions of atoms in a solid surface. An atomic force microscope, for example, can trace the positions of individual atoms in a solid surface, but it's not a very quick thing to do. And if we were to trace kind of all the atoms in our keyboard, in the surface of our keys and our keyboard, it would take an absurdly long time with current technology. But I can certainly imagine a time when you can kind of do sort of flash atomic force microscopy and just kind of, you know, in a moment, kind of get the complete story of where all the atoms are. Just to give an analogy for that, in the case of reading of gene sequencing, DNA sequencing, for example, 1, it is remarkable that in modern techniques like these nanopore techniques, where you're kind of dragging a DNA molecule through this kind of chemical hole, and every time you. And as you drag it, depending on which base at cg is kind of being dragged through the hole, a slightly different signal is produced. So you're kind of doing it little group of atoms at a time and being able to Read out this DNA molecule. That's, again, a pretty sequential process. There were other ideas people have had for how to do gene sequencing that involve things like laying out the whole DNA molecule and using an electron microscope to essentially get an image of that whole DNA molecule and then kind of examine the image to figure out what the sequence was. But the question is, can you take a solid surface and by some technique kind of take that surface and say, oh, we got a terabyte of data. You know, flash, we've now got a terabyte of data of the positions of lots and lots of atoms. It's more than a terabyte that you need to know where all the atoms in the keys of your keyboard are. But let's say that you can get just a terabyte of data. It might very well be the case that in that terabyte of data you could go back and decode, oh, I must have typed the following password on my keys or whatever, just by looking at the way that the atoms move around. Now, I think if you ask the question, by the time sort of lots of atoms are interacting with each other, I think one is dealing with computational irreducibility. And it's really hard to go backwards and to deduce what the past was. But in cases where it's really just a question of it was a solid thing, but it got perturbed by some action that took place, I think it's quite possible that one will be able to figure out what that action was. And I do tend to think that the future of generalized archaeology is to be able to reconstruct a lot of the past from anything that's solid. In other words, it's those things which are just, we speak the words into the air, so to speak, we're not going to be able to reconstruct. Almost certainly we're not going to be able to reconstruct how those molecules flowed around. And, you know, ancient Babylon, somebody was just talking, so to speak, and the molecules in the air, no way, we're not going to be able to reconstruct that. But if the molecules in the air caused some atoms in some sand or something to move around in some particular way, then maybe in that solid object there will be something that could have been preserved, just as the configuration of atoms in the tablets that got, you know, baked in the sun and so on from that time got preserved. Let's see. Evangelos comments. We're definitely generating a germ factory on our keyboards. We should use it. That's an interesting Point that not only could you probably say, you know, I'm sure from our fingers there are, you know, we're dropping, well, even sometimes skin cells, but we're dropping some molecules and things. And yes, you probably can say this keyboard was touched by this person. Look, here's their DNA, more or less. Let's see. Ah, Boots. Comments. There's more than one way to get from one place to another. That's what gravitational lensing is doing. When light travels in multiple paths to us. Yes, that, that's correct, that there's that whenever you have. So in gravitational lensing, it's like a, like a, like a lens for. Made of glass, for light, where you have two light rays that you can go from a source and then to different places on the lens. And then the lens is focusing the light and so these different rays of light. So this is what happens on our retina all the time. There's a particular object somewhere that I'm looking at across the room. Light from that object spreads out and goes in lots of different directions. Those light hits, hits my eye, the lens inside my eye. The light that hits at the top of the lens and the bottom of the lens, the lens is focusing that light. So it's making the light that comes from the top of the lens and the bottom of the lens be focused in one spot on my retina. And that's why I form an image of that thing that's distant. And yes, it's the same story with gravitational lensing. Okay, Pepe is commenting that wouldn't there be ambiguity, many different possible motions of molecules would produce the same pattern on the sand? Well, that's an interesting question. My guess is that that wouldn't happen. My guess is that this is one of the sort of things that we kind of an intuition that we get from computing. Let me give you an example. Let's say you take lots of files that you put on your computer and you say, let's make a hash code from these files. Let's take the content of these files and let's make something that's 128, 256 bits long. That is something we get by using some algorithm to just sort of grind up the contents of these files and just say give me a 256 bit sort of signature of this file. And we do that by grinding up the content. Let's say we take the numbers that represent the characters in the file and we multiply them by primes and we add them all up and we take the result mod 2 to the power 256 or something like this. We do some sort of mathematical weird grinding of the data that makes a hash code that is, let's say, a 256 bit code that's supposed to represent this whole file. Now, you might have thought, no way will we be uniquely able to tell the different files on our computer. But actually you can. It's very common to have a hashing scheme that sort of randomizes things enough that two files that are different that you happen to have on your computer have a very high probability, overwhelmingly high probability of having different hash codes. If the hash codes are different, then you know the files are different. It could be that two different files, if the hash codes are different, the files are definitely different. If the files are different, it is still conceivable that they could collide and that they could both have the same hash code. But the point is, that's incredibly unlikely. So, for example, if you have a 256 bit hash code, very common length that's used in practice, the probability that those files will be different files but will happen to collide and have the same hash code is pretty close to 2 to the power minus 256, which is about. Well, what is that, maybe? Well, the chances are, if we were running a computer, running our computer for the whole history of the universe, the chance of us, and we were generating hash codes at every cycle of our computer's clock, we wouldn't generate, and we were generating them sort of at random. Well, we're generating them from different files. That collision would be very unlikely to happen in the whole history of the universe. So in a sense, what that's telling one is that if insofar as what you actually observe is sort of some hash code of what happened, it's very likely you can decode what happened from that sort of fragment of information. It's the possibility that two things were different and happened to give the same outcome is lower than you might think, I suspect. So my guess is that in the case where you see this configuration of pieces of sand or something that somehow got baked or fossilized or whatever else, my guess is that there will not be much ambiguity. Now, having said, that is the way this works. There will be configurations of molecules that, in the air, for example, that would have two different configurations, molecules in the air that would have both led to the same configuration of particles of sand. But the point is, only one of those configuration molecules in the air is plausible to have been produced by somebody talking. I mean, this is kind of the story of lots of things done in modern times of machine learning, that it's kind of like, well, here's a set of things that are possible, but only some of them are plausible given the way the world typically is. So let me give an example of that. Let's say that we have an image of a scene. It's just a two dimensional image. The question is, can we reconstruct the kind of three dimensional depth of the objects in that image? Well, there are, maybe we even have. There are many possible sort of depth maps you could get, but only some of them are consistent with the way objects typically are. I mean, if we see a hand in that image, we kind of know that the typical hand has fingers that have ends of the finger and bases of the finger and pieces of the hand and so on. We kind of know how the hand is set up. And although in principle, those pixels, given certain aspects of how they work, could be connected in different ways, because we know it's all part of a hand, we know that the depth has to go the particular ways they go. Let's see. Yolder is commenting. The recent studies from MIT that try to make hash collisions on purpose. Absolutely. That's one of many. I mean, there are all kinds of computer security issues, I've often said. So in setting up lots of kinds of things in the world, there's this idea of universal unique identifiers, UUIDs. And you know, we use them a lot in Wolfram language. We just say we're just going to generate a UUID and we're going to assume that it's unique. And I've often thought that the whole technology infrastructure of the world would kind of start to crumble if UUIDs started to collide, but it's very unlikely that would happen. Now the question is, can you game things so that for a particular system you can force UUIDs to collide? If you do, all sorts of terrible things can happen and that can give you some kind of backdoor to try and break into some system and so on. Okay, other questions here. Let's see, Let's see. Aaron asks, will a web browser ever have a native runtime for a language other than JavaScript, Python, Wolfram language, et cetera? You know, I have to say, the fact that browsers are sort of becoming the operating system in which lots of things operate is a very bizarre turn of events in the history of computation, the history of practical computing. There was a time long ago, talk about history, early 1980s, when workstation type computers first were coming into existence, and there were two different ways people set them up. They actually associated with two different companies with sort of particular type specimens for these ways to set it up. Apollo Computer and Sun Microsystems. And Apollo had the idea, we'll build a Windows system, and on top of the Windows system, we'll build an operating system. That's kind of a little bit how browsers are working. You build the Windows system with all the graphical user interface, and on top of that, you build the operating system in which programs operate. Sun Microsystems have the opposite point of view. They'll build an operating system, Unix operating system in their case, and on top of that, you'll build a Windows system. Okay, so what happened at the time is sun succeeded, Apollo failed. And the reason was that an operating system is much simpler than a Windows system. And so sun was able to build something which is a pretty solid foundation, on top of which there will be a Windows system that's kind of flaky. But Apollo, on the other hand, had this pretty flaky, very, very complicated Windows system that had all the flakiness of a very complicated piece of software. And they were trying to put an operating system on top of that, and that didn't work very well. Well, now we're, you know, 35, 40 years later, and we're basically trying to build an operating system on top of a Windows system in the case of browsers. And the fact that there are sort of trans compilers from languages like C into JavaScript is just bizarre. Now, you know, 10 years ago, when we were first building Wolfram Cloud, a little bit more than 10 years ago, one of the big questions was, could we take the things we developed on desktop computers, all of the Windows system capability, all of the kind of graphical user interface capabilities we had on desktop computers, and could we use one of these trans compilers to turn that all into weird JavaScript code and have it run in the browser? Thankfully, we didn't try to do that. And I say thankfully because while small pieces of that work, even 10 years later, to take sort of a full application on a desktop system with all of its connections into fonts and operating system calls and all this kind of thing and make that work in JavaScript in a browser is still infeasible, will it remain infeasible? Well, there's no sort of theorem that it will remain infeasible. I will say there are some issues because the this security model of browsers that sort of says what happens in the browser stays in the browser type thing and doesn't leak out into your computer in general without it being a very controlled kind of kind of thing. That model makes it pretty difficult to access the kinds of resources that operating systems usually access, like your file system and so on, in a transparent way. So that's a kind of a. Well, that's what you've signed up for in your browser. But I think this question of whether you can. What you should be running in the browser and should you be running a Wolfram language kernel in the browser? Well, you can run a Wolfram language kernel in your operating system, so in principle it should be able to be run in the browser. But this is such a. It's sort of a complicated thing because. Because another thing that could happen is that people say, oh, there's all these things, they're amazing Python libraries. Well, actually, they're not Python libraries, they're C libraries. They just have a wrapper that's Python. And just like things that are written in Wolfram language functions in Wolfram language, the insides of those functions, they might be Wolfram language code, they might be C code, they might even be Java code or Python code or something like this. To the user of orphan language, it doesn't make any difference what's inside there. And so it is with a lot of these other things that the. What's inside, Even if it was sort of a JavaScript wrapper that somehow ran in the browser and it was really calling a piece of C code, that would be a possible thing. But for one problem, which is the security model of browsers, which means that a lot of that sort of raw, I'm just going to call the, you know, have the CPU do these things isn't something that browsers allow. Now, if you said, well, I don't worry about that, I've signed that piece of code, I know that piece of code is, okay, you know, let it just fall through to running directly on my computer raw on the computer system, then one could imagine that the browser becomes essentially just a portal to things that are happening sort of down below in the RAW operating system of the computer. So I think. And when you ask the question, okay, so there's another practical question which is in a browser, if you say, well, I'm going to implement this thing in JavaScript, well then the way that works right now. And again, this is so bizarre in terms of the history of computing because this whole question about does it run locally on a computer, does it run on a server? What's sort of happening in the whole world of browsers is, well, there are things that run on the server and then there are things where they run inside the browser. But how do you make something run inside the browser? Well, unless you're distributing that code with the browser somehow, you have to download the code in that session of the browser to be able to run that thing. So now, okay, so now we get things like browser plugins. Browser plugins were a thing for quite a while where one time you download a bunch of code and it's kind of signed in some way, you attach it to your browser and then you can run with that code in your browser. But then the makers of browsers for, I think a mixture of kind of commercial motivation and security concerns, probably with more weight on the first one, were, you know, decided, well, this is probably five years ago, decided browser plugins are a bad idea. Let's, you know, let's have it be the case that if you want to run something in your browser, it must be code that you've downloaded during that browser session. So that means that if you want, for example, the full Wolfram language kernel that's pretty big, there are sort of minimized versions of it, there are one or 200 megabytes, but still downloading one or 200 megabytes just sort of in that browser session is kind of a nuisance. Then there's a question. Well, does the browser cache these things that gets into sort of complicated details of software engineering and things that you don't want to have to rely on in setting the system up. But could you imagine a case? Actually, it's sort of an interesting idea to take the framework of a browser, like a Chromium browser system or webkit or something like this, and sort of hollow out some pieces of it and stick a Wolfram language kernel in there and have it be something that can run in the framework of the browser, so to speak, when, when you've decided, this is the browser I'm running, I'm running my own special browser that has access to other computation, other capabilities on my computer, like Wolfram language, and have that run inside the browser locally. It's sort of an interesting idea, hadn't actually occurred to me. Maybe we should look at trying to do that. But I think there are just a lot of weird sort of computer security meets commercial interests, meets, you know, software engineering kinds of constraints on just what can run in browsers, and plus the sort of flakiness component that is, if you're running, you know, if you have a big stack of Technology. And I mean, you know, it happens to me with some regularity that, that we will have downloaded in fact in our Wolfram Cloud. One of the limitations to us is browsers choke. You know, we will download something and it's perfect. JavaScript, it's absolutely correct, but it's somehow too complicated for some poor browser and the browser kind of falls over and dies. And by the way, I'm pretty sure we still have all kinds of things in Wolfram Cloud that actually know what browser you're using and say, ah, no, you know, Chrome doesn't do the handle that very well. You know, if it's Firefox it's okay, but if it's Chrome, it's not okay or whatever way around it is, you know, let's not send that construct to this particular browser because it's not going to work properly. And that, that. And so, you know, we've had those constraints that goes to say that, you know, people say, oh, JavaScript and browsers, it's kind of a universal platform. You can Write something in JavaScript to run on all browsers. Well, it's not true. I don't know how true it is or isn't today. I certainly know that a few years ago that was a major issue for us and a major issue in our testing protocol of dealing with multiple different browsers and the different kinds of bugs you would get from different failures to be able to handle sort of the full deep spectrum of JavaScript capabilities. Let's see. Yeah, Yoldr is commenting on where is them to see user space code running in kernel space. Yes, yes, yes. No, I mean this is the, you know, so the future of computer security is its own separate. Interesting question. I mean, just to, just to riff on that a little bit, I mean, to me, what is computer security about? You know, you want your computer to do what you want your computer to do and not what you don't want your computer to do. But the issue is if you've got some quotes, smart something or other, whether it's a smart firewall or a smart this, that or the other, as soon as you say it's smart, it's probably going to be doing things that weren't that are sort of beyond what you immediately imagined it might do, so to speak. And so, so that means that it, it's. And the question is, well, so how far can it go? And this is kind of the, and, and when people try to attack your computer, well, there's a whole collection of, of attacking the humans by, by you know, social engineering and phishing and things like this. But let's put that aside. If you're trying to attack sort of the, the computer itself, what you're typically trying to do is to get the computer to do something that it wasn't intended to do. And as soon as you have program systems that are, quote, smart, so they're able to do lots of kinds of things, there is the potential for somebody to be able to get them to do a thing that they weren't supposed to do. And so there's a bit of a trade off to just how smart do you want these things to be? And how do you then guarantee, how do you check that the thing can never ever do the thing you didn't want it to do? Some kinds of things you don't want it to do are obvious, like scribble on your files. That might be a definite thing where you could say, nope, we don't want it to do that. And we can essentially prove a theorem that it can't do that. But it can often be a lot more subtle than that. And so I think sort of the way to think about it is it's one of these trade offs. And it's a trade off deeply related to questions about AI ethics where the issue is how much do we want the AIs to be able to smartly do interesting things for us versus how much do we want to be able to guarantee that they only do the things we want them to do. And that's a trade off there. And I think when it comes to some of these questions about security of doing this or that thing, the more you want to have happen, and particularly have happen automatically, the more difficult it is to sort of secure all that stuff. But to some extent, the more you can define what it is that you really don't want to have happen, the easier it is to potentially prove that that can't happen. I should probably wrap up soon here, but maybe one more question if I can see something reasonably short. Okay, let's try this one. Peter asks, is LLM the wrong direction for AI? It's a good direction. It's not the only possible direction. I mean, it depends a little bit what one means by AI. If one means by AI sort of using computation to automate things, there are many directions for that. LLMs are really trying to essentially replicate human like sort of output. So specifically language, you know, given some number of billions of web pages that you can read, can you train a neural net to produce language that is sort of typical of what you would find on those web pages and then do the same kinds of things for images and, and videos and the connections between images and videos and sound and language and so on. Can you essentially make something that sort of replicates typical human activity in these areas and that given a, oh, you've got this piece of text so far, how would that typically continue if it were to be done by humans? There's a lot of use cases where that's a worthwhile thing to do. And what's been interesting with LLMs in recent times is what started as a pure kind of idea of can you continue the text from where it left off, or can you fill in a blank in the text with the most likely thing for that to be filled in? As that notion of just text completion turns out, when you do that well enough, there are many other use cases that don't really look much like text completion that can still be reached from that function of text completion. So although I don't think it's kind of a universal function, I don't think that's the only thing that sort of it's useful to have computers do by any means. There's lots of purely computational things that one wants computers to do that aren't kind of these human like activities. It's still, it's a broader thing than we had expected in terms of whether even for that function of write plausible text and so on. Is the specific architecture of LLMs as it is today, the thing that will survive n years in the future? I don't think it should, it might in fact, because the way that things develop technologically is some particular method gets invented and then, then everything is optimized engineering wise around the method that was invented. So this happened with floating point numbers, it happened to some extent with linear algebra. On computers you build certain algorithms and then, or certain methods, certain ways of representing data and so on. And then sort of the big engineering stack of all the special purpose hardware and all this kind of thing gets built to service that particular way of doing things. So even if there was a better way of doing things, it would be hard to reach from where you are because there's so much investment and so much capability that's been built up in the particular way of doing things that already existed that you never really change from that. I mean, that's the story of technology throughout history that that tends to happen, that you get a solution that might not be the theoretical optimum, but by the time you've had this whole stack of engineering detail Built on it, it becomes the practically optimal thing to do. But in terms of the specifics of LLMs, I think one of the things that certainly should happen is, well, there's several things. One is taking the knowledge component of LLMs and dropping it out of the linguistic component. Have the LLM call Wolfram language or wolframalpha to get actual specific knowledge to do actual specific computations. Don't try to cobble that together with pieces of neural net weights because it's a very, very inefficient way to do things that ultimately won't work. So that's one thing. We don't yet know how to do it really. We know how to get an LLM with difficulty to call tools to perform particular actions. We don't really know how to do this finer grained. Just don't worry about having knowledge in the LLM. Have that all in an external system have the LLM be a purely linguistic interface. That's one thing I think will, will change. Another thing is LLMs encode data in real numbers. They encode it in, let's say, 32 bit numbers, where sort of you are encoding somehow in some mysterious way the fact that, you know, I don't know that the typical LLMs of the world probably know a little bit about me. The fact that, you know, I was born in such and such a year, that year is probably encoded, maybe it'll make it up some of the time, but that year is encoded ultimately in some high order bit of some whole collection of different weights in the neural net. It's a very bizarre way to encode a number like that. But also the thing that's been done in current neural nets is let's say you have 100 billion artificial neurons, weights for the neural net. That's 100 billion numbers each 32 bits long. So there's a question. Do you need to do it that way or could you have a trillion numbers that are each just two bits? Could you essentially distribute, not just have all these different weights, but kind of shatter the weights into lots of different, separated, more discrete kinds of components? So let me give an analogy. If you're doing fluid dynamics, it seems like I often use fluid dynamics as an analogy. But if you're doing fluid dynamics, one thing you can do is you have this fluid and you imagine the fluid has a certain velocity at different positions. You imagine taking this velocity field with all these different velocities and taking little lumps of fluid and saying this lump of fluid has a velocity going that way. This lump has a velocity going that way and then solving some whole complicated set of equations relating to the relations between the velocities at different positions. Okay, that's plan A. Plan B, which is something I kind of invented in the 1980s, is imagine that you can idealize this fluid to something which is just a bunch of completely discrete sort of digital atoms where you just have a grid of cells. And at each cell you either have a sort of a molecule going in direction one or direction two. There's no real number that is, it's saying the velocity is 0.73482. The velocity is either 0 or 1, basically. Well, it turns out that you can, if you aggregate that up. And it's the same way that sort of things actually work in physics, and it's the same way that things work in our, in our physics budget models, that you're distributing the information about these molecules to lots of different idealized molecules, rather than collecting them together and saying there's this velocity field represented by real numbers. So you can imagine doing the same thing with neural nets instead of encoding the information in sort of centralized real numbers. And they're not that centralized because you might have 100 billion of them, but instead of packing things into real numbers, you're distributing the information across collections of bits and there's no numbers involved. Now, we don't yet know how to deal with that because the training of neural nets is right now very deeply connected to the way we do things with calculus and with small changes of numbers and kind of taking derivatives and things like this. So we don't know how to do it, to sort of distribute the information across things that aren't really numbers, they're just bits, so to speak. But that, my guess is if we could do that, then with current computer hardware, we would have much faster neural nets or neural net like things. Now, if special hardware is built, and it is being built that deals with neural nets as they are configured today, that might not be true. Another thing is that the way neural nets work, we have kind of the, you know, you train a neural net, you go to all this effort, you train it, then it's like, here's the trained neural net, now go and run it a billion times or whatever, and now have everybody just type things to their favorite LLM many times over. And that LLM is not incrementally learning that LLM at best is being kind of fine tuned. But even that isn't actually happening in practice. Then the question is, but for human brains, for Example, it seems to be the case that we're always learning. We don't go through, I mean, some people maybe take that point of view about their lives, that they go through the training period during their education and then they learn no more. That's kind of a shame. But realistically, we learn continuously from things that happen. We're not just like train first, do later, we're kind of train and do at the same time. And that's something that current neural nets, we don't have a way to do that that's surely a coming attraction. We just don't know how to do it. And you know, if you look at the history of these things, it's actually kind of shocking how, how old a lot of the ideas are that show up in LLMs. The engineering details are new and the fact that the engineering worked and that gives this huge sort of, kind of effect of then you can do much more than you're confident to do things. But you know, the core ideas of neural nets date from the 1940s. A lot of detailed things about reinforcement learning and so on. That's a kind of control theory story that dates from, she's not sure when, 1950s, 1960s, I think. And a lot of these different ideas about how to do things are actually surprisingly old, but they only kind of came together and came to fruition very recently. And so, you know, there's a question of do you need fundamentally new ideas? Maybe there are other ideas and there certainly have been other ideas about constructing things like neural nets that have existed over the years. And okay, the field of neural nets for decades was one of these fields where nobody knew what was going to happen with it. It was just like it was out there and some people were working on it. A few things were useful applications, but it wasn't really a great shining, sparkly kind of thing. And then suddenly it started to work in 2012 and then more recently with LLMs and so on. But there are other kinds of things that have been used for machine learning, whether it's support vector machines or self organizing maps or all these kinds of things. These are not neural nets. But those techniques got a certain distance, but they never had their kind of moment of breakthrough that neural nets had in 2012 and in 2022. So it, it's not self evident that those things can't have a breakthrough moment and that there can't be very different architectures for doing machine learning that will have breakthroughs. It's really a question of why neural nets broke through. And it Wasn't one of these other methods? I don't think we know yet. And could those other methods break through and give us things we didn't expect, like large language models and their success, which we didn't expect that in terms of the kind of overall trajectory of neural nets. And maybe there's some other kind of task that will be done spectacularly by one of these other machine learning methods, if only it could have its breakthrough moment. And as is usual in the history of science and technology, once something works, everybody rushes to the thing that works. And usually that means even if there was something else which could have been the runner up the that maybe the later thing that works, it tends to get sort of starved of oxygen because everybody's rushed off to the thing that's starting to work. So on the other hand, if you're working on the thing that's working well, then you're probably going to make stuff that works fairly quickly. If you're working on the thing that hasn't yet worked, it might be 20 years, it might be 100 years before that starts to work, or it might never work. It's kind of much more of a risk. All right, I think I need to go and to my day job here, but thank you for a bunch of interesting questions, as usual. And I see a bunch more that are going to be saved up for another time. So thanks very much and bye for now.
More from Guy

Cheryl Strauss Einhorn | The Human Edge: Smarter Decisions in the Age of AI | Talks at Google

Rachel Glennerster | Innovation and the Center for Global Development | Talks at Google

Rebecca Winthrop | Rethinking the Purpose of Education in the Age of AI | Talks at Google

Dr. Robert Wachter | A Giant Leap: How AI Is Transforming Healthcare... | Talks at Google






