【从0开发】百度BML全功能AI开发平台【实操:以部署情感分析模型为例】

本文主要是介绍【从0开发】百度BML全功能AI开发平台【实操:以部署情感分析模型为例】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 一、全功能AI开发平台介绍
  • 二、AI项目落地应用流程(以文本分类为例)
    • 2-0、项目开始
    • 2-1、项目背景
    • 2-2、数据准备介绍
    • 2-3、项目数据
    • 2-4、建模调参介绍
    • 2-5、项目的建模调参
    • 2-6、开发部署
    • 2-7、项目在公有云的部署
  • 附录:调用api代码
  • 总结

一、全功能AI开发平台介绍

在这里插入图片描述

全功能AI开发平台是一个综合性的平台,旨在支持各种人工智能(AI)应用的开发、部署和管理。这些平台通常提供一系列工具、库和服务,以帮助开发者、数据科学家和工程师创建和操作各种类型的AI应用。以下是全功能AI开发平台通常提供的一些功能和特性

  • 数据管理:提供数据存储、数据集成、数据清洗和数据标注工具,以支持AI模型的训练和评估。
  • 模型开发:包括模型训练、调优和验证工具,以及深度学习框架集成,使开发者能够创建自定义AI模型。
  • 自动化ML(AutoML):提供自动化工具,可以自动选择和调整模型参数,以简化模型开发流程。
  • 部署和托管:支持AI模型的部署到云端或边缘设备,并提供自动扩展和管理模型的能力。
  • 可解释性和监控:提供模型解释性工具,以及实时性能监控和错误检测,以确保AI应用的可靠性和可解释性。
  • 集成和API:支持将AI功能集成到现有应用程序中,以及提供API,以便其他应用程序可以调用AI模型。
  • 安全性和隐私:提供安全性和隐私保护功能,以确保AI应用的数据和模型的安全性。
  • 可视化工具:提供可视化界面,以简化模型训练和部署的管理和监控。

下面以百度BML全功能AI开发平台为例进行介绍(一站式AI开发流程如下),且底层框架内置文心大模型基座

在这里插入图片描述

二、AI项目落地应用流程(以文本分类为例)

2-0、项目开始

任务抽象

  • 项目有多少个任务场景
  • 每个任务场景需要开发多少个模型
  • 部署场景的约束是什么

任务流程介绍

  • 采集/标注数据
  • 选择预训练模型
  • 数据增强策略
  • 超参数调整
  • 模型训练以及评估
  • 分析报告

2-1、项目背景

项目背景介绍

在我们的生活和工作中,很多事情都可以转化为一个分类问题来解决,比如“上班坐公交还是坐地铁”、“吃米饭还是吃面条”等等可以转化为二分类问题。自然语言处理领域也是这样,大量的任务可以用文本分类的方式来解决,比如垃圾文本识别、涉黄涉暴文本识别、意图识别、文本匹配、命名实体识别等,有着极其广泛的应用场景:

  • 投诉信息分类:训练客服投诉信息的自动分类,将每个用户投诉的内容进行分类管理,节省大量客服人力。
  • 媒体文章分类:训练网络媒体文章的自动分类,进而实现各类文章的自动分类。
  • 文本审核:定制训练文本审核的模型,如训练文本中是否含有违规/偏激性质的描述。

中文新闻文本标题分类任务简介

  • 新闻分类是文本分类中常见的应用场景。在传统分类模式下,往往是通过人工对新闻内容进行核对,从 而将新闻划分到合适的类别中。这种方式会消耗大量的人力资源,并且效率不高。采用深度学习的方法可以取得较高的分类精度,是新闻推荐等场景下的基础任务。

使用BML开发平台,注册账号并且开始使用:官方链接
在这里插入图片描述

2-2、数据准备介绍

项目数据

  • 项目任务需要什么样的数据
  • 如何制作高质量的数据集(图片数据:是否存在高度相似、模糊的图片,进行数据的清洗)
  • 数据量不够怎么办(每一类的图片数量是否大于80张?是否需要增加图片以平衡类别数量?进行上采样?)

高质量数据

  • 数据标注正确
  • 尽量提升数据的类别,提升模型的泛化能力
  • 保证训练数据尽量与业务数据接近,各个类别平衡
  • 数据划分正确,测试集验证集不会泄露。
  • 以结果为导向看数据:看哪个类别的数据模型不太擅长识别,即分析badcase,采用数据增强增加数据数量。

数据增强(以图片的数据增强为例)

  • 对比度
  • 色平衡
  • 亮度
  • 锐化
  • 目标框裁剪
  • 标注框旋转
  • 标注框翻转
  • 水平裁剪

BML平台优势

  • 智能标注
  • 多人标注
  • 数据质检报告
  • 支持与数据采集设备直连
  • BML自动化数据清洗:去近似、去模糊、裁剪、旋转、镜像。
  • 自动数据增强。开放超过40种算子,灵活配置

在这里插入图片描述

2-3、项目数据

本文采用中文新闻文本标题分类数据集进行示例:数据

在这里插入图片描述

  • 点击数据集管理,并创建数据集。

在这里插入图片描述

  • 在创建数据集界面,设置好相关信息并点击完成

