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

【从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开发平台【实操:以部署情感分析模型为例】

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

源码解析FlinkKafkaConsumer支持punctuated水位线发送

背景 FlinkKafkaConsumer支持当收到某个kafka分区中的某条记录时发送水位线,比如这条特殊的记录代表一个完整记录的结束等,本文就来解析下发送punctuated水位线的源码 punctuated 水位线发送源码解析 1.首先KafkaFetcher中的runFetchLoop方法 public…...

vue3学习(五)--- 父子组件传值

文章目录 defineProps普通写法TS写法 defineEmits普通写法TS写法 defineExpose defineProps 和 defineEmits 都是只能在 <script setup> 中使用的编译器宏。他们不需要导入&#xff0c;且会随着 <script setup> 的处理过程一同被编译掉。 defineProps 接收父组件传…...

寻找AI时代的关键拼图,从美国橡树岭国家实验室读懂AI存力信标

超算&#xff0c;是计算产业的明珠&#xff0c;是人类探索未知的航船。超算的发展与变化&#xff0c;不仅代表着各个国家与地区间的科技竞争力&#xff0c;更将作为趋势风向标&#xff0c;影响整个数字化体系的走向。 在目前阶段&#xff0c;超算与AI计算的融合是大势所趋。为了…...

多线程并发篇---第十二篇

系列文章目录 文章目录 系列文章目录一、说说ThreadLocal原理?二、线程池原理知道吗?以及核心参数三、线程池的拒绝策略有哪些?一、说说ThreadLocal原理? hreadLocal可以理解为线程本地变量,他会在每个线程都创建一个副本,那么在线程之间访问内部 副本变量就行了,做到了…...

