7月5日,在2024世界人工智能大会上,金山办公在现场发布WPS AI 2.0,包含WPS AI办公助手、WPS AI政务版等应用,标志着金山办公在 AI 时代的信念与决心。面对新的挑战与新的局势,金山办公始终保持着对技术的热爱和追求。这种在技术上不断进取、面对新的环境勇于挑战的精神,让金山办公在技术的道路上不断前行、不断成长。而公司的成长,对应着的企业成员的不断成长。金山办公,三十六年,坚持技术立业。为此,公司提供了丰富的资源和支持,依托培训+业务+分享+创新的四步走机制,助力个人在AI浪潮中不断进步。
![]() |
---|
在金山办公,人才的发展始终被置于极其重要的位置。为帮助应届生完成从学校到职场的过渡,金山办公不惜置重金,完善人才的培养体系。就我个人而言,有幸经历了多次培训和实习机会,藉此深刻地感受到了公司的关怀与培养力度。
2022年5月至2022年7月,我参与了金山办公的首次培训,通过对C++底层技术的剖析、代码风格的学习与Qt应用的培训。金山办公的深厚文化内涵与技术为先,刻苦专研的金山思想在此刻犹如一颗充满梦想的种子,在我心中逐渐萌出新芽。
2022年7月至2022年9月,金山办公开展暑期夏令营培训。这一次培训则更加全面,不仅包含了可扩展性、稳定性与性能三大模块,更是结合现有线上任务,对我们现有的工程知识体系进行了全面的交叉融合,使得理论得以落地。经过此次培训,则更加深刻得理解到做产品与做好产品的巨大鸿沟。做好产品,不仅是要把功能完成,而是更需要在三大模块上分别进行细致的考量。这一点在WPS这款软件上显得尤为重要。这是因为WPS面对着数量浩如烟海数亿级用户,因此如何将代码的性能与稳定性压榨到极致,是必需考虑的问题。
在金山办公实习一年后。2023年7月至2023年10月,是最后一次为期三个月的试用期培训。在最后一次培训期间,金山办公各业务组架构师带队,对试用期的同学在可扩展性、健壮性、性能三个方向进行全方位、面对面的教学与指导。在此时,不仅可以与来自五湖四海名校同学同台竞技,互相磨砺技术,还能够与金山办公诸位架构师进行面对面学习、交流。这无疑是一次难得的机会。
在与开发培训院老师和架构师的交流中,我了解到,计算机世界中,一部分诸如AI技术,在迅猛发展。而计算机并非无源之水,无本之木,有其飞速变化的部分,亦有其变化较慢的部分。
一方面,诸如一些经典的算法思想,如经典排序算法,提出于1946年至1960年不等;动态规划算法思想,提出于1950年;最短路径算法,提出于1959年。着眼于当前大热的AI算法,其基石——反向传播算法,提出于1974年;卷积神经网络,提出于1980年;循环神经网络,提出于1986年;长短期记忆网络,提出于1997年;在优化算法中,梯度下降,提出于1847年;随机梯度下降,提出于1951年;Adam 优化算法,提出于2014年。这些算法,即使经历了漫长的岁月,如今仍是AI技术的基石。
另一方面,则是计算机体系结构与操作系统中底层的部分,如指令集架构,x86 架构于1978年推出;ARM 架构于1985年推出。虽然不断有新指令和扩展被添加,但核心架构保持相对稳定。而存储器层次结构中,自1980年代起,三级缓存(L1、L2、L3)成为现代处理器的标准后,尽管缓存的大小和速度有所提升,但是这一结构在数十年间并没有发生根本性变化。此外,虚拟内存的基本概念和实现方式自1961年首次引入以来,近60年来,虚拟内存的实现,在操作系统中几乎没有改变。
正是这些内在的灵魂,支撑着技术的发展和应用的创新。但是,了解底层的应用,对在业务端上层应用的设计有帮助吗?
让我们来看一个简单的例子:
我们都知道在C++中,std::vector是非关联式容器,采用顺序存储;而std::map是关联式容器,底层采用红黑树进行存储,而红黑树又采用指针进行存储。根据直观的想法,使用std::vector进行查找的开销为O(n),而使用std::map进行查找的开销为O(logn),直观上看来,在查找较多的应用上无脑使用std::map是一个合理的选择。
但是让我们进一步看看两个容器底层的操作:std::map底层使用的是红黑树,势必存在左右指针以及指向父节点的指针,每个节点都存在三个指针的开销。而std::vector通常不包含冗余的内存开销(除了std::vector容器预留的空间,但是这部分空间可以通过swap技巧清除)。现在我们假设存在一个 Widget 类,每个 Widget 对象占用 12 个字节。一个指针大小为 4 字节,而一个页面可以容纳 4096 个字节(4KB),那么对于std::map而言,每个页面可以存储约 170 个 Widget 对象,而使用 std::vector 则可以存储约 341 个 Widget。
在这种情况下,使用std::map造成了比使用std::vector接近两倍的开销,当数据量很大时,如果操作系统使用了虚拟内存,由于std::map底层使用的树结构中,节点通常是分散的,因此导致遍历或访问容器时,会访问到更多不同的内存页面。此外,当程序使用的内存超过了可用的物理内存,或者std::map中分散的内存访问模式导致更频繁的页面缓存失效时,操作系统将会将一些不常用的内存页面换出到磁盘上的交换空间中,这部分内存不再驻留在物理内存中,而是存在于磁盘上。程序访问这部分内存时将会触发页面错误,操作系统通过暂停当前进程、找到需要的页面,从磁盘读入该页面到物理内存、更新页表,恢复进程这三个步骤,从而将它们重新加载到物理内存中,这些步骤会带来额外的开销,尤其是从磁盘读取页面的时间会显著影响性能。因此对于大数据量的应用程序,频繁的页面错误处理会导致系统显著变慢。
而这仅仅是性能方面的影响。当我们面对更加复杂的问题时,一旦涉及到底层,诸如未知代码的踩踏或是CPU分支指令预测逻辑错误,会导致直观上难以理解的bug,常规调试工具提供的线索在此时非常有限,由于存在编译器优化,工具本身的结果也不一定正确,此时反汇编在这种场景往往会发挥巨大的作用,通过汇编与程序直接的映射关系,才能更加理解编译优化对代码产生的影响,以及造成问题发生的根本原因。
因此,理解计算机系统底层,对应用的优化、调试甚至架构设计上,都会有更高层次的俯视。
在经历了为期两个月的暑期夏令营培训后,2022年9月,我开始了在金山办公为期三个月的实习,后来,这一时间又延长到了约一年。金山办公在办公领域拓展了多个应用场景,员工可以参与到不同的项目中,积累丰富的实践经验。同时,公司也为每个新入职的员工,指派一位指导人,负责日常工作的对接与引导。金山办公的指导人制度,极大程度地缓解了应届生初入职场的紧张感与陌生感,并能够使得初入职场的同学能够找到新的方向,无一不体现了金山办公在技术立业之后的"兄弟"文化以及人文精神。
在业务磨炼中,我逐渐发现,在不断完善基础理论与熟练使用语言工具及工程方法的同时,应该积极拥抱现有主流方法与技术。在学术中,努力追求的是数据。但是在工程中,考虑得更多的是新兴方法应该如何惠及千万用户,新的方法是否适合现有的用户场景。无论是多端是否适配,还是模型的性能与效果要如何取舍,都是需要考虑的问题。
旧时代的船无法前往新的世界。我逐渐发现,无论是卷积神经网络(CNN)、循环神经网络(RNN)、生成对抗网络(GAN),还是自监督学习、迁移学习、强化学习等,不仅需要在理论上进行了解,在数据上不断拔高,但最重要的仍是实践中积极应用。
技术是解决现有问题的工具,应积极考虑用新兴方法解决旧疑难杂症。具体到目标检测领域,则需要考虑如YOLO、Faster R-CNN等主流方法。如果是自然语言处理相关方向,那如何利用大语言模型+微调的方式解决传统问题,或带来革命性的用户体验,则是需要考虑的问题。
![]() |
---|
再者,工程化的实施需要考虑多个方面的问题。可移植性是其中一个重要因素,模型不仅要在开发环境中运行良好,还要能够顺利迁移到生产环境,这在实际的开发环境下。移动端适配则要求模型在资源受限的设备上同样表现良好,这涉及到模型的剪枝、量化等技术。此外,模型的性能与效果如何取舍也是工程化中的一个关键问题,需要在精度、速度、资源消耗等多个维度进行权衡,以找到最佳的解决方案。
“一个人可能走的更快,但是一群人才能走的更远”。金山办公坚持分享,在公司内部设有分享、交流、学习的平台。每周都有定期的一线开发人员进行技术分享,不定期还有公司架构师面对面进行技术交流。
2023年3月,我在金山办公实习约六个月后,恰逢此时,在全球范围内,ChatGPT掀起了一场前所未有的技术革新风暴。这场变革不仅改变了技术领域的发展轨迹,更在某种程度上重塑了我们对未来的期待与认知。在此期间,金山办公察觉到了机遇的临近,果断启动了长期的ChatGPT技术交流与讲座。
在此推动下,公司的资深技术大咖与系统架构师汇聚一堂,将自己的技术与知识积淀传递于此次学术交流中。我有幸在现场聆听到他们对于这项技术的深入探讨,所收获之丰硕经验不仅极大地扩展了我的视野,也让我感受到了公司对技术的热忱与信仰。
最初,在ChatGPT刚刚爆火的时候,大家讨论的多是底层的架构设想。逐渐,越来越多的讨论开始集中于Promot提示器技巧、和现有业务的融合方式等更加上层的应用。这是一个很有趣的现象,体现了金山办公工程师们从底层技术的探讨到上层应用的思维延伸 ,表明的是金山办公工程师不断向前挖掘的力量以及无限的钻研欲望与创新热情。金山办公工程师以技术为基石,考虑的是如何更好地为用户带来技术与服务层面的深度融合。让我体会到作为一名技术开发人员,正在前进在这条极富波澜壮阔的技术发展长河之路上。
为了激励创新意识并培育新兴技术,金山办公每年都会举办一场盛大的创新大赛。这场竞赛不仅为员工提供了一个展示才华的舞台,更是公司积极拥抱新技术、推动创新精神的体现。特别是在全球科技浪潮汹涌的今天,金山办公更是积极响应,展现其在科技领域的引领者角色。
2023年3月,ChatGPT席卷全球。它如同一场科技革命,改变了我们对人工智能的认知和应用方式。在此背景下,金山办公迅速行动,深度融入这一技术变革的浪潮。
四个月后,在公司的年度创新大赛上,AIGC成为了技术的焦点。这不仅体现了金山办公对新兴技术的敏锐洞察,更展现了公司在人工智能领域的深度布局和技术积累。我们也通过思考AIGC与现有业务的深度融合,积极参与到这次创新大赛中。
在筹备过程中,我们深入探讨了AIGC技术的应用范围和可能性,详细分析它如何能够与我们的传统业务形成互补优势。团队进行了多次深入调研和研讨会议,旨在探讨如何将AIGC技术融入到我们的产品和服务中,以提供更加智能化、个性化的解决方案。我们深入挖掘客户潜在需求,结合AIGC技术的特点,设计出了一套具有创新性和实用性的方案。
金山办公的ALL IN AI策略,展现出了对人工智能与科技创新的不懈追求和责任担当。不仅在技术上追求卓越,更在推广应用层面付诸实践。这种精神不仅体现在公司的日常运营中,也渗透到了创新大赛的每一个角落。在这样的氛围中,不仅有利于技术的持续创新和应用,更能激发员工的创新精神,推动公司不断向前发展。
2023年底,ChatGPT带来办公软件革命性的升级,金山办公开启了智能化办公的新纪元,新的技术正在不断重构办公软件的价值天花板。金山办公在技术创新方面的成果不仅为公司带来了荣誉,也为整个行业的发展做出了重要贡献。
未来,在金山办公的创新大赛上,我们可以预见到更多关于人工智能领域的精彩展示和深入探讨。这不仅是一次技术的盛宴,更是一次行业智慧的碰撞和交融。我意识到在金山办公,不仅是时代的见证者,更是时代的积极参与者,更是走在行业最前沿的先锋人物之一。
在互联网AI革命中,金山办公积极拥抱AI浪潮,成为AI大模型应用的领头羊、探路者、先驱者。章总在接受财经杂志专访时说:“过去大家还有贸工技、技工贸的分歧,还有市场换技术的幻想。但今天大家有共识,没有幻想,所有人都在选择核心技术研发”。曾经,企业的护城河是品牌、是专利,或是经营规模等。 而互联网每一次巨变,带来的都是全新的技术,全新的模式,以及全新的挑战。如今,随着时代的迅猛发展,我们必须使我们的技术与时代的要求保持一致,这促使我们必须不断奔跑,跑得比所有人都快,而不断奔跑的能力,本身就是企业的护城河,也是你我的护城河。而依托金山办公培训+业务+分享+创新四步走策略,拥有不断奔跑的能力,显然,只是时间的问题。
希望通过我的分享,能够帮助更多技术爱好者在AI浪潮之中,在深度学习以及 AI 工程开发道路上不断前行,实现技术立业的梦想。
最后,借用雷总的一段话,与您共勉:
在一个网站就能成名的门户网站时代,我勤奋的能写出像诗一样的代码;在建立一个平台就可以功成名就的BAT时代,我辛苦写代码,996了十多年,怎么就做不出让用尖叫的产品?在群雄逐鹿,做一个APP都能融资上亿的时代,我还要错过什么?勤奋我有、技术我有、智慧我有、人脉我有、资本我有,唯独用户,我没有。我需要用户,但这个事情必须要做成用户需要我,需要我的产品和服务;一切围绕用户需求展开,努力做到专注、极致、口碑、快。