Skip to content

使用 .NET SDK 在 Azure 中部署与管理 Weights & Biases 实例

解决机器学习平台运维痛点:通过 .NET SDK 自动化在 Azure Marketplace 中创建、配置和管理 Weights & Biases (W&B) 实例,实现实验追踪环境的快速部署与企业级 SSO 集成。

为什么需要这个技能

在企业级机器学习流水线中,Weights & Biases 是核心的实验追踪和模型管理工具。手动在 Azure 门户中部署实例效率低下且难以版本化。

通过使用 Azure.ResourceManager.WeightsAndBiases SDK,开发者可以将 W&B 实例的部署集成到 IaC(基础设施即代码)工作流中。这意味着你可以通过 C# 代码精确控制实例的区域、子域名、管理员信息以及 Entra ID (原 Azure AD) 的单点登录 (SSO) 配置,确保 ML 基础设施的可重复性和安全性。

适用场景

  • 自动化环境搭建:在创建新的 ML 项目时,自动配套部署一个独立的 W&B 实例。
  • 企业安全合规:通过代码统一配置所有 W&B 实例的 SSO 访问控制。
  • 资源生命周期管理:根据项目阶段自动创建、更新标签或删除实验追踪实例。
  • 多区域部署:快速在不同 Azure 区域(如 East US, West Europe)部署实例以降低数据传输延迟。

核心工作流

1. 环境准备与认证

首先安装必要的 NuGet 包:

bash
dotnet add package Azure.ResourceManager.WeightsAndBiases --prerelease
dotnet add package Azure.Identity

使用 DefaultAzureCredential 实现无缝认证:

csharp
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.WeightsAndBiases;

ArmClient client = new ArmClient(new DefaultAzureCredential());

2. 创建 W&B 实例

定义 Marketplace 计划、管理员信息及 W&B 特定配置(如子域名),然后执行创建操作:

csharp
WeightsAndBiasesInstanceData data = new WeightsAndBiasesInstanceData(AzureLocation.EastUS)
{
    Properties = new WeightsAndBiasesInstanceProperties
    {
        Marketplace = new WeightsAndBiasesMarketplaceDetails
        {
            OfferDetails = new WeightsAndBiasesOfferDetails
            {
                PublisherId = "wandb",
                OfferId = "wandb-pay-as-you-go",
                PlanId = "wandb-payg"
            }
        },
        User = new WeightsAndBiasesUserDetails { EmailAddress = "admin@example.com" },
        PartnerProperties = new WeightsAndBiasesPartnerProperties
        {
            Region = WeightsAndBiasesRegion.EastUS,
            Subdomain = "my-company-wandb"
        }
    }
};

var operation = await instances.CreateOrUpdateAsync(WaitUntil.Completed, "my-wandb-instance", data);

3. 配置企业级 SSO

通过更新实例属性,将 W&B 实例与 Azure Entra ID 绑定,实现 SAML 单点登录:

csharp
updateData.Properties.SingleSignOnPropertiesV2 = new WeightsAndBiasSingleSignOnPropertiesV2
{
    Type = WeightsAndBiasSingleSignOnType.Saml,
    State = WeightsAndBiasSingleSignOnState.Enable,
    EnterpriseAppId = "<entra-app-id>",
    AadDomains = { "example.com" }
};

4. 资源维护

利用 WeightsAndBiasesInstancePatch 快速更新实例标签用于成本分摊,或调用 DeleteAsync 销毁不再需要的实例。

下载和安装

下载 azure-mgmt-weightsandbiases-dotnet 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