微信号:infoqchina

介绍:有内容的技术社区媒体

从大数据架构师到行业人工智能产品经理,助力公共安全是件很酷的事情

2017-06-17 09:03 孟嘉
作者|孟嘉

编辑|小智


「 阅读原文 」,获得短信提醒,不错过下次 InfoQ 大咖说直播!

回复: 孟嘉,获取视频下载。

1 我的程序员发展道路,为什么选择创业公司

我在明略数据经历了从研发人员,到架构师,技术经理,再到产品负责人的成长过程,也经历了从深入研究技术到理解行业,将技术应用到行业真正帮客户解决问题的过程。这个成长的过程让我很兴奋,我很想和大家分享一下。我认为首先应该找一份自己喜欢的工作,只有在做自己喜欢的事情,才会愿意投入精力,才能不断思考把事情做的高效。而在一个快速成长的创业公司能收获很多,因为在创业公司的平台上往往限制回更少,做的越多,机会就越多,收获也越多,能够跟着公司一起快速成长,这也是我这两年最深的体会之一。

很多同学都比较关心职业发展,或者通俗一点的说,选择一个什么样的职业能实现财富。我想为大家分享一下最近读的一本书,叫《黑客与画家》。这不是一本新书,它的作者是一位哈佛计算机博士,他在书中的很多观点或者预言都成为现实。他曾经在 2001 年写到苹果还没有失败,如果它能把 iPod 升级成手机,微软就有大麻烦了,而苹果公司的 iPhone 手机于 2007 年 6 月上市。

这本书中就提到了要致富,你需要两样东西:可测量性和可放大性。你的职位产生的业绩,应该是可测量的。此外,你还必须有可放大性,也就是说你做出的决定能够产生巨大的效应。所以如果你有一个令你感到安全的工作,你是不会致富的,因为没有危险,就几乎等于没有可放大性。

2 大数据架构师的修炼

我认为这些年实际的项目经验积累对我的成长是非常重要的。从研究生阶段专注的应用服务器分布式集群方向,到后来工作中接触到的高并发、高吞吐的网络应用。在加入明略数据前,我已经参与过几个实际落地的大数据项目,也有过兼职创业的经历,这些都让我积累了软件设计和研发的经验。经验对于一个架构师很重要,架构试错的代价是很高的,作为架构师,既要见多识广,从整体掌握,了解系统全局,又要深入到关键的细节,思考如何突破系统的瓶颈。

大家知道在大数据领域里面可以利用的开源组件是很多的,比如计算框架有 MR、Spark,流式计算可以用 Storm、Spark Streaming、Heron,资源管理可以考虑 YARN 或 Mesos,KV 存储文档存储可以考虑 HBase、Redis、Cassandra、MongoDB,SQL 引擎可以使用 Hive、Impala、Phoenix、SparkSQL 等。

每一个组件都要深入理解简直是不可能任务。我也听说过有人说所谓大数据架构师的工作就是把一些开源组件组装成一个系统,我认为这种想法离架构师的实际工作偏差是很大的。架构就像盖楼房打地基,地基不稳,随着楼层的增高,迟早要出问题。架构师最先面对的是对系统需求的理解,这点非常重要,我认为在早期架构师一定要是和产品经理甚至客户沟通最多的人。

此外,架构师从一开始就要考虑的问题有很多,举几个大部分系统都会碰到的问题,系统将来如何扩展如何平滑升级,如何处理高并发,如何设计存储,如何对时间空间作出权衡。听上去好像无从下手,其实也没有那么困难,我通常思考的第一个问题是有没有自己做过的或者别人分享过的类似的成功架构案例。所以架构师的经验是很宝贵的。我在最初接触大数据技术的时候就经常参加现在的一些分享交流活动,去尽可能多听一听成功技术经验,现在回想起来对我的帮助很大。

另外,我觉得至关重要的一点是,架构师要非常了解业务,不断和产品经理沟通,作为 toB 产品的系统架构师,如果有机会也要不断接触最终用户,理解需求。

3 为什么要去做 To B 产品负责人

我觉得在这个市场上真正能深入行业的优秀的 To B 产品经理是非常稀缺的,养成周期也是比较长的,他需要在这个行业中不断去接触客户,理解行业,进一步总结需求形成功能点。在 To B 创业公司往往最缺的就是这种既懂技术又懂业务的复合型人才。如果对行业理解不透,对客户的需求理解不透,在产品上就会走弯路,这个代价是很大的,往往花了很大力气,用了很多资源开发了一个在技术上很领先的功能,但对客户却没有什么帮助。我也可以很坦诚的告诉大家像这样的坑我们是趟过的。

