函数计算帮助领健为“看牙”注入AI活力

news/2024/11/19 17:40:01/文章来源:https://www.cnblogs.com/Serverless/p/18197724

作者:姜伟,龚杨,周韬,王彬

客户介绍和业务背景

领健成立于2015年,总部位于上海,并在全国设立了20余家分支机构,拥有100项软件著作权、91项注册商标、35项发明专利,致力为口腔诊所、医美机构等消费医疗企业提供经营管理一体化解决方案。

领健拥有 ISO/IEC27001 国内国际双认证、公安部等保三级认证及工信部通保三级认证,全面赋能消费医疗机构的数字化经营,助力机构完成开源、避险、节流、增效的健康经营闭环。

领健创新 SaaS + X 模式,旗下拥有 e 看牙软件、e 看牙商城、领健悦见、领健悦容等品牌。e 看牙软件为口腔机构提供单店/连锁管理、电子病历、客户关系管理、进销存管理、智能营销、BI 商业智能分析、影像集成等覆盖口腔机构业务全流程的 SaaS 软件服务;e 看牙商城链接产业链上游1000+国内外知名耗材品牌,严选近2万+耗材商品,为口腔机构提供一站式耗材采购服务;领健悦见以“精确诊断·精准正畸·精准监控”为理念,是新一代隐形正畸解决方案服务商,现已推出悦见成人矫治、悦芽儿童早期矫治等多个产品系列。

领健作为业界领先的口腔机构数智化服务平台,在技术和服务上始终追求卓越。领健为口腔诊所提供了影像智能分析系统AI看牙,通过算法可对消费者的全景片、口内照、侧位片等影像资料进行分析,识别牙齿问题,医生仅需简单二次复合即可生成口腔检查报告,让患者全面了解口腔问题,牙齿检查数据与账单数据打通,及时了解商机的跟进速度与成交转化效果。

平台特点及业务痛点

口腔诊所的上班时间比较固定,一般都在08:30~18:00,节假日会更加繁忙一点,时间拉长到一个月,可以看到明显的波峰波谷。

领健早期在云上购买了一波 GPU 机器用于算法的部署,提供对外服务,但在使用过程中遇到了不少问题,主要有以下几个:

  • 资源利用率低,成本浪费:采用按月持有机器,在下班时间没有业务流量,由于考虑到可能的业务高峰,持有多台 GPU 机器,平峰期利用率不高。总体资源利用率维持在5%左右。

  • 高峰期业务响应慢:应对突发流量能力不足,超出预期的流量会导致服务负载加大,请求响应时间变长,直接影响终端客户的使用体验,在业务最高峰,曾经出现单个请求排队10分钟的情况。

  • 监控和排查能力不足:正畸算法在持续的迭代,在迭代部署的过程中,会出现请求偶发卡顿和程序报错的情况,但由于本身监控和告警能力不足,没法第一时间主动感知,常常需要终端使用门店反馈情况,降低了主动优化算法的效率。

除此之外,频繁的运维动作和持续的的平台建设,也给运维同学带来很多的日常工作,同时也加大了系统的不稳定因素,加上 GPU 技术在近年发展迅猛,领健技术同学也需要在这个领域持续投入不少精力,对于以上这些问题,领健技术同学开始在云上寻求更好,更高效的解决方案。

解决方案

领健技术团队一直在寻求更好的解决方案,期望在成本,服务体验,运维效率上都能得到改善,在对比了阿里云的多个云产品之后,最终将重点放在了函数计算上。

阿里云函数计算是事件驱动的全托管计算服务。通过函数计算,客户无需管理服务器等基础设施,只需编写代码并上传。函数计算会准备好计算资源,以弹性、可靠的方式运行代码,并提供日志查询、性能监控、报警等功能。

函数计算除支持传统的 CPU 算力,也支持 GPU 的算力,采用服务器无感知计算的理念,通过提供一种按需分配的 GPU 计算资源,有效地解决原有 GPU 长驻使用方式导致的低资源利用率、高使用成本和低弹性能力等痛点问题。为客户提供更加便捷、高效的 GPU 计算服务,有效承载 AI 模型推理、AI 模型训练、音视频加速生产、图形图像加速等加速工作负载。

