算法工程师成长之路-《多模态大模型:技术原理与实战》作者郑志军访谈

708 阅读23分钟

序:本文是笔者和受访者一次周末闲谈的纪实。笔者和文中主角曾共事3年,共事期间,发现主角做事总是充满激情,办公效率极高,健谈。本文记录了一个冬日的下午,俩人在北京星巴克咖啡聊天的话题,其中Q为笔者的提问,A为回答。

郑志军,本科毕业于沈阳航空航天大学计算机专业;研究生毕业于北京语言大学,并获得自然语言处理硕士学位。2018年研究生毕业后入职某国企,在人工智能研究院担任算法工程师,5年期间从职场小白蜕变成部门挑大梁者,成为团队的核心技术人员,曾担任过部门AIGC组长,为公司技术委员会成员,负责公司技术研发技术审批和专利审批,申请过专利7项,近两年一直从事大模型研发。

Q: 志军,谈一谈你是怎么进入这个行业的?
A: 进入NLP行业纯粹是上天的安排,命运之使然。我以前没想过读研的时候要选择什么专业,当时报考自然语言处理专业,是不想本科毕业这么早就进入社会。所以大四的时候就准备考研,结果是被调剂到这个专业。读研3年感觉没有学过多高深的东西,即使读研期间到中科院实习,还是感觉是自己心态不成熟,另外就是没有好的学习心得和方法,真正让我在NLP这个领域有心得有收获的还是到公司工作这几年。

Q: 先谈一谈你本科就读的专业?
A: 我本科就读于沈阳航天航空大学计算机科学与技术专业,因为我们学校是双非(非985/211),在大学期间自己没有兴趣的前提下,所以大学4年很多东西是无感的。

Q: 大学的时候有没有一种焦虑,或者是因为自己双非,会有一些想法?
A: 没有,我觉得我的开蒙比较晚。我大学的时候也是浑浑噩噩,既没有好好学,也没有好好玩。感觉自己总是比别人起步总是慢一步,别人是高中就喜欢上看玄幻小说,我是大学之后才有此爱好。其实大学的时候,我根本没想到以后要做程序员,我原本的理想行业是从事金融,因为金融行业来钱很快。

Q: 作为一个过来人,研究生专业的选择有什么建议的吗?
A: 我觉得读研遇到一个好的导师是非常重要的,我遇到的导师就非常好。我导师对我们整个师门都没有那么严,导师给我们的印象就像长辈在带我们一样,带我们参加很多学术会议,让我们小白见识真正学术会议是什么样的,我第一次做飞机还是我导师花的钱,我的第一份工作就是我老师内推的。

Q: 谈一谈读研期间,感觉最有用或者学的最好的3门课。
A: 研究生最有用的三门,第一是Python,老师挺照顾我们的,本来这些编程语言是下放到本科的,但是我们老师还是带我们学习Python语言;第二门是深度学习导论课程,像stm,cnn这些其实都不教,只给你开个头,具体的东西都靠自己去看;第三门是传统机器学习的课程,老师当时给我们推各种公式,虽然现在很多机器学习公式推导过程还是没学会,但是当时老师给我们推导的过程记忆深刻,当时感觉老师是真的牛逼。 虽然这些公式以及推导过程没有完全吸收,但是我觉得收获最大的是,在推导过程中培养自己的世界观和方法论,这个我觉得是最重要的。它直接决定了以后你遇到问题的时候,能否有自己的一套理论和方法去解决,哪怕这套方法对别人来说比较笨,但是适合自己才是最实在的。

Q: 聊一聊机器学习、深度学习的路径,以及Python语言学习的心路历程。
A: 本科的时候开始学了C和C++,但是这俩门语言用的不是很好,但有了之前的编程基础,再学Python的时候就容易多了。Python要比其他语言容易懂,Python语言在语法和规范更加简洁,更接近于人类语言,不像C语言那么抽象。 至于机器学习以及深度学习心得,第一是要多看论文,尤其是别人在GitHub上高star项目,站在巨人的肩膀上永远比自己单打独斗高效得多。我曾经有个经历就是,经常看不起人家写的代码,觉得哎呀,我干嘛要写你写过东西,等折腾大半年之后,完完全全写出一个跑的通的深度学习模型的时候,我发现完完全全落伍了,而且浪费了很多时间;好处是把整个流程串通了,但是你掌握的基础都比较老,“熟读唐诗三百首”之后你一出口,感觉就不一样,哪怕你是模仿行家,但是你的能力都要比别人出众的多。

