硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

上海交大林云:揭秘大模型的可解释性与透明度,AI 编程的未来在这里!

林云

  • 2024-08-14
    北京
  • 本文字数:2913 字

    阅读完需:约 10 分钟

上海交大林云:揭秘大模型的可解释性与透明度,AI 编程的未来在这里!

在软件开发的世界里,代码的生成、编辑、测试和调试一直是核心活动。然而,随着大语言模型的介入,这些环节正在经历一场深刻的变革。这些变革不仅提高了开发效率,也为我们带来了新的挑战和问题。在 8 月 18-19 日,AICon 上海站有幸邀请到了上海交通大学 计算机科学与工程系副教授林云 ,他将与我们探讨语言模型如何影响软件开发的每一个环节,并为我们展示如何通过先进的分析技术来优化和增强模型的预测能力。


本文为会前采访文章,他深入探讨了大语言模型在软件开发中的应用,分享了提高模型可解释性的策略,如可视化技术和影响函数。通过 ISSTA’24 的案例,他展示了全项目感知的交互式编辑方案,并讨论了数字孪生技术在验证模型能力中的应用;最后,他预测了 AI 对软件开发范式的影响,并强调了开发者在 AI 时代需要的新技能。期待对你有启发~


另外,在 8 月 18 日至 19 日举办 AICon 全球人工智能开发与应用大会,即将深入端侧 AI、大模型训练、大模型安全实践、RAG 应用、多模态创新等前沿话题。详细内容可点击原文链接查看。


大语言模型在软件工程中的应用与挑战

InfoQ:您认为当前大语言模型在代码生成、编辑、测试和调试等方面的表现如何?有哪些具体的应用案例?


林云:这些软件工程任务的自动化手段的原本瓶颈在于专有或者领域知识的不足,比如特定文件资源的获取以及特定错误或异常的根因定位等;而语言模型的出现通过将大量的编程知识压缩和编码,使得弥补这种“知识鸿沟”变成了现实。我们课题组和字节进行合作,在代码自动编辑进行探索,提出了基于语言模型的端到端编辑方案,来解决编辑的传播、定位、生成和反馈循环等问题。


目前在定位和生成的准确率都达到了相对理想的效果;至于测试,我们正在尝试来让语言模型进一步学习领域知识,来生成领域相关的测试用例;至于调试,我们也在期望让模型生成出整个调试的过程,由此使得技术更加实用。

InfoQ:大语言模型在不同类型的编程任务中表现出了哪些优势和局限性?


林云:语言模型的优势在于常识量巨大,能够解决带至于泛化出各种基于大量常识知识的解决方案。而局限在于长上下文的确定性推理(比如,跨文件的数据流分析等)。所以如果将语言模型和传统的程序分析工具有效解决,是一个非常有价值的课题。


可解释性方法与模型透明度

InfoQ:在训练和使用大语言模型时,您遇到过哪些可解释性的挑战?如何解决这些挑战?


林云:主要的可解释性问题在于代码表征分析和训练样本归因两个方面。表征分析其实希望理解模型是否能够理解两片代码的相近语义,这段泛化模型的能力非常重要。而训练样本归因在于解决模型的预测源自于哪些训练数据,这个对数据集质量非常重要。


对于前者,我们开发了表征空间可视化技术来理解模型训练过程中的训练动态;对于后者,我们优化了传统的影响函数(Influence Function),来观测训练样本的贡献和彼此之间签在的冲突。

InfoQ:您能否详细说明基于数据和基于表征的可解释性方法,并分别讨论它们在实际中的应用效果?


林云:深度学习本质上是表征学习,任何样本都会在一个高维向量空间上有一个向量表示。我们目前的做法是把表征空间上发生的各种训练事件转化成一个可交互式动画,来观测训练过程。