函数计算 GPU 资源架构图如下:
image.png

函数计算 GPU 采用虚拟化技术,做到算力,显存,故障的强隔离,100%兼容原生应用。函数计算通过两级的资源池,保证算力的快速供给,函数计算 GPU 资源池平台持有,客户只需要按量使用,无需为闲置资源买单。

函数计算 GPU 资源请求模型如下:
image.png

当 GPU 函数部署完成后,客户可以通过配置预留 GPU 实例的弹性伸缩策略开启预留 GPU 实例,以提供实时推理应用场景所需的基础设施能力。函数计算平台将根据客户配置的伸缩指标进行预留 GPU 实例的 HPA ,客户请求将优先分配至预留 GPU 实例进行推理服务,平台完全遮蔽冷启动,业务保持低延迟响应。除此之外,平台集成了可观测,日志,监控,告警等系统,以简化问题的排查效率和日常的运维工作。

最终,领健技术团队经过一系列验证之后,在函数计算的最终架构图如下:
lQDPJxzdfgudwK3NCrzNClCw3Aa6Ae5etiAGKwG9FmJlAA_2640_2748.jpg
架构图非常简单,业务流程如下:

  1. 客户将正畸算法做成标准镜像放入阿里云镜像仓库 ACR;
  2. 当前端有正畸的调用请求时,需要初始化实例时,FC 通过拉取 ACR 中镜像以及底层 GPU 资源完成实例的初始化工作,完成算法应用的部署;
  3. 正畸计算请求发送至新创建的 GPU 应用上进行计算,并返回结果;

成果和优势

通过将 GPU 计算负载放到函数计算,领健技术团队很好的解决了先前遇到的使用问题:

  • 成本优化:函数计算按量付费的计费方式,真正做到了按照实际请求处理时间收费,最大限度的降低了资源持有的成本,相比早前的按月持有 GPU 资源,函数计算的费用降低了90%左右,达到了很好的降本效果。
  • 高峰期业务体验:通过业务高峰期的提前资源拉起和突发资源的按量弹性,做到了后端资源及时的供给,采用函数计算部署后,门店再也没有出现长时间排队的情况,大大提升了使用体验。
  • 高效运维:通过函数计算内置的监控,日志和告警系统,可以实时关注业务的大盘运行情况,通过配置监控告警,在异常时,可以第一时间收到异常推送,并借助完善的日志系统和函数计算专业的技术团队,及时定位并解决程序问题。

除此之外,采用函数计算部署,给了整个系统很好的伸缩性,对于将来业务的增长,也不必担心核心的 GPU 资源规划问题,这一点也为业务的持续发展打下了坚实的基础。

总结&展望
通过将核心应用迁移到函数计算平台,领健技术团队不仅成功应对了业务增长带来的挑战,还显著优化了成本结构,同时加速了开发和运维流程,实现了前所未有的敏捷性和效率。

展望未来,领健技术团队将继续深化与函数计算的合作。随着公司业务版图的不断扩展,预见更多的应用场景将得益于函数计算的弹性伸缩、低成本及高效率的优势。领健技术团队计划在新业务部署时,优先考虑采用函数计算架构,以期进一步缩短产品上市时间,提升用户体验,并持续降低运营成本。

阿里云函数计算也期待与领健共同探索更高效、更智能的医疗服务解决方案,助力医疗健康产业的数字化转型。相信在双方的紧密合作下,领健能够更好地服务于患者与医疗从业者,推动行业向更加智能化、高效化的方向迈进。

更多内容关注 Serverless 微信公众号(ID:serverlessdevs),汇集 Serverless 技术最全内容,定期举办 Serverless 活动、直播,用户最佳实践。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/707739.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】《VMware17搭建Ubuntu.22.04-Rust开发环境》