产品经理是对一个产品成败的第一负责人,我渴望看到我可以推动一个具有先进技术产品能够真正落地到一个行业,推动这个行业。所以这也是我从做技术到做产品的一个重要原因。从技术到产品并不意味着要放弃技术,恰恰相反,需要更加深入的从行业从场景方面了解技术,知道怎么用技术的提升产品。我在明略数据也继续做着我喜欢的架构师的工作,我也认为这对做产品负责人这个角色有很大帮助。

4 知识工程与行业人工智能

我个人参与的明略数据的大数据关联分析平台 SCOPA 产品主要应用在公共安全领域,公安里面有很多警种,情报、技侦、网安等等,每个警种都有自己的数据,结构化的非结构化的都有,如何在这些异构的数据基础上建立统一的大数据模型是面临诸多挑战之一。公安是典型研究像人这样的实体和实体之间关系的行业,背后用到的核心技术是知识工程和人工智能的相关的技术。

我们在与行业 - 企业客户日常工作中,都会运用到知识工程这一套融合了自然语言处理、知识图谱构建与存储、知识检索与推理等技术的智能平台,将知识管理与特定行业业务相结合,在业务运营过程沉淀和积累行业知识,并将知识应用于未来的业务中,形成行业智慧,帮助整个行业实现生产能力的跨越式提升。其中构成知识工程最核心的部分就是知识图谱构建与存储,就比如目前运用在公安行业的 SCOPA 这款产品的背后就存储的是一张巨大的知识网络,我们把它叫做行业知识图谱。知识图谱这个概念最早由 Google 提出,主要是用来优化搜索引擎,当你搜索微软的时候,旁边会出现相关人物比尔盖茨。

知识图谱的发展也助力很多人工智能场景的发展,我们目前生活中很多热门的人工智能场景背后都有知识图谱技术,比如语音助手 siri,聊天机器人,智能问答等等。知识图谱描述的是现实世界中的实体,以及实体之间的关系。知识图谱的构建是一件有挑战性的工作,主要就是进行实体和关系的抽取,里面涉及到很多自然语言的技术与行业经验规则。大规模知识图谱的存储同样需要考虑很多因素,我们采用了混合的存储模型,包括图存储,列存储和索引存储,来加速对知识数据的查询。

我们在产品中也用到了很多人工智能的技术。人工智能的发展和大数据是分不开的。最近最火的深度学习在数据肥沃且可以归纳学习的领域发展飞速。

随着人工智能技术的发展,我认为在将来对于基本的机器学习问题的理解和开发能力会是程序员的基本技能之一。现在的开源框架对很多人工智能场景已经支持的不错,可以参考的文档和相关书籍也越来越多。我身边有很多刚毕业的同事在学校的时候就已经有机器学习的知识,也跟着教程开发过一些程序,比如一些简单的分类器,进入工作岗位后面对实际行业问题后,特别是在有经验的工程师带领去完成一个真正的机器学习任务,就会成长的特别快。

我特别想分享给大家的是,将一个新兴的技术带到一个实际行业中去解决实际问题,往大了点说,当看到你的工作真正在推动这个行业的发展,提高这个行业的效率,那么你的成就感就会被放大。结合大数据将人工智能技术落地到行业,比如在公安领域,我们就可以做到用结合人工智能技术的关联挖掘分析平台辅助警察进行研判工作,让警察办案效率大大提高。这是一件很酷的事情。

作者介绍

孟嘉,明略数据技术合伙人,大数据关系挖掘分析平台 SCOPA 的总架构师与负责人。2014 年底加入明略数据,负责大数据关联分析平台 SCOPA 的研发与架构设计,经历了 SCOPA 产品从 0 到 1 的过程,见证一个新的产品如何一步步通过实际项目打开市场,并帮助公共安全和金融行业客户解决实际问题。

今日荐文

点击下方图片即可阅读

一个完整的软件研发流程是怎样的?



 
InfoQ 更多文章 开源和商业的结合,或许是容器生态更光明的未来 一个完整的软件研发流程是怎样的? Linux 先行者 Fleming:二十多年的开源技术人生,要从一个 Bug 说起 5 月精选十篇技术好文,收藏指数满格! Instagram 使用 Python 的经验
猜您喜欢 C++ 值传递、指针传递、引用传递详解 Gartner魔力象限报告,DevOps时代自动化测试比以往更加重要 活动 | BoCloud博云与你相约国内首届DevOpsDays大会! 最高30k, 去哪儿等公司高薪招前端开发 Android View 全解析(四) -- onDraw