受访者| 杜明
制作| CSDN(ID:CSDNnews)
马勇是一位十足的技术老手,拥有24年的编程经验,当过软件工程师,做过安全领域,创业过,做过技术经理,甚至还兼职过研究生商科讲师。已出版三本书,发明多项专利,幕后是顶级期刊审稿人……
很难解释他丰富多样的生活经历,但在兴趣的驱动下,马洪不断探索新的旅程,目前正在基于广泛的模型开发代理方向,并一路研究和实施新技术。
在今天的《近匠》访谈栏目中,我们走进这位高级工程师、数据安全专家、人工智能学者的编程人生,评估他职业生涯各个阶段的不同思维方式,探讨大规模模型和人工智能时代我们将澄清网络之间的关系。安全领域的最新趋势以及新程序员如何成长。我们也希望现代工程师在职业发展过程中可能面临的困惑能够从中得到启发。
马荣
编程入门:学生时代的启蒙,成为最好老师的兴趣
兴趣广泛的马勇万万没想到,他从1996年在沈阳上学时接触到学校最新的486电脑开始,就继续从事程序员的工作。
起初,“我的爱好是电子制作,”马勇回忆道。毕竟,对于当时对世界感兴趣的青少年来说,能够用自己的双手创造出一些东西,想必给了他们很大的成就感。
图片来源:Microsoft Bing 的Image Creator
不幸的是,由于上学期间的限制,他的爱好很快就被搁置了。幸运的是,随着我在学校长大,我也有机会接触到当时学校拥有的电脑设备,一切都改变了。马勇发现计算机比电子生产更有吸引力,这似乎打开了新世界的大门。
于是我开始尝试不同的方式来开始编程,包括书籍和自学。 “我还记得我接触的第一个编程语言是C,我使用的开发环境是Turbo C 2.0”,马勇说。 “学习了一段时间后,我开始开发工作模拟。在开发过程中,我意识到自己缺乏系统的数据结构和算法知识,认识到系统学习理论的重要性,也认识到了自己的性别。”
马勇随后在北京大学正式学习计算机科学与应用,开始理论学习与实践相结合。这段时间研究了类似阿里巴巴的B2B网站,也开发过基于PHP、JavaScript、C++等语言的网站。 通讯收费制度。
在马勇看来,这样的学习没有捷径。只有使用正确的方法,才能事半功倍。
在整个学习过程中,马勇先生最常采用的方法就是在各个阶段为自己设定具体的目标,并不断朝着目标前进。其中,《Turbo C 技术大全》这本书给我留下了深刻的印象,当时我就把“看懂”这本书作为我的学习目标。 “我不断地翻着书页,最终书页变得蓬松,厚度几乎增加了一倍。这本书中包含的C语言运行时函数的解释我仍然记忆犹新。”
马勇坚信“作为计算机行业的从业者,兴趣是进一步进步的唯一动力。兴趣是最好的老师。”这种信念激励他继续他的学习之路,并继续深入挖掘他对计算机科学的热爱。
技能提升:从软件工程师到CTO,需要摆脱“技术为王”的思维
当时,马勇和大多数计算机专业的学生一样,选择了软件工程作为毕业后的职业。技术开发主要有两个方向可供选择。
一是成为高级技术专家。第二个是技术经理。回顾过去,马勇认为,要成为一名高级技术专家,需要不断加深技术理解和经验,成为某一领域高度专业化的专家。如果你想成为一名技术经理,你需要:具备领导力和技术战略能力。领导力首先来自于组织的任命,然后来自于个人的技术理解和魅力。
当然,作为一名工程师,你可以有两个发展方向。马勇就是这样一步步取得成功的。
不过,马勇表示,从软件工程师成长为CTO或技术经理时,大多数人都需要积累经验,除了少数因性格原因不适合担任技术负责人的角色之外,还需要注意。到以下几点。他在职业生涯早期就获得了技术影响力,并在行业中建立了一定的声誉。当然,个人技术能力是基础。后期需要培养自己的技术战略意识,了解技术发展的背景,能够为企业带来技术创新的力量。
作为公司的技术领导者,你需要明白内部创新需要找到合理的平衡点。创新太快会浪费资源,创新太慢会导致竞争。通过朋友。因此,“需要清楚地了解技术发展方向和公司资源”是成为一名技术经理必须具备的基本能力之一。
基于此,马勇还为开发者从软件工程师职位晋升为技术经理分享了两点建议。
从技术能力的角度来看,开发人员必须对组织的战略或项目需求有清晰的了解,能够将产品需求分解为技术需求,并具备系统架构能力。系统构建能力必须从多种基础能力来培养,比如对计算机理论的了解、开发各种系统(前端、后端、数据存储等)的经验、客户端应用层和应用层相关的技术等。内核。纵观当前的技术发展,除了传统技术之外,我们还需要对人工智能有很好的认识。人类只能获得其认知范围内的能力,因此技术管理者必须不断扩展其认知能力。 “我个人每天早上至少花两个小时浏览新技术动态,阅读相关学术论文,了解前沿方向。”您需要分解团队目标,将其分配给合适的人,并从追求个人成功转向团队成功。技术领导者不仅需要引领技术,还需要领导者。这就需要平等对待团队成员,尊重技术能力强的人,帮助技术能力较弱的人,在需要的时候帮助团队成员解决生活问题,必须提供资源和心理支持,帮助团队实现目标。技术管理者必须连接过去与未来,展现个人魅力。困难的管理风格源于自身的不安全感,或者表明管理者自身的能力不足以满足团队的管理要求。创业:技术人员创业必须克服三个障碍:人、钱和商业模式
对于程序员另一种创业方式——,三届创业者马勇敏锐地意识到其中的挑战。
马勇刚进入创业领域时,正值软件工程师第三年,主要从事Web开发和一些C++程序。在此过程中,他意识到网络安全的重要性,并需要一种有效的工具来检测它。
于是,马勇和一些朋友创办了一家网络安全扫描软件公司。但该公司尚未达到市场开拓阶段,业务提前终止。
马勇随后创办了另一家科技孵化公司。在之前的创业过程中,他深刻地认识到工程师和投资人是很难连接起来的,所以这次创业的目的就是帮助工程师更好的和资本连接,作为技术创业者的目标就是帮助提供这一点。同样不幸的是,这家公司由于当时技术和投资环境的变化而不得不失败。
创业第三次之后,马勇又回到了自己一直深耕的安全领域,并意识到在研发过程中还有一些核心安全技术问题没有解决。在那里,他通过自己的研究找到了一些技术解决方案,并最终与同事创立了一家从事数据安全业务的公司。经过六年的努力,他们的初创公司被一家知名安全公司收购。马勇将这次失败归咎于非技术能力的缺乏,这阻碍了公司当时销量的增加和快速发展。
马勇认为,在市场竞争激烈的今天,很多工程师创业失败的原因就是只注重技术,忽视市场。其实,创业除了一些幸运的因素外,事前做一些基础功课非常重要,就像做研究一样,深入了解技术发展和现状,发现技术点和市场机会。技术与市场结合的企业才能发展起来。
因此,马勇认为,对于想要创业的工程师来说,首先需要解决三个问题:人力资源、资金、商业模式。其中,人是指志同道合的人需要共同努力,协商条款,避免后期发生冲突。当然,钱是指最初的种子资金和后续的投资来源。企业需要将自己的核心能力、社会影响力纳入其中,并引入具有这种能力的人作为合作伙伴。
OpenAI的ChatGPT及其后继模型和工具,与当今的AI创业精神相结合,开创了人工智能的新时代。不过,OpenAI CEO Sam Altman 曾警告称,“仅仅包装OpenAI 的公司注定无法长久生存”。
对此,马勇也非常认同这一观点。这意味着,每次新的OpenAI技术发布,都意味着一些小企业商业模式的终结,但也带来了一些新的机会。他表示,如果有资源,初创公司可以从百川或零一愿望等基础模型培训开始,但资源有限的中小企业可以避免基础培训和不必要的调整。弃。很多小企业利用有限的资源,简单地利用互联网上的训练数据进行训练,这是不切实际的。业内人士表示,小型初创公司应该利用现有的模型资源来解决特定垂直领域的问题,而不是训练模型。正确使用模型的方法是谨慎行事,但要根据自己的资源和实际情况选择合适的模型使用方式。
总的来说,创业是一个充满挑战和机遇的过程,工程师需要市场洞察、商业模式设计、人际沟通、团队管理等综合能力。只有不断学习、提升自己,才能在竞争激烈的创业环境中取得成功。
机遇:以大规模模型为代表的AGI技术取代人工处理安全事件。
虽然整个行业已经深深拥抱大模型和生成式AI的趋势,但马勇却有担忧,他表示,虽然很难判断生成式AI是否是AGI的正确方向,但进展是事实,我们已经开创了一个新时代。
正如比尔·盖茨所认为的那样,大型生成模型是可与iPhone 相媲美的技术进步。 iPhone解决的是人与手机的交互问题,而生成式大规模模型解决的是人与AI的交互问题(自然语言交互)。
在马勇看来,虽然当前的生成式人工智能确实存在泡沫的成分,但其带来的实实在在的技术进步是无法掩盖的。俗话说,外人看热闹,内人看门。尽管大肆宣传,但真正能从生成人工智能中受益的人是在Bilibili 上销售课程的人(笑),但这并不能否认这将产生的技术影响。生成式人工智能是AGI的早期阶段,一旦启动,就会朝着大多数人期望的人工智能方向发展。
马勇进一步补充道,大规模模型的应用主要分为两个方向:RAG(搜索增强生成)和智能体,而智能体是最终的方向,可能是通向AGI的可行路径。这个改变真正解放了原来的脑力劳动。
谈到生成式AI时代网络安全将发生的变化,马勇表示,从压缩理论的角度来看,预训练大模型实际上是对训练语料进行压缩并存储在模型中。训练大型模型使用大量数据,其中可能包含不需要的敏感信息。例如,敏感的个人信息可以很容易地通过大规模模型引导或通过绕过监控机制来获取。其中包括目前大家都关心的角色扮演攻击、代码隐藏攻击等问题。传统安全侧重于直接信息安全,而大规模模型具有一定的逻辑功能和智能,带来更高的风险。针对这一风险,全球主要人工智能强国纷纷出台针对生成式人工智能的监管立法。
除了等待相应立法的实施之外,马勇先生目前是一位资深安全行业专家,他领导的团队正在训练和调优类似ChatGPT的大规模语言模型,用于分析安全信息。
马勇表示,引入大规模模型可以解决安全分析过度依赖人类的问题,大幅降低成本,提高分析能力,这是一个有前途的方向。例如,在安全日志分析中,可以将其视为时序异常检测问题,大规模模型的引入允许对一些隐藏信息进行详细分析,例如信息转换和特殊编码。大型模型的语言理解能力可以轻松破解这些欺骗,这是传统人工智能技术无法实现的。大规模模型的初步逻辑能力取代了部分人工判断,成为人类专家的得力助手。以大规模模型为代表的AGI技术的进步,最终将在很大程度上取代安全事件的人工处理。
开发者建议:大模型不能排除作者
CSDN:随着您的角色从工程师到管理者再到学术人员的转变,是什么激励您不断学习和进步?迄今为止,您遇到的最难忘的挑战是什么?
马勇:我觉得反抗和好奇心是我最大的动力。作为一名程序员和一名学者,两者是紧密相连的。程序员的工作就是研发,其实和学术研究类似,只是需要的深度不同。
我在学术研究过程中遇到的最严峻的挑战可以用“生早死晚”来概括。学术研究是一个创新和探索的过程,没有明确的方向,需要不断的尝试和实验。你可能会在早上对想出一个新方法充满信心,但花了一天的时间去尝试,却发现它根本不起作用,让你陷入绝望的状态。然而,成功毕业的博士生已经学会了克服这种情况的新方法,建立自己的情感支持,睡前复习,并在第二天早上再次充满信心。重复多次并经过几个周期通常可以解决问题。这既是科学研究的痛苦,也是科学研究的快乐。那些能够成功完成博士课程的人具有轻松克服的精神力量和潜力。我有两位博士同事,在之前的工作失败后又回来了。正常人可能早就放弃了。当我看到他们失败的时候,我就预言他们会东山再起,果然,他们成功了。这或许就是学术研究给人们带来的最大财富。
CSDN:你认为一个优秀的程序员应该具备哪些重要的品质或者特质?你见过的最好的程序员是谁?
马蓉先生:根据我多年的技术经验,我认为普通程序员和优秀程序员的区别就在于技术审核能力。一个好的程序员不仅会写代码,还会考虑技术原理,重构代码。您可能会一遍又一遍地开发相同的功能,这表明您有能力重构代码,而不仅仅是复制和更改代码。只知其果,不知其因,永远让你成为一个技术工匠。要成为您所在行业的专家,您需要知道后果并了解原因。
优秀的程序员不会让环境阻止他们。我有一个朋友,只有大学学历,但是对操作系统内核有着很深的了解。他最著名的工作是担任内核调试器,并在一家财富500 强公司从事编译器研发工作。这是软件行业中非常深奥的技术,一般人往往会放弃或者回避它,但他却发现它非常深奥并且享受它。连阿里巴巴的P11专家都对他赞不绝口。
CSDN:请推荐一些对您影响较大或您经常阅读的优质资源,例如书籍、网站或工具资源。
马勇:在选择技术平台时,我首先推荐CSDN和StackOverflow。 CSDN作为中国最大的程序员社区,一直支持我的成长,自成立以来我收获了很多知识和技能。我还打算将我的学习经验和技巧作为存档发布在CSDN上与其他人分享。
作为国际知名的技术社区,StackOverflow 随时可以从国际专家那里获取经验和知识。目前的工作和研究倾向于面向人工智能方向,包括理论研究和工程应用。访问量最大的平台是关于HuggingFace发展方向的更好的信息来源(https://huggingface.co/)。行业。另一个是GitHub,每个人最喜欢的开源托管网站。他还积极参与多个开源项目,包括RapidOCR (https://github.com/RapidAI/RapidOCR) 和阿里巴巴的FunASR (https://github.com/alibaba-damo-academy)。 /FunASR)请稍候。
调试能力是程序员的一项基本技能。除了使用打印数据进行调试外,还需要依靠先进的调试工具来解决复杂的问题。我强烈推荐张银贵博士的书《调试大全》。它值得反复阅读,并将帮助您提高调试技能。另一本让我深受感动的书是《DOOM启示录》,讲述了《DOOM》游戏创作者的传奇经历和专一精神。这本书展示了成功背后的坚韧和努力。作为一名程序员,为了更好地与产品经理协作,营造和谐的工作环境,了解产品经理的工作非常重要。为了更好地理解产品经理的工作内容,我们推荐《产品启示录》这本书。
至于工具,我没有什么特别的推荐,但是一个名为Zotero(https://www.zotero.org/)的免费纸张管理工具非常有用。除了管理论文外,它还可以作为知识管理工具来管理电子书和网站资源。此外,Zotero 还包括一个方便的文档阅读器,可让您轻松阅读和查看文档。
CSDN:不同的角色需要付出很大的努力。你如何快速提高你的应对能力?这些人对你的影响大吗?
马勇:最好的学习方法就是保持好奇心,不要轻易放弃。当我开始学习人工智能的时候,我买了一本书,但我发现我读了很长时间都看不懂,我开始怀疑自己。然而,我改变了主意,因为我意识到文字可能不够简洁易懂。于是我买了几本类似的书,读了一遍,直到终于明白了。从这次经历中,我学会了不要轻易怀疑自己。有时我听不懂,不是因为我不够聪明,而是因为学习材料不符合我的逻辑习惯。在学习新技术或理论时,首先阅读简单的书籍以获得良好的背景并巩固一些基础知识,然后再学习更深入的书籍和资料。这缩短了学习曲线,更容易获取新知识。
除了对我影响很大的海外名人之外,还有国内的研发人员,比如吴先生、张银奎先生。 Matt Wu拥有核物理专业背景,目前是中国资深操作系统内核开发人员,对技术问题具有独特的洞察力和出色的学习能力。我与Matt Wu 作为同事共事并接受了多年的技术指导。张银奎是国内著名的调试技术专家,他一步步理解复杂问题的能力令人惊叹。阅读他的技术博客你可以得到很多东西。
CSDN:生成式AI的应用大大降低了程序员的发展门槛,让任何人都可以成为程序员。那么你认为企业程序员需要哪些新技能才能避免被时代淘汰呢?开发者具备吗?
马勇:大的代码模型极大地提高了程序员的工作效率,让非专家也能完成编程任务。今年,我在北京理工大学做了一个实验,一群不会编程的学生仅依靠ChatGPT就完成了一个编程项目,最终达到了目的。
但这一成就的前提是用户有足够的业务知识和相关基础知识来调整和判断大规模模型生成的代码的正确性和合理性。程序员的要求并没有减少。大模型只能替代脚本员和程序员,但不能替代具有足够专业知识和经验的真正程序员。
为了避免被大模型淘汰,需要提高创造力和架构能力。大模型毕竟是机器,只能在见过的情况或者类似的情况下做出正确的判断,而在未知的领域却很薄弱。
大模型的最大问题是错觉。我们怎样才能克服这种错觉呢?有了足够的知识和能力,你就可以判断一个大模型的输出是否正确。提高理论水平和知识广度至关重要。大模型只能排除下限太低的初级程序员,而不能排除它的创造者。
《近匠》是CSDN推出的深度访谈栏目,深入接触开源、云、AIoT、核心技术、数字化转型、切割等领域的工具创造者和技术管理者。您如何看待当前的开发工作,分享精心打造的工具的特点,分析整个行业的发展现状和未来趋势?
为此,如果您和您的团队有报告需求或洞察技术趋势或深度应用,开源、云、AIoT、根技术、数字化转型,如果您想要基于前沿技术等的新见解领域,联系CSDN提交文章。联系方式:微信(hanbb120,提交请备注+姓名+公司名称)、邮箱(tumin@csdn.net)。