下载VMware17安装包 下载链接: 创建虚拟机之后都默认就可以了。进入系统设置登录账号和密码以及修改下语言,剩余都默认即可。 设置中文界面设置中文输入法接下来开始设置输入法切换快捷键设置 使用 Ctrl + Alt + T 打开终端,输入 ibus-setup重启,看一下是否有输入法信息尝试…

多线程下使用List中的subList和remove方法产生的 java.util.ConcurrentModificationException 异常

在说多线程操作List之前,我们先看下单线程下产生的问题: 单线程List<Integer> listA=new ArrayList<>(); listA.add(1); listA.add(2); listA.add(3); listA.add(4); listA.add(5); listA.add(6);for(Integer a:listA…

KubeKey v3.1 发布:快速自定义离线安装包

日前,KubeKey v3.1 正式发布。该版本主要对离线场景部署、离线包制作以及向 Kubernetes v1.24+ 升级进行了优化。 KubeKey 简介KubeKey 是 KubeSphere 社区开源的一款高效集群部署工具,运行时默认使用 Docker,也可对接 Containerd、CRI-O、iSula 等 CRI 运行时,且 ETCD 集群…

DashVector + ModelScope 玩转多模态检索

本教程演示如何使用向量检索服务(DashVector),结合ModelScope上的中文CLIP多模态检索模型,构建实时的“文本搜图片”的多模态检索能力。作为示例,我们采用多模态牧歌数据集作为图片语料库,用户通过输入文本来跨模态检索最相似的图片。 整体流程主要分为两个阶段: 图片数…

element-plus table部分列根据接口返回key展示

实现效果根据刷选年份返回对应年份作为部分列1. 处理接口数据接口返回数据格式需要处理成   处理过程data.message && data.message.forEach((item:any)=>{let obj = {}for(var key in item){if(Number(key)){Object.assign(obj, {[key]: item[key]})}item.data =…

设计模式05----适配器模式

适配器模式: 适配器模式(Adapter Pattern)是一种结构型设计模式,它允许不兼容的接口协同工作。这种模式涉及到一个单独的类,该类负责将一个类的接口转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以一起工作。 例如: USB转接口就是适配器,它能够将各种不同类…

基于时间的断路器

1 新建一个微服务模块 我们在cloud-payment-service模块中新增一个controller以提供给其它微服务模块调用。 @RestController public class PayCircuitController {@GetMapping("/pay/circuit/{id}")public String myCircuit(@PathVariable("id") Integer …

计算机体系结构-Booth乘法

本专栏用于记录计算机体系结构学习笔记原理解释 电路实现 以Radix-4 Booth编码为例,Booth乘法的核心是部分积的生成,需要生成\(N/2\)个部分积,每个部分积与\([X]_补\)有关,存在\(-X,-2X,+X,+2X,0\) 这五种可能,其中减去\(X_{补}\)的操作可以认为是按位取反的\(X_{补}\)在末…

使用 JS 实现在浏览器控制台打印图片 console.image()

在前端开发过程中,调试的时候,我门会使用 console.log 等方式查看数据。但对于图片来说,仅靠展示的数据与结构,是无法想象出图片最终呈现的样子的。虽然我们可以把图片数据通过 img 标签展示到页面上,或将图片下载下来进行预览。但这样的调试过程实在是复杂,何不实现一个…

渗透测试快速启动指南-全-

渗透测试快速启动指南(全)原文:Quick Start Guide to Penetration Testing 协议:CC BY-NC-SA 4.0一、NMAP 简介 漏洞评估和渗透测试变得越来越重要,尤其是在最近几年。组织通常拥有存储敏感数据的复杂资产网络。这些资产暴露在来自组织内部和外部的潜在威胁之下。为了全面…

『手撕Vue-CLI』编码规范检查

前言 这篇为什么是编码规范检查呢?因为这是一个很重要的环节,一个好的编码规范可以让代码更加清晰易读,在官方的 VUE-CLI 也是有着很好的编码规范的,所以我也要加入这个环节。 其实不管在哪个项目中,编码规范都是很重要的,像我们平日里的项目开发当中,我们也会使用 ESLi…

字节面试:MySQL什么时候 锁表?如何防止锁表?

文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 实现技术自由,…