您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。 [2024AI研发数字峰会AiDD北京站]:黎立-端侧大模型落地关键技术探索 - 发现报告

黎立-端侧大模型落地关键技术探索

报告封面

端侧大模型落地关键技术探索 黎立北京航空航天大学 演讲嘉宾 黎立 北京航空航天大学 北京航天航天大学教授,荣获2024年IEEE TCSE新星奖(首位华人),2023年ACM北京新星奖,2023年MSR Ric Holt青年研究成就奖,入选澳大利亚2020年优秀青年基金(DECRA),曾被评为全球前三最有影响力的青年软件工程研究人员。主要研究方向为智能软件工程和移动软件工程,累计发表高水平期刊和会议论文150余篇,谷歌学术引用超8500次(H-index为45),荣获10项最佳/杰出论文奖励。受邀担任中科院一区期刊(ACM Computing Survey)编委以及包括TOSEM、TSE、ICSE、ESEC/FSE、ASE、ISSTA在内的CCF A类期刊和国际会议的审稿人,多次受邀在国际会议上作特邀报告。 智能手机2.0:大模型让智能手机更智能 各大手机厂商正奋力打造具有原生智能的移动操作系统 AS-IS:⼤量AI模型部署在云端,少量模型被嵌⼊应⽤中 TO-BE:核⼼场景端侧完成,⾮核⼼场景沿⽤云端⼤模型 可根据应⽤请求⾃动决定是否调⽤云侧⼤模型(⽐如隐私需求,联⽹,或者⼤概率端侧模型得不到好结果) 大模型入端势在必行,带来巨大机遇的同时也面临着诸多挑战 大模型入端=大模型入端+大模型应用编程框架入端 数据清理与保护 数据清洗:高质量标注数据是训练高质量AI模型的基础ParenthesesShortSentenceURLs# CodeSearchNet数据集示例包含⼤量注释-代码对(Comment-Code Pairs) 19307 7049566232990206775316729 264049 数据清洗:高质量标注数据是训练高质量AI模型的基础 语法级过滤存在不⾜ 1.部分注释与代码语义⽆关:Not for public use. This method isexpected to be retained only as a package private method. 2.代码注释与通⽤场景问题语⾔⻛格可能不⼀致 数据保护:高质量标注数据需要技术手段进行保护 ⾸次提出⼤模型数据⽔印技术 此种类型的数据不具有隐蔽性,⽔印实⽤困难 数据保护:基于代码语义等价变换的数据水印技术 代码语义等价转换规则 a+=1a=a+1VS.语法糖(Syntactic Sugar) range(x)range(0, x)VS.默认参数(Default Parameter) split(‘ ’)split(sep=‘ ’)VS.关键词参数(Keyword Parameter) 模型性能 大模型推理运算成本高,性能提升几乎等于硬件提升 代码大模型已经发展为以数十亿甚至千亿、万亿计的参数量。一味追求推理效果而加深模型深度,增加模型参数,忽视了大规模参数带来的推理运算成本,导致目前大模型性能的提升几乎等于硬件能力。 大模型训练成本高,推理成本更高 LLaMA完成一轮训练需花费405万美元 大模型推理运算成本高,性能提升几乎等于硬件提升 大模型推理成本高,能否减少大模型的访问次数? 大模型每一层网络都参与运算,推理成本与网络层数直接相关 分支限界法:明确得不到最优解的分支,可以直接跳过 是否能将分支限界法的思想用于大模型推理? 减少10%推理=>节约162万美元减少20%推理=>节约324万美元 训练(20%)=405万美元推理(80%)=4*405=1620万美元 大语言动态推理提升推理速度(降低资源消耗) 在大模型推理层间插入判断逻辑(基于隐藏状态信息),动态修改大模型的推理过程,加速大模型推理过程,降低推理成本 大模型动态推理在代码生成模型上的应用 通过在大模型网络的层间添加调节与控制单元(分类器)的形式,使网络具备根据不同输入,结合用户的定制化需求以及特定领域的领域特点,动态调节推理流程的能力。 GPT-2124M参数,12 Layers CodeGen350M参数,20 Layers Exit场景,提升速度的同时,推理长度几乎没有影响 大模型编程框架与实践 LLM for Software Engineering 对标LangChain,自研大模型应用编程框架 苍穹⽤来形容⼴阔的天空、壮阔的景象,代表着壮阔、辽阔的意境。⽐如《诗经》中的“苍苍者天”,《庄⼦》中的“苍苍乎如在其上”的描述。苍穹常常被⽤来⽐喻⾼远的理想或抱负,也可以指代神话中的天空之神。 苍穹(CangChain)框架服务于软件⼚商、模型⼚商,帮助终端⽤户快速开发AI应⽤。 Cangchain基本功能简介 main() {let llm =getLLMInstance(LLMType.OPEN_AI)println(llm.query("translate what youhave said into Chinese"))}拉起⼀个⼤模型并进⾏交互 计算词向量(Word Embedding) main(): Int64 {var sentences:Array = ["苍穹是什么","苍穹"] //分词let embedder = Embedder(modelPath:model.onnx",tokensFilePath:"okenizer.json") 调⽤预置⼯具 //计算词嵌⼊向量let sentence_embeddings = embedder(sentences)println("embedding: ${sentence_embeddings}")} main(){letgoogle_tool=GoogleSearchRun()let result: String =google_tool.run("cangjie")println("result: ${result}")} CangChain原生支持Agent快速实现 React Agent本质上是⼀种Reasoning-Action范式 推理过程由以下三部组成:(1) Thought(2) Action(3) Observation 实践:基于Cangchain智能体快速实现“2048游戏” Prompt模板驱动不同职责的Agent执行不同任务 CodeTester 实践:基于RAG的鸿蒙应用代码缺陷自动修复 ØArkTS⼤模型DeepSeek-Coder 7B Ø性能缺陷库构建CodeLinter⾃动检测⼈⼯构建标注数据 CodeLinter性能缺陷检测⼯具基于⾃研⽅⾈分析器ArkAnalyzer实现,⽬前已部分落地DevEcoStudio IDEhttps://gitee.com/openharmony-sig/arkanalyzer Ø检索增强(各占50%权重)关键词检索(BM25)向量检索(BERT) 端侧大模型落地未来展望 端侧⼤模型仍需找到明确的应⽤场景,⽬前还未形成⽤户⼼智? 思考1:提供智能感知能⼒,对当前⽤户的操作历史,以及运⾏时上下⽂有清晰的认识,做到⽐⽤户⾃⼰更懂⽤户 思考2:端侧⼤模型势在必⾏,端云协同实现最优⽤户体验 思考3:集成⼤模型应⽤编程框架+开箱即⽤的Agents 思考4:端侧⼤模型落地还存在不少技术挑战Ø⼤⼩:终端设备内存有限,只能⽀持(⼩)⼤模型的运⾏Ø性能:模型本⾝性能、模型所带来的整机性能Ø安全:端侧模型直接暴露给攻击者,需要新的机制来确保模型安全 谢谢观看