当前位置: 首页 > news >正文

Azure 机器学习:在 Azure 机器学习中使用 Azure OpenAI 模型

目录

    • 一、环境准备
    • 二、Azure 机器学习中的 OpenAI 模型是什么?
    • 三、在机器学习中访问 Azure OpenAI 模型
      • 连接到 Azure OpenAI
      • 部署 Azure OpenAI 模型
    • 四、使用自己的训练数据微调 Azure OpenAI 模型
      • 使用工作室微调
      • 微调设置
        • 训练数据
        • 自定义微调参数
        • 部署微调的模型
      • 使用基于代码的示例微调
      • 疑难解答

在本文中,你将了解如何使用 Azure 机器学习发现、微调和大规模部署 Azure OpenAI 模型。

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

file

一、环境准备

  • 必须有权访问 Azure OpenAI 服务。
  • 必须位于 Azure OpenAI 支持的区域

二、Azure 机器学习中的 OpenAI 模型是什么?

近年来,人工智能的进步导致了大型基础模型(基于大量数据进行训练)的兴起。 这些模型可以轻松适应各行各业的多种应用程序。 这一新兴趋势为企业在深度学习工作负载中构建和使用这些基础模型提供了独特的机会。

机器学习中的 OpenAI 模型提供机器学习原生功能,使客户可以通过以下方式大规模生成和使用 Azure OpenAI 模型:

  • 在机器学习中访问机器学习模型目录中提供的 Azure OpenAI。
  • 与 Azure OpenAI 建立连接。
  • 使用机器学习微调 Azure OpenAI 模型。
  • 使用机器学习将 Azure OpenAI 模型部署到 Azure OpenAI。

三、在机器学习中访问 Azure OpenAI 模型

file
Azure 机器学习工作室中的模型目录(预览)是浏览各种基础模型集合的起点。 Azure OpenAI 模型集合包含仅在 Azure 上提供的模型。 使用这些模型,客户将能够访问适用于 Azure OpenAI 中提供的大型语言模型的即时工程、微调、评估和部署功能。 可以在 Azure OpenAI 服务集合下的模型目录中查看受支持的 Azure OpenAI 模型的完整列表。

file

可以按推理任务或微调任务筛选模型目录中的模型列表。 选择特定的模型名称后,将会显示所选模型的模型卡,其中列出了有关该模型的详细信息。

file

连接到 Azure OpenAI

若要部署 Azure OpenAI 模型,需要具有 Azure OpenAI 资源。 若要创建 Azure OpenAI 资源,请按照创建和部署 Azure OpenAI 服务资源中的说明进行操作。

部署 Azure OpenAI 模型

若要从机器学习部署 Azure OpenAI 模型,请执行以下操作:

  1. 在左窗格中选择“模型目录”。

  2. Azure OpenAI 语言模型下选择“查看模型”。 然后选择要部署的模型。

  3. 选择“部署”,将模型部署到 Azure OpenAI。

file

  1. 从选项中选择“Azure OpenAI 资源”。

  2. 在“部署名称”中输入部署名称,然后选择“部署”。

  3. 若要查找部署到 Azure OpenAI 的模型,请转到工作区中的“终结点”部分。

  4. 选择“Azure OpenAI”选项卡,并查找创建的部署。 在选择部署时,系统会将你重定向到已链接到部署的 OpenAI 资源。

四、使用自己的训练数据微调 Azure OpenAI 模型

file
若要提高工作负载中的模型性能,可能需要使用自己的训练数据微调模型。 通过使用工作室中的微调设置或使用本教程中基于代码的示例,可以轻松微调这些模型。

使用工作室微调

若要调用微调设置窗体,请在任何基础模型的模型卡上选择微调

微调设置

file

训练数据
  1. 传入要用于微调模型的训练数据。 可以选择上传 JSON 行 (JSONL) 格式的本地文件。 也可以从工作区中选择现有的已注册数据集。

    • 具有完成任务类型的模型:使用的训练和验证数据必须采用 JSON 文档格式,其中每一行代表一个提示-完成对。

file

  • 具有聊天任务类型的模型:数据集中的每一行都应是 JSON 对象列表。 每一行对应于一个对话。 行中的每个对象都是对话中的一个轮次或语句。

file

  • 验证数据:传入要用于验证模型的数据。
  1. 在微调窗体中选择“完成”以提交微调作业。 作业完成后,可以查看已微调模型的评估指标。 然后,可以将此经过微调的模型部署到终结点以进行推理。
自定义微调参数

