现阶段,国内人工智能的发展进程已经跨入到国际的快车道,AI 的落地实践,已经深入到各个行业及技术领域下。目前,无论是云计算、大数据、区块链还是物联网等等领域,AI 都在其中扮演了推动技术发展以及影响该领域前景的决定性角色。
2019 年 9 月 7 日,云+社区(腾讯云官方开发者社区)主办的技术沙龙——AI 技术原理与实践,在上海成功举行。现场的 5 位腾讯云技术专家,在现场与开发者们面对面交流,并深度讲解了腾讯云云智天枢人工智能服务平台、OCR、NLP、机器学习、智能对话平台等多个技术领域背后架构设计理念与实践方法。
腾讯云云智天枢人工智能服务平台的架构设计理念
来自腾讯云的资深技术专家黄文才,从云智天枢人工智能服务平台的架构设计理念入手,详细阐述了腾讯云最强人工智能服务平台技术实践。
腾讯云资深技术专家黄文才
云智天枢是一款支持快速接入各种算法、数据和智能设备的人工智能平台,提供可视化的编排工具进行服务和资源的管理和调度。并进一步通过 AI 服务组件持续集成和标准化的接口开放,帮助开发者快速构建 AI 应用。总的来说,云智天枢平台的定位是全栈式人工智能服务平台,实现与应用、算法、设备等合作伙伴共赢,合作伙伴只需要实现应用层逻辑。
云智天枢平台架构
云智天枢人工智能服务平台是典型的三层架构,分别为存储层、逻辑层以及接入层。基础设施位于整个架构的最下层,负责整体平台基础性能力的支撑,如 Docker、 K8S、 蓝盾 CICD 等;上面是存储层,用到了一些诸如 MySQL、Kafka、Influxdb、Cos/Ceph、ES 等组件。
中间层是今天将要重点介绍的部分,利用微服务将其划分为了 6 个主要的功能性窗口,他们分别是算法仓库、设备中心、数据中心、AI 工作室、应用中心以及管理中心。
算法仓库:主要提供自助打镜像的能力,可快速把可执行程序、模型文件等容器化为算法微服务等,目前接入算法种类 50+,涵盖人脸,车辆,语音,文字,语义等。
设备中心:主要对接各个厂商的各个型号的设备,比如普通摄像机,抓拍机,AI 相机等等,支持设备厂商自助设备接入的能力。
数据中心:主要负责数据接入、推送、转换、存储等,包括屏蔽各种结构化与非结构化存储介质的能力。
AI 工作室:主要实现了任务调度,流程与服务的编排能力,打通平台各个窗口的能力。
应用中心:主要是创建应用、密钥、订阅管理,视图库等能力。
管理中心:账号系统、角色权限、镜像仓库、操作日志等能力。
最上方是网关层面,分为 API 网关以及消息网关两部分。API 网关采用的是 腾讯云 API3.0 标准,主要做鉴权、限频、转发等功能;消息网关支持 GPRC 和 http 推送能力,监控系统用了 Telegraf 、InfluxDB 和 Grafana,日志系统采用的是 ELK。
基于云智天枢人工智能服务平台的核心业务窗口架构设计
AI 工作室
基于云智天枢人工智能服务平台的 AI 工作室架构
AI 工作室作为一个服务可编排的流程引擎,其对上整合组件,对下对接开发者,是整个云智天枢平台的核心。其主要由三大块组成,分别为平台对接系统、流程引擎系统、函数服务系统。
平台对接系统:负责打通平台各个窗口的能力。
流程引擎系统:我们参考了 AWS 的 ASL,定义了我们的描述 DAG 图规范。这里实现了流程与服务的编排能力。其中 TaskSchesvr 是任务调度器, taskProcessSvr 是流程引擎执行器,它负责解析 DAG 图,自动按照编排好的流程执行任务。
函数服务系统:它是一个 python 服务,负责执行 python 代码段。因为流程服务编排的时候,调用服务 A 的输出不一定满足服务 B 的输入,所以这里主要做数据转换。
使用函数服务进行转换参数,实现用户逻辑或者启用参数映射的方式实现参数转换,这样可以很好改善参数映射无法完全呈现服务状态的问题,从而实现中间态的转换。
流程服务编排引擎
平常在开发业务功能过程中会经常写一些相似的代码逻辑,比如调用 A 服务,A 服务回来之后会做数据处理,处理完以后会并发调用 BC 服务,之后等 BC 回包回来再做数据处理,这一块儿有很多相似的业务逻辑,在业务中抽象并实现流程和服务的编排能力相当重要。流程编排能力实现了并发分支、条件分支、合并等操作;服务编排方面支持直接调用服务,用户不用关心网络层的调用,只需关注纯业务逻辑。
函数服务
函数服务是为了解决 A 服务的输出无法满足下游 B 服务的输入,其核心优势是通用组件可累积复用,大大减少了用户的开发成本。
算法仓库
云智天枢算法仓库,主要目的是将平台上的算法统一接入到一个地方,由平台统一提供算法服务,并将镜像制作页面可视化,这样不懂 Docker 的用户也可以方便制作。通过将算法服务发布托管,直接调用 k8s 的源生 api-server,这样可以有效解决算法种类多、管理对接成本高、镜像制作门槛过高等问题。
设备中心
设备中心的功能主要是设备自助接入能力,由于当前市面上各个厂商间产品的型号、协议都有差异,很难统一,并且其中私有化协议又占了大部分。设备中心通过实现每个子分类的微服务,将其划分为三层,分别为上层服务逻辑(基础镜像)、适配逻辑 SDK(so 插件)、私有化 SDK(so 插件)。同时也实现了云边端混合部署的能力,主要是为了解决边端算力不足、带宽,延时不满足需求的场景。
数据中心
数据中心主要功能使实现数据的接入、推送、转换以及存储等,也包括本地上传、在线拉取、外部推送等能力。实现了项目落地实施过程中,屏蔽不同存储介质(包括结构化与非结构化数据)的读写能力。
监控系统
这个监控系统是经由开源组件 Telegraf + Influxdb + Grafana 搭建起来的。其比较适合应用在私有化部署的场景下,具备支持多种数据源、开放 API 扩展性强、单独微服务对应单独数据库、界面配置可导入导出等特性。
腾讯云文字识别 OCR 的技术演进历程
腾讯云高级工程师彭碧发,从腾讯云 OCR 技术出发,浅谈 OCR 背后的能力和原理,共同探讨 OCR 在工程演化过程中,如何保障服务及快速上线新的能力,为大家带来“腾讯云文字识别 OCR 技术构建和应用”的分享。
腾讯云高级工程师彭碧发
腾讯云的 OCR 能力,目前定位是打造文字识别工具箱,要求具备丰富的接口能力,要能够被集成的同时保持灵活性。目前是专注于公有云领域,加速规模化复制后再切入私有化。中间组件产品这部分,是目前腾讯云 OCR 所提供的组件接口,向下依赖基础组件和引擎的方面的各种文字和内容处理能力,同时结合不同的技术形成不同的组合产品和解决方案,最终赋能给合作伙伴。
腾讯云 OCR 整体框架设计
从上到下,分为用户接入层、Web 接入层、业务逻辑层、引擎平台层和基础服务层,通过类微服务的设计,保证各逻辑服务之间是互相解耦的状态。
首先是接入层,分为用户接入层和 Web 接入层。用户接入层通过 API 和 SDK 的方式接入;Web 接入层,除域名解析外,新增云标准 3.0 接入,会自动生成如在线调试和文档生成等 SDK 和相应的配套。
往下是业务逻辑层,每个业务逻辑都是分离的,各个业务有自己的配置,互不影响。
引擎平台层,这里都是最基础的原子能力的封装,通过统一引擎原子能力的输入参数和错误码,从而能够更好地被业务逻辑所应用。
基础服务层,主要包含引擎的基础能力、计费控制、DB,COS 等。
OCR 引擎平台层
引擎平台层可以是整个架构中的重中之重,原因就在于引擎平台层是提升整个架构运作效率的核心。改造之后统一引擎接入和引擎适配都放在了一个工程里面,将正常逻辑和错误码都收敛代理在一个配置文件下,修改非常方便和灵活,发布的时候只需要发布代码就行。同时通过收敛各引擎原子能力的差异,包括错误码,保证对内接口的返回更友好;将服务层级从 3 精简到 1,极大提升了维护效率。
腾讯云知文 NLP 平台的技术架构
来自腾讯云的高级研究员许泽柯,从腾讯云 NLP 技术和能力矩阵出发,浅谈 NLP 背后的算法、原理及架构。
腾讯云高级研究员许泽柯
腾讯云 AI 语义产品矩阵
腾讯云知文 NLP 平台,是基于腾讯在各领域上丰富语料及多年 NLP 能力的积累,结合腾讯云的专业产品与服务,推出的一站式自然语言处理平台。知文 NLP 平台融合深度学习、云服务、人工智能,大数据等多方面技术,全面覆盖基础 NLP 中词法分析、句法分析、篇章分析、向量技术等各方面技术,广泛应用于泛互联网、政府、金融等行业。
腾讯云知文 NLP 服务框架
为了保障线上服务的稳定性以及高效性,整个产品的系统架构采用的是微服务 + DevOps 的构建方式,每一个算法微服务都是单独的容器实例。
整个产品的系统架构可以分为 5 层,分别是用户层、API3.0 接入层、业务接入层、应用层、数据层。其中用户层主要包括计费、控制台管理以及 SDK/API 使用。API3.0 接入层是所有云上业务对外提供服务必须接入的,目的是为了统一云业务规范,对齐业界标准,从而提升用户对云 api 的体验;除此之外,云 API3.0 还接入了公司内部的星云告警系统、哈勃监控系统以及 CAM 签名服务,能够保障服务的正常运行,同时还减少业务的部分工作量。业务接入层、应用层以及数据层属于业务后端服务。其中业务接入层主要负责服务的接入以及路由。应用层则包括业务逻辑层跟算法逻辑层,业务逻辑层指计费、额度、控制台等服务;算法逻辑层是整个系统架构的核心,也是知文 NLP 产品的价值体现,需要不断迭代更新。最后的数据层则负责数据的存储、上报等,采用的都是目前腾讯云主流的组件。
上述所有的业务后端服务都是基于微服务架构,区别于传统的单体服务,我们将不同的业务逻辑划分成小的服务,服务之间通过相互通信的方式来进行调用。服务与服务之间采用的是轻量级的通信机制进行沟通(目前我们的架构中既支持 gRPC 也同时支持基于 http 的 Restful
API),每个服务都是围绕独立的业务逻辑进行构建,同时能够被独立地部署到生产环境、测试环境等。知文 NLP 后端服务采用上述的微服务架构,主要是基于以下几点考虑:(1)知文 NLP 平台涵盖十多个原子化算法服务,采用微服务的架构有利于算法的独立开发以及独立部署,能够更灵活、更快速地响应算法频繁的迭代需求;(2)基于微服务的架构可以实现松耦合且各个服务之间无需统一语言,可以加速合作伙伴上云的节奏;(3)微服务架构结合容器化的 DevOps 平台,可以简化服务的部署以及运维。
AutoNLP
AutoNLP 元素架构图
AutoNLP 的概念来自于 AutoML,目的就是在做机器学习和数据挖掘的过程中可以将数据标注、特征选择、模型选择、模型上线等过程自动化。AutoNLP 所针对的就是 NLP 任务的 pipeline。 上图为 AutoNLP 的元素架构图,先看最左侧 Data 部分,底层为 IaaS,会提供 GPU 到 CPU 的资源供开发者使用。往上是 Data,有 Data Market,不仅可以应用自己的语料,也会内嵌腾讯的语料。Data Factory 则会提供可视化数据以及数据预处理工具。中间的 Framework 会内嵌 ModelZoo,提供不同领域的 Bert 模型。将 AutoNLP 以 容器的形式部署,很好保障了容灾、扩容、服务稳定性等方面,且最终服务上线后会提供 rpc 跟 resrful 两种调用方式。
智能钛机器学习平台 TI-ONE 在工业的落地实践
智能钛机器学习平台是面向广大开发者的一站式机器学习平台,覆盖了数据预处理、特征工程、模型训练、模型推理、一键部署等机器学习建模全流程功能。包含传统机器学习算法、时间序列算法、NLP 算法、图处理算法、计算机视觉等。目前已经广泛落地在工业和金融业领域,腾讯云高级研究员尹迪重点为大家介绍智能钛机器学习平台在工业领域的具体实践。
腾讯云高级研究员尹迪
工业领域当前面临的问题还是比较多的,从用户角度来看,生产工程师不会数据分析、数据挖掘、图像处理、目标检测等工作。算法工程师又对站点数据不熟悉,对制程的经验不足,无法进行相应的数据分析和建模;
从数据的角度来看,工业行业数据维度高、因子杂乱,数据类型种类多、识别困难,并且真因往往隐藏在海量数据之中,且由多个因子联合起作用。并且容易漏掉字符型数据,字符型数据往往包含十分丰富的数据信息,在一般的工业机器学习建模过程中,字符型数据是最容易被忽略掉的那一类;
从实践的角度看,往往是算法应用不明确、无法分析个性化案例、AI 手段无法有效改善生产问题以及如何汇报自己的建模方法这四个问题。
智能钛机器学习平台在工业的解决方案架构图
依上图所示,整体解决方案共分为 5 个层面,分别为业务、大数据、AI、应用场景以及前端展示:
业务平台,包括物联网数据收集、边缘计算、业务系统、数据存储;
大数据平台,包含了计算引擎、大数据存储/加速层、大数据分析挖掘、消息接入层;
AI 平台,包含了智能钛机器学习训练平台和推理平台,提供了数据预处理、特征工程、模型训练、模型推理和部署工作;
应用场景,有虚拟量测、高效良率、寿命预测、真因分析、缺陷检测、图像分类等;
前端展示,包括伯拉图、等高线图、散点图等。
现阶段常用的是异常数据检测、时间序列数据检测、全特征数据检测、异常图片智能检测等功能。此外包括最优路径的搜索、良率测算、异常解析等。异常解析的主要作用是在平台出现异常后主动追溯造成异常的原因。
从这 5 个层面,能对工业界的实践起到什么样的价值?主要包含六方面:
系统自动监控和告警;
提高工作效率,通过将解析资料进行系统化管理,将异常发生至解决的时间从 6h 缩短至 1h;
提升良率品质,通过异常因子分析、图像异常检测等方式,准确定位异常信息,尽早发现异常并处理,提升良品率;
减少人力投入,提升系统自动化的程度,将数据分析时间从 60min 缩短至 5min;
策略参考,智能排出最优路径,从无法获取最优 run 货路径,到现在 10min 内就可以获取到;
降低失效成本提升效益,加强异常拦截,及时发现异常,减少异常漏放。
Workshop: 零代码使用腾讯 TBP 打造智能对话机器人
就像文章开头所说,正是开发者的努力,才造就了国内 AI 生态持续繁荣的这一现状。这一幕,从现场参加 Workshop 同学的热情中就可以看出来。
腾讯智能对话平台(Tencent Bot Platform), 专注于“对话即服务”的愿景,全面开放腾讯对话系统核心技术,为大型企业客户、开发者和生态合作伙伴提供开发平台和机器人中间件能力,实现便捷、低成本构建人机交互体验和高效、多样化行业赋能。
腾讯智能对话平台简介
腾讯智能对话平台产品功能全景图
如上图所示,腾讯智能对话平台全面开放腾讯智能语音与对话系统技术,包括:语音识别、语音合成、意图识别、实体抽取、知识图谱、多轮对话状态跟踪、自然语言生成、服务决策与分发等。
腾讯云产品技术团队结合智能对话应用的使用场景,将底层对话系统技术抽象和封装出多种机器人开发类型(如常用的任务型机器人和问答型机器人),以满足不同开发中需求,在不同类型的机器人种,开发中可通过意图管理、实体管理和问答管理自定义语义模型。除语义模型构建外,平台还为开发者提供服务连接与部署、网页模拟器测试、版本控制与发布、线上数据洞察与运营等机器人开发全流程工具。
同时,平台提供了强大的内置对话能力和丰富的内置实体库,并将业内最领先的语义理解模型,囊括 Transformer, BERT, LSTM,VDCNN 等,广泛应用于意图识别,实体识别,槽位抽取, 知识问答, 对话生成等业务流程。
平台满足不同类型应用开发者与合作伙伴诉求。对于应用开发者,平台为开发者连接多个应用渠道、可实现一次构建、无处不在,使开发者更加专注于机器人业务逻辑和服务;对于微信运营者,平台与微信开放平台打通,实现零代码接入微信公众号;对于对于传统客服和外呼厂商等业内合作伙伴,平台提供机器人中间件 API,帮助合作伙伴实现以机器人能力替代人工、从传统客服到智能客服的转型。
腾讯智能对话平台面向对话服务高频场景,提供行业解决方案,实现向上多样化行业助力。
使用腾讯智能对话打造智能出行助手
本次 Workshop 主题是使用腾讯智能对话平台打造一款智能出行对话助手。在腾讯 AI 技术专家叶聪老师的讲解与指导下,现场开发者深入了解了对话系统核心原理、以及腾讯智能对话平台的特性和使用方法,最后都顺利完成智能对话机器人的实操开发。实操缓解结束后,现场开发者热情不减,有几位开发者围在讲师身边,向讲师表达从零到一开发出属于自己的对话助手的喜悦,并详细描述场景寻求讲师提升对话体验的建议。
在此次 Workshop 中,现场的开发者也对平台的体验提出了非常有价值的建议。叶聪老师表示,团队会持续倾听开发者声音,持续与开发者连接互动,持续致力于为开发者提供最好的人机对话产品开发体验。
在此次技术沙龙的现场,参会者中既有 40 多岁经验丰富的开发者,也有 14 岁左右的初中生。小编有幸和其中一位年长的参会者有过对话,他提到,“国内人工智能的潜力还很大,即便是到了知天命的年纪,人工智能的技术对自己仍然具有很强的吸引力,可能这就是自己做开发者的特性吧,如果可以的话,希望不止是 50 岁,而是能一直做下去。”
也许正是如此,国内的 AI 生态才会进入到现在的黄金发展期,归根结底,不论是云计算、区块链还是人工智能,开发者永远是推动技术发展、维持技术生态繁荣的最根本因素。感谢国内的开发者,也感谢腾讯云云+社区能为现场的广大开发者提供这样一个交流协作的平台。腾讯云愿积极拥抱开发者,愿与开发者携手一起,共建属于人工智能技术更先进的未来。
番外
9 月 21 日,云+社区主办的【小程序·云开发技术沙龙北京站】报名通道已开启,点击此链接即可免费报名参加。
活动推荐:
2023年9月3-5日,「QCon全球软件开发大会·北京站」 将在北京•富力万丽酒店举办。此次大会以「启航·AIGC软件工程变革」为主题,策划了大前端融合提效、大模型应用落地、面向 AI 的存储、AIGC 浪潮下的研发效能提升、LLMOps、异构算力、微服务架构治理、业务安全技术、构建未来软件的编程语言、FinOps 等近30个精彩专题。咨询购票可联系票务经理 18514549229(微信同手机号)。
评论