在这里插入图片描述

  • 填写导入配置信息: 设置数据的标注状态,是否为有标注信息,从本地导入,上传txt文本。之后点击上传txt文本将下载好的数据上传。
    在这里插入图片描述

  • 数据集创建完成后,可以在数据集管理界面看到导入的数据,并可以查看到导入状态、标注状态等信息。
    在这里插入图片描述

2-4、建模调参介绍

建模调参

  • 选择什么样的模型
  • 有没有精度更高的模型
  • 如何调优,进一步提升性能
  • 要不要购买服务器?

BML平台优势

  • 提供预置模型调参、NoteBook建模、自定义作业建模等三种开发方式,满足不同需求的开发者。

在这里插入图片描述

  • 自动调参:以某种高级策略搜索超参组合,自动获得优秀的模型效果
    在这里插入图片描述

2-5、项目的建模调参

  • 选择使用预置模型调参,选择自然语言处理模型,点击创建任务
    在这里插入图片描述
  • 选择类型为文本分类-类型为单文本单标签。
    在这里插入图片描述
  • 创建完成后点击新建运行。
    在这里插入图片描述
  • 添加数据可以选择刚才导入的数据集,也可以选择公开数据集(二分类。数据量较少),需要注意的是,如果选择公开数据集,可以跳过前边的所有步骤。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 在配置模型阶段,可以进行相关预训练模型的配置以及超参数的设置。Tiny版本模型更小,训练速度更快,但是精度略差。之后设置训练资源,以及选择计算节点。提交运行任务。
    在这里插入图片描述
    在这里插入图片描述
  • 训练结束后点击评估报告,可以查看模型的表现情况(由于时间原因,我这里选择的是公开二分类数据进行训练), 点击配置详情可以查看训练时设置的参数,训练可视化可以查看训练过程中的指标变化

在这里插入图片描述
在这里插入图片描述

  • 进一步测试模型可以点击发布按钮进行模型的发布, 发布模型之后可以在发布模型这一列看到已经发布的模型,这时候点击评估报告可以看到模型校验按钮,可以进行模型的校验,输入文本进行校验。

在这里插入图片描述
在这里插入图片描述

2-6、开发部署

部署环境

云端:公有云部署,即将模型部署为在线服务,从而以REST API的方式提供推理预测能力。且公有云部署是最快捷的模型部署方式,不同类型的模型在执行公有云部署时的流程基本一致,当部署后在线API的接口与模型有关。

  • 易于部署迭代
  • 可使用大模型,快速上线
  • 高延迟
  • 成本线性升高

边缘端

  • 算力限制
  • 前期开发部署成本高
  • 低延迟
  • 成本可控

在线服务说明:在线服务当前仅允许一个模型版本处于上线状态,若上线时有其他模型版本在线,则会将当前版本下线并且上线新的版本。服务状态以及其含义说明如下所示:

在这里插入图片描述

在这里插入图片描述

2-7、项目在公有云的部署

  • 在模型仓库中选择发布的模型版本,之后进行在线服务部署。
    在这里插入图片描述
    在这里插入图片描述
  • 在线服务设置:设置服务名称以及接口地址,模型配置阶段设置已经发布的模型以及对应版本,在资源配置阶段设置好需要使用的配置,按照小时计费。
    在这里插入图片描述
  • 创建好在线服务之后,创建应用,之后调用接口进行服务调用

在这里插入图片描述
在这里插入图片描述

  • 之后使用ak、sk以及请求url来进行接口的调用
    在这里插入图片描述
    在这里插入图片描述

附录:调用api代码

import requests
import jsonAPI_KEY = ""
SECRET_KEY = ""def main():url = "https://aip.baidubce.com/rpc/2.0/nlp/v1/sentiment_classify?charset=&access_token=" + get_access_token()payload = json.dumps("")headers = {'Content-Type': 'application/json','Accept': 'application/json'}response = requests.request("POST", url, headers=headers, data=payload)print(response.text)def get_access_token():"""使用 AK,SK 生成鉴权签名(Access Token):return: access_token,或是None(如果错误)"""url = "https://aip.baidubce.com/oauth/2.0/token"params = {"grant_type": "client_credentials", "client_id": API_KEY, "client_secret": SECRET_KEY}return str(requests.post(url, params=params).json().get("access_token"))if __name__ == '__main__':main()

参考文章:
百度BML全功能开发平台官网.
数据集管理.
EasyDL文本价格整体说明.
开发文档训练、部署等.
鉴权认证机制.
服务与支持文档.
示例代码中心.


总结

人有悲欢离合,月有阴晴圆缺,此事古难全。

这篇关于【从0开发】百度BML全功能AI开发平台【实操:以部署情感分析模型为例】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/220167

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

通过Docker Compose部署MySQL的详细教程

《通过DockerCompose部署MySQL的详细教程》DockerCompose作为Docker官方的容器编排工具,为MySQL数据库部署带来了显著优势,下面小编就来为大家详细介绍一... 目录一、docker Compose 部署 mysql 的优势二、环境准备与基础配置2.1 项目目录结构2.2 基

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

Spring AI ectorStore的使用流程

《SpringAIectorStore的使用流程》SpringAI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案,它在AI应用中发挥着至关重要的作用,本文给大家介... 目录一、VectorStore的基本概念二、VectorStore的核心接口三、VectorStore的