写点什么

上海交大林云:揭秘大模型的可解释性与透明度,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:084503

评论 1 条评论

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

Python代码阅读(第18篇):变形词判断

Felix

Python 编程 Code Programing 阅读代码

学生管理系统(作业)

Geek_a772a7

久等了!【Innovation 2021】网易应用创新开发者大赛正式开赛!

网易云信

开源 架构 开发者 网易 语言 & 开发

强化学习中,Q-Learning与Sarsa的差别有多大?

行者AI

强化学习

HTTP接口测试基础【FunTester框架教程】

FunTester

自动化测试 教程 接口测试 测试框架 FunTester

正经人一辈子都用不到的 JavaScript 方法总结 (二)

编程三昧

JavaScript 大前端 8月日更

AI巨头们建造的“新世界”,进展如何?

脑极体

Filecoin价格今日行情:filecoin价格还能怎么走?

区块链 分布式存储 IPFS filecoin价格 filecoin行情

Baetyl推动边云融合 点亮智能物联网

百度大脑

人工智能 开源

从技术到服务,小鹅通成功的「底层逻辑」是什么?

ToB行业头条

仓储执行系统(WES)

申扬科技

WCS wms WES 仓储执行系统

微信业务架构图-作业

Geek_a772a7

filecoin挖矿教程?filecoin挖矿收益如何?

区块链 分布式存储 IPFS filecoin挖矿 filecoin收益

深入了解现代web浏览器(第一部分)

GKNick

安卓工控主板通信接口有哪些呢?

双赞工控

安卓主板 工控主板

业界首个高性能交互式自动标注工具——EISeg正式开源!

百度大脑

人工智能 开源

01. 你身边的AI

Databri_AI

人工智能

如何认知新技术?区块链技术和应用

百度开发者中心

区块链 最佳实践 方法论

【DPDK工程师手册】 —— 官方文档,最新视频,开源项目,论文,大厂内部ppt,知名工程师一览表

奔着腾讯去

Linux DPDK VPP

网络安全小白别拜师了,求人不如求己

网络安全学海

黑客 网络安全 信息安全 渗透测试 安全漏洞

区块链技术如何在涉诉信访中显身手

CECBC

中国做ipfs公司排名?挖ipfs排名前三的公司是?ipfs矿机哪家最好?

中国做ipfs公司排名 ipfs矿机哪家最好 挖ipfs排名前三的公司是

你真的了解二叉树吗?(手撕算法篇)

有道技术团队

二叉树 网易有道

python通过PyQt5实现登录界面

Python研究者

8月日更

Flutter 安卓 Platform 与 Dart 端消息通信方式 Channel 源码解析

工匠若水

flutter android 8月日更

☕【Java技术指南】「OpenJDK专题」想不想编译属于你自己的JDK呢?(Windows10环境)

洛神灬殇

Java jdk Openjdk 8月日更

图像分类-cifar100 实验研究

毛显新

人工智能 神经网络 tensorflow 图像识别 keras

新思科技软件组成分析解决方案获得Forrester Wave认可

InfoQ_434670063458

新斯科技 Forrester 软件组成分析

每天学习 10 个实用Javascript代码片段(六)

devpoint

mathjs 加密函数 随机数 8月日更

比特币矿池如何触底反弹?比特币矿企的未来出路在哪里?

CECBC

OceanBase 源码解读(三)分区的一生

OceanBase 数据库

数据库 分布式数据库 oceanbase OceanBase 开源 OceanBase 社区版

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