首页 > 编程语言 >【开源】一款基于JAVA的国产化自主可控的人工智能开源平台

【开源】一款基于JAVA的国产化自主可控的人工智能开源平台

时间:2025-01-19 15:21:42浏览次数:1  
标签:JAVA 国产化 训练 模型 平台 开源 算法 数据 标注

一、项目简介

人工智能开源平台是由联合国内顶尖科研力量共同打造的国产化自主可控的人工智能开源平台。平台面向人工智能研究中的数据处理、算法开发、模型训练、算力管理和推理应用等各个流程的技术难点,研发了包括一站式算法开发平台、高性能分布式深度学习框架、先进算法模型库、视觉模型炼知平台、数据可视化分析平台等一系列平台及工具,在模型高效分布式训练、数据处理和可视分析、模型炼知和轻量化等技术上形成独特优势,目前已在产学研等各领域近千家单位及个人提供AI应用赋能。「一站式开发平台」面向 AI 模型生产的生命周期,提供了数据处理(数据集管理、智能标注和数据增强)、模型开发、模型训练和模型管理等功能,方便用户一站式构建 AI 算法。

二、平台优势

一站式开发:为用户提供一站式深度学习开发功能,通过智能数据处理、便利的模型开发和模型训练,打通深度学习全链路;

集成先进算法:除了囊括常规AI算法外,之江天枢还集成了多领域的独家算法,提供业界领先性能。

灵活易用:除了一站式深度学习开发平台,亦提供可视化和动静结合编码方式,调试灵活,小白亦可快速上手。
性能优越:集成自主研发的分布式训练平台,提供高性能的分布式计算体验,节省训练成本和训练时间。

三、系统架构

四、业务流程

数据管理:用户可以上传训练数据集并进行管理。如果要将原始数据集用于进行模型训练,可在平台上对所上传的数据集进行如图像分类、目标检测等类型的数据标注。

算法开发:为开发者提供一种在线编程的环境,该环境中包含了一些常用深度学习框架,允许开发者在线创建、编辑、调试、保存自己的算法,进而可以进行后续的模型训练工作。

模型训练:使用标注完成的数据集以及开发完成的算法,在 CPU 或者 GPU 上进行多次反复迭代与参数调优训练,最终得到特定的结果模型。

模型管理:将通过平台模型炼知、TADL 自动机器学习、平台训练完成或自行上传的模型以版本形式进行存档、管理。

部署推理:提供模型部署推理功能,支持在线服务和批量服务,对模型管理中指定格式的模型进行部署,支持多种深度学习框架的模型及自定义推理脚本,部署后可进行在线推理或批量推理。

五、目录结构

├── dubhe_data_process            数据处理服务
├── dubhe-server                  后端服务 
├── dubhe-visual-server           可视化服务 
├── webapp                        前端服务 
├── dataset-util                  数据集上传脚本服务
├── distribute-train-operator     分布式训练OP服务
├── tianshu_serving               天枢serving服务
├── model_compress                模型压缩服务
├── model_measuring               模型度量服务
├── model-converter               模型转换服务

六、功能介绍

6.1 数据管理

数据集管理:数据管理模块集成了数据导入、数据筛选、数据标注、数据增强、版本管理等一站式数据服务。提供自动标注、数据增强等一系列数据加工方案,拥有高质量的数据标注处理算法,输出高品质的数据,支持下游 AI 数据训练获得更优的训练效果。

标签组管理:标签组分为「预置标签组」和「普通标签组」,标签组类型分为「视觉标签组」、「文本标签组」「表格标签组」、「音频标签组」。

标注服务管理:数据标注服务提供了自定义模型部署,开发者可以通过修改算法脚本来完成,还可以在模型代码中加入自己的代码,然后手动运行以此来构建需要标注的模型服务。

6.2 算法开发

Notebook:Notebook 是一种交互式编程环境,AI 开发者可以在云端进行机器学习的开发。该模块集成了开源的 JupyterLab ,可支持开发者在线编辑、调试、运行代码,同时预置了 OneFlow,PyTorch,TensorFlow 等多种深度学习框架,用户可在多种框架之间自由切换。每个 Notebook 都是一个独立的编程环境,用户可以对 Notebook 实现创建、打开、停止、启动、删除等操作,算法开发完成之后,还可以将其保存到「算法管理」的「我的算法」中,从而可以进行后续的训练工作。

算法管理:算法管理用于保存一些平台预置的算法以及用户自己开发的算法。对于已经保存的算法,用户可以进行在线编辑、创建训练任务、下载、 fork 、删除等操作。

6.3 自主机器学习

自动机器学习模块将与模型、优化、评价有关的重要步骤进行自动化地学习, 使得机器学习模型无需人工干预即可被应用。

训练管理

训练服务:为每一个人工智能的训练任务都单独分配了一个虚拟容器去进行训练,各个训练任务之间相互隔离,互不干扰,提高了训练任务的可靠性。训练任务支持 TensorFlow、OneFlow、PyTorch 等多种深度学习框架,使用预置算法或用户自定义算法进行云端训练。支持训练任务的多版本控制,用户可基于现有版本进行修改,动态调整算法超参数,从而得到一个满意的模型。

可视化任务:可视化功能提供了训练任务执行过程中及完成后的模型结构、标量数据、媒体数据、统计分析、降维分析、超参分析、异常检测及用户定制数据的可视化展示功能。通过可视化功能中展示的模型结构、数据及参数,可以为深度学习模型训练及调优提供直观的参考。

镜像管理

镜像是算法的载体。管理员可对「我的镜像」进行上传、修改、删除等操作,普通用户只能查看。

模型管理

