前端智能化在阿里云大数据研发平台中的实践

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 前端智能化有哪些实际应用场景?
作者 | 秦奇

image.png
在这个 AI 浪潮改变人们生活方方面面的时候,人工智能技术也在改变各个岗位的技术研发生态,阿里在这方面走还是非常前端,以阿里前端智能化小组为例,不仅有D2C(Design to Code)的 Imgcook ,前端算法工程体系Pipcook,也有 C2C (Code to Code),智能 UI 等能力。本文重点介绍了C2C 在阿里云飞天大数据平台中的一些实践,期望通过实际的方案介绍让大家对前端智能化有更深入的了解。

业务背景

先简单介绍下业务背景,阿里云飞天大数据平台是阿里巴巴10年大数据建设最佳实践的结晶,每天有数万名数据和算法工程师正在使用飞天大数据平台,承载了阿里巴巴99%的数据业务构建。同时广泛应用于城市大脑、数字政府、电力、金融、新零售、智能制造、智慧农业等各个领域的大数据建设。

具体的发展历程,产品架构和前端页面概览可以参见下图:
image.png
image.png

业务挑战

从上面几张图就可以清晰地看到阿里云大数据研发平台中前端页面的几个特点:

  • 重编程场景,存在大量的WebIDE 和 编辑器场景,每天超过 70% 的用户会用编程
  • 重可视化交互,存在大量数据的可视化展现,任务的编排的场景。

而且作为一个研发平台除了稳定性外,对提升客户,也就是在上面做研发人员的效率是最重要的事情,因此我们产品前端智能化的要核心去解决就是效率问题。

解决方案

从业务挑战看,前端智能化方案在业务落地,主要解决的就是两个问题:

  • 各个产品组件的智能化升级
  • 统一的算法工程能力,保证算法的持续更新迭代和快速部署的能力

针对这些思考,我们把整个智能化的建设布局做成如下:
image.png
以下分别会从智能编辑器,智能化可视化,以及算法工程方面主要阐述。

智能编辑器

编辑器是大数据研发中的核心组件,如何让开发者快速进行数据开发一直是我们的核心需求。借助于智能化和机器学习,我们加强了编辑器的核心能力,比如智能代码推荐、代码诊断等。
image.png

智能代码推荐

代码推荐是指在编写代码时,编辑器会基于当前上下文,列举出可能的候选项供用户进行选择。用户一旦选择了推荐项,则会自动补全对应的输入,这样可以极大提升开发者的编码效率。

借助于智能化的算法和大部分用户的使用习惯,我们实现了代码推荐的智能模型,结合语言语法规则,可以推荐出当前最符合语法规则的代码。代码推荐采用的算法一般为语言模型算法(Language Model),常用的模型算法有n-gram、LSTM以及最近比较火热的GPT和CodeGPT(GPT基于编程语言预训练模型)。

考虑到代码编写每个人都有不同的代码风格和编码习惯,通用的推荐算法可能并不是最佳的方案。受淘宝“千人千面“机制的启发,代码推荐是否也能根据个人的编码习惯进行推荐呢?为此我们对用户的实际编码习惯进行了研究,实现了一套“千人千面”的推荐模型,从而可以针对每个人推荐出符合个人习惯的代码。

代码诊断

image.png
代码缺陷一直是开发者很头痛的存在,而引起缺陷的原因也是多种多样,如果能够在编写阶段即可发现代码缺陷,能够节省大量的人力物力,而代码诊断正是为此而生。借助于引擎侧的能力,和众多语法规则,以及代码审查的相关信息,在使用智能化算法进行训练之后,已经基本具备了代码缺陷检测的能力。这里的训练模型可以参考监督模型,常用的是支持向量机(Support Vector Machine, SVM)。

智能可视化

在大数据平台中,数据是最核心的内容,而可视化则是展示数据特性、价值的最佳工具。尤其在数据分析的场景下,可视化展示可以帮助用户快速、直观的发现数据的规律。

数据探查

Data profiling is the process of examining the data available from an existing information source (e.g. a database or a file) and collecting statistics or informative summaries about that data. The purpose of these statistics may be to: Find out whether existing data can be easily used for other purposes. --维基百科

image.png
数据探查是获取数据的统计信息和信息摘要的过程。如何实现数据类型、特征的自动分析和图表的自动选择是核心问题。其中数据类型分析我们基于DataWizard 的 Analyzer 与 Statistic 模块进行分析,可以分析出字段类型、基本字段特征等。图表推荐参考如下经典的决策图,基于对比、分布、组成和关系四个纬度进行推荐。整个探查过程我们已经封装了组件,可以快速调用实现自己的探查产品。
image.png
并且我们正在基于数据-图表的对应训练智能模型,实现数据特征的智能识别和图表的智能推荐。

算法工程

以上提到的众多智能模型的训练,借助于阿里云机器学习平台,我们形成了通用的模型训练、评估和部署链路。

模型训练

借助于PAI DSW的交互式建模能力,我们可以基于Notebook的形式快速实现模型的训练过程,包括数据的加载、预处理、训练集、测试集切分等操作。然后基于Tensorflow完善的模型实现,可以很快实现自己的训练过程。

