当前位置:   article > 正文

Beta版本项目展示_simdep faas

simdep faas

1. 项目亮点-利用SimDep实现大模型功能接入的全流程

大模型风头正盛,怎么给螺柱公司的领导也想抢占风口,在自家的应用上提供一些大模型/AIGC的辅助功能。

这下可把技术部门给愁坏了

  1. 运维人员的苦恼

  • 要部署高算力模型,肯定需要不少机器,配置环境也太麻烦了
  • 一台机器部署一个似乎有点浪费,成本太高怕被降本增效给砍了
  • 一台机器部署几个又怕流量激增把其余的服务给挤压了
  • 如果之后换一个模型该不会和现在已经部署的冲突吧
  • 该不会他们每开发一个就得我亲自来部署一个吧
  1. 开发人员的苦恼

  • 又要加需求,不行得加钱
  • 运维不给root权限,上传模型,部署代码和调试好麻烦
  • 多个模型的话依赖很可能冲突,难崩
  1. 下游业务方的小九九

  • 这个功能是新的实验功能,不大稳定,可不能直接加到我们业务代码里,要是崩了事故可是算我头上
  • 而且新业务迭代会很快,在更新的间隙也得保证稳定性啊
  1. SimDep立大功!

通过调研了SimDep平台后,技术部拟定了一个全流程的部署过程

SimDep平台部署ChatGLM

  1. 运维人员的活

运维人员参考上述文档中的步骤

拉取了巨大的ChatGLM模型

并装入了CUDA运行时

Python的各个包,制作出了可以使用的镜像,并根据仓库demo完成了对应的工程模板对开发人员进行了下发

  1. 开发人员的活

开发人员拿到模板后,进入补充了对应的业务代码

并在Simdep上通过代码和触发器创建了对应的工程函数

将函数信息给到了调用方

  1. 下游业务方的使用

下游业务方拿到了函数信息确定了接口,封装成了可以调用的sdk进行使用

由于是试验性功能,可能偶发崩溃,但是并不会影响到其它功能

同时得益于Simdep的自动启动机制,崩溃能快速重启

上游开发人员也不断进行修复和更新,在更新代码时会采用滚动更新的机制,很少有流量会受到影响

  1. 项目的杀手级功能,与竞品相比最特色的功能展现。

产品名称/功能Webshell调试私有化部署虚拟化支持可视化操作多用户分配用户文件
Simdep
OpenFaaS
AutoDL
传统Kubernetes
竞品为什么没有实现这样的功能
  • OpenFaaS

OpenFaaS是FaaS应用的先行者和标杆之一,拥有31.1K的star,他们不支持Webshell和用户文件管理,可能是因为定位主要放在部署函数上,并不在意开发的过程,希望每一个部署的函数都是调试好的无状态的函数,所以就不支持。

在这里插入图片描述

  • AutoDL

    • AutoDL是一个以租用GPU算力资源为主营业务的平台,这一基本属性就导致了他不可能支持私有化部署,不然算力还怎么卖,同时其面向的使用场景主要是模型训练等高算力场景,不需要将GPU做虚拟化切分后出售,直接出租整颗GPU即可

    在这里插入图片描述

  • Kubernetes

    • Kubernetes平台是容器管理和调度的系统,其重心主要在设计资源管理的机制以及各种治理策略支持,剩下的部分会有人帮他完成的。

在这里插入图片描述

  1. 团队亮点

  2. 团队成员的简介和个人博客地址。

成员角色个人博客地址
@鲁文澔后端Dev+Ops+PMhttps://blog.csdn.net/LGJ1617026914?type=blog
@张峻源DevOps+Testhttps://blog.csdn.net/weixin_45757456?type=blog
@咸永飞前端Devhttps://blog.csdn.net/qq_52042480?type=blog
@孙靖懿后端Devhttps://blog.csdn.net/weixin_46653352?type=blog
@杜品豪前端Devhttps://blog.csdn.net/aaicy64/
@徐楚鸥UI/UXhttps://blog.csdn.net/bonny0510
@刘骁PaperWorkhttps://blog.csdn.net/weixin_46473364?type=blog
  1. 软件工程与代码质量

  2. 项目有完善的文档吗,是否有约定代码规范?

项目的文档与代码规范遵照Alpha版本,对于Beta版本中由Go语言开发的部分,代码规范遵守Go语言官方代码的风格指定。而前端我们新加入了使用ESLint代码规范能力。

  1. 项目是否有出现代码混乱,没有注释,没有详细文档的问题?明年的同学继续开发这个项目,会不会出现以上抱怨?如果一个新学生在一台新机器上想编译并运行你的项目, 请问能顺利完成么?有什么样的文档能指导新学生?