如果要自定义微调参数,可以在微调向导中选择“自定义”,以配置批大小、纪元数和学习速率乘数。 其中每个设置都具有默认值,但如果需要,可以通过基于代码的示例进行自定义。

file

部署微调的模型

若要从机器学习运行经过微调的模型作业以部署 Azure OpenAI 模型,请执行以下操作:

  1. 完成 Azure OpenAI 模型的微调后,在“模型”列表中找到微调期间提供的名称的已注册模型,然后选择要部署的模型。
  2. 选择“部署”并为部署命名。 模型将会部署到链接到工作区的默认 Azure OpenAI 资源。

使用基于代码的示例微调

为了支持用户快速开始使用基于代码的微调,我们已面向 azureml-examples GitHub 存储库发布示例(包括 Python 笔记本和 Azure CLI 示例):

  • SDK 示例
  • CLI 示例

疑难解答

下面是一些步骤,可帮助你解决机器学习中 Azure OpenAI 的以下任何问题。

在尝试部署 Azure OpenAI 模型时,可能会遇到以下任何错误。

  • 每个模型名称和版本只能进行一个部署

    • 修复:转到 Azure OpenAI Studio 并删除尝试部署的模型的部署。
  • 未能创建部署

    • 修复:无法创建 Azure OpenAI。 此错误这是由于配额问题造成的。 请确保具有足够的配额可用于部署。 微调模型的默认配额是每个客户 2 个部署。
  • 未能获取 Azure OpenAI 资源

    • 修复:无法创建资源。 你不在正确的区域中,或者已超出三个 Azure OpenAI 资源的最大限制。 需要删除现有的 Azure OpenAI 资源,或者需要确保在受支持区域之一中创建了工作区。
  • 模型不可部署

    • 修复:此错误通常发生在尝试部署 GPT-4 模型时。 由于需求较高,需要[申请访问权限才能使用 GPT-4 模型]。
  • 微调作业失败

    • 修复:目前,对于新的微调模型,只能为特定订阅指定最多 10 个工作区。 如果用户创建更多工作区,尽管可以获得模型访问权限,但他们的作业将失败。 尝试将每个订阅的工作区数限制为 10。

关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。

相关文章:

  • 传递函数的推导和理解
  • iApp祁天社区UI成品源码 功能齐全的社区应用
  • 51单片机应用从零开始(五)·加减乘除运算
  • Spark DataFrame join后移除重复的列
  • 【Linux网络】搭建内外网的网关服务器,实现DNS分离解析与DHCP自动分配
  • 决策树,sql考题,30个经典sql题目
  • 扩散模型实战(九):使用CLIP模型引导和控制扩散模型
  • Genio 500_MT8385安卓核心板:功能强大且高效
  • 【算法】算法题-20231117
  • Android 11.0 存在中文字符,中文文件名,中文系统属性,编译报错的解决方案
  • Apache Airflow (八) :DAG任务依赖设置
  • Docker push的 http 413问题处理
  • 卡尔曼家族从零解剖-(07) 高斯分布积分为1,高斯分布线性变换依旧为高斯分布,两高斯函数乘积仍为高斯。
  • 智慧汽车—城市NOA迎爆发
  • 【Python】Pandas(学习笔记)
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 【5+】跨webview多页面 触发事件(二)
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • ES6系列(二)变量的解构赋值
  • iOS编译提示和导航提示
  • JS创建对象模式及其对象原型链探究(一):Object模式
  • mockjs让前端开发独立于后端
  • React-redux的原理以及使用
  • Sass 快速入门教程
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 当SetTimeout遇到了字符串
  • 聚类分析——Kmeans
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 使用 Docker 部署 Spring Boot项目
  • 推荐一个React的管理后台框架
  • 微服务核心架构梳理
  • 我看到的前端
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 再次简单明了总结flex布局,一看就懂...
  • ​iOS安全加固方法及实现
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • ​ssh免密码登录设置及问题总结
  • #stm32驱动外设模块总结w5500模块
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (ros//EnvironmentVariables)ros环境变量
  • (动态规划)5. 最长回文子串 java解决
  • (二十一)devops持续集成开发——使用jenkins的Docker Pipeline插件完成docker项目的pipeline流水线发布
  • (七)c52学习之旅-中断
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • .htaccess配置常用技巧
  • .NET DataGridView数据绑定说明
  • .NET Framework与.NET Framework SDK有什么不同?
  • .Net中的集合
  • @ResponseBody
  • [AIGC codze] Kafka 的 rebalance 机制
  • [codevs 1288] 埃及分数 [IDdfs 迭代加深搜索 ]
  • [Flutter]打包IPA
  • [Git].gitignore失效的原因