image.png

模型评估

模型评测是体现模型效果的重要的方法,模型是为了解决实际的生产问题,所以模型的评估方案也必须符合问题的定义,能够真实反映出模型对该问题的效果。常见的评估方法有准确率、召回率等,同时经常也需要根据实际问题自定义评估的指标。比如针对代码推荐的场景,除了准确率(Top-N)之外,还有推荐耗时、推荐长度等指标,只有结合这些指标去综合评估才能反映出模型的真实效果。

模型部署

PAI EAS提供了模型在线部署的能力,一键上传即可实现模型的部署,之后通过API即可快速调用。

未来展望

  • 立足于智能化,能够紧跟业界进展,将好用的算法应用于我们的产品中,为用户提供更强大的服务。
  • 发掘更多的智能化场景,使用机器学习的方式去解决问题,

写在最后

机器学习带来了一种解决问题的思路,我们发现很多业务上的问题其实都可以借鉴机器学习的思路去考量。更深一步,我觉得人人都会机器学习是未来的趋势。就像数据分析,机器学习也会变得越来越容易上手。比如pipcook就是一个能够让前端同学也能快速上手机器学习的框架,希望这种工具能够越来越多。集团前端智能化在P(RD)2C、以及D(esion)2C和C(ode)2C几个方向共建,目的就是针对前端场景,以智能化的手段去解决业务问题,欢迎一起交流。


image.png

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
1月前
|
缓存 前端开发 JavaScript
利用代码分割优化前端性能:策略与实践
在现代Web开发中,代码分割是提升页面加载性能的有效手段。本文介绍代码分割的概念、重要性及其实现策略,包括动态导入、路由分割等方法,并探讨在React、Vue、Angular等前端框架中的具体应用。
|
5天前
|
人工智能 移动开发 前端开发
WeaveFox:蚂蚁集团推出 AI 前端智能研发平台,能够根据设计图直接生成源代码,支持多种客户端和技术栈
蚂蚁团队推出的AI前端研发平台WeaveFox,能够根据设计图直接生成前端源代码,支持多种应用类型和技术栈,提升开发效率和质量。本文将详细介绍WeaveFox的功能、技术原理及应用场景。
245 66
WeaveFox:蚂蚁集团推出 AI 前端智能研发平台,能够根据设计图直接生成源代码,支持多种客户端和技术栈
|
7天前
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
34 3
|
16天前
|
编解码 前端开发 开发者
探索无界:前端开发中的响应式设计深度实践与思考###
本文将带你领略响应式设计的精髓,一种超越传统页面布局限制的设计策略,它要求开发者以灵活多变的思维,打造能够无缝适应各种设备与屏幕尺寸的Web体验。通过深入浅出的讲解、实际案例分析以及技术实现细节的探讨,本文目的是激发读者对于响应式设计深层次的理解与兴趣,鼓励在实际应用中不断创新与优化。 ###
61 10
|
1月前
|
编解码 前端开发 开发者
前端开发中的响应式设计实践
前端开发中的响应式设计实践
|
1月前
|
编解码 前端开发 UED
探索无界:前端开发中的响应式设计深度解析与实践####
【10月更文挑战第29天】 本文深入探讨了响应式设计的核心理念,即通过灵活的布局、媒体查询及弹性图片等技术手段,使网站能够在不同设备上提供一致且优质的用户体验。不同于传统摘要概述,本文将以一次具体项目实践为引,逐步剖析响应式设计的关键技术点,分享实战经验与避坑指南,旨在为前端开发者提供一套实用的响应式设计方法论。 ####
65 4
|
1月前
|
设计模式 前端开发 JavaScript
揭秘!前端大牛们如何巧妙利用JavaScript,打造智能交互体验!
【10月更文挑战第30天】前端开发领域充满了无限可能与创意,JavaScript作为核心语言,凭借强大的功能和灵活性,成为打造智能交互体验的重要工具。本文介绍前端大牛如何利用JavaScript实现平滑滚动、复杂动画、实时数据更新和智能表单验证等效果,展示了JavaScript的多样性和强大能力。
54 4
|
27天前
|
编解码 前端开发 UED
探索无界:前端开发中的响应式设计哲学与实践####
本文不拘泥于传统摘要的框架,而是以一种对话的方式,引领读者踏入响应式设计的奇妙世界。想象一下,互联网如同一片浩瀚的海洋,而网页则是航行其中的船只。在这片不断变化的海域中,如何让我们的“船只”既稳固又灵活地适应各种屏幕尺寸和设备?这正是响应式设计的魅力所在。通过深入浅出的探讨,我们将一同揭开它背后的哲学思想与实战技巧,让你的网页在任何设备上都能展现出最佳姿态。 ####
22 0
|
1月前
|
前端开发 JavaScript API
现代前端框架中的响应式编程实践
现代前端框架中的响应式编程实践
37 0
|
1月前
|
缓存 监控 前端开发
前端开发中的性能优化:策略与实践
前端开发中的性能优化:策略与实践