AI Engineer World's Fair 2024
Second Order Effects
About this talk
Midjourney's Cheng Lou explores how AI's most consequential effects can emerge indirectly from changes in computing, learning, creativity, and communication. Using GPU shader art, chess and Go, Conway's Game of Life, speculative musical instruments, Anthropic's sparse-autoencoder research, augmented reality, and Smalltalk-style message passing, he argues that AI can expand human skills and information bandwidth while reshaping user interfaces beyond simple automation.
Chapters
- 0:00GPU shader demo and unintended technological consequences
- 0:59Chess, Go, cellular automata, and emergent behavior
- 3:05Human learning, AI-created instruments, and lifestyle interfaces
- 6:30Sparse autoencoders, personalized language, and augmented reality
- 8:40Device interaction and Smalltalk message passing
- 16:30Generative interfaces and inventing the future
Talk transcript
- 0:00
[upbeat music] Um, this is a small visualization of our Lord and Savior matrix multiplication.
- 0:18
I was asked to make a cool demo, so here it is. Um, this is a single fragment shader drawn fully on the GPU. There's no imported asset, no triangle meshes, just purely a few hundred lines of GS, uh, SL.
- 0:30
Um, shader art is a niche, uh, digital art form, and I highly, uh, recommend you to, to check it out. Um, but the GPU wasn't supposed to be abused this way.
- 0:39
But then again, the entire domain of machine learning is enjoying a renaissance thanks to it. So how did that happen? Um, today, I would like to explore a little bit of these kinda second-order effect and why things happen with unintended consequences, and how you can more reliably predict the future.
- 0:59
Okay. So Deep Blue beating Kas- uh, Garry Kasparov in chess, 1996, and 2015, AlphaGo beats the famous Lee Sedol in Go. If you were a pessimist, as many were back then, you'd say that this is over for chess and Go.
- 1:15
You know, what's even the point of playing those anymore, right? If human is not at the top. But if you check what actually happened subsequently, this is a graph of professional Go players', uh, decision quality over time.
- 1:27
You know, guess where AlphaGo happened. And on a completely unrelated topic, this is Conway's Game of Life. It has black and white cells and a few simple rules to how the cell actually interact.
- 1:39
And at first glance, it's no big deal, but as you start building macro patterns with those, you get cool things like these.
- 1:47
And here's Conway's Game of Life implemented in Conway's Game of Life, Turing complete. Uh, these are examples of emergent behaviors produced by an order of magnitude, uh, quantity and quality or performance increase.
- 2:00
The domain of machine learning is pretty familiar with this phenomenon. And generally speaking, emergent behavior is mostly NP-complete, so you can't compute it easily. So to create these patterns, people have to zoom out a level, um, at a h- and consider high-level macro dynamics, a new set of rules, plus various heuristics and errors.
- 2:20
Uh, those folks work more like biologists than mathematicians or physicists. And what I'm trying to say is, we cannot easily predict the emergent behavior of even a simple system that scale beyond our low-level intuitions.
- 2:33
So in this talk, I would like to provide a few personal thought processes I use to predict some interesting second-order effect of AI, AKA the ripple effect caused by more direct consequences of this era of AI.
- 2:45
And as a famous sci-fi author once said, "Good sci-fi predicts cars. Great sci-fi predicts traffic." Right? So the first I would like to use is, uh, broadly called who is learning?
- 2:56
Are you learning or is the machine learning, and do you care? Uh, I'm mostly talking about what people want. So for example, chess didn't die. It only got better, right?
- 3:05
Because it turns out that the crowd dynamic of it is that when you have free chess teachers anytime you want, instead of having to seek out that one dude in a village that teaches chess, well, everyone ends up knowing chess.
- 3:17
And when that crowd knowledge becomes distributed widely enough, you ha- get to have an audience to sustain more professional playing. Because ultimately, it is you who want to do the learning and the audience.
- 3:27
This i- disregarding whether the machine learns better than you or not. You go the, the, to the equivalent of mental gym, because no matter how much the machine goes to the gym, you won't get better unless you do.
- 3:39
The same is true for drawing. Imagine a novice learning to draw. A blank canvas is actually a very daunting challenge, right? But very soon, you'll be ab- you'll be able to have this equivalent of what we call a stroke autocompletions.
- 3:51
So imagine a conceptual slider like this one, where on one side, nothing happens, right? On the other side, the full drawing is made for you. What's interesting is that now we can have a learned behavior where we can slide that into the middle.
- 4:05
So when you prompt the system, and tha- that you wanna draw a chair, the system goes, "Oh, okay, you're curving this way, so I guess you want a Victorian era chair."
- 4:14
Right? Or when you use a shade of blue, the system goes, "Oh, I guess you wanna draw the reflection of the sea on her face, but there's sand, actually, so i- it should a little be a, be a little bit more green than this."
- 4:25
So if you try to learn coloring, you know how long of a feedback loop this actually is to master this. And now you can dial that up and down per your need, uh, with immediate feedback.
- 4:35
And ironically, over time, your slides actually go way more to the left, all the way to the end, where you s- basically stop using AI because you've internalized everything, and the skill came back to you.
- 4:47
Similarly, for music, yes, we can now generate full songs in one shot for utilitarian ends, but AI could also help in a different way for you to learn. And what I'm interested i- in is, uh, in music, most of the time you're using direct manipulation, in UI speak, uh, of the instrument, right?
- 5:03
Uh, the impedance mismatch between pressing a piano key and hearing the expected sound is almost none. But that lack of indirection is also a trade-off. So this is a theremin, and already we're seeing a little bit more of a indirect manipulation.
- 5:17
So I was wondering, what if you use your fingers to create and manipulate a music spectrogram, right? Obviously, your fingers aren't fine enough, but if, if the AI has enough world model knowledge to super sample it for you, so to speak, maybe we'll end up with a new form of instrument, uh, when you gesture more like a
- 5:33
puppeteer indirectly and create new kinds of music that analog music manipulation couldn't achieve.
- 5:40
So, uh, um, here's another reason I'm giving these examples. Uh, my domain is, uh, user interface mostly nowadays. Uh, if you think about who's learning, you might end up with a conclusion that direct manipulation of user interfaces is actually about learning for yourself, akin to going to the gym for yourself or learning to draw for yourself, learning
- 5:57
abstract instrument for yourself. So, AKA, once the classic user interface, um, um, of tapping this and tapping that gets increasingly automated away, once the utilitarian ends have been met, all that's left is the kind of l- lifestyle user interfaces where you use them not because you're more efficient than the machine, but because you are the one who's
- 6:18
trying to learn them for whichever self-fulfillment reason. Um, and so in that regard, we might end up with more artisanal, quirky niche interfaces for luxury lifestyle or other purposes as a second-order effect.
- 6:30
And the second category I wanna talk about is the, um, is, um, the idea of widening the information bandwidth, which is a trick I use quite often. So the other day, I was looking at some new research result from Anthropic regarding sparse autoencoders.
- 6:43
Uh, but tangentially, there was this simple visualization of a cluster, and just purely from a visual perspective, it kinda reminded me of, uh, the movie Arrival by Denis Villeneuve, where human-- humanity learns an alien language that allows them to unlock their full potential.
- 6:58
And I thought, "Why not take it further, right? And make it one language per person, right? Widen the whole information bandwidth." So up until this point, human language is this somewhat standardized communication interface, and it's a very, very narrow bandwidth one, a very lossy one.
- 7:14
We learn relatively few languages, mostly standardized, and stuff our entire f- uh, fuzzy ether of information into hoping that most of it, i- isn't lost in translation. Now, that AI basically solved translation, so why not go a step ahead and translate one English to another English?
- 7:34
Say I'm arguing with someone, and I say, "I feel blue," and this is coming from my perspective, really. So it's unclear that this intent arrives to the other person intact.
- 7:43
Maybe I, for that particular listener, I should have translated, "I feel blue," into, uh, "I'm feeling purple," right? And what if I can just show it? What if my ca- chat speech bubble is much more dynamic and much more nuanced because the AI understands the other person's aesthetic preferences, right?
- 7:58
What if things are fast enough that every sentence can be personalized into a dynamic art piece in 4D or something? Way more nuanced information dense, and I can just hand it to the person in AR, right?
- 8:10
Much denser than static emojis and a few Bézier curves, right? And what if you're commuting AR, and these, um, um, gets machine translated into, like, some kind of cloud around you for the receiver, uh, just-in-time, uh, individual specific language translation mechanism, free of the compromise of a one-size-fit-all, uh, low bandwidth text language, right?
- 8:32
Maybe verbal conflict resolution end up taking in the order of seconds instead of minutes or hours in fifty years.
- 8:40
So, uh, some more examples. Uh, here's one for the iPhone. The, the, uh, the hardware us- user interface, and the next one for the iPad. Uh, for canvas apps, the act of pressing the pencil against the tablet usually means drawing a line, but it is overloaded to be selection, moving, resizing, et cetera, right?
- 9:00
But the reality, uh, is of a much higher bandwidth. So for example, if someone multi-taps on a screen with a pencil, maybe right before they said, uh, "Why is this part red?"
- 9:11
Right? Uh, "Can we, can we change it?" Or maybe they drew a stroke, they said, "Yeah, this probably goes there instead," before that, right? And didn't feel like, you know, uh, hunting for the lasso tool, selecting it, coming back and, uh, drawing a circle, long tap to hold the object, move it, double-tap pencil back to the previous
- 9:29
pen tool, and you do all these kinda acrobatic because you wanna move an item, right? So if you wanna use a traditional design to categorize and overload a single stroke gesture, then you'll inevitably end up with more confusing behaviors with an implicit rule set.
- 9:44
So traditionally, if your current stroke is conditioned on the current selected tool state, the object under your pencil, and maybe the action one second before, uh, if we need to undo the stroke in fa-- uh, in favor of interpreting as a tap.
- 10:00
Uh, this is very messy, right? It's, uh, it's very fine design and craftsmanship. But this-- in this new era, uh, that line shouldn't be only conditioned on the beginning of its Bézier path, right?
- 10:11
It should be conditioned on the entire world. So the tap and the stroke behavior should be as learned, as in machine learned, as possible. And some people's short press, you know, you know, sometimes they're just slightly too long and trigger the wrong gesture and all sort of bad action that a human observer would have corrected within a
- 10:28
second. So why can't machine learning just do it, right? Locally, too. Um,
- 10:35
so, um, the last, uh, thought process I like to, uh, uh, use often, which is extrapolating, uh, a certain quantity or quality to the extreme, uh, which causes all, all sorts of fun emergent behavior you can try to guess, like, uh, previously mentioned, uh, Conway's Game of Life, for example.
- 10:52
And, and, and then I can reason from first principle there and see what kind of, uh, uh, new things we can get from this. Um, so, uh, if anyone's doing-- into programming languages, this is Smalltalk, uh, programming language environment, uh, from the '70s that's a grandfather of the original object-oriented, uh, programming, which inspire Objective-C and other languages.
- 11:14
Uh, one of its main characteristic is message passing, as in sending commands, maybe even to another remote, uh, Smalltalk object on a different computer somewhere else through LAN or later on internet.
- 11:26
Um, I'm gonna spare you of the detail, but, uh, Alan Kay, one of its inve-- uh, inventors, said the, the inspiration is, um- Basically, uh, well, it's inspired by cells, right?
- 11:38
And that each object is basically a full computer you can examine and poke into, and then you can, you can, like, do things with it. And, and recursively it's, uh, it might be an, uh, one-to-one mapping to the computer.
- 11:49
It might be, be that one computer has many object, et cetera. And also, he did say, uh, somewhat more obscurely that sending the message, sending a command to another computer, that's easy, but finding the receiver, that's hard.
- 12:04
So, um, each Smalltalk object can theoretically smartly go to the internet, do stuff, come back with an answer, like a little self-directed intelligent agent, um, if this sounds familiar to this audience.
- 12:19
Uh, but Smalltalk had a big problem, which is that, uh, when an agent is as smart as it can be, uh, it's also, um, as resource-intensive arbitrarily as it can be.
- 12:30
So when each agent takes up, uh, enough resource, uh, you only get to have a single or double digit of them, right? By the law of, uh, numbers. So you missed out on an entire category of emergent behavior because you tried to be too smart at a lower level.
- 12:45
Uh, uh, in this case, an emergent behavior from quantity and collaboration.
- 12:50
So, uh, on the other hand, look at this, uh, multilayer perceptron. Uh, that's a graph. So interestingly, it kinda solved the discovery of the receiver problem because you can make it fully connected or whatever.
- 13:02
Uh, and because the weights are learned, you'll propagate and, and, you know, y- some connections are more important than others, right? Uh, the biggest difference between this and a swarm of agents is that, uh, the node are as dumb as they get.
- 13:15
And when they're dumb and simple, you could have millions of them, and when that happens, you could leverage the emergent behavior of the aggregate and create a new media completely.
- 13:26
So there are quite a few, um, agent-focused talk in the domain of, uh, ML, and I like to take this opportunity to, um, uh, use this method to offer some interesting food for thought.
- 13:37
So for example, the more agents you have, the more you zoom out to care more about the aggregate rather than the lower level agents, right? Just like people and civilization.
- 13:47
And the more you zoom out, the less you actually care about each individual agent. So in, in an alternative reality, not in this one, uh, we invented a couple of agents who got sent to scour the internet, called Wikipedia, and came back with some snippets of information.
- 14:06
However, thankfully, in our reality, we sent billions of dumber nodes to read Wikipedia and aggregated all of them together to sit in a phone coordinated by a single top-level, smart top-level process.
- 14:22
So here's my last example. Um, this was actually freshly picked. Uh, this is the Apple TV macOS UI. Pretty decent looking. Um, I'd like you to pay attention to this part, uh, the, uh, circled red part, which is a more button here.
- 14:36
When you click on it to see the full description, what do you expect? Well, uh, where does the description expand to, right? Turns out that you get a very atypical Apple UI when you click on it.
- 14:46
You get this, which is a- literally a big UI text view, right? Uh, very un-Apple. So it, it looks like an unfinished notepad. In fact, you can kinda select it and do things with it, which is, uh, weird.
- 14:58
Um, the thing is, this Apple TV Mac app is actually a Catalyst app, which, uh, for those who don't do iOS development, it, it means that it's a direct port of their iOS app here.
- 15:10
Um, on iOS, if you tap the description and get, uh, uh, such a new view, then things don't look too out of place. In fact, it's rather idiomatic. Now, you might say that the problem here is that, that, uh, lack of UI, uh, uh, design and lack of care, lacks of craftsmanship, but for the sake of, uh,
- 15:27
of making a point, uh, for this talk, I would like to provide a perspective that this might actually be a lack of literally needing more UI, a lack of more UI.
- 15:38
So what would the world look like if we extrapolated that qua, uh, quantity, if we raise the order of magnitude and have way more UI, two order of magnitude more, right?
- 15:47
What does that even mean? So let's start with a simple twelve-column grid, right? We first list out all the discrete pieces of information we want to potentially show across this entire view or maybe across the entire app, right?
- 16:00
Now that we have AI nowadays, at design time, not at run time, at design time, we could generate thousands of these permutation of layout for a show's UI screens, right?
- 16:11
We're not shipping these, just using U- AI to generate a bunch of potential candidates. So previously, this task was unachievable through traditional means unless you're in a particular niche, um, since we didn't have a way to pay attention to the semantic relationship between, say, a show's title and the box's, uh, size and position in relation to other
- 16:30
items, right? You could still generate plain boxes through traditional heuristic and generative algorithm, but you'd have a hard time tagging each box with the right piece of information, for example.
- 16:41
So after our first pass, we can use a scoring mechanism, either traditional or, um, s- uh, or some fancy AI-driven scoring heuristic aesthetic s- things to, uh, eliminate undesirable layout at data generation time.
- 16:55
And of course, you'd involve the designer here too. Um, this is done at design time offline, not at run time. So we can use an algorithm that's as slow as we need, and the designer can take as much time or as he or she needs and patiently curate the subset, which is, uh, quite large.
- 17:12
S- um, so the key here is that you've generated not ten, right? You generate a thousand of these through, uh, through smarter generative and semantic filtering techniques. So we're raising the order of magnitude, right?
- 17:27
You're not, you're not a designer making a single-digit number of design, uh, moving boxes yourself in Figma and waiting for your boss to go, "Uh, can we move this box somewhere else instead?
- 17:36
And, uh, and just one more ad hoc design, please. I promise. It's just one more. It'll solve everything," right? Um, and of course, you want to involve the designer in this particular stage too.
- 17:46
Um, um, the... Yeah. So, um, maybe at, at some point you just, uh, you also decide to, like, throw in a little bit of diffusion, again, of, uh, rough draft time to using some ControlNet or whatever to generate some rough website to make the boss, uh, give boss more of an immersive feeling, right?
- 18:04
To say, like, "This, this layout can work. It's not just, like, boxes," right?
- 18:11
And at app runtime now, um, which is the part I'm personally interested in, um, right now, uh, LLM generations, they generate at writing time, and then you j- they generate, like, two, right?
- 18:23
Or three. And then you pick one, and then maybe you ship that, and then it's a traditional web app. But the thing is, if your bottleneck is the web part, even an AGI cannot help you make your JavaScript faster than C++, right?
- 18:36
So at ru- we have to swap out some of these items with an actual, uh, neural net if we have to, i- if we want to advance and use a web platform, for example, or any other platform for that matter.
- 18:47
So at runtime, you have, for example, a quick decision tree to choose the right layout. So again, for modern web development, this roughly has this one single heuristic for you to select the right design, which is called media queries, which all it does is, depending on the width of your window, you might show or hide some items.
- 19:08
But this entire space could actually use some help from learned algorithms. So, for example, what if the user's onboarding? Why is that a different concept when you hide show, uh, or show some different boxes?
- 19:22
It's just another set of boxes, right? What if the user is a superuser? Maybe you progressively show them a different set of layouts, right? Maybe they sh- require different screens.
- 19:32
And, uh, what if the user is in a different country, right? Uh, different age? Uh, search query? So to be clear, um, big companies like Uber and Facebook already do this on a daily basis, right?
- 19:43
When you, you use Uber, the app, in India or China, uh, it looks drastically different, right? But it's currently, um, thousands of engineers of effort, right? For big companies, right?
- 19:56
And they create an entire moat out of the fact that they have a few more design UIs, plus a business logic, to be fair. And, uh, and it's very brittle, right?
- 20:05
You cannot see everything, and the algorithm is as, uh, is basically less controllable than even a d- simple decision tree, a classifier. So, um, if a user is fuzzy searching, right?
- 20:16
This might be a better example. Um, you know, "Hey, what movie did, did, uh, Denis Villeneuve make?" Right? This goes into a decision tree and shows a curated layout.
- 20:26
Um, if the user is instead saying, "Hey, what movie did Denis Villeneuve make, and with hom- whom?" Then you show this curated layout instead. So maybe you're asking a chatbot, in which case the layout's even more contextual, right?
- 20:39
If you do a napkin calculation of the generated and curated, uh, uh, number of, uh, UI you ever need, uh, they might actually be in the thousand, not tens, right?
- 20:49
Fortunately, a thousand can still be, uh, curated thanks to AI. So essentially, it's not an au- autoregressive problem. It's not a diffusion problem. It's a simple classification problem, 'cause we have discrete categories here.
- 21:00
So here you go, dynamic UIs. So let me summarize this for a little bit. Uh, second-order effect are pretty, uh, unpredictable, and there are many ways to, uh, tame thinking about them.
- 21:12
If you think about these points, among others, then I think you'll be decently prepared when the time comes. And of course, you know, read from history and, uh, you know, you gotta do things.
- 21:20
Uh, don't forget that the best way to predict the future is to invent it. Thank you. [audience applauding] [upbeat music]