模型列表:模型管理可以导入训练生成的模型,并对模型的版本迭代进行统一管理。用户可以从本地上传模型文件,也可以从「训练管理」页面中导入。用户可在此进行模型的管理,支持的操作包括创建模型、查询模型、历史版本、下载、编辑、删除等。

模型优化:「一站式开发平台」研发了用于计算机视觉应用领域和自然语言处理应用领域的模型优化技术。计算机视觉应用领域主要包括通道剪枝、随机剪枝等模型压缩技术;自然语言处理应用领域涉及多种知识蒸馏技术;本平台另一个特色是支持服务器端的量化部署。。

云端部署

在线服务:完成模型训练及模型格式转化后,对于「模型管理」中保存的指定格式模型,用户可在云端部署模块对模型进行部署。

批量服务:完成模型训练及模型格式转化后,对于「模型管理」中保存的指定格式模型,用户可在云端部署模块对模型进行部署。。

模型炼知

模型重组:模型重组是通过“(模型⨂模型)+数据(无/少标注)-->定制化模型”方式获得学生模型,解决“大量数据” “专业标注”与“模型浪费”问题,实现按需定制、灵活可配的模型重用。

模型炼知:「模型炼知」是一种基于知识重组、知识蒸馏、神经网络剪枝等技术的模型定制化方式。在传统的模型训练流程中,针对每一个待解决的任务,我们需要完成数据收集、标注、预处理、模型训练等一系列步骤,并由此得到对应的单任务模型。在互联网上,存在大量的公开可获得预训练模型,炼知技术通过重用预训练模型来为用户定制新模型。

七、UI展示

项目地址:

https://gitee.com/zhijiangtianshu/Dubhe.git

标签:JAVA,国产化,训练,模型,平台,开源,算法,数据,标注
From: https://www.cnblogs.com/o-O-oO/p/18679596

相关文章

  • 【华为OD-E卷 - 最长连续子序列 100分(python、java、c++、js、c)】
    【华为OD-E卷-最长连续子序列100分(python、java、c++、js、c)】题目有N个正整数组成的一个序列。给定整数sum,求长度最长的连续子序列,使他们的和等于sum,返回此子序列的长度,如果没有满足要求的序列,返回-1输入描述第一行输入是:N个正整数组成的一个序列第二行输入是:给定......
  • 【华为OD-E卷 - 找出两个整数数组中同时出现的整数 100分(python、java、c++、js、c)】
    【华为OD-E卷-找出两个整数数组中同时出现的整数100分(python、java、c++、js、c)】题目现有两个整数数组,需要你找出两个数组中同时出现的整数,并按照如下要求输出:有同时出现的整数时,先按照同时出现次数(整数在两个数组中都出现并目出现次数较少的那个)进行归类,然后按照出......
  • 【华为OD-E卷 - 计算疫情扩散时间 100分(python、java、c++、js、c)】
    【华为OD-E卷-计算疫情扩散时间100分(python、java、c++、js、c)】题目在一个地图中(地图由n*n个区域组成),有部分区域被感染病菌。感染区域每天都会把周围(上下左右)的4个区域感染。请根据给定的地图计算,多少天以后,全部区域都会被感染。如果初始地图上所有区域全部都被感......
  • java 抽象类
    ​父类中的方法,被它的子类们重写,子类各自的实现都不尽相同。那么父类的方法声明和方法主体,只有声明还有意义,而方法主体则没有存在的意义了(因为子类对象会调用自己重写的方法)。换句话说,父类可能知道子类应该有哪个功能,但是功能具体怎么实现父类是不清楚的(由子类自己决定),......
  • 【开源】一款功能全面的商用级溯源防伪系统,适用于各种溯源场景
    项目介绍HiPi是一款开源、功能全面的商用级溯源防伪系统,一物一码系统,适用于各种溯源场景的大、中、小、微规模企业。系统能够追踪记录产品的生命周期各个环节,并将产品信息保存在系统中,实现品牌保护、产品营销、防止假冒伪劣产品、防窜货、产品追踪溯源等功能。应用场景快销品行......
  • Java-抽象方法
    抽象方法:●抽象方法:将共性的行为(方法)抽取到父类之后。由于每一个子类执行的内容是不一样,所以,在父类中不能确定具体的方法体。该方法就可以定义为抽象方法。●抽象类:如果一个类中存在抽象方法,那么该类就必须声明为抽象类●抽象方法的定义格式:publicabstract返回值类型方......
  • java—接口
    接口:是一种规则,是对行为的抽象。接口的定义和使用接口用关键字interface来定义publicinterface接口名{}接口不能实例化接口和类之间是实现关系,通过implements关键字表示publicclass类名implements接口名{}接口的子类(实现类)要么重写接口中的所有抽象方法要么是抽......
  • leetcode——三数之和(java)
    给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。示例1:输入:nums=[-1,0,1,2,-1,-4]输......
  • Java初学者笔记-05、集合框架
    集合体系集合是可变长的。Collection:代表单列集合,每个元素包含一个值。Map:代表双列集合,每个元素包含两个值。Collection集合List系列集合:添加的元素是有序、可重复、有索引。ArrayList、LinekdList:有序、可重复、有索引。Set系列集合:添加的元素是无序、不重复、无索......
  • 基于java+springboot的搞笑视频分享浏览小程序
    课题说明以下是基于Java+SpringBoot的搞笑视频分享浏览小程序的介绍:这个小程序利用Java语言和SpringBoot框架开发,为用户打造了一个轻松有趣的搞笑视频分享和浏览平台。用户可以在平台上上传各种搞笑视频,系统会对视频进行存储和管理,包括对视频的分类(如短剧、段......