Q: 机器学习对数学有什么要求吗?
A: 数学没有硬性要求,但是数学思维好的人学算法有很大优势。工作中遇到朋友以及同事,比如这本书的另外一个作者也是数学出身,以及当时读研师门的一些师哥。有数学逻辑思维的这种人还是很吃香的,好多理论到尽头都是数学,数学懂的话对各种公式了然于胸,而不像其他人机械的记忆公式。

Q: 工作5年印象最深或者成就感最高的项目或者产品是什么?
A: 工作5年印象最深,最具成就感的应该就是格物大模型了。同时也是遇到的难点了,难点之一就是之前没有做过这些东西,没有人指引;另外一个就是这个是一个大的系统,不像我们平时做的小项目,时间跨度特别久,投入精力多。再难一点就是,以前做项目只要用户点头,哪怕是你PPT交付,用户点头就OK,但是做大模型的时候每次做都必须有个突然,都得有个成功,不然说服不了自己也说服不了领导。 最大的困难是对这些东西不熟,因为之前没有人走过这样的路,在市场上不是第一个吃螃蟹,但是在公司内部是第一个吃螃蟹,还得不断地探路。在这个过程中把自己的世界观和方法论培养出来了,至少对我来说,从开始不知道如何开始着手的事情,最后做出来了,我感觉是一个成长的过程。

Q: 什么时候感觉自己技术突飞猛进或者开始能独当一面了?
A: 其实说真话,技术突飞猛进我是没有多大感觉,但是能从小白到独挡一面的算法工程师我是感触挺深的。技术总在学,中小厂的算法工程师总在追赶新技术的过程; 突然感觉自己能独挡一面是在3年前的上海某项目,当领导把任务交给你的时候,就是你负责,那么你就是被赶着往前走,以前你可能还有依赖心里,领导在身边的时候不明白还可以问领导一声,天塌下来有高个子顶着,现在不行,你已经是这个项目的负责人。

Q: 从普通员工到担任组长过程中的心态变化
A: 以前自己一个人干的时候原没有当组长的时候累,自己做的时候只需要把自己的一亩三分地做完就行,那么我做不完都无所谓;但是担任组长之后就不能懈怠了,一旦我懈怠了,整个组就要落后,只能是天天不断push自己,还得push组员;我感觉主要还是责任不同,岗位不同,责任也不同。

Q: 什么时候开始从事大模型工作的?之前做的模型取得什么成就,2022年底的时候,那个ChatGPT火了之后,当时是个自是这么想法?
A: 没从事大模型之前,其实是以项目驱动。后来部门立项,就需要选定一个方向,但是我们觉得好多项目也没办法立了,好多都已经立过了,也没有办法能包住那么多钱的,这个时候,我们就想着,嗯,就做那个叫做类似于BERT一样的这个自编码这种模型,然后格物大模型1.0项目就这样成立了。当把格物大模型1.0做完了之后,我们当时叹了一口气:哎呀,这个项目终于做完了!既高兴但也有点难过。高兴是啥呢?高兴是自己终于把这个做完了。难过是啥呢?当时ChatGPT还没出来,但是BERT已经发展到那个程度了,可能NLP发展真的要步入下风了。作为其中的一员,我也这个有点担心如果当BERT这把好火渐渐趋于平息的时候,世界到底会咋样,对NLP这个需求到底会咋样,我有点担心。 然后没想到那个11月30号的时候,ChatGPT又出来了。ChatGPT出来的时候,我的第一反应的时候,其实我是没有跟上大众的心里,我第一时间也没有用,我在想这是不是也是一个噱头,就跟BERT刚出来的时候差不多。 于是在2023年春节之后,我们正式自己做自己的这个格物2.0的时候,尤其是对训练这个大模型进行那个测试,调试的这个过程中,我才感觉到这个大模型,远比自己想象中的要牛逼,尽管他也有很多的这个缺点,但是他的这个优点也真的是太多了,真的是瞎过眼余。