在这个过程中,我们可以观测样本之间语义距离的变化,并且利用影响函数(一种基于数据的可解释性方法)来进一步推断这种变化的根因。这些可解释性方法的组合使用在现实中可以有效帮助我们分析训练数据质量、模型的表达能力、以及训练数据标注中的一些问题。

InfoQ:您提到的 ISSTA’24 的代码编辑工作是如何实现全项目感知的交互式编辑的?能否分享一些具体的实现细节?


林云:我们 ISSTA’24 的工作提出了一种端到端的代码编辑方案,叫做 CoEdPilot。当用户给定一个编辑要求后,我们的工具能够迭代式地完成全项目编辑定位和编辑生成。并且通过将先前的编辑作为用户反馈,进一步调整和精化定位和生成的结果。


我们通过设计两个 transformer 将一个大的端到端任务拆解成两个小模型,来交互式地完成这个任务。一个小型的语言模型用于编辑定位,另一个小型的语言模型作为编辑生成。我们通过收集大量代码提交历史记录来循环指令微调这两个模型,来达到比较好的效果。更多详细信息可以关注 AICon 上海站的分享。


InfoQ:在这个案例中,您是如何分析和追溯训练样本的?使用了哪些技术手段来构建数字孪生环境?


林云:我们通过设计了自己的影响函数来将一个预测溯源回对它贡献最大的训练样本。这里基本的思想是分析一个训练样本和一个测试样本之间的预测联动性来完成的。至于数字孪生验证场景,我们期望将一个静态的代码提交恢复成一个动态的代码编辑场景,来验证模型的能力。

InfoQ:您在演讲中提到了代码深度表征分析和数字孪生模拟编程场景。能否进一步解释这两种技术的具体实现方式及其对模型性能的影响?


林云:这里主要解决的问题在于模型训练准确率不等于模型对真实编程的生产力,所以我们设计了这个技术来解决两者之间的差距。如上文所说,我们将一个静态的代码提交恢复成一个动态的代码编辑场景,来进一步验证模型的能力。


InfoQ:如何通过这些技术提高模型的透明度和可信度?


林云:通过这些可解释性技术,我们期望能够有效帮助程序员来将模型训练的过程白盒化。比如通过训练数据归因,模型的使用者能够更好地理解模型做出决策的依据,这样可以方便使用者来更好的接纳或者拒绝模型的建议。

未来展望与开发者技能

InfoQ:您认为大语言模型在未来将如何影响软件开发范式?会有哪些新的趋势或创新?


林云:语言模型嵌入程序开发活动已经是大势所趋。以往的代码开发的一些知识可能是程序员之间口口相传,有了语言模型之后,大家会逐渐思考留下更多的代码开发历史并训练相应的模型来完成推荐。所以在未来,代码开发活动,同时也是数据标注活动,这可能会引起面向模型的开发活动的思考和创新。

InfoQ:针对 AI 时代,您认为开发者需要掌握哪些新的技能和知识以适应这种变化?


林云:我觉得开发人员可能在一定程度上需要了解 AI 模型的运行原理。因为交付可靠的软件其实仍然是不变的要求,但如果把工作交给一个概率驱动的语言模型,这一方面需要有比较强的验证机制来检验概率模型结果的可靠性;另一方面需要理解语言模型本身的局限性。这样才能有更加好的人机协作编程方式,来交付更加可靠的软件制品。


嘉宾介绍


林云,上海交通大学 计算机科学与工程系副教授、系主任助理、博士生导师,原新加坡国立大学助理教授(研究岗),入选 2021 年国家海外高层次青年人才计划。主要研究领域为软件工程,侧重代码、网页和 AI 模型的自动分析技术。在国际顶级会议和期刊发表论文近 50 篇。担任 PRDC2023 国际会议程序委员会联合主席,以及重要国际会议的程序委员会委员和审稿人,主持国家基金委优青项目(海外),获得过 ICSE2018 最佳论文奖。

活动推荐


