Perplexity wants to be more than just an answer engine. On Wednesday, it launched Personal Computer, a new AI agent tool that can turn a spare Mac into a locally run AI system, pitching it as "a digital proxy for you."
Personal Computer will run 24/7 on a dedicated device on your local network, have full access to your files and apps, and be controllable from anywhere and on any device, Perplexity said. That deeper access makes it a more personalized version of a similar product Perplexity launched last month, Perplexity Computer, a cluster of agents it described as a "general-purpose digital worker."
Post-training gets your model to behave the way you want it to. As AMD VP of AI Sharon Zhou explains to Ben on this episode, the frontier labs are convinced, but the average developer is still figuring out how post-training works under the hood and why they should care. In their focused discussion, Sharon and Ben get into the process and trade-offs, techniques like supervised fine-tuning, reinforcement learning, in-context learning, and RAG, and why we still need post-training in the age of agents. (It’s how to get the agent to actually work.) Check it out.
About the Generative AI in the Real World podcast: In 2023, ChatGPT put AI on everyone’s agenda. In 2026, the challenge will be turning those agendas into reality. In Generative AI in the Real World, Ben Lorica interviews leaders who are building with AI. Learn from their experience to help put AI to work in your enterprise.
This transcript was created with the help of AI and has been lightly edited for clarity.
00.00 Today we have a VP of AI at AMD and old friend, Sharon Zhou. And we’re going to talk about post-training mainly. But obviously we’ll cover other topics of interest in AI. So Sharon, welcome to the podcast.
00.19 All right. So post-training. . . For our listeners, let’s start at the very basics here. Give us your one- to four-sentence definition of what post-training is even at a high level?
00.35 Yeah, at a high level, post-training is a type of training of a language model that gets it to behave in the way that you want it to. For example, getting the model to chat, like the chat in ChatGPT was done by post-training.
So basically teaching the model to not just have a huge amount of knowledge but actually be able to have a dialogue with you, for it to use tools, hit APIs, use reasoning and think through things step-by-step before giving an answer—a more accurate answer, hopefully. So post-training really makes the models usable. And not just a piece of raw intelligence, but more, I would say, usable intelligence and practical intelligence.
01.14 So we’re two or three years into this generative AI era. Do you think at this point, Sharon, you still need to convince people that they should do post-training, or that’s done; they’re already convinced?
01.31 Oh, they’re already convinced because I think the biggest shift in generative AI was caused by post-training ChatGPT. The reason why ChatGPT was amazing was actually not because of pretraining or getting all that information into ChatGPT. It was about making it usable so that you could actually chat with it, right?
So the frontier labs are doing a ton of post-training. Now, in terms of convincing, I would say that for the frontier labs, the new labs, they don’t need any convincing for post-training. But I think for the average developer, there is, you know, something to think about on post-training. There are trade-offs, right? So I think it’s really important to learn about the process because then you can actually understand where the future is going with these frontier models.
02.15 But I think there is a question of how much you should do on your own, versus, us[ing] the existing tools that are out there.
02.23 So by convincing, I mean not the frontier labs or even the tech-forward companies but your mom and pop. . . Not mom and pop. . . I guess your regular enterprise, right?
At this point, I’m assuming they already know that the models are great, but they may not be quite usable off the shelf for their very specific enterprise application or workflow. So is that really what’s driving the interest right now—that people are actually trying to use these models off the shelf, and they can’t make them work off the shelf?
03.04 Well, I was hoping to be able to talk about my neighborhood pizza store post-training. But I think, actually, for your average enterprise, my recommendation is less so trying to do a lot of the post-training on your own—because there’s a lot of infrastructure work to do at scale to run on a ton of GPUs, for example, in a very stable way, and to be able to iterate very effectively.
I think it’s important to learn about this process, however, because I think there are a lot of ways to influence post-training so that your end objective can happen in these frontier models or inside of an open model, for example, to work with people who have that infrastructure set up. So some examples could include: You could design your own RL environment, and what that is is a little sandbox environment for the model to go learn a new type of skill—for example, learning to code. This is how the model learns to code or learns math, for example. And it’s a little environment that you’re able to set up and design. And then you can give that to the different model providers or, for example, APIs can help you with post-training these models. And I think that’s really valuable because that gets the capabilities into the model that you want, that you care about at the end of the day.
04.19 So a few years ago, there was this general excitement about supervised fine-tuning. And then suddenly there were all these services that made it dead simple. All you had to do is come up with labeled examples. Granted, that that can get tedious, right? But once you do that, you upload your labeled examples, go out to lunch, come back, you have an endpoint that’s fine-trained, fine-tuned. So what happened to that? Is that something that people ended up continuing down that path, or are they abandoning it, or are they still using it but with other things?
05.00 Yeah. So I think it’s a bit split. Some people have found that doing in-context learning—essentially putting a lot of information into the prompt context, into the prompt examples, into the prompt—has been fairly effective for their use case. And others have found that that’s not enough, and that actually, doing supervised fine-tuning on the model can get you better results, and you can do so on a smaller model that you can make private and make very low latency. And also like effectively free if you have it on your own hardware, right?
05.30 So I think those are kind of the trade-offs that people are thinking through. It’s obviously very much easier essentially to do in-context learning. And it could actually be more cost-effective if you’re only hitting that API a few times. Your context is quite small.
And the host and models like, for example, like Haiku, a very small model, are quite cheap and low latency already. So I think there’s basically that trade-off. And with all of machine learning, with all of AI, this is something that you have to test empirically.
06.03 So I would say the biggest thing is people are testing these things empirically, the differences between them and those trade-offs. And I’ve seen a bit of a split, and I really think it comes down to expertise. So the more you know how to actually tune the models, the more success you’ll get out of it immediately with a very small timeline. And you’ll understand how long something will take versus if you don’t have that experience, you will struggle and you might not be able to get to the right result in the right time frame, to make sense from an ROI perspective.
06.35 So where does retrieval-augmented generation fall into the spectrum of the tools in the toolbox?
06.44 Yeah. I think RAG is a way to actually prompt the model and use search basically to search through a bunch of documents and selectively add things into the context, whether it be the context is too small, so like, it can only handle a certain amount of information, or you don’t want to distract the model with a bunch of irrelevant information, only the relevant information from retrieval.
I think retrieval is a very powerful search tool. And I think it’s important to know that while you use it at inference time quite a bit, this is something you teach the model to use better. It’s a tool that the model needs to learn how to use, and it can be taught in post-training for the model to actually do retrieval, do RAG, extremely effectively, in different types of RAG as well.
So I think knowing that is actually fairly important. For example, in the RL environments that I create, and the fine-tuning kind of data that I create, I include RAG examples because I want the model to be able to learn that and be able to use RAG effectively.
07.46 So besides supervised fine-tuning, the other class of techniques, broadly speaking, falls under reinforcement learning for post-training. But the impression I get—and I’m a big RL fan, and I’m a cheerleader of RL—but it seems always just around the corner, beyond the grasp of regular enterprise. It seems like a class of tools that the labs, the neo labs and the AI labs, can do well, but it just seems like the tooling is not there to make it, you know. . . Like I describe supervised fine-tuning as largely solved if you have a service. There’s no equivalent thing for RL, right?
08.35 That’s right. And I think SFT (supervised fine-tuning) came first, so then it has been allowed to mature over the years. And so right now RL is kind of seeing that moment as well. It was a very exciting year last year, when we used a bunch of RL at test-time compute, teaching a model to reason, and that was really exciting with RL. And so I think that’s ramped up more, but we don’t have as many services today that are able to help with that. I think it’s only a matter of time, though.
09.04 So you said earlier, it’s important for enterprises to know that these techniques exist, that there’s companies who can help you with these techniques, but it might be too much of a lift to try to do it yourself.
09.20 I think maybe fully end to end, it is challenging as an enterprise. I think there are individual developers who are able to do this and actually get a lot of value from it. For example, for vision language models or for models that generate images, people are doing a lot of bits and pieces of fine-tuning, and getting very custom results that they need from these models.
So I think it depends on who you are and what you’re surrounded by. The Tinker API from Thinking Machines is really interesting to me because that enables another set of people to be able to access it. I’m not quite sure it’s quite at the enterprise level, but I know researchers at universities now have access to distributed compute, like doing post-training on distributed compute, and pretty big clusters—which is quite challenging to do for them. And so that makes it actually possible for at least that segment of the market and that user base to actually get started.
10.21 Yeah. So for our listeners who are familiar with just plain inference, the OpenAI API has become kind of the de facto API for inference. And then the idea is this Tinker API might play that role for fine-tuning inputs, correct? It’s not kind of the whole project that’s there.
10.43 Correct. Yeah, that’s their intention. And to do it in a heavy like distributed way.
10.49 So then, if I’m CTO at an enterprise and I have an AI team and, you know, we’re not up to speed on post-training, what are the steps to do that? Do we bring in consultants and they explain to us, here’s your options and these are the vendors, or. . .? What’s the right playbook?
11.15 Well, the strategy I would employ is, given these models change their capabilities constantly, I would obviously have teams testing the boundaries of the latest iteration of model at inference. And then from a post-training perspective, I would also be testing that. I would have a small, hopefully elite team that is looking into what I can do with these models, especially the open ones. And when I post-train, what actually comes from that. And I would think about my use cases and the desired things I would want to see from the model given my understanding of post-training.
11.48 So hopefully you learn about post-training through this book with O’Reilly. But you’re also able to now grasp like, What are the types of capabilities I can add into the model? And as a result, what kinds of things can I then add into the ecosystem such that they get incorporated into the next generation of model as well?
For example, I was at an event recently and someone said, oh, you know, these models are so scary. When you threaten the model, you can get better results. So is that even ethical? You know, the model gets scared and gets you a better result. And I said, actually, you can post-train that out of the model. Where when you threaten it, it actually doesn’t give you a better result. That’s not actually like a valid model behavior. You can change that behavior of the model. So understanding these tools can lend that perspective of, oh, I can change this behavior because I can change what output given this input. Like how the model reacts to this type of input. And I know how.
I also know the tools right. This type of data. So maybe I should be releasing this type of data more. I should be releasing these types of tutorials more that actually helps the model learn at different levels of difficulty. And I should be releasing these types of files, these types of tools, these types of MCPs and skills such that the model actually does pick that up.
And that will be across all different types of models, whether that be a frontier lab looking at your data or your internal team that is doing some post-training with that information.
13.20 Let’s say I’m one of these enterprises, and we already have some basic applications that use RAG, and you know, I hear this podcast and say, OK, let’s try this, try to go down the path of post-training. So we already have some familiarity with how to do eval for RAG or some other basic AI application. How does my eval pipeline change in light of post-training? Do I have to change anything there?
14.03 Yes and no. I think you can expand on what you have right now. And I think your existing eval—hopefully it’s a good eval. There’s also best practices around evals. But essentially let’s say it’s just a list of possible inputs and outputs, a way to grade those outputs, for the model. And it covers a decent distribution over the tasks you care about. Then, yes, you can extend that to post-training.
For fine-tuning, it’s a pretty straightforward kind of extension. You do need to think about essentially the distribution of what you’re evaluating such that you can trust that the model’s truly better at your tasks. And then for RL, you would think about, How do I effectively grade this at every step of the way, and be able to understand has the model done well or not and be able to catch where the model is, for example, reward hacking when it’s cheating, so to speak?
So I think you can take what you have right now. And that’s kind of the beauty of it. You can take what you have and then you can expand it for post-training.
15.10 So, Sharon, should people think of something like supervised fine-tuning as something you do for something very narrow? In other words, as you know, one of the challenges with supervised fine-tuning is that first of all, you have to come up with the dataset, and let’s say you can do that, then you do the supervised fine-tuning, and it works, but it only works for kind of that data distribution somehow. And so in other words, you shouldn’t expect miracles, right?
15.44 Yes, actually something I do recommend is thinking through what you want to do that supervised fine-tuning on. And really, I think it should be behavior adaptation. So for example, in pretraining, that’s when the model is learning from a huge amount of data, for example, from the internet, curated. And it’s just gaining raw intelligence across a lot of different tasks and a lot of different domains. And it’s just gaining that information, predicting that next token. But it doesn’t really have any of those behavioral elements to it.
Now, let’s say it’s only learned about version one of some library. If in fine-tuning, so if in post-training, you now give it examples of chatting with the model, then it’s able to be able to chat over version one and version zero. (Let’s say there’s a version zero.) And you only gave it examples of chatting with version one, but it’s able to generalize that version zero. Great. That’s exactly what you want. That’s a behavior change that you’re making in the model. But we’ve also seen issues where, if you for example now give the model in fine-tuning examples of “oh, here’s something with version two,” but the base model, the pretrained model did not ever see anything about version two, it will learn this behavior of making things up. And so that will generalize as well. And that could actually hurt the model.
So something that I really encourage people to think about is where to put each step of information. And it’s possible that certain amounts of information are best done as more of a pretraining step. So I’ve seen people take a pretrained model, do some continued pretraining—maybe you call it midtraining, I’m not sure. But like something there—and then you do that fine-tuning step of behavior modification on top.
17.36 In your previous startup, you folks talked about something. . . I forget. I’m trying to remember. Something called memory tuning, is that right?
17.48 Yeah, yeah. Is it fair to cast that as a form of post-training?
17.54 Yes, that is absolutely a form of post-training. We were doing it in the adapter space.
17.59 Yeah. And you should describe for our audience what that is.
18.02 Okay. Yeah. So we invented something called mixture of memory experts. And essentially, you can hear like the words, except for the word “memory,” it’s a mixture of experts. So it’s a type of MOE. MOEs are typically done in the base layer of a model. And what it basically means is like there are a bunch of different experts, and for particular requests, for a particular input prompt, it routes to only one of those experts or only a couple of those experts instead of the whole model.
And this makes latency really low and makes it really efficient. And the base models are often MOEs today for the frontier models. But what we were doing was thinking about, well, what if we froze your base model, your base pretrained model, and for post-training, we could do an MOE on top? And specifically, we could do an MOE on top through the adapters. So through your LoRA adapters. And so instead of just one LoRA adopter, you could have a mixture of these LoRA adopters. And they would effectively be able to learn multiple different tasks on top of your base model such that you would be able to keep your base model completely frozen and be able to, automatically in a learned way, switch between these adapters.
19.12 So the user experience or developer experience is similar to supervised fine-tuning: I will need labeled datasets for this one, another set of labeled datasets for this one, and so on.
19.29 So actually, yeah. Similar to supervised fine-tuning, you would just have. . . Well, you could put it into one giant dataset, and it would learn how to figure out which adapters to allocate it to. So let’s say you had 256 adapters or 1024 adapters. It would learn what the optimal routing is.
19.47 And then you folks tried to explain this in the context of neural plasticity, as I recall.
19.58 The idea being that, because of this approach, your model can be much more dynamic.
20.08 Yeah. I do think there’s a difference between inference, so just going forwards in the model, versus being able to go backwards in some way, whether that be through the entire model or through adapters, but in some way being able to learn something through backprop.
So I do think there is a pretty fundamental difference between those two types of ways to engage with a model. And arguably at inference time, your weights are frozen, so the model’s “brain” is completely frozen, right? And so you can’t really heavily adapt anything towards a different objective. It’s frozen. So being able to continually modify what the model’s objective and thinking and steering and behavior is, I think it’s valuable now.
20.54 I think there are more approaches to this today, but from a user experience perspective, some people have found it easier to just load a lot of things into the context. And I think there’s. . . I’ve actually recently had this debate with a few people around whether in-context learning truly is somewhere in between just frozen inference forwards and backprop. Obviously it’s not doing backprop directly, but there are ways to mimic certain things. But maybe that is what we’re doing as a human throughout the day. And then I will backprop at night when I’m sleeping.
So I think people are playing with these ideas and trying to understand what’s going on with the model. I don’t think it’s definitive yet. But we do see some properties, when just playing with the input prompt. But there I think, needless to say, there are 100% fundamental differences when you are able to backprop into the weights.
21.49 So maybe for our listeners, briefly define in-context learning.
21.55 Oh, yeah. Sorry. So in-context learning is a deceptive term because the word “learning” doesn’t actually. . . Backprop doesn’t happen. All it is is actually putting examples into the prompt of the model and you just run inference. But given that prompt, the model seems to learn from those examples and be able to be nudged by those examples to a different answer.
22.17 By the way, now we have frameworks like DSPy, which comes with tools like GEPA which can optimize your prompts. I know a few years ago, you folks were telling people [that] prompting your way through a problem is not the right approach. But now we have more principled ways, Sharon, of developing the right prompts? So how do tools like that impact post-training?
22.51 Oh, yeah. Tools like that impact post-training, because you can teach the model in post-training to use those tools more effectively. Especially if they help with optimizing the prompt and optimizing the understanding of what someone is putting into the model.
For example, let me just give a contrast of how far we’ve gotten. So post-training makes the model more resilient to different prompts and be able to handle different types of prompts and to be able to get the intention from the user. So as an extreme example, before ChatGPT, when I was using GPT-3 back in 2020, if I literally put a space by accident at the end of my prompt—like when I said, “How are you?” but I accidentally pressed Space and then Enter, the model completely freaked out. And that’s because of the way things were tokenized, and that just would mess things up. But there are a lot of different weird sensitivities in the model such that it would just completely freak out, and by freak out I mean it would just repeat the same thing over and over, or just go off the rails about something completely irrelevant.
And so that’s what the state of things were, and the model was not post-trained to. . . Well, it wasn’t quite post-trained then, but it also wasn’t generally post-trained to be resilient to any type of prompt, versus now today, I don’t know about you, but the way I code is I just highlight something and just put a question mark into the prompt.
I’m so lazy, or like just put the error in and it’s able to handle it—understand that you’re trying to fix this error because why else would you be talking to it. And so it’s just much more resilient today to different things in the prompt.
24.26 Remember Google “Did you mean this?” It’s kind of an extreme version of that, where you type something completely misspelled into Google, and it’s able to kind of figure out what you actually meant and give you the results.
It’s the same thing, even more extreme, like super Google, so to speak. But, yeah, it’s resilient to that prompt. But that has to be done through post-training—that is happening in post-training for a lot of these models. It’s showing the model, hey, for these possible inputs that are just gross and messed up, you can still give the user a really well-defined output and understand their intention.
25.05 So the hot thing today, of course, is agents. And agents now, people are using things like tool calling, right? So MCP servers. . . You’re not as dependent on this monolithic model to solve everything for you. So you can just use a model to orchestrate a bunch of little specialized specialist agents.
So do I still need post-training?
25.39 Oh, absolutely. You use post-training to get the agent to actually work.
25.43 So get the agent to pull all the right tools. . .
25.46 Yeah, actually, a huge reason why hallucinations have been, like, much better than before is because now, under the hood, they’ve taught the model to maybe use a calculator tool instead of just output, you know, math on your own, or be able to use the search API instead of make things up from your pretraining data.
So this tool calling is really, really effective, but you do need to teach the model to use it effectively. And I actually think what’s interesting. . . So MCPs have managed to create a great intermediary layer to help models be able to call different things, use different types of tools with a consistent interface. However, I have found that due to probably a little bit lack of post-training on MCPs, or not as much as, say, a Python API, if you have a Python function declaration or a Python API, that’s actually the models actually tend to do empirically, at least for me, better on it because models have seen so many more examples of that. So that’s an example of, oh, actually in post-training I did see more of that than MCPs.
26.52 So weirdly, it’s better using Python APIs for your same tool than an MCP of your own tool, empirically today. And so I think it really depends on what it’s been post-trained on. And understanding that post-training process and also what goes into that will help you understand why these differences occur. And also why we need some of these tools to help us, because it’s a little bit chicken-egg, but like the model is capable of certain things, calling different tools, etc. But having an MCP layer is a way to help everyone organize around a single interface such that we can then do post-training on these models such that they can then do well on it.
I don’t know if that makes sense, but yeah, that’s why it’s so important.
27.41 Yeah, yeah. In the areas I’m interested in, which I mean, the data engineering, DevOps kind of applications, it seems like there’s new tools like Dex, open source tools, which allow you to kind of save pipelines or playbooks that work so that you don’t constantly have to reinvent the wheel, you know, just because basically, that’s how these things function anyway, right? So someone gets something to work and then everyone kind of benefits from that. But then if you’re constantly starting from scratch, and you prompt and then the agent has to relearn everything from scratch when it turns out there’s already a known way to do this problem, it’s just not efficient, right?
28.30 Oh, I also think another exciting frontier that’s kind of in the zeitgeist of today is, you know, given Moltbook or OpenClaw stuff, multi-agent has been talked about much more. And that’s also through post-training for the model, to launch subagents and to be able to interface with other agents effectively. These are all types of behavior that we have to teach the model to be able to handle. It’s able to do a lot of this out of the box, just like GPT-3 was able to chat with you if you give it the right nudging prompts, etc., but ChatGPT is so much better at chatting with you.
So it’s the same thing. Like now people are, you know, adding to their post-training mix this multi-agent workflow or subagent workflow. And that’s really, really important for these models to be effective at being able to do that. To be both the main agent, the unified agent at the top, but also to be the subagent to be able to launch its own subagents as well.
29.26 Another trend recently is the emergence of these multimodal models or even, people are starting to talk about world models. I know those are early, but I think even just in the area of multimodality, visual language models, and so forth, what is the state of post-training outside of just LLMs? Just different kinds of this much more multimodal foundation models? Are people doing the post-training in those frontier models as well?
30.04 Oh, absolutely. I actually think one really fun one—I guess this is largely a language model, but they are likely tokenizing very differently—are people who are looking at, for example, life sciences and post-training foundation models for that.
So there you would want to adapt the tokenizer, because you wanted to be able to put different types of tokens in and tokens out, and have the model be very efficient at that. And so you’re doing that during post-training, of course, to be able to teach that new tokenizer. But you’re also thinking about what other feedback loops you can do.
So people are automating things like, I don’t know, the pipetting and testing out the different, you know, molecules, mixing them together and being able to get a result from that. And then, you know, using that as a reward signal back into the model. So that’s a really powerful other type of domain that’s maybe adjacent to how we think about language models, but tokenized differently, and has found an interesting niche where we can get nice, verifiable rewards back into the model that is pretty different from how we think about, for example, coding or math, or even general human preferences. It’s touching the real world or physical world—so it’s probably all real, but the physical world a little bit more.
31.25 So in closing, let’s get your very quick takes on a few of these AI hot topics. First one, reinforcement learning. When will it become mainstream?
32.01 Secondly, scaling. Is scaling still the way to go? The frontier labs seem to think so. They think that bigger is better. So are you hearing anything in the research frontiers that tell you, hey, maybe there’s alternatives to just pure scaling?
32.20 I still believe in scaling. I believe we’ve not met a limit yet. Not seen a plateau yet. I think the thing people need to recognize is that it’s always been a “10X compute for 2X intelligence” type of curve. So it’s not exactly like 10X-10X. But yeah, I still believe in scaling, and we haven’t really seen an empirical plateau on that yet.
That being said, I’m really excited about people who challenge it. Because I think it would be really amazing if we could challenge it and get a huge amount of intelligence with less pure dollars, especially now as we start to hit up on trillions of dollars in some of the frontier labs, of like that’s the next level of scale that they’ll be seeing. However, at a compute company, I’m okay with this purchase. Come spend trillions! [laughs]
33.13 By the way, with respect to scaling, so you think the models we have now, even if you stop progress, there’s a lot of adaptation that enterprises can do. And there’s a lot of benefits from the models we already have today?
33.30 Correct. Yes. We’re not even scratching the surface, I think.
33.34 The third topic I wanted to pick your brain quick is “open”: open source, open weights, whatever. So, there’s still a gap, I think.
33.49 There are contenders in the US who want to be an open source DeepSeek competitor but American, to make it more amenable when selling into. . .
34.02 They don’t exist, right? I mean, there’s Allen.
34.06 Oh, like Ai2 for Olmo… Their startup’s doing some stuff. I don’t know if they’ve announced things yet, but yeah hopefully we’ll hear from them soon.
Another interesting thing about these Chinese AI teams is obviously, you have the big companies like Tencent, Baidu, Alibaba—so they’re doing their thing. But then there’s this wave of startups. Set aside DeepSeek. So the other startups in this space, it seems like they’re targeting the West as well, right? Because basically it’s hard to monetize in China, because people tend not to pay, especially the enterprises. [laughs]
I’m just noticing a lot of them are incorporating in Singapore and then trying to build solutions for outside of China.
35.00 Well, the TAM is quite large here, so. . . It’s quite large in both places.
35.07 So it’s the final question. So we’ve talked about post-training. We talked about the benefits, but we also talked about the challenges. And as far as I can tell, one of the challenges is, as you pointed out, to do it end to end requires a bit of expertise. First of all, think about just the data. You might need the right data platform or data infrastructure to prep your data to do whatever it is that you’re doing for post-training. And then you get into RL.
So what are some of the key foundational things that enterprises should invest in to set themselves up for post-training—to get really good at post training? So I mentioned a data platform, maybe invest in the data. What else?
36.01 I think the type of data platform matters. I’m not sure if I totally am bought into how CIOs are approaching it today. I think what matters at that infrastructure layer is actually making sure you deeply understand what tasks you want these models to do. And not only that, but then codifying it in some way—whether that be inputs and outputs and, you know, desired outputs, whether that be a way to grade outputs, whether that be the right environment to have the agent in. Being able to articulate that is extremely powerful and I think is the one of the key ways of getting that task that you want this agent to do, for example, to be actually inside of the model. Whether it’s you doing post-training or someone else doing post-training, no matter what, if you build that, that will be something that gives a high ROI, because anyone will be able to take that and be able to embed it and you’ll be able to get that capability faster than anyone else.
37.03 And on the hardware side, one interesting thing that comes out of this discussion is if RL truly becomes mainstream, then you need to have a healthy mix of CPUs and GPUs as well.
37.17 That’s right. And you know, AMD makes both. . .
The unique architecture of the web enables a much higher degree of user privacy than exists on other platforms. Many factors contribute to this, but an essential one is that you don’t need to log in to start browsing. Sharing details about yourself with a website is an optional step you can take when you have reason to do so, rather than the price of admission.
These norms mirror those of a free society. You can walk down the street without wearing a name tag or prove who you are to passersby. You can enter a store without introducing yourself, and only open your wallet if you decide to buy something. You aren’t hiding anything, but society shows restraint in what it asks and observes, which allows you to be casually anonymous. When this is the default, everyone can freely enjoy the benefits of privacy without having to go to great lengths to hide their identity – something that isn’t practical for most people.
It’s easy to take casual anonymity for granted, but it depends on a fragile equilibrium that is under constant threat.
One way to erode casual anonymity is with covert surveillance, like a snoop following you around town or listening to your phone calls. For more than a decade, Mozilla has worked hard to close technical loopholes — like third-party cookies and unencrypted protocols — used by third parties to learn much more about you than you intended to share with them. The work is far from done, but we’re immensely proud of how much less effective this kind of surveillance has become.
But there’s also a different kind of threat, which is that sites begin to explicitly reject the norm of casual anonymity and move to a model of “papers, please”. This isn’t a new phenomenon: Walled gardens like Facebook and Netflix have long operated this way. However, several recent pressures threaten to tip the balance towards this model becoming much more pervasive.
First, increasing volume and sophistication of bot traffic — often powering and powered by AI — is overwhelming sites. Classic approaches to abuse protection are becoming less effective, leading sites to look for alternatives like invasive fingerprinting or requiring all visitors to log in.
Second, jurisdictions around the world are beginning to mandate age restrictions for certain categories of content, with many implementations requiring users to present detailed identity information in order to access often-sensitive websites.
Third, new standardized mechanisms for digital government identity make it much more practical for sites to demand hard identification and thus use it for all sorts of new purposes, which may be expedient for them but not necessarily in the interest of everyone’s privacy.
All of these pressures stem from real problems that people are trying to solve, and ignoring them will not make them go away. Left unchecked, the natural trajectory here would be the end of casual anonymity. However, Mozilla exists to steer emerging technology and technical policy towards better outcomes. In that vein, we’ve identified promising technical approaches to address each of these three pressures while maintaining or even strengthening the privacy we enjoy online today.
A common theme across these approaches is the use of cryptography: some new, some old. For example, most people have at least one online relationship with an entity who knows them well (think banks, major platforms, etc). Zero-knowledge proof protocols can let other sites use that knowledge to identify visitors as real humans, not bots. Careful design of the protocols maintains privacy by preventing sites from learning any additional information beyond personhood.
We’ll be sharing more about these approaches over the coming months. Some details are still evolving in collaboration with our partners in the ecosystem, but we are confident it is possible to address abuse, age assurance, and civic authentication without requiring the web to abandon casual anonymity.
When I first started building websites, rounded corners required five background images, one for each corner, one for the body, and a prayer that the client wouldn’t ask for a different radius. Then the border-radius property landed, and the entire web collectively sighed with relief. That was over fifteen years ago, and honestly, we’ve been riding that same wave ever since. Just as then, I hope that we can look at this feature as a progressive enhancement slowly making its way to other browsers.
I like a good border-radius like any other guy, but the fact is that it only gives us one shape. Round. That’s it. Want beveled corners? Clip-path. Scooped ticket edges? SVG mask. Squircle app icons? A carefully tuned SVG that you hope nobody asks you to animate. We’ve been hacking around the limitations of border-radius for years, and those hacks come with real trade-offs: borders don’t follow clip-paths, shadows get cut off, and you end up with brittle code that breaks the moment someone changes a padding value.
Well, the new corner-shape changes all of that.
What Is corner-shape?
The corner-shape property is a companion to border-radius. It doesn’t replace it; it modifies the shape of the curve that border-radius creates. Without border-radius, corner-shape does nothing. But together, they’re a powerful pair.
The property accepts these values:
round: the default, same as regular border-radius,
squircle: a superellipse, the smooth Apple-style rounded square,
bevel: a straight line between the two radius endpoints (snipped corners),
scoop: an inverted curve, creating concave corners,
notch: sharp inward cuts,
square: effectively removes the rounding, overriding border-radius.
And you can set different values per corner, just like border-radius:
So the question here might be: why not call this property “border-shape” instead? Well, first of all, that is something completely different that we’ll get to play around with soon. Second, it does apply to a bit more than borders, such as outlines, box shadows, and backgrounds. That’s the thing that the clip-path property could never do.
Why Progressive Enhancement Matters Here
At the time of writing (March 2026), corner-shape is only supported in Chrome 139+ and other Chromium-based browsers. That’s a significant chunk of users, but certainly not everyone. The temptation is to either ignore the property until it’s everywhere or to build demos that fall apart without it.
I don’t think either approach is right. The way I see it, corner-shape is the perfect candidate for progressive enhancement, just as border-radius was in the age of Internet Explorer 6. The baseline should use the techniques we already know, such as border-radius, clip-path, radial-gradient masks and look intentionally good. Then, for browsers that support corner-shape, we upgrade the experience. Sometimes this can be as simple as just providing a more basic default; sometimes it might need to be a bit more.
Every demo in this article is created with that progressive enhancement idea. The structure for the demos looks like:
@layer base, presentation, demo;
The presentation layer contains the full polished UI using proven techniques. The demo layer wraps everything in @supports:
No fallback banners, no “your browser doesn’t support this” messages. Just two tiers of design: good and better. I thought it could be nice just to show some examples. There are a few out there already, but I hope I can add a bit of extra inspiration on top of those.
Demo 1: Product Cards With Ribbon Badges
Every e-commerce site has them: those little “New” or “Sale” badges pinned to the corner of a product card. Traditionally, getting that ribbon shape means reaching for clip-path: polygon() or a rotated pseudo-element, let's call it “fiddly code” that has the chance to fall apart the moment someone changes a padding value.
But here’s the thing: we don’t need the ribbon shape in the baseline. A simple badge with slightly rounded corners tells the same story and looks perfectly fine:
The round bevel bevel round combination creates a directional ribbon. Round where it meets the card edge, beveled to a point on the other side. No clip-path, no pseudo-element tricks. Borders, shadows, and backgrounds all follow the declared shape because it is the shape.
The cards themselves upgrade from border-radius: 12px to a larger size and the squircle corner-shape, that smooth superellipse curve that makes standard rounding look slightly off by comparison. Designers will notice immediately. Everyone else will just say it “feels more premium.”
Hot tip: Using the squircle value on card components is one of those upgrades where the before-and-after difference can be subtle in isolation, but transformative across an entire page. It’s the iOS effect: once everything uses superellipse curves, plain circular arcs start looking out of place. In this demo, I did exaggerate a bit.
The primary button starts beveled, faceted, and gem-like, and softens to squircle on hover. Because corner-shape values animate via their superellipse() equivalents, the transition is smooth. It’s a fun interaction that used to be hard to achieve but is now a single property (used alongside border-radius, of course).
The secondary button uses superellipse(0.5), a value that is between a standard circle and a squircle, combined with a larger border-radius for a distinctive pill-like shape. The danger button gets a more prominent squircle with a generous radius. And notch and scoop each bring their own sharp or concave personality.
Beyond buttons, the status tags get corner-shape: notch, those sharp inward cuts that give them a machine-stamped look. The directional arrow tags use round bevel bevel round (and its reverse for the back arrow), replacing what used to require clip-path: polygon(). Now borders and shadows work correctly across all states.
Hot tip:corner-shape: scoop pairs beautifully with serif fonts and warm color palettes. The concave curves echo the organic shapes found in editorial design, calligraphy, and print layouts. For geometric sans-serif designs, stick with squircle or bevel.
What I like about this demo is how the shape hierarchy mirrors the content hierarchy. The most important element (featured plan) gets the most distinctive shape (scoop). The badge gets the sharpest shape (bevel). Everything else gets a simpler upgrade (squircle). Shape becomes a tool for visual emphasis, not just decoration.
Browser Support
As of writing, corner-shape is available in Chrome 139+ and Chromium-based browsers. Firefox and Safari don’t support it yet. The spec lives in CSS Borders and Box Decorations Module Level 4, which is a W3C Working Draft as of this writing.
For practical use, that’s fine. That’s the whole point of how these demos are built. The presentation layer delivers a polished, complete UI to every browser. The demo layer is a bonus for supporting browsers, wrapped in @supports (corner-shape: ...). I lived through the time when border-radius was only available in Firefox. Somewhere along the line, it seems like we have forgotten that not every website needs to look exactly the same in every browser. What we really want is: no “broken” layouts and no “your browser doesn’t support this” messages, but rather a beautiful experience that just works, and can progressively enhance a bit of extra joy. In other words, we’re working with two tiers of design: good and better.
Wrapping Up
The approach I keep coming back to is: don’t design for corner-shape, and don’t design around the lack of it. Design a solid baseline with border-radius and then enhance it. The presentation layer in every demo looks intentionally good. It’s not a degraded version waiting for a better browser. It’s a complete design. The demo layer adds a dimension that border-radius alone can’t express.
What surprises me most about corner-shape is the range it offers — the amazing powerhouse we have with this single property: squircle for that premium, superellipse feel on cards and avatars; bevel for directional elements and gem-like badges; scoop for editorial warmth and visual hierarchy; notch for mechanical precision on tags; and superellipse() for fine control between round and squircle. And the ability to mix values per corner (round bevel bevel round, scoop round) opens up shapes that would have required SVG masks or clip-path hacks.
We went from five background images to border-radius, to corner-shape. Each step removed a category of workarounds. I’m excited to see what designers do with this one.
Diagram illustrating "Information Management: A Proposal" by Tim Berners-Lee, 12 March 1989
Today’s anniversary of "Information Management: A Proposal" that Tim Berners-Lee wrote on 12 March 1989 prompts me to stop and reflect on the importance of the web, and the key role the World Wide Web Consortium plays in making the web work — for everyone. I want to take a brief moment to celebrate the importance of the platform, and to call out key initiatives from our strategic objectives.
The last time I wrote at the occasion of this anniversary was two years ago. I hinted that while the W3C community has been doing the essential hard work to ensure we are addressing the challenges that the web faces, we as an organization needed to evolve our structure to better listen and increase our reach to include more of the world in our work. Then in June 2025 we identified our strategic objectives for the next few years.
There is absolutely no question that the invention of the web was revolutionary. Since its launch 35 years ago (first via the Line Mode browser available at CERN in March 1991, and then as software on the Internet in August 1991), the web has morphed, evolved and expanded. In the scale of things it rapidly went from a connection means to one of our most extraordinary global commons. The web today is a ubiquitous and multimodal platform that empowers people and enables so many aspects of life — from education to democracy, but also entertainment, commerce, creativity, etc. Billions of people use the web everyday.
Tim Berners-Lee created W3C in 1994 as a single organization that works around the globe to develop web standards. He aimed to foster a consistent and interoperable architecture accommodating the web’s rapid pace of progress; a single global Consortium that coordinates hundreds of Members and a community of over 12,000 individuals working on the creation of open web standards — meeting the requirements of web accessibility, internationalization, privacy, and security — for the benefit of humanity.
Through our strategic objectives we are putting emphasis primarily on impact and stakeholder outreach which beget a solidified structure, diversified support, and broaden our footprint. By being more deliberate about measuring our success we anticipate to have an even bigger impact. Given the prevalence of the web, we are striving to both reinforce relationships with existing stakeholders and to establish new relationships that help further our mission. Particular attention is given to our methods for engaging with unserved/underserved regions.
We’ve laid out our strategic roadmap according to a timeline that uses three horizons of one to one-and-a-half years. As we are planning transition to Horizon 2 I expect we will be able to engage in more durable activities, and to report as we progress. This is challenging and humbling but quite exciting. Many W3C Members stepped up to contribute to this immense opportunity to gain greater influence in the world, to gather new stakeholders, and to help direct the future.
Welcome to Episode 423 of the Microsoft Cloud IT Pro Podcast. In this episode, Ben is live from Workplace Ninjas, joined by Eric Woodruff, Chief Identity Architect at Semperis and Microsoft MVP in Security focused on identity, and Chris Brumm, Cyber Security Architect at glueckkanja and Microsoft MVP in Security with over 16 years of experience in cybersecurity. Together they dig into the often-overlooked world of non-human identities in Microsoft Entra ID. They cover what service principals are, why they tend to fly under the radar compared to user accounts, and how attackers actively exploit that gap. The conversation spans credential management best practices, the risks of improper owner assignments, the challenges of multi-tenant app configurations, and why managed identities should be your go-to wherever possible. They also discuss the growing challenge of AI agent identities and what IT pros need to start thinking about now before that surface area explodes.
Eric Woodruff
Eric Woodruff is the Chief Identity Architect at Semperis and a Microsoft MVP in Security with a focus on identity. He specializes in all things Microsoft Entra and Active Directory, with a passion for helping organizations understand and secure both human and non-human identities. You can find Eric on social media as @ericanidentity.
Chris Brumm
Chris Brumm is a Cyber Security Architect at glueckkanja based in Germany, with over 16 years of experience across virtually every corner of cybersecurity. He is a Microsoft MVP in Security with a primary focus on identity security. His team operates SOC services and he brings a detection and response perspective to identity risk, helping organizations build lifecycle processes and monitoring strategies for non-human identities in Microsoft Entra.
About the sponsors
TrustedTech is a leading Microsoft Cloud Solution Provider (CSP) specializing in Microsoft Cloud services, Microsoft perpetual licensing, and Microsoft Support Services for medium and enterprise-sized businesses. Our robust team of in-house, U.S-based Microsoft architects and engineers are certified in all 6/6 Microsoft Solutions Partner Designations in the Microsoft Cloud Partner Program.
At Intelligink, our focus is singular: the Microsoft cloud. Our Microsoft 365 and Azure experts help you work securely and efficiently by unlocking the full value of what you’re already paying for, so you can focus on running your business.