Q: 当时你们发布的格物大模型1.0的时候刷新了CLUE多项任务榜单,方便聊一聊当时所做的任务?
A: 刷这个榜单是因为大模型1.0立项的要求,我们团队3个人一起参加的,刷这个榜单主要是想给项目结项。最大的这个成就,给我最大的感觉并不是在这CLUE榜单上拿到多少第一,刷这个榜单的时候,其实还是有很多小的那个的技巧什么的。真正让我觉得非常自豪的就是跟其他同一模型机器相比,同样参数情况下,硬拼情况下,你确实是比同年的这个模型都要好,在这个时候哪怕就是高0.1个点对吧,你都觉得很自豪,那就是没有折对吧,这一点是最那个的,因为这一点是最好的,这个评比嘛,你说你其他的时候对吧,你还有一些什么小技巧,可能还加一些那个叫其他的什么模型融合等等这些东西来做这些对吧,来刷指标,那那个时候就不一样,你纯靠你自己这个对吧。

Q: 当时你们刷了CLUE榜单的哪些指标?
A: 一个是分类榜,一个是命名实体识别榜,另一个是知识图谱版,总计3格评测任务。

Q: 嗯,公司发了新闻,当时什么感受,惊喜吗?
A: 当时感受,没有欣喜,也没有太多高兴,因为真正到了那一步的时候,其实波澜不惊,其实你自己也知道这个结果出来了,顶多也就是相当于公司帮我宣传了一下。

Q: 给工程人员或者小白科普一下什么是大模型,以及大模型目前的发展状态。
A: 在我理解看来参数至少得达到几十亿,现在最少也是是60多亿的机器学习模型才算大模型;另外一种是生成式,我都认为同时具备这两点的,我觉得就是大模型。 大模型的发展之路的话,我觉得有几条线能走: 一条线是从单模态向多模态发展,而且愈演愈烈的趋势。现在单模态大家都在卷,到现在也没办法再卷了,而且也不好再卷了。所以多模态出来的反而会越来越多,在多模特上面,一方面是它有好多点要去攻克,另外一方面,有些点你发现能被攻克,你想短时间能被攻克,那就很吸引大家了呀,对吧?有好多东西没有做,而且发现有些东西居然能做,所以大家就往那个方向上发展。 另一条线,大模型的发展,也是现在市场普遍认为的,大家开始不卷技术了,反而更多的是卷应用。现在的应用是铺天盖地的大模型,我个人对大模型现在观念就是之后的应用会越来越广,需求也会越来越多。即使好多人说现在是互联网的寒冬,在很多人看来。我这点倒不认同,我觉得现在互联网所谓的互联网寒冬,被开除的多半是前端或者是游戏等这些行业。你说人工智能会不景气,我不相信,我只相信人工智能之后会越来越景气。 不管是国企还是一些头部厂的都在大量的招这种大模型的相关岗位,而且都招大模型的应用,把它用到各个领域,比如说有电信做欺诈的,比如说做测试的,比如说做代码生成的等等。

Q: 以前你们做自然语言处理的时候,用到大模型了吗?比如说文本改写,文本生成之类的这些NLP任务,用到大模型没有?
A: 那个时候都不算是大模型,那个时候模型参数没有多大,模型参数才几个亿,多半是GPT-2,以及T5。但是,就当ChatGPT出来之后,才彻底确定走自回归这条路线。

Q: ChatGPT出来的时候,他用的应该是Transformer的模型是吧?
A: BERT也是Transformer的这个模型,但是Transformer分成两部分,encoder层跟decoder层。BERT以及BERT一系列,2022年11月30号之前大家走的都是Transformer的encoder;少数走的GPT那条路线,极少数走T5,就是直接用整个Transformer。而取得成就比较大的其实还是BERT只走他的encoder部分,所以当BERT发展到2022年的时候,大家都觉得这条路已经走到尽头了,因为没有出什么大的这个东西。但是没想到,这个时候切的ChatGPT出来了,不得不说ChatGPT真牛啊,它的GPT、GPT-2以及GPT-3,包括现在的ChatGPT全部走的全是另外一条路线,就是Transformer的decoder部分。而且是在所有人都不看好的这个前提下,他自己把它给走了出来, 大家对它的这个评价就是"all in one"。

