AI时代的技术栈,你了解几分?

开发 前端
现在大家在实际的业务中准备用AI来改造的主要是什么样的场景呢?例如智能客服的升级、电商场景中商品图片、文案、视频等的智能化生产等?

如今绝对已经进入到了AI时代了,或者更准确说应该是新AI时代,和上轮AI时代最大的不同的体现是从更多偏规则式的AI,进入到基于模型训练让AI自己总结提炼规则,从而真正智能化的新的AI时代,这个最好的体现其实是Tesla的自动驾驶(不是告诉AI规则,而是由AI来学习大量真实的视频,自己提炼出开车的规则),每当进入新的技术时代,那必然是要先掌握要把这个新的技术用起来,技术栈怎么搭起来的问题,这篇文章就来讲讲AI时代的技术栈。

在讲AI时代的技术栈之前,先来回顾下当前的两个主要场景的技术栈,一个是在线型业务的技术栈,另一个是大数据场景的技术栈。

在线型业务的技术栈

在线型业务的技术栈通常是下面这样的结构:

图片图片

首先当然是硬件,在线业务型的场景下,计算资源基本是CPU为主;存储资源则各种类型都有,主要是IO吞吐、时延、安全性等各种考虑;网络资源公网、内网类型,时延、吞吐考虑等。

在硬件之上,基本都会使用类似K8S,或商用VMWare之类,来更方便的使用硬件资源,这层软件的核心一方面是抽象硬件资源,方便上层根据需求来使用硬件资源,以及同时根据需求来匹配找到合适的资源,例如最简单的排他规则等等;另一方面则是充分的提升硬件资源的使用率,例如虚拟化技术、容器化技术的引入等。

再往上,通常就是根据业务系统的架构、建设需求做的各种中间件的选型,这些中间件最重要的是为了降低业务系统的门槛,把一些通用的技术问题解决掉,例如数据库解决OLTP类型的数据读写、Dubbo之类的服务框架解决跨系统间的同步通信、RocketMQ之类的消息中间件解决跨系统间的异步通信等。

在这些中间件之上,通常就是业务系统本身了,这个就完全要根据业务需求来做相应的架构设计,并且通常都会需要跟随业务的发展来不断的迭代架构(中台其实也是一种架构选择,或者说其实是一种组织方式选择,就不专门去写了),例如常见的演进:从单体 --> 分布式 --> 异地多活,能看出的基本就是越来越复杂化,所以架构师们在这个地方其实要做好权衡,这是架构师最难的地方,之前我在阿里的老同事,担任过好几家公司的CTO,现在在韩国电商Coupang任职副总裁的郭东白,写了一本《架构思维:从程序员到CTO》的书,值得看看,会很有帮助,我自己觉得作为程序员,无论未来想在技术领域深耕,还是想往管理方向走,架构思维都是必须掌握的。

大数据场景的技术栈

大数据场景的技术栈通常是下面这样的结构:

图片图片

资源这种就不再重复,和在线型类似,但也不同就是,所以到今天为止,仍然是以Yarn为主。

在计算引擎和相应的数据库侧,主要是取决于离线还是实时,这个分别有不同的场景的诉求。

在那之上,大数据的场景比较特殊的一个地方是通常需要面向数据分析师等角色使用,这个需要一个工作平台,像阿里云的dataworks之类的。

再往上通常就是实际的基于各种数据场景实现的业务,这层通常就会和在线业务的技术栈基本一样。

AI时代的技术栈

看上面在线业务、大数据的技术栈,可以看到会有一些相同的地方,也会有很多不同的地方,这个就是之所以会诞生这么多技术类公司的原因,基本上不太可能一家通吃,因为其实在不同的场景还是会有很大的差异性,而很难有公司有所有类型的人才积累,以及公司的战略选择上也会比较复杂,当然,也是因为在不同的技术时代、场景,产生了不同的技术栈的诉求,才使得有了更多创新、创业的机会,AI时代呢,尤其是现在的新的AI时代,计算资源从CPU走向了GPU,这个就产生了更多的新的机会,AI时代,万象更新,技术栈其实也同样如此。

图片图片

AI时代最大的变化当然是计算资源从CPU走向了GPU为主,而就此英伟达也就一路飙升了,毕竟GPU的量的诉求是可以非常确定性的比CPU更大。

而在GPU资源之上,怎么管理好GPU卡,去调度好GPU的池子,做好GPU的虚拟化等,提升整个GPU池的效率,我们公司的Sky AIComputing就是来解决这个问题的,甚至我们还能利用多云的资源(等云资源在GPU的供应进入正常的状况后这个会更有优势)来更好的满足AI不同的诉求,例如速度的诉求、成本的诉求。

在资源之上,也看到了在AI时代里,计算引擎、数据库这些也都相应的产生了变化,Ray、Milvus是现在这个场景里非常显著的技术栈产品。

再往上,当然就是至关重要的大模型,以及各种垂直行业的小模型,通用的大模型我觉得基本就是面向C端的,垂直行业的小模型是面向B端的。

类似大数据是非常依赖数据分析师的,AI非常依赖算法工程师,一个给算法工程师易用的工作平台是很重要的,这个是MLOps这层要解决的核心问题。

再往上则是各种AI应用,这个就基本再次回到在线业务的技术栈,当然不太相同的是这些AI应用可能更多的就是直接依赖下面模型的推理就可以了,其他的会简单很多,但在C端场景该解决的用户量的伸缩问题、稳定性问题等,还是不变的。

可以看到的是,AI时代由于还在爆发的早期阶段,技术栈的成熟度相比在线业务、大数据还是有明显的差距的,但同时也是机会,以及有各种的可能性。

最后,很想问个问题:

现在大家在实际的业务中准备用AI来改造的主要是什么样的场景呢?例如智能客服的升级、电商场景中商品图片、文案、视频等的智能化生产等?

责任编辑:武晓燕 来源: HelloJava
相关推荐

2023-11-29 09:05:59

Vue 3场景

2022-04-19 07:38:14

数组元素指针

2023-10-26 07:37:18

ReactVue项目

2022-03-18 08:22:18

数据库碎片化信息化

2022-05-29 08:13:05

监控系统数据存储

2020-11-13 19:02:36

Jamstack技术栈网站

2019-10-10 10:12:25

AI职业人工智能

2015-05-14 15:56:27

2014-11-04 09:34:19

云安全云计算安全数据泄密

2020-04-20 10:55:57

大数据人工智能技术

2009-11-30 13:27:12

Visual Stud

2017-12-18 15:33:56

Java基础编程

2021-03-05 15:09:59

人工智能人脸识别安全

2019-11-21 15:08:13

DevOps云计算管理

2024-04-12 08:32:03

JSAI机器学习

2018-07-13 08:31:58

开源AI工具

2024-04-15 00:02:00

Java补丁技术

2018-07-12 16:03:26

SLAM技术定位

2022-08-01 08:37:45

Java池化缓存
点赞
收藏

51CTO技术栈公众号