8 月 18-19 日,AICon 全球人工智能开发与应用大会将在上海举办。来自字节跳动、华为、阿里巴巴、微软亚洲研究院、智源研究院、上海人工智能实验室、蔚来汽车、小红书、零一万物等头部企业及研究机构的 60+ 资深专家,将带来 AI 和大模型超全落地场景与最佳实践分享,帮助与会者提升技术视野、获得有价值的实践指导。大会火热报名中,详情可联系票务经理 13269078023 咨询。



2024-08-14 15:085828

评论 1 条评论

发布
用户头像
确实,大模型目前还是概率启动的,希望能进化为逻辑+数据+记忆驱动的大模型
2024-08-30 11:10 · 安徽
回复
没有更多了
发现更多内容

自创解法!setTimeout+Promise+Async输出顺序?简单的一匹!!

Sunshine_Lin

面试 前端 ES6 Promise Async

React 中五种常见的使用样式

编程江湖

React

大数据培训:hadoop中shuffle过程面试题

@零度

大数据 hadoop Shuffle

多种网络设备的优缺点及网络故障的排除方法

恒生LIGHT云社区

故障 网络设备

如何解决JDBC死链接导致NIFI线程假死

编程江湖

带你认识传统语音识别技术

华为云开发者联盟

语音识别 语言模型 声学模型 隐马尔可夫链 WFST解码

VRAR产业峰会暨第二届华为VR开发应用大赛颁奖典礼在和平区成功举办!

华为云开发者联盟

云计算 5G AR 华为云 vr

docker

Docker jenkins pipeline

Linux之目录结构

入门小站

甲方,你们愿意被乙方侮辱吗?

码农一米

云计算 云服务

前端培训:React Native 开发过程中遇到的坑

@零度

前端开发 ​React Native

HBase 优化如何操作

编程江湖

HBase

【直播预告】全国人工智能大赛赛题讲解直播来啦!1月6日晚20点,不见不散!

OpenI启智社区

人工智能大赛

Java开发之SSM框架整合配置知识分享

@零度

ssm JAVA开发

安装VTK配置出现错误

Ayosh

qt

Stellantis集团将于2022CES展期间召开网络直播发布会

InfoQ_967a83c6d0d7

微信小程序获取位置信息

程思扬

小程序 小程序云开发 开发者 开发 小程序生态

网络安全好学吗?手把手教你学metasploit 网络安全工程师学习资料汇总

学神来啦

Dumpling 导出表内并发优化丨TiDB 工具分享

PingCAP

使用APICloud开发app的性能提升实践

YonBuilder低代码开发平台

android APP开发 APICloud 跨端开发 app性能

绥北人民法院:用宜搭打造“线上法庭”,让群众少跑腿

一只大光圈

低代码 数字化转型 法院 钉钉宜搭

“千言”开源数据集项目全面升级:数据驱动AI技术进步

百度大脑

人工智能

2021年度总结,欲望反光

程思扬

经验分享 #总结# 经验总结 盘点 2021

百度飞桨EasyDL桌面版正式上线,没网也能训练AI!

百度大脑

人工智能

在线JSON转HTML,TABLE表格工具

入门小站

工具

基于机器学习和TFIDF的情感分类算法,详解自然语言处理

华为云开发者联盟

自然语言处理 机器学习 算法 TFIDF 情感分类

惟客数据“惟客云”升级:稳操胜“券”,助力商家精准营销

科技热闻

云计算厂商们,你们辜负了中国的用户

码农一米

云计算 云服务

一图解析MySQL执行查询全流程

华为云开发者联盟

MySQL 服务器 数据包 查询语句 应用层

阿里巴巴集团副总裁贾扬清-一个AI开发者的奇幻漂流

大咖说

Greenplum 内核源码分析 - 分布式事务 (五)

王凤刚(ginobiliwang)

源码分析 greenplum 分布式式事务

上海交大林云:揭秘大模型的可解释性与透明度,AI 编程的未来在这里!_AI&大模型_InfoQ精选文章