你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure AI Foundry 体系结构
AI Foundry 为 AI 开发人员和数据科学家提供了统一的体验,用于通过 Web 门户、SDK 或 CLI 生成、评估和部署 AI 模型。 AI Foundry 基于其他 Azure 服务提供的功能和服务。
重要
Azure AI Studio 现已更名为 Azure AI Foundry。 我们正在更新文档以反映此项更改。 在此期间,某些文档可能仍会提到 Azure AI Studio。
从最高层面讲,AI Foundry 提供对以下资源的访问:
Azure OpenAI:提供对最新 Open AI 模型的访问。 你可以创建安全部署、试用操场、微调模型、内容筛选器和批处理作业。 Azure OpenAI 资源提供程序为
Microsoft.CognitiveServices/account
,资源类型为OpenAI
。 你也可以使用某种AIServices
(其中还包括其他 Azure AI 服务)连接到 Azure OpenAI。使用 Azure AI Foundry 门户时,可以直接使用 Azure OpenAI,而无需提供 Azure Studio 项目;或者,可以通过项目使用 Azure OpenAI。
有关详细信息,请访问 Azure AI Studio 中的 Azure OpenAI。
管理中心:管理中心简化了 AI Studio 资源(例如中心、项目、连接的资源和部署)的治理和管理。
有关详细信息,请访问管理中心。
AI Foundry 中心:该中心是 AI Foundry 门户中的顶级资源,它基于 Azure 机器学习服务。 中心的 Azure 资源提供程序为
Microsoft.MachineLearningServices/workspaces
,并且资源类型为Hub
。 它提供以下功能:- 安全配置,包括跨项目和模型终结点的托管网络。
- 用于交互式开发、微调、开源和无服务器模型部署的计算资源。
- 与其他 Azure 服务(例如 Azure OpenAI、Azure AI 服务和 Azure AI 搜索)的连接。 中心范围的连接与从中心创建的项目共享。
- 项目管理。 中心可以有多个子项目。
- 用于数据上传和项目存储的关联 Azure 存储帐户。
有关详细信息,请访问中心和项目概述。
AI Foundry 项目:项目是中心的子资源。 项目的 Azure 资源提供程序为
Microsoft.MachineLearningServices/workspaces
,并且资源类型为Project
。 项目提供以下功能:- 访问用于生成和自定义 AI 应用程序的开发工具。
- 可重用的组件,包括数据集、模型和索引。
- 要将数据上传到的隔离容器(在从中心继承的存储中)。
- 项目范围的连接。 例如,项目成员可能需要私密访问存储在 Azure 存储帐户中的数据,但不向其他项目授予相同的访问权限。
- 从目录和优化模型终结点进行开源模型部署。
有关详细信息,请访问中心和项目概述。
连接:Azure AI Foundry 中心和项目使用连接来访问其他服务提供的资源。 例如,Azure 存储帐户、Azure OpenAI 或其他 Azure AI 服务中的数据。
有关详细信息,请访问连接。
Azure 资源类型和提供程序
Azure AI Foundry 建立在 Azure 机器学习资源提供程序的基础之上,并依赖于其他几项 Azure 服务。 必须在 Azure 订阅中注册这些服务的资源提供程序。 下表列出了资源类型、提供程序和种类:
资源类型 | 资源提供程序 | Kind |
---|---|---|
Azure AI Studio 中心 | Microsoft.MachineLearningServices/workspace |
hub |
Azure AI Studio 项目 | Microsoft.MachineLearningServices/workspace |
project |
Azure AI 服务或 Azure AI OpenAI 服务 |
Microsoft.CognitiveServices/account |
AIServices OpenAI |
创建新的中心时,需要一组依赖 Azure 资源来存储数据、获取模型访问权限并提供用于 AI 自定义的计算资源。 下表列出了依赖的 Azure 资源及其资源提供程序:
提示
如果在创建中心时不提供依赖资源,并且它是必需的依赖项,则 AI Studio 会为你创建资源。
依赖 Azure 资源 | 资源提供程序 | 可选 | 注意 |
---|---|---|---|
Azure AI 搜索 | Microsoft.Search/searchServices |
✔ | 为项目提供搜索功能。 |
Azure 存储帐户 | Microsoft.Storage/storageAccounts |
存储项目的生成工件,例如流和评估。 对于数据隔离,存储容器使用项目 GUID 作为前缀,并使用 Azure ABAC 对项目标识进行有条件保护。 | |
Azure Key Vault | Microsoft.KeyVault/vaults |
存储机密,例如资源连接的连接字符串。 对于数据隔离,无法通过 API 跨项目检索机密。 | |
Azure 容器注册表 | Microsoft.ContainerRegistry/registries |
✔ | 存储将自定义运行时用于提示流时创建的 Docker 映像。 对于数据隔离,docker 映像使用项目 GUID 作为前缀。 |
Azure Application Insights 和 Log Analytics 工作区 |
Microsoft.Insights/components Microsoft.OperationalInsights/workspaces |
✔ | 当选择为部署的提示流使用应用程序级日志记录时,用作日志存储。 |
有关注册资源提供程序的信息,请参阅注册 Azure 资源提供程序。
Microsoft 托管资源
虽然 Azure AI Foundry 使用的大多数资源都位于 Azure 订阅中,但某些资源位于 Microsoft 管理的 Azure 订阅中。 这些托管资源的成本将作为行项显示在 Azure 帐单上的 Azure 机器学习资源提供程序下。 以下资源位于 Microsoft 管理的 Azure 订阅中,不会显示在 Azure 订阅中:
托管计算资源:由 Microsoft 订阅中的 Azure Batch 资源提供。
托管虚拟网络:由 Microsoft 订阅中的 Azure 虚拟网络资源提供。 如果启用 FQDN 规则,则会向订阅添加 Azure 防火墙(标准)并收费。 有关详细信息,请参阅为 Azure AI Studio 配置托管虚拟网络。
元数据存储:由 Microsoft 订阅中的 Azure 存储资源提供。
注意
如果使用客户管理的密钥,则元数据存储资源是在订阅中创建的。 有关详细信息,请参阅客户管理的密钥。
托管计算资源和托管虚拟网络存在于 Microsoft 订阅中,但由你管理。 例如,可以控制用于计算资源的 VM 大小,以及为托管虚拟网络配置了哪些出站规则。
托管计算资源还需要漏洞管理。 漏洞管理的责任由你和 Microsoft 共同分担。 有关详细信息,请参阅漏洞管理。
使用中心进行集中设置和治理
中心为团队提供了一种集中方式来治理跨操场和项目的安全性、连接性和计算资源。 使用中心创建的项目继承相同的安全设置和共享资源访问权限。 团队可以根据需要创建任意数量的项目来组织工作、隔离数据和/或限制访问。
通常,业务领域中的项目需要访问相同的公司资源,例如矢量索引、模型终结点或存储库。 作为团队负责人,你可以预先配置与中心内这些资源的连接,以便开发人员可以从任何新的项目工作区访问它们,而不会出现 IT 延迟。
通过连接可以访问 AI Foundry 中在中心之外管理的对象。 例如,在 Azure 存储帐户中上传数据,或在现有 Azure OpenAI 资源上部署模型。 可以与每个项目共享连接,也可以对一个特定项目进行访问。 可以将连接配置为使用基于密钥的访问,或 Microsoft Entra ID 直通,以授权对连接的资源上的用户的访问权限。 作为管理员,你可以从 AI Foundry 中的单一视图跟踪、审核和管理整个组织的连接。
根据团队需求进行组织
所需的中心和项目数取决于工作方式。 可为具有类似数据访问需求的大型团队创建单个中心。 此配置可最大程度地提高成本效益、资源共享,并最大程度地减少设置开销。 例如,与客户支持相关的所有项目的中心。
如果需要在 LLMOps 或 MLOps 策略中实现开发、测试和生产之间的隔离,请考虑为每个环境创建一个中心。 根据解决方案的生产准备情况,你可以决定在每个或一个环境中复制项目工作区。
基于角色的访问控制和控制平面代理
Azure AI 服务(包括 Azure OpenAI)为列出模型部署等操作提供控制平面终结点。 这些终结点使用单独的 Azure 基于角色的访问控制 (RBAC) 配置来保护这些终结点,而不是用于中心的配置。
为了降低 Azure RBAC 管理的复杂性,AI Foundry 提供了控制平面代理,用于对连接的 Azure AI 服务和 Azure OpenAI 资源执行操作。 通过控制平面代理对这些资源执行操作只需要对中心拥有 Azure RBAC 权限。 然后,Azure AI Foundry 服务代表你执行对 Azure AI 服务或 Azure OpenAI 控制平面终结点的调用。
有关详细信息,请参阅 Azure AI Studio 中基于角色的访问控制。
基于属性的访问控制
创建的每个中心都有一个默认存储帐户。 中心的每个子项目将继承该中心的存储帐户。 存储帐户用于存储数据和项目。
为了保护共享存储帐户,Azure AI Foundry 使用 Azure RBAC 和 Azure 基于属性的访问控制 (Azure ABAC)。 Azure ABAC 是一种安全模型,根据与用户、资源和环境关联的属性定义访问控制。 每个项目具有:
- 在存储帐户上分配有存储 Blob 数据参与者角色的服务主体。
- 唯一 ID(工作区 ID)。
- 存储帐户中的一组容器。 每个容器具有前缀,对应于项目的工作区 ID 值。
每个项目的服务主体的角色分配条件仅允许服务主体访问具有匹配前缀值的容器。 此条件可确保每个项目都只能访问其自身的容器。
注意
对于存储帐户中的数据加密,范围是整个存储,而不是每个容器。 因此,所有容器都使用同一密钥(由 Microsoft 或客户提供)进行加密。
有关 Azure 基于访问控制的详细信息,请参阅什么是 Azure 基于属性的访问控制。
存储帐户中的容器
中心的默认存储帐户包含以下容器。 这些容器是为每个项目创建的,{workspace-id}
前缀与项目的唯一 ID 匹配。 项目使用连接访问容器。
提示
若要查找项目的 ID,请在 Azure 门户中转到该项目。 选择“设置”,然后选择“属性”。 随即将显示“工作区 ID”。
容器名称 | 连接名称 | 说明 |
---|---|---|
{workspace-ID}-azureml |
workspaceartifactstore | 指标、模型和组件等资产的存储。 |
{workspace-ID}-blobstore |
workspaceblobstore | 数据上传、作业代码快照和管道数据缓存的存储。 |
{workspace-ID}-code |
NA | 笔记本、计算实例和提示流的存储。 |
{workspace-ID}-file |
NA | 用于数据上传的替代容器。 |
加密
Azure AI Foundry 使用加密来保护静态数据和传输中的数据。 默认情况下,Microsoft 管理的密钥用于加密。 但是,可以使用自己的加密密钥。 有关详细信息,请参阅客户管理的密钥。
虚拟网络
可将中心配置为使用托管虚拟网络。 托管虚拟网络可保护中心、项目和受管理资源(例如计算)之间的通信。 如果依赖项服务(Azure 存储、Key Vault 和容器注册表)已禁用公共访问,则会为每个依赖项服务创建一个专用终结点,以确保中心和项目与依赖项服务之间的通信。
注意
如果要使用虚拟网络来确保客户端与中心或项目之间的通信,则必须使用创建和管理的 Azure 虚拟网络。 例如,使用 VPN 或 ExpressRoute 连接连接到本地网络的 Azure 虚拟网络。
有关如何配置托管虚拟网络的详细信息,请参阅为 Azure AI Studio 配置托管虚拟网络。
Azure Monitor
Azure Monitor 和 Azure Log Analytics 为 Azure AI Foundry 使用的基础资源提供监视和日志记录。 由于 Azure AI Foundry 是基于 Azure 机器学习、Azure OpenAI、Azure AI 服务和 Azure AI 搜索构建的,因此可以使用以下文章了解如何监视服务:
资源 | 监视和日志记录 |
---|---|
Azure AI Studio 中心和项目 | 监视 Azure 机器学习 |
Azure OpenAI | 监视 Azure OpenAI |
Azure AI 服务 | 监视 Azure AI(训练) |
Azure AI 搜索 | 监视 Azure AI 搜索 |
价格和配额
有关定价和配额的详细信息,请参阅以下文章:
后续步骤
使用下列方法之一创建中心:
- Azure AI Foundry 门户:创建一个中心以了解入门知识。
- Azure 门户:使用自己的网络创建中心。
- Bicep 模板。