项目未出现上述问题。对于一个新同学想在一台新机器上编译运行我们的项目,我们提供了Simdep FaaS 平台部署教程 逐步地指导小白/新手如何部署我们的平台到自己的服务器上。在经过内部测试人员(k8s小白)的尝试过后,我们认为该份教程已经能够指导新学生对我们的项目进行部署与二次开发。

  1. 项目是否有单元测试,测试用例数目,代码覆盖率等。

针对Beta部分新增的管理员模块,我们对暴露在外的接口进行了单元测试,共计50+测试用例,代码的覆盖率达到了90.59%

在这里插入图片描述

  1. 项目是否采用了CI/CD,并说明理由(可选)

对于Beta版本中Go语言的相关开发,我们采用了单元测试、覆盖率报告和风格检查等CI保证开发质量。

  1. 学到的经验和教训:整个团队在Beta阶段学到了什么,对软件工程有什么样的经验教训?

Beta版本的开发吸取了Alpha版本的教训,在管理方案上改进,前后端的任务分配更加合理,使得整个开发流程比较舒适。但是,由于我们对于Beta版本工作量的错误估计(Beta版本k8s相关的工作量几乎是Alpha版本的一倍还多),使得开发中人力的分配并非达到和谐的状态。这带给我们的经验教训是,从外部视角并依靠相关统计信息的先验来评估工作量,从而做到对任务的适当分配。

  1. 团队项目管理方案

  2. 分工更加细化,拆分出了人力实现

划分出了UI/UX和PaperWork两个职位

  1. 开发小组划分以功能模块的单位
功能模块开发小组成员与分工
Webshell、GPU支持@鲁文澔
原有操作逻辑修改重构后端:@鲁文澔 前端:@咸永飞
管理员模块后端:@孙靖懿 前端:@杜品豪
UI/UX设计@咸永飞 @杜品豪

暂时无法在飞书文档外展示此内容

  1. 团队项目的实际进展

在这里插入图片描述

在这里插入图片描述

  1. 团队分工合作方案

  2. 团队成员如何沟通和对接的
  3. 保留了文档和评论的沟通方式
    在这里插入图片描述

  4. 在租用机器阶段使用向日葵的同屏(功能缺陷)进行交流

    在这里插入图片描述

  5. 促进线下沟通交流,采用自有开发机共同联调

在这里插入图片描述

  1. 团队如何平衡 时间/质量/资源 争取如期完成任务的?
  • 时间资源

Beta版本的周期恰好与计网试验考试、复杂组网、冯如杯、计网考试等时间冲突,这个时间对于开发来说并不是一个好条件,我们没有办法将每一天的时间投入Beta版本的开发中,但是我们规划了选用相对集中的时间对难点功能进行开发,也算是提高了效率,完成了工作。

  • 算力资源

开发阶段:租赁多核心机器(14核28线程+64G)内存,启用虚拟机模拟集群环境开发

GPU开发阶段:中科院软件所提供两台带有GPU的服务器协助开发GPU相关功能

最终联调阶段:自有主机(4核4线程+16G)开放热点接入,通过局域网内ssh连接至主机进行联调

  • 人力资源

在人力资源紧缺的情况下,保证质量的途径,砍功能是最好用的。

  1. Beta阶段的角色和具体贡献

    名字角色团队贡献分贡献
    @鲁文澔后端Dev+Ops+PM54Webshell 功能;文件系统实现;GPU驱动与功能支持;函数服务接口重构;项目Kubernetes移植;Kubernetes部署脚本编写
    @张峻源DevOps+Test52仓库的单元测试,风格检查CI;攥写软工质量测试的设计与实施;攥写测试报告ChatGLM模型的选型与部署实践
    @咸永飞前端Dev53前端项目框架搭建;网页原型设计;文件管理、触发器管理、项目管理等页面
    @孙靖懿后端Dev51实现管理员后端功能;编写管理员单元测试;持续跟进中科院客户
    @杜品豪前端Dev48实现管理员前端功能
    @徐楚鸥UI/UX49完成了首页的设计与实现;用户中心部分
    @刘骁PaperWork43例会日报;产品使用说明书
  2. 面向Alpha版本的总结

  3. 开发

  • 新增的功能(除日志)外全部开发完成,日志功能容易被Webshell功能取代,ROI并不高就没有再跟进。
  • 新一版服务的复杂程度相对第一版提高了很多,包括一些炫酷的新功能、以及全面优化的前端
  • 域名审批已经落实,同时已经被搜索引擎(Bing)收录
  • 按功能模块划分的开发小组、线下联动效果显著
  1. 管理

  • 虽然还是没有全职的PM…
  • 但是这次对前端小组进行了重组,前后端的进度相对统一对齐,没有出现拖延等待的情况
  1. 用户体验

  • 前端体验全面提升
  • 但是由于让功能更强大了,所以使用门槛会更高
  • Beta版本有些仓促,使用文档方面除了部署文档外有所欠缺
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/274276
推荐阅读
相关标签
  

闽ICP备14008679号