写点什么

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

评论 1 条评论

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

OpenShift 4 监控技术栈解析

东风微鸣

Kubernetes Prometheus openshift 可观察性 Thanos

目标检测之YOLOv1

Dreamer

【原创】Spring Boot终极篇《下》

田维常

spring Boot Starter

想不通(关于人生的突发奇想)

干啥啥不行的赢

YOLODet--YOLO系列网络结构图(YOLOv5,YOLOv4,PPYOLO,YOLOv3)

wuzhihao7788

学习 AI 目标追踪

智能驾驶看湘江:中国智能网联汽车产业的“长沙样本”

脑极体

芯片破壁者(十九):显卡的战国与帝国

脑极体

架构师训练营第七周作业

邓昀垚

马云被约谈,阿里大数据的羹怎么分给每一个人?

CECBC

区块链 大数据

甲方日常 43

句子

工作 随笔杂谈 日常

【原创】Spring Boot终极篇《上》

田维常

spring Boot Starter

Java9 新特性 - 下篇

hepingfly

Java 新特性

【面经】面试官:做过性能优化的工作吗?你会从哪些方面入手做性能优化呢?

冰河

面试 性能优化 JVM 高并发 高性能

YOLODet 最强PyTorch版的YOLOv5、YOLOv4、PP-YOLO、YOLOv3复现

wuzhihao7788

学习 AI 目标追踪

DDIA 读书笔记(4)多节点数据复制方案

莫黎

读书笔记

区块链是未来数字经济标志性的发明技术

CECBC

区块链 数字经济

一站式低延迟直播连麦解决方案

anyRTC开发者

音视频 WebRTC 直播 RTC sdk

Amdocs收购OPENET:关于5G应用落地的思考

VoltDB

大数据 数据分析 5G 物联网

SpringBoot-技术专题-war包项目外置配置文件

码界西柚

让容器应用管理更快更安全,Dragonfly 发布 Nydus 容器镜像加速服务

阿里云基础软件团队

云原生

聊点缓存——Part 1

姜雨生

redis 缓存

图解 | 不得错过的Binder浅析(一)

哈利迪

android

程序员面试题为什么出得天花乱坠,实际工作中这些根本用不到?

Java架构师迁哥

嵌入式的我们为什么要学ROS

良知犹存

ROS

淘宝内测新内容社区淘宝逛逛:邀请B站UP主入驻打造流量池

石头IT视角

搞定秒杀,只需要这几步!!

架构师修行之路

缓存 分布式 微服务 秒杀

音视频社交的应用和优势

anyRTC开发者

音视频 WebRTC 语音 直播 RTC

巨建华:区块链+金融的难点

CECBC

区块链 金融

复盘逆袭之路!三个月时间深造,怒斩拼多多、字节、蚂蚁金服破50W年薪Offer(含自学路线图)

Java架构追梦

Java 学习 架构 面试 数据结构与算法

专业级沙箱与恶意样本的自动化分析

京东科技开发者

云计算 监控 虚拟化

数据库JDBC:PreparedStatement

正向成长

JDBC SQL预处理 PrepareStatement

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