Compare commits
No commits in common. "master" and "master" have entirely different histories.
22
LICENSE
22
LICENSE
|
|
@ -1,21 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) <year> <copyright holders>
|
||||
Copyright (c) 2020 若依
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is furnished
|
||||
to do so, subject to the following conditions:
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice (including the next
|
||||
paragraph) shall be included in all copies or substantial portions of the
|
||||
Software.
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
|
||||
OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
|
||||
OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
|
|
|||
311
README.md
311
README.md
|
|
@ -1,312 +1,15 @@
|
|||
## 复杂智能软件统一管理平台
|
||||
### 📖 概述
|
||||
复杂智能软件统一管理平台是一个集数据标注、模型开发、训练部署于一体的综合性AI开发平台。平台提供从数据准备到模型服务的全生命周期管理,支持多模态数据处理、自动化机器学习、分布式训练等功能。
|
||||
|
||||
### 🎯 核心功能模块
|
||||
#### 1. 📊 数据标注中心 (Data Annotation)
|
||||
多模态标注能力
|
||||
图像标注: 支持 bounding box、多边形分割、关键点标注、图像分类
|
||||
|
||||
文本标注: 实体识别、文本分类、情感分析、文本摘要
|
||||
|
||||
音频标注: 语音转写、声音事件检测、说话人识别
|
||||
|
||||
视频标注: 视频动作识别、时序标注、多目标跟踪
|
||||
|
||||
数据管理
|
||||
版本控制: 数据集版本管理,支持回溯和比较不同版本
|
||||
|
||||
数据可视化: 多维数据分布分析和统计可视化
|
||||
|
||||
#### 2. 💻 开发环境 (Development Environment)
|
||||
在线开发工具
|
||||
Jupyter Lab: 完整的Jupyter环境,支持多种kernel
|
||||
|
||||
VS Code Online: 基于浏览器的完整IDE体验
|
||||
|
||||
SSH终端: 直接访问计算节点,支持远程调试
|
||||
|
||||
环境管理
|
||||
预置环境: TensorFlow、PyTorch、MXNet等主流框架环境
|
||||
|
||||
自定义镜像: 支持用户构建和分享自定义环境镜像
|
||||
|
||||
依赖管理: 自动解决环境依赖冲突,支持多版本共存
|
||||
|
||||
协作开发
|
||||
实时协作: 多用户同时编辑和运行代码
|
||||
|
||||
代码分享: 一键分享notebook和代码片段
|
||||
|
||||
代码审查: 集成Git工作流,支持代码评审和合并
|
||||
|
||||
#### 3. 📁 智能资源库
|
||||
##### 数据集管理系统
|
||||
元数据管理:
|
||||
|
||||
数据来源追踪:记录数据采集时间、来源渠道、采集方法
|
||||
|
||||
数据质量评估:自动计算数据质量指标(完整性、准确性、一致性)
|
||||
|
||||
数据血缘追踪:完整记录数据处理和变换历史
|
||||
|
||||
数据权限控制:细粒度的数据访问权限管理
|
||||
|
||||
版本演化:
|
||||
|
||||
数据集版本树:可视化展示数据集版本演进关系
|
||||
|
||||
差异对比:自动分析不同版本间的数据差异
|
||||
|
||||
版本回滚:支持快速回滚到任意历史版本
|
||||
|
||||
变更日志:详细记录每次数据变更的内容和原因
|
||||
|
||||
##### 模型仓库与演化追踪
|
||||
模型元数据管理:
|
||||
|
||||
训练配置存档:完整保存训练超参数、环境配置、代码版本
|
||||
|
||||
性能指标记录:准确记录模型在各测试集上的性能表现
|
||||
|
||||
资源消耗统计:记录训练和推理的GPU/CPU/内存使用情况
|
||||
|
||||
模型签名:基于模型结构和参数的唯一标识生成
|
||||
模型演化
|
||||
父子关系追踪:清晰记录模型迭代的传承关系
|
||||
|
||||
性能对比分析:自动对比不同迭代版本的性能差异
|
||||
|
||||
演化路径优化:基于历史迭代数据推荐优化方向
|
||||
|
||||
模型血缘分析:完整追溯模型从初始版本到最终版本的全过程
|
||||
|
||||
##### 镜像仓库
|
||||
环境镜像管理:
|
||||
|
||||
基础镜像库:预配置的各种深度学习环境
|
||||
|
||||
自定义镜像:用户基于Dockerfile构建的个性化环境
|
||||
|
||||
镜像版本控制:支持镜像版本管理和回滚
|
||||
|
||||
##### 代码库
|
||||
算法模板:
|
||||
|
||||
预置算法:分类、检测、分割、生成等常见任务模板
|
||||
|
||||
最佳实践:经过验证的高效实现方案
|
||||
|
||||
可复现配置:确保代码在不同环境下的可复现性
|
||||
|
||||
#### 4. 🚀 模型训练与管理平台
|
||||
##### 训练流水线
|
||||
可视化工作流设计器:
|
||||
|
||||
拖拽式界面:直观构建复杂训练流水线
|
||||
|
||||
模块化组件:数据预处理、模型训练、评估验证等标准化组件
|
||||
|
||||
条件分支:支持基于训练结果的动态流水线调整
|
||||
|
||||
参数传递:组件间数据和服务的高效传递
|
||||
|
||||
分布式训练支持:
|
||||
|
||||
多机多卡训练:自动分布式数据并行和模型并行
|
||||
|
||||
弹性训练:动态调整训练资源,支持训练过程中扩容缩容
|
||||
|
||||
混合精度训练:自动FP16/FP32混合精度优化
|
||||
|
||||
梯度优化:梯度压缩、异步更新等分布式优化技术
|
||||
|
||||
##### 实验管理系统
|
||||
实验追踪:
|
||||
|
||||
全量记录:超参数、环境变量、代码版本、数据版本
|
||||
|
||||
实时监控:训练指标、资源使用、日志输出的实时采集
|
||||
|
||||
比较分析:多实验结果的并行对比和差异分析
|
||||
|
||||
实验复现:一键复现历史实验的完整环境
|
||||
|
||||
可视化分析:
|
||||
|
||||
训练曲线:损失函数、准确率等指标的可视化展示
|
||||
|
||||
超参数分析:超参数与模型性能的关系可视化
|
||||
|
||||
模型诊断:梯度分布、激活值分布等模型内部状态分析
|
||||
|
||||
数据洞察:训练数据与模型性能的关联分析
|
||||
|
||||
##### 自动机器学习
|
||||
端到端自动化:
|
||||
|
||||
自动特征工程:基于遗传编程的特征自动生成和选择
|
||||
|
||||
模型选择优化:自动尝试多种算法和架构组合
|
||||
|
||||
超参数自动优化:贝叶斯优化、进化算法等智能搜索策略
|
||||
|
||||
神经网络架构搜索:基于强化学习的自动网络结构设计
|
||||
|
||||
智能优化策略:
|
||||
|
||||
多目标优化:同时优化多个性能指标(精度、速度、大小)
|
||||
|
||||
早停机制:智能判断训练趋势,提前终止无效训练
|
||||
|
||||
资源感知:根据可用计算资源自适应调整搜索空间
|
||||
|
||||
迁移学习:利用历史实验数据加速新任务优化
|
||||
|
||||
##### 主动学习系统
|
||||
智能样本选择:
|
||||
|
||||
不确定性采样:选择模型最不确定的样本进行标注
|
||||
|
||||
多样性采样:确保选择样本的代表性和多样性
|
||||
|
||||
预期模型变化:选择能带来最大模型改进的样本
|
||||
|
||||
多模态策略:针对不同数据类型采用不同的选择策略
|
||||
|
||||
迭代优化流程:
|
||||
|
||||
人机协作循环:自动化的标注-训练-评估迭代流程
|
||||
|
||||
进度监控:实时跟踪标注效率和模型提升效果
|
||||
|
||||
成本控制:在标注成本和模型性能间智能平衡
|
||||
|
||||
效果评估:自动评估主动学习策略的有效性
|
||||
|
||||
##### 超参数寻优
|
||||
多策略优化:
|
||||
|
||||
网格搜索: exhaustive搜索,适合小参数空间
|
||||
|
||||
随机搜索: 高效的大参数空间探索
|
||||
|
||||
贝叶斯优化: 基于高斯过程的智能参数搜索
|
||||
|
||||
进化算法: 基于种群进化的全局优化策略
|
||||
|
||||
高级功能:
|
||||
|
||||
热启动优化: 利用历史实验数据加速优化过程
|
||||
|
||||
多保真度优化: 使用低精度训练快速评估参数组合
|
||||
|
||||
并行优化: 同时进行多个参数组合的实验
|
||||
|
||||
条件参数空间: 支持参数间的条件依赖关系
|
||||
|
||||
大规模训练支持
|
||||
弹性计算:
|
||||
|
||||
动态资源分配:根据训练阶段自动调整计算资源
|
||||
|
||||
容错训练:自动处理节点故障,支持训练恢复
|
||||
|
||||
异构计算:同时利用CPU、GPU、专用AI芯片
|
||||
|
||||
成本优化:智能调度降低训练成本
|
||||
|
||||
#### 5. 🌐 应用部署与服务化
|
||||
模型部署
|
||||
一键部署:
|
||||
|
||||
多种服务模式:实时API、批量处理、流式处理
|
||||
|
||||
自动容器化:将模型自动打包为Docker容器
|
||||
|
||||
服务配置:自动生成服务配置和API文档
|
||||
|
||||
服务管理
|
||||
弹性伸缩:
|
||||
|
||||
自动扩缩容:基于流量负载自动调整实例数量
|
||||
|
||||
资源优化:智能分配资源,提高资源利用率
|
||||
|
||||
成本控制:基于使用模式的弹性计费优化
|
||||
|
||||
监控告警
|
||||
服务健康监控:
|
||||
|
||||
性能指标:QPS、延迟、错误率等实时监控
|
||||
|
||||
资源监控:CPU、内存、GPU使用情况监控
|
||||
|
||||
业务指标:自定义业务指标监控和告警
|
||||
|
||||
A/B测试
|
||||
多版本对比:
|
||||
|
||||
流量分配:精确控制不同版本的流量比例
|
||||
|
||||
效果评估:自动统计各版本的业务指标
|
||||
|
||||
智能推荐:基于效果数据自动推荐最优版本
|
||||
|
||||
### 🏗️ 系统架构
|
||||
#### 前端架构
|
||||
微前端架构: 各功能模块独立开发部署
|
||||
|
||||
响应式设计: 支持桌面端和移动端访问
|
||||
|
||||
实时更新: WebSocket实现实时状态更新
|
||||
|
||||
#### 后端架构
|
||||
微服务架构:
|
||||
|
||||
标注服务、训练服务、部署服务等独立微服务
|
||||
|
||||
服务发现和负载均衡
|
||||
|
||||
容错和熔断机制
|
||||
|
||||
#### 工作流引擎:
|
||||
|
||||
基于Argo Workflows的训练流水线
|
||||
|
||||
可视化工作流监控和管理
|
||||
|
||||
工作流版本控制和模板化
|
||||
|
||||
#### 资源管理
|
||||
GPU资源池: 共享GPU计算资源
|
||||
|
||||
弹性配额: 按需分配计算资源
|
||||
|
||||
成本优化: 智能调度降低计算成本
|
||||
|
||||
### 🚀 快速开始
|
||||
环境要求
|
||||
Kubernetes集群 1.20+
|
||||
|
||||
NVIDIA GPU驱动(如使用GPU)
|
||||
|
||||
存储系统(S3兼容存储或NFS)
|
||||
## 复杂智能软件统一管理平台安装部署
|
||||
|
||||
上传安装脚本
|
||||
```
|
||||
step1: 安装mysql
|
||||
|
||||
#### step1: 安装mysql
|
||||
helm install mysql . -n ci4s-test
|
||||
step2: 安装redis
|
||||
#### step2: 安装redis
|
||||
helm install redis . -n ci4s-test
|
||||
step3: 安装nacos
|
||||
#### step3: 安装nacos
|
||||
在第一步安装的mysql中创建nacos-ci4s-config数据库(选UTF-8),并且运行naocs初始化脚本
|
||||
kubectl create -f k8s-3nacos.yaml
|
||||
step4: 安装服务
|
||||
kubectl create -f *.yaml
|
||||
```
|
||||
### 📝 贡献指南
|
||||
我们欢迎社区贡献,欢迎提交PR参与开发。
|
||||
|
||||
### 📄 许可证
|
||||
Apache License 2.0
|
||||
#### step4: 安装服务
|
||||
kubectl create -f *.yaml
|
||||
Loading…
Reference in New Issue