 So just to show the code again, I mean, this is how we created the artifact. The next thing we want to do is we want to link the model. And link the model to create a... So we're going to click on this link to model registry. And then we're going to select a registered model. So this is a bit of terminology I want to kind of clarify a little bit. Noah, do you want to explain what is exactly the difference between model registry and registered model? And what is a registered model in this case? Yeah, so you can think of the model registry as kind of the entire repository of all of your models. It's like the big bucket where all of your pinned or bookmarked model checkpoints will go. And registered model is, you know, within a model registry, you might have a bunch of different registered models. Registered models typically represent a specific task, a machine learning task that your team is working on, where people from different projects are publishing their best checkpoints for that project. So for example, if you have a team that's working, we have one customer that we've been working with that uses the model registry, they have different models for like depth estimation for kind of underground like manufacturing. And so you can imagine that like one registered model there represents depth estimation. If you're working with ensemble models, then, you know, we might have each different, you know, task within that ensemble model will have its own registered model. So you can really think as a registered model as being synonymous to an ML task. And, you know, people from different projects across your team might be working on those tasks in their own projects, but they're linking to this team registry. So we have this collection of the very best model checkpoints across all projects for that ml task it's essentially an extra layer of hierarchy to organize um pinned or bookmarked or linked models in in specific almost folders a folder of versions that are all working towards the same ML task. Great. That's really helpful. So just to reiterate, registered model is a task. And so when you click this link here, this link to registry, it's going to give you a dropdown of all of the different registered models or tasks that you might want to attach this artifact to. In this case, I have two of them. Now, let's create a new one. You know, I have these from prior projects. But I want to create a new one. And you can do that here. And I'm going to call it, you know, my ML task. For example, it's going to be of type model, For example, it's going to be of type model. I'm going to say this is a demo, for example, like that. I'm not going to talk about this tags box, so we're going to just skip over that. And I'm going to go ahead. So this is very convenient. I'm going to go ahead and link that model artifact that I just had to this task. So this task is my ML task. I can create more aliases on the fly. Let's say I get to this point and I think to myself, hmm, this best in dev alias they added, you know, I really would like another type of alias. Like, you know what, at this point I would really like to add the staging alias. This is like like a one last one last chance in a way. You can still add the alias afterwards but this is kind of like just a way that you can just sort of add another alias at this point if you want. And then you can say link to registry, which is really, you know, creating that registered model. And then you can go into view registry, view and registry. So you're viewing the registered model in the registry. And you can see the different aliases, for example. And what you have here is this is the model. This is actually a pointer. So this is a registered model, and this points back to the artifact. And if you click View, you can get sort of all the information. We're going to go through the UI very carefully in the next section, but I just want to show you what it looks like. That's how you link a model to a registry. What I just showed is you can do that in code as well. To do the same thing of linking to a registry in code is you can run this code right here in this cell. And so the first thing you want to do is get the artifact name. Now notice this colon best. Noah, do you want to talk about what this colon best means in this specific situation? this colon best means in this specific situation? Yeah, so this is a really good example of an alias being used to reference an artifact. So when you're pulling down an artifact from the registry or whether it's from directly from your project, then instead of referencing which version you want by using the version number like V27, then this would be a good place if you want to always be linking, for example, the latest version, or you always want to be linking the model version that performed the best, then you can add colon and the alias. And that again lets you use kind of a semantically friendly reference using terms that we typically encourage to be like standardized across your team. And one thing to note is that, you know, as Hemal mentioned, we when we're linking artifacts or we're linking model artifacts to the registry and we're attaching aliases there. It's a great place to be adding kind of these semantically friendly keywords that reference where the model is in its lifecycle. So oftentimes I've worked with teams that when they're first adding when they're linking a model to the registry, they might add the alias, you know, like needs QA or review or evaluation to mark it as, hey, this just entered the staging pipeline. Now, after going through a round of testing, the alias could change, you know, to reflect that the format might have moved into being quantized. So we've seen some customers add an alias like quantize. So that might also represent, oh, it's in that stage of the pipeline and it's moving closer to production. Or if in the process it's decided that a model didn't pass the tests, an alias archived might be added. That's another option there. And that way teams know to kind of clean it out of their registered model or their task. So aliases are a great way to programmatically kind of reference the artifact that you're looking for using a term that's kind of friendly rather than memorizing the version number. Thanks, Noah. That's really helpful. And I want to mention with aliases, only one model in a specific model registry or in a registered model collection can have the alias. So let's say you can't have two latest models. And that's really useful so that you can, they're kind of they're unique those aliases are unique and allows you to manage the life cycle um and also want to say that it might seem so it might seem a little bit cumbersome that you know i'm adding aliases and doing all this stuff but actually what we're going to show later on is how to build lots of automation on top of this and how to glue other systems and you can actually automate a lot of this stuff you can automate you can you know because you have apis and because of some other features we'll get into uh you'll be you can we'll show you how you can like automate kind of moving models through different parts of the workflow uh with a human in the loop so it's not at all complicated and it's very nice and it's easy to use. Then I would also want to mention, this is a very simple minimal example. We're going to have a later section in the course where we go through an end-to-end example with the real ML use case of doing this whole process. Just to solidify this and give you more intuition of like how this works in a real ml project so just to conclude like you know this is how you link a model this is exactly what i did in the ui is i took that model and i linked it as a registered model and uh you know this is the same name I gave it. Remember, if you recall, I added that staging tag and that's all you have to do to link a model to the registry.
Linking Models to Registry
This lesson shows you can link your model from your code or in the UI. 

Here is some helpful terminology to make you sound like the model management expert, follow the links for more details and examples: 

Model version - A model version represents a single model checkpoint. Model versions are a snapshot at a point in time of a model and its files within an experiment.
Model alias - Model aliases are mutable strings that allow you to uniquely identify or reference a model version in your registered model with a semantically-related identifier. You can only assign an alias to one version of a registered model. This is because an alias should refer to a unique version when used programmatically. It also allows aliases to be used to capture a model's state (champion, candidate, production).
Model tags - Model tags are keywords or labels that belong to one or more registered models. Use model tags to organize registered models into categories and to search over those categories in the Model Registry's search bar. 
Model artifact - A model artifact is a collection of logged model versions. Model versions are stored in a model artifact in the order they are logged to the model artifact. A model artifact can contain one or more model versions. A model artifact can be empty if no model versions are logged to it.
Registered model - A registered model is a collection of pointers (links) to model versions. You can think of a registered model as a folder of "bookmarks" of candidate models for the same ML task. Each "bookmark" of a registered model is a pointer to a model version that belongs to a model artifact. You can use model tags to group your registered models.