P7537 [COCI2016-2017#4] Rima

由于题目涉及到后缀&#xff0c;不难想到用 trie 树处理。 将每个字符串翻转插入 trie&#xff0c;后缀就变成了前缀&#xff0c;方便处理。 条件 LCS ( A , B ) ≥ max ⁡ ( ∣ A ∣ , ∣ B ∣ ) − 1 \text{LCS}(A,B) \ge \max(|A|,|B|)-1 LCS(A,B)≥max(∣A∣,∣B∣)−1&…...

SwiftUI Swift CoreData 计算某实体某属性总和

有一个名为 Item 的实体&#xff0c;它有一个名为 amount 的 Double 属性&#xff0c;向你的 View 添加一个计算属性&#xff1a; Code: struct ContentView: View {Environment(\.managedObjectContext) private var viewContextFetchRequest(sortDescriptors: [NSSortDescri…...

docker安装skyWalking笔记

确保安装了docker和docker-compose sudo docker -v Docker version 20.10.12, build 20.10.12-0ubuntu4 sudo docker-compose -v docker-compose version 1.29.2, build unknown 编写docker-compose.yml version: "3.1" services: skywalking-oap:image: apach…...

【Codeforces】 CF1097G Vladislav and a Great Legend

题目链接 CF方向 Luogu方向 题目解法 首先一个套路是普通幂转下降幂&#xff08;为什么&#xff1f;因为观察到 k k k 很小&#xff0c;下降幂可以转化组合数问题&#xff0c;从而 d p dp dp 求解&#xff09; 即 f ( X ) k ∑ i 0 k { k i } i ! ( f ( X ) i ) f(X)^k…...

力扣每日一题36:有效的数独

题目描述&#xff1a; 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 &#xff0c;验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。&#xff08;请参考…...

钉钉数字校园小程序开发:开启智慧教育新时代

随着信息技术的快速发展和校园管理的日益复杂化&#xff0c;数字校园已成为现代教育的重要趋势。钉钉数字校园小程序作为一种创新应用&#xff0c;以其专业性、思考深度和逻辑性&#xff0c;为学校提供了全新的管理、教学和沟方式。本文从需求分析、技术实现和应用思考三个方面…...

数据结构与算法--其他算法

数据结构与算法--其他算法 1 汉诺塔问题 2 字符串的全部子序列 3 字符串的全排列 4 纸牌问题 5 逆序栈问题 6 数字和字符串转换问题 7 背包问题 8 N皇后问题 暴力递归就是尝试 1&#xff0c;把问题转化为规模缩小了的同类问题的子问题 2&#xff0c;有明确的不需要继续…...

矩阵键盘行列扫描

/*----------------------------------------------- 内容&#xff1a;如计算器输入数据形式相同 从右至左 使用行列扫描方法 ------------------------------------------------*/ #include<reg52.h> //包含头文件&#xff0c;一般情况不需要改动&#xff0c;头文件包含…...

unity 实现拖动ui填空,并判断对错

参考&#xff1a;https://ask.csdn.net/questions/7971448 根据自己的需求修改为如下代码 使用过程中&#xff0c;出现拖动ui位置错误的情况&#xff0c;修改为使用 localPosition 但是吸附到指定位置却需要用的position public class DragAndDrop : MonoBehaviour, IBeginDr…...

《机器学习》第5章 神经网络

文章目录 5.1 神经元模型5.2 感知机与多层网络5.3 误差逆传播算法5.4 全局最小与局部最小5.5 其他常见神经网络RBF网络ART网络SOM网络级联相关网络Elman网络Boltzmann机 5.6 深度学习 5.1 神经元模型 神经网络是由具有适应性的简单单元组成的广泛并行互连的网络&#xff0c;它…...

FPGA project : flash_erasure

SPI是什么&#xff1a; SPI&#xff08;Serial Peripheral Interface&#xff0c;串行外围设备接口&#xff09;通讯协议&#xff0c;是Motorola公司提出的一种同步串行接口技术&#xff0c;是一种高速、全双工、同步通信总线&#xff0c;在芯片中只占用四根管脚用来控制及数据…...

AC修炼计划(AtCoder Regular Contest 166)

传送门&#xff1a;AtCoder Regular Contest 166 - AtCoder 一直修炼cf&#xff0c;觉得遇到了瓶颈了&#xff0c;所以想在atcode上寻求一些突破&#xff0c;今天本来想尝试vp AtCoder Regular Contest 166&#xff0c;但结局本不是很好&#xff0c;被卡了半天&#xff0c;止步…...

Android---Android 是如何通过 Activity 进行交互的

相信对于 Android 工程师来说&#xff0c;startActivity 就像初恋一般。要求低&#xff0c;见效快&#xff0c;是每一个菜鸟 Android 工程师迈向高级 Android 工程师的必经阶段。经过这么多年的发展&#xff0c;startActivity 在 google 的调教下已经变得愈发成熟&#xff0c;对…...

【论文解读】单目3D目标检测 MonoCon(AAAI2022)

本文分享单目3D目标检测&#xff0c;MonoCon模型的论文解读&#xff0c;了解它的设计思路&#xff0c;论文核心观点&#xff0c;模型结构&#xff0c;以及效果和性能。 目录 一、MonoCon简介 二、论文核心观点 三、模型框架 四、模型预测信息与3D框联系 五、损失函数 六、…...

Angular知识点系列(5)-每天10个小知识

目录 41. Angular的路由守卫42. 处理文件的上传和下载43. Angular的动画系统44. 使用第三方库和选择评估45. 性能优化46. AOT和JIT编译47. 处理响应式布局和适配不同屏幕尺寸48. Angular的国际化&#xff08;i18n&#xff09;49. Angular的PWA开发50. 使用Angular Material或其…...

Llama-3.2V-11B-cot真实案例展示:OCR后图像逻辑推理生成可验证结论

Llama-3.2V-11B-cot真实案例展示&#xff1a;OCR后图像逻辑推理生成可验证结论 1. 模型能力概览 Llama-3.2V-11B-cot是一个突破性的视觉语言模型&#xff0c;它不仅能理解图像内容&#xff0c;还能进行系统性推理并生成可验证的结论。这个基于LLaVA-CoT论文实现的模型&#x…...

接口测试--Day5

Pytest是一个流行的测试框架&#xff0c;广泛应用于单元测试、集成测试和功能测试。它具有简单、灵活、可扩展的特点&#xff0c;提供了丰富的功能和插件儿生态系统&#xff0c;它简化了测试的编写和组织拍&#xff0c;通过丰富的功能和简洁的语法&#xff0c;让测试变得容易灵…...

Unity 实现Slot Machine两种动态停止效果的实战解析

1. 老虎机效果设计核心思路 老虎机作为经典游戏机制&#xff0c;其动态停止效果直接影响玩家的游戏体验。在Unity中实现这类效果时&#xff0c;我们需要考虑两个关键因素&#xff1a;物理真实感和心理预期管理。缓慢减速效果通过逐渐降低转速营造紧张氛围&#xff0c;而惯性回弹…...

A3:高级文本分析能力

A3&#xff1a;高级文本分析能力 【免费下载链接】Neosgenesis https://dev.to/answeryt/the-demo-spell-and-production-dilemma-of-ai-agents-how-i-built-a-self-learning-agent-system-4okk 项目地址: https://gitcode.com/gh_mirrors/ne/Neosgenesis 适配问题类型&…...

智能处理与开源工具:突破传统背景抠图限制的实时解决方案

智能处理与开源工具&#xff1a;突破传统背景抠图限制的实时解决方案 【免费下载链接】obs-backgroundremoval An OBS plugin for removing background in portrait images (video), making it easy to replace the background when recording or streaming. 项目地址: https…...

Wangle客户端开发实战:从零开始构建高效网络应用

Wangle客户端开发实战&#xff1a;从零开始构建高效网络应用 【免费下载链接】wangle Wangle is a framework providing a set of common client/server abstractions for building services in a consistent, modular, and composable way. 项目地址: https://gitcode.com/g…...

SQL 基础及 MySQL DBA 运维实战 - 6:Mycat代理技术

MySQL DBA运维实战&#xff1a;集群与代理技术深度解析 引言 在现代互联网应用中&#xff0c;数据库的高可用性、可扩展性和性能是企业级应用的核心需求。随着业务量的增长&#xff0c;单一数据库服务器往往无法满足需求&#xff0c;此时数据库集群和代理技术成为解决这些问题…...

5大核心能力解析:YimMenu如何重塑GTA5游戏体验与安全防护

5大核心能力解析&#xff1a;YimMenu如何重塑GTA5游戏体验与安全防护 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/Y…...

关键词搜索和SEO优化有什么关系_常见的关键词搜索误区有哪些

<h2>关键词搜索和SEO优化有什么关系</h2> <p>在当前数字化时代&#xff0c;网站流量的获取和保持已成为每一个企业和个人的重要目标。在这其中&#xff0c;关键词搜索和SEO优化是两个密不可分的环节。它们之间的关系不仅丰富了我们的网站内容&#xff0c;还帮…...

基于机器学习的驾驶疲劳检测,应该如何入门?

基于机器学习的驾驶疲劳检测可以说是本科/硕士毕设中性价比很高的一个题目&#xff1a;它既有充足的开源参考资料&#xff0c;又容易做出可视化的Demo&#xff0c;答辩时也比较讨喜。 我来帮你把这个看似庞大的项目拆解成流水线。 你不需要去手搓底层的神经网络&#xff0c;只…...