爱游戏ayxapp(中国)·爱游戏体育AYX官方网站爱游戏ayxapp

咨询热线:0771-5861520,0771-5861920,0771-5784905

返回首页|设为主页|加入收藏

爱游戏ayxapp-新闻中心

当前位置:首页 > 新闻中心

新闻中心

爱游戏ayxapp程序员敲代码的“姿势”正在被大模型改写!

发布时间:2024-05-20 01:11:33 来源:爱游戏体育网站 作者:爱游戏AYX官方网站

  大型模型的兴起和发展正在彻底改变着软件行业的面貌,为开发者们带来了更强大的工具和技术支持,使他们能够构建更智能、更复杂的软件系统。借助大型模型的能力,软件产品由此也可以实现更精准的语言理解、图像识别、自然语言生成等功能,带来更智能和个性化的服务。

  在这个充满变革和挑战的时代,CSDN 联合高端 IT 咨询与教育平台 Boolan 于 2024 年 4 月 25-26 日隆重举办了 ML-Summit 全球机器学习技术大会,特设“大模型赋能软件”论坛。

  本论坛邀请到了微软首席应用科学家经理黄寓凡、阿里巴巴通义实验室资深算法总监李永彬、百度 Comate 架构师张立理、智谱 AI-CodeGeeX 算法工程师张鑫鹏、新浪微博新技术研发负责人张俊林一线专家,共同进行了技术干货分享和精彩绝伦的圆桌论坛,分享他们借助大模型在软件开发上的见解和经验,希望为开发者带来新思路和新启示。

  代码补全对程序员而言,无疑是一个非常实用的功能与工具,它不仅可以提高编码效率,也能有效减少 Bug。这也是微软首席应用科学家经理黄寓凡及其背后的团队一直在致力于做的事情。

  在同样是程序员出身的黄寓凡看来,软件开发是一个复杂的过程,远不止编写代码那么简单。过去两年间,微软做了大量的关于代码智能的工作。在主题分享中,黄寓凡以 CPT-C、Codist 为例,进行了简单说明。

  其中,在前 LLM 时代,代码补全功能通常只能补全一个内存变量或者是或者是一个类方法, 通常使用统计机器学习模型,相对于现代语言模型来说,这种传统的机器学习模型很重要的特点就是需要做特征工程。这种补全方法的正确率都不是很高,它只能弹出一个它最有可能的一些候选集,然后让你来选。随着 AI 的发展,微软基于 Transformer 语言模型研发了代码补全工具 CPT-C ,可以预测任意字符,无需特征设计,也可以结合长上下文。

  微软还带来了一款代码翻译的工作 Codist,将软件从一种语言转换为另一种语言的过程。使用代码翻译技术,将代码从原始的语言转换为另一种语言。除了跨语言翻译外,还有其他翻译方法,例如跨版本转换,即在修改代码后将其转换为不同的版本或框架,以满足新的需求。

  然而,代码翻译是一项非常具有挑战性的任务,此前也有许多人尝试解决难题,从而形成了三种主要方法流派:

  第三种方法是尝试找到一个中间表达。例如,如果想要进行中文到德文的翻译,但缺乏直接的平行语料,可以先训练一个中文到英文的翻译模型,然后再训练一个英文到德文的翻译模型。通过这种方式,英文成为了中间桥梁,使得中文到德文的翻译成为可能。代码翻译也使用中介语言做媒介帮助翻译。

  经过研究发现,这三种方法都存在各自的局限性。在 Codist 中,微软采用了代码蒸馏的方式,核心是“关键词”,实现跨语言/领域的对齐。

  以上这两种示例可以称之为 CodeSLM,这样的方式有优点也有缺点,优点是模型小,资源消耗少,也可以实现边缘计算,但缺点是只能局限在专一场景中,而并非像 LLM 一样是针对整个开发的通用模型,此外研发成本与效率也不低,知识/性能是有上限的。

  基于此,微软已将 CodeLLM 应用于代码智能领域。作为一项将大型语言模型应用于软件开发领域的技术,CodeLLM 可以成为软件研发生命周期的通用模型,也带来了高性能基线。

  不久前,阿里巴巴宣布迎来首位 AI 同事“通义灵码”,这位 7*24 AI 智能代码编程助手,擅长 Java、Python、Go、JavaScript、TypeScript、C/C++、C# 等 200 多种编程语言,可以辅助开发者写代码、读代码、查 Bug、优化代码等,从而引发众人关注。

  在本论坛中,阿里巴巴通义实验室资深算法专家、通义灵码算法负责人李永彬带来《通义灵码背后的技术和思考》主题演讲。

  李永彬表示,在代码领域,代码大模型的发展路线有两条。第一条路线以自然语言为出发点,首先建立一个基于自然语言的大模型,然后,向该模型注入代码数据,以实现一个能够自动生成代码的大模型;第二条路线则是从代码的角度出发,从海量的代码数据中进行训练,然后注入自然语言数据,以实现代码生成的 目标。

  在李永彬看来,代码大模型至少需要具备三层能力,即自然语言理解与生成、代码语言理解与生成以及这两种语言之间实现互通的桥梁。通义灵码背后的代码大模型 CodeQwen 就是基于通义千问大模型基座,以及通过海量技术文档、教程、书籍等和万亿级开源代码/积累代码训练而成,目前 CodeQwen 1.5 已开源:。

  经过长时间的思考与探索,李永彬表示,想要构建开发者最喜爱的智能编码助手,需要具备四个方面能力:

  首先,要满足程序员高频刚需。根据 JetBrains 2023 年开发者生态报告显示,79% 的开发者称,编写代码是最耗时的活动,解决代码生成能力是智能编码助手的基本要求。

  其次,作为一个好的编码助手,要能简单方便、又快又好地去使用,为此,通义灵码打造了多模型协同+云端一体的技术架构。在云侧,通义灵码采用了多模型协同打造沉浸式编程体验的策略,之所以做多个大模型协同,是因为不同的任务,用户的实际需求不一样,对模型的能力和响应速度的要求也不同,单一模型难以服务好用户。而在端侧,要做到本地模型及跨 IDE 端插件统一架构设计。

  第三,能够非常好地理解上下文,精准理解用户的真实需求。基于代码的语义信息,充分让模型理解不同场景下所需的生成粒度,从而让模型能够根据当前正在编写的代码位置自适应决策应该生成的代码内容。更进一步,需要做到代码仓库级别的全局感知和理解,通义灵码使用先进的端侧实时代码语义分析技术,实时分析当前正在编写的代码,并获取所需的相关代码引用、相似的代码片段等语义信息,弥补单纯关注当前代码文件所需的不足,避免在生成的代码中引用了代码库内不存在的API等大模型常见的“幻觉”问题。

  最后,如何把编码助手和企业的私有数据资产结合到一起,做一个更契合企业需求和自己代码环境数据的助手,也是非常重要的。

  面向下一步发展,李永彬说代码智能是 AGI 的先锋和明珠。在软件工程智能化领域,从简单 Copilot 到项目级 Copilot,当前正在向软件研发多智能体演进;再进一步,软件工程只是代码智能的一个方向,此外代码智能在数据科学、具身智能以及 AI4Science 等领域也有重要作用。

  随即,百度 Comate 架构师张立理带来了《智能化研发在百度的落地》主题演讲。在他看来,工程师最主要的工作就是编码的问题。

  以往的研发工作往往面临着开发环境复杂、配置成本高、工作涉及多平台切换打断严重,而且相似代码编写效率低等多重问题,随着 2020 年 GPT-3 大模型横空出世,到 GPT-3.5、GitHub Copilot 产品矩阵愈发丰富,我们也亲眼见证了大模型已经切切实实地成为提效的一个手段。

  基于这一趋势,张立理和他的研发团队开始探索大模型在智能研发中的应用,最终将重点放在了“帮你想、帮你写、帮你改”三大方向上。至此,百度内部已经有 80% 的工程师开始使用智能研发助手工具。

  首先,拥有代码数据用于训练模型并不意味着这些数据具备高质量。模型的效果取决于训练数据的质量。

  基于这些挑战,他提出了构建优秀研发助手的建议,即优秀的模型、推理框架与产品的协同作用能够交付出优秀的智能研发工具。通过大规模的实际应用、用户优先和反馈驱动,使产品和模型不断改进,形成良性循环。通过RAG强化、大模型思维链、平台开放等手段,智能研发将更贴近组织与团队,胜任更大规模的需求实现。

  在全球机器学习技术大会的大模型赋能软件开发者专题研讨会上,智谱 AI 的 CodeGeeX 算法工程师张鑫鹏深入分享了从开源代码模型到智能编程助手的实践探索历程。随着预训练模型的不断发展,自动代码生成迈入了全新阶。


爱游戏ayxapp
上一篇:
上一篇:架构师会被 AI 秒了吗?
下一篇:分析丨MTK和Intel联手投资RISC-V芯片新

地址:南宁市东葛路118号青秀万达西(甲)3栋39楼3909室
联系电话:0771-5861520/920
CopyRight© 爱游戏ayxapp(中国)·爱游戏体育AYX官方网站 版权所有 桂公网安备 45010302000733号 爱游戏ayxapp