Q: ChatGPT-3和GPT-4区别在哪?以前他是单模态现在升级到了多模态,主要升级了什么,底层有什么变化?
A: 其实GPT-3跟GPT-4底层的这个时候都不好说。因为自从GPT-3开始发布的时候,它就已经闭源了,但是那个时候影响还没有那么大,大家觉得那闭源就闭源,GPT-3影响也没那么大嘛。真正让大家觉得闭源是一个非常坏的这个事情的时候,是ChatGPT出来了,它的性能超出了大家的这个想象,但是呢,却闭源了。所以大家现在把Open AI都叫成那个叫Close AI了。很多专家猜测它的底层是专家模型,里面有好多用户模型来支撑起GPT的这一个业务。

Q: 自己训练一个大模型肯定是非常昂贵的,尤其GPU资源昂贵是吧,大部分中小厂都是通过微调或或说量化压缩。那就是说谈一谈你们在部署当中的一些经验,或者微调之类的,给大家分享一些微调和部署的一些经验之谈。
A: 我觉得其实对于公司来说,站在巨人的肩膀上真的是很有很多好处。你想想别人做大模型的时候花了多大的这个精力。光是数据量,多少人攒了这么多数据量,这个数据怎么配比,这些东西都得花特别大的精力。即使你这个问题解决完了,还得有海量的服务器来供你训练,所以我觉得不如站在别人的这个肩膀上。 对于是小公司来说,我觉得微调是应该的。从某种程度程度来说,尽管现在大模型可能做多任务性能特别好,但是距离实际应用场景,其实它在应用还是有一段的差距。当然我上面说的这个话,仅限于非ChatGPT跟非ChatGPT-4。也就除了Open AI之外,其他的大模型,离实际应用其实还是有一些差距的。所以还是要微调,反而又陷入到第三代范式的那种感觉,就是针对任务再进行一个微调,尽管这个任务可能你现在变成多任务,但是也得微调,不像是ChatGPT跟ChatGPT-4。它只有到达一定程度的这个过程中,我才能比较好对它进行一个下游任务的一个直接应用开发,就是promote工程师这种。

Q: 那部署过程部署,比如本地化、私有化的部署过程当中,有什么经验之谈吗?
A: 说真话,本地化私有化部署过程中我都真心不觉得它有一些难点,如果说难得,我就觉得可能现在国内有种情况就是现在渐渐要求国产化,从国产化角度,把大模型给那个部署起来,这就比较的那个恶心了。我觉得这一点其实挺难的。

Q: 如果是公司微调的话,GPU和服务器资源昂贵吗?
A: 不昂贵,如果仅仅是130亿参数的大模型的话,我觉得GPU资源真的是要的不多,要的很少。

Q: 大厂做大模型有什么优势?
A: 首先是大厂有钱,有钱随便造,其次服务器资源充足,三是业务场景支持,大厂明显比中小厂有优势的多。

Q: 继续就是下个话题吧,怎么会想到写书的,写书过程中遇到哪些困难,怎么合理安排时间的,尤其是手头有活的工作的状态前提下你是怎么做时间管理安排的?
A: 跟我之前一直在谈到的进入这个行业一样,你说为啥会写书,我只能说命运的安排。我和彭旋是同事,有一天彭旋找到我,说有想写一本书的想法,我当时觉得这个想法很酷,第一是写本书能赚些钱,同时也能提升自己的知名度,于是就加入进来了。这本书的牵头人是彭勇博士,他俩都姓彭,你就应该知道了吧。

Q: 什么时候开始着手写的?写作过程中遇到什么困难?
A: 六月份开始写的,遇到最大困难你得看好多新的知识,那个时候毕竟还是单模太那个比较吃香,多模态的这个概念在那个时候并没有现在的这么火,所以你就得不断的补你这个知识。写作的过程当中,自己去补了这方面的知识,之前的时候你可能是了解一些,但是你现在必须得系统性的了解。

Q: 嗯,就是说,要想出的同时自己也有所输入是吧
A: 对对对。因为,之前更多的偏的是单模态,对吧,但你现在要整多模态的时候,你又得必须得多看,然后你才能写。 至于时间上,那就只能将把你白天闲暇的时间给那个剪出来,我觉得写作那段时间真的是太累了,周六日都得写,然后你下班了回家的时候你也得那个写,不写你不能按时交稿。

Q: 有没有一个给自己的一个时间限定,或者是一个硬性安排,比如说我周几到周几就必须写多少章节,我写多少字
A: 好多的时候计划赶不上变化,我曾经给自己立个规定每天规定写多少时间,但其实好多时候写不出来,写真写不出来。但是如果有个deadline,真的是个好好东西嘛,你因为你越看到那个时候的话,你越是得逼着自己本来,周六日可能,你越不紧的时候,你觉得,哎呀我周六我对吧,到六点钟就回来,但但是你发现时间快到的时候,那别说六点钟回来了,八点钟你都回不来。

Q: 那写作过程中有人监督你吗?还是自己监督自己?
A: 写完了之后,才会给出版社,也就是说写作过程中自己监督就好,还是靠一个自律自觉,自己监督。

Q: 就写这本书,感觉有什么收获,比如说稿费书方面跳槽面试
A: 要说写这本书获得的收获,一方面来自于收入,其实写书现在收入多少也没有多少,实际上它是按你出版量来的,收入能不能持续,完全是看你这书卖不卖得下去。另外一个收获,就是在面试的这个过程人还觉得写了一本书会让别人对你增加印象。面试的时候提到自己写了本书,HR会另另眼相看,还面试官,也会特意主动了解一下,或特别关注一下。我再面试的时候,真有人家特地去查你这本书有没有在卖。

Q: 嗯,你感觉写书和和写代码有有什么关系,或者有什么共同点吗?
A: 写书和写代码还是有帮助的,实际上它对你直接的帮助可能并没有直接提现再写代码的过程中,更多的是帮你理清思路。好多结构,章节,就和数据处理这种方式,如果你弄不明白,就没法写出来,更多的是让你对技术有更多的理解。 以前你只知道调包,用别人的开源代码,但是再写作过程中,你就必须知道,这里弥漫是什么结果,他的数据处理到底是什么样的方式。

Q: 有些从其他行业想卷进来,或者还在学校的在校生,将来他们想跨到AIGC大模型行业来,有什么建议吗?
A: 我觉得这行既好入门也不好入门,AIGC我觉得已经开始有点卷起来了,真的我对他们的这个建议的时候,就是我觉得可以多往那个多模态那边走一些啊,因为我觉得多模泰之后可能会更火,他不仅能做大模态,它也能做多模态。另外一个时候也别仅仅选择做那种文本生成的,也可以考虑一些代码生成的这个路。就是对于那些没有资源训练一个大模型的,其实可以多想想大模型的应用场景。还有一个就是入局的话,我觉得就是早入局铁定比晚入局要好啊,因为现在全部都是O因那个叫AICC嘛,对吧,你现在不入局的时候,对吧,那等你再想入局的时候,可能就相对来说比较晚了,尽管我认为就是之后铁定是AIGC的时代啊,但是到那个时候铁定竞争也会更激烈,因为已经有好多年发展AIGC的这个历程的时候,你一个刚刚入AIGC的人怎么跟那些人比嘛,如果你想拿高薪的话,我觉得你想入大冒险,现现在就要入。

Q: 还有一些额外的建议吗?
A: 我建议去做实习啊。特实习真的因为你不去做实习,光在公司想的,光在那边想的时候,对吧,没有多大的个用处,除非就卷一些那个卷一些基于LORA的微调,但意义我感觉比较不大,我真心建议是确实性做出一下,看看外面的对大国现在这个真实需求真的是什么!

同行寄语

反正人生就是这样吧,我也不清楚自己知道之后想做哪一步,但是尽渐觉得有些话说的是很多,就第一个就是能行动的时候千万别躺着,因为躺着想这些东西,你永远想不出来这一行到底适不适合你,只有你出去做的时候你才知道对吧?我,我就是你才知道这行。到底适不适合你对吧,也别觉得浪费时间,因为你干想这个时间其实也是浪费的,嗯,对吧,我所以觉得要做个行动派。第二点我其实我就觉得得什么时候都得认真吧,也不能说是不忘初心,因为很有可能你会忘了自己想要做的一些什么东西,也甚至是你又改了一些做什么东西吧,这样所以就得认真嘛,什么时候都得认真,而且这一点我觉得也真的是很重要的,因为其实相当于我们一开始2022年开始做格物1.0的时候,其实他也并不火,但是也是认认真真给做下去了,所以我总觉得上天永远会眷顾那些努力的这个孩子,可能一年两年看不到这个成果,但是我相信你总会有那个叫开花结果的一天。或者就是按网上说的那个,你可。永远不会开花结果,那也有可能,你是一个参天大树嘛!

受访者新书传送门多模态大模型:技术原理与实战