目前基于Hadoop集群、GPU集群的大数据与人工智能应用是市场主流;各公司存在各种部署方案,个性化改造方案;各种结构化数据挖掘与智能化、非结构化数据挖掘与智能应用、图片、视频的处理等,包括最近流行的大模型方案,都需要底层的软硬件支撑。各公司一般是取其中一部分进行开发部署运维,无彻底整合到一起的实践。根据个人经历与思考,完全基于开源软件(不包含GPU驱动),构造此完全整合方案。 一、主要硬件: 1、主机:Hadoop大存储主机、GPU主机、计算型/内存型vm宿主机(或直接云主机,基于OpenStack平台)。 2、额外云存储:COS存储、CFS存储 3、网络:万兆、十万兆网络、IB网络 二、主要软件: 1、Hadoop全家桶: (1) 数据采集:kafka (2) 离线计算:MPP、Hadoop (3) 流计算:Flink、Spark (4) 数据管理:HDFS、Hive、MPP、HBASE、elasticSearch、apache Kylin、ArangoDB (5) 资源调度:Hadoop yarn、kubernets、zookeeper 2、k8s全家桶+GPU驱动相关开源软件。 (1) Kubernets: 环境设置:设置节点名称,时区,安装依赖包,关闭swap、防火墙。 容器运行时:docker或者containerd,本人习惯用docker。 HA负载均衡:安装keepalived和haproxy 安装软件:Kubeadm (2) GPU或其他边端设备、类GPU算力: GPU驱动:Tesla系列NVIDIA显卡,需要安装官网驱动 k8s驱动插件:nvidia-docker、nvidia-device-plugin (3) DevOps:jenkins、Git 3、各种人工智能相关训练与推理软件。 (1) 开发训练平台:SmartIDE 包含go、python、java、C++等开发环境,结合cuda运算平台 交互环境:Jupyer (2) 推理平台:Seldoncore (3) 计算框架:TensorFlow、pyTorch (4) 标注工具: 语音标注工具:praat、Transcriber和label studio NLP标注工具:brat、doccano 图片标注工具:labelme、LabelIMG、cvat 视频标注工具:handbrake,shotcut、FFmpeg 结构化数据标注工具:可添加新表或者备注方式 4、辅助软件 数据库:Redis、MySQL(MariaDB)、MongoDB、PostgreSQL 自动化安装运维工具:ansible 对象存储软件:minIO(主要用于DevOps) 文件系统软件:juiceFS(主要用于大模型训练) 私有化软件源:yum源、pip源、maven源、apt源 三、主要涉及应用与功能: 1、涉及集群:Hadoop存储计算集群、MPP存储计算集群、GPU存储计算/计算 集群。 Hadoop集群可划分为:主要作为存储、主要作为计算、兼顾存储与计算 三种集群。 配置可根据需求有不同倾向:(1)大容量低速存储:挂载大容量、多块机械硬盘;(2)主要用于快速计算:需要硬盘采用ssd、NVME、高速机械 ,大容量内存主机;(3)兼顾存储与计算:可考虑单一机型或者高性能主机与低性能主机混搭。 MPP存储计算集群:可考虑采用Hadoop底座,或专门MPP软件,推荐采用大容量内存、高速存储硬盘(预算与业务时效的平衡,速度与带宽来说:NVME硬盘>普通SSD>高速机械硬盘)。目前数据中心一般采用GPU+高性能CPU+大容量内存+sas机械硬盘,硬盘相对便宜,性能总体偏低。 GPU存储计算集群:主要场景是 存储计算可一体设计使用,或优先该方式的场景,如大模型训练,高速、高吞吐、高IOPS等要求,采用GPU物理主机上安装NVME硬盘组成分布式存储,存储计算一体化,会极大提高运行效率。 GPU计算集群:主要场景是 存储、计算分开管理,对大规模GPU协作无需求的场景,如10卡以内的模型训练。 2、涉及平台:Hadoop平台、DevOps平台、人工智能模型训练/推理平台、数据管理平台。 (1) Hadoop大数据平台,包含Hadoop、hive、spark等基本功能,按需安装hbase等功能。 (2) DevOps:k8s底座+minio存储+Jenkins,构成各种pipline,用于代码编译打包。 (3) 人工智能训练/推理平台:基于k8s底座,训练采用用户启动预定义镜像或自定义开发镜像模式;推理采用准备好的程序与模型,通过k8s启动推理服务。 (4) 数据管理涉及大数据集群的数据管理以及cfs、cos存储上的图片、文本、视频等数据管理。 3、数据:数据管理;数据采集(导入),数据清洗,ETL,数据入湖,数据清单管理,权限管理。 4、标注功能实现:可实现对文本文档、图片、视频、语音的标注、预标注。 5、模型:模型生成、模型存储与管理 6、推理:引入用户自定义代码+模型,提供ai服务 7、镜像:镜像生成、存储、管理。提供Hadoop集群镜像、容器自身镜像、GPU集群镜像、DevOps相关base镜像或用户自定义镜像。 8、代码:Git代码仓库管理、代码存储。 9、可拥有私有软件源:yum源、pip源、maven源、apt源,可设置按需更新、定时更新。 存在不足: 1、账号体系难统一,引入开源账号管理体系也不好用。 2、涉及软件多,开发运维成本高。 3、若引入硬件类型较多,运维成本增加。
|