北京时间今天凌晨1点开始的WWDC keynote,前半部分看起来乏善可陈,但是大家都在等待苹果发布跟LLM/AI相关的大杀器。虽然,没有说one more thing这句经典台词,但是当Apple Intelligence正式揭幕的时候,大家知道,失传了很久的
one more thing时刻真的回归了。
Apple Intelligence是什么简单的说,就是
一个apple芯片加速的LLM(大语言模型),以后会内置在任何Apple device里面,它已经跟文件系统、邮件、相册、等等内置功能连接在一起了。这就是大杀器。而当你不满足于本地LLM的能力的时候,ChatGPT不仅是有了iOS App和Mac App,它也成了苹果生态的一等公民,一键你就可以用ChatGPT接力本地的LLM,获得更大的能力。
K
eynote部分主要是讲应用部分,但是
Apple Intelligence到底是怎么构建的,开发者怎么从本地的LLM里面获得助力,最近几天我会全面的阅读文档,看WWDC的视频。帮大家总结和分析。现在开始:
构建
Apple Intelligence的时候,苹果面临几个挑战和目标,首先苹果有自己的M系列芯片,Apple自己的AI基础设施必须可以获得M芯片的加速助力,然后苹果从几年前就开始设计的思路是在AI化的同时,保持用户隐私的本地化,所以,很多计算必须在本地进行。在本地进行还可以获得更好的响应速度,也可以更好的和本地的用户信息来配合。
怎么实现呢?
1、Foundation model
大概从2023年开始,苹果就开始使用自己开源的AXLearn框架训练自己的大语言模型。AXLearn是苹果公司开发的一个开源机器学习框架,主要用于训练大语言模型(LLM)和其他生成式AI模型。该框架于2023年发布,并构建在谷歌研究人员开发的开源框架JAX和XLA之上。苹果设计并实现
AXLearn框架的目的很明显,就是为了训练自己的大语言模型。
这个大语言模型被叫做 Foundation model,在设备上的版本的尺寸是30亿参数左右。可以类比的Google的设备端大语言模型,Gemini Nano的参数尺寸也是差不多的,
Nano-1是
18亿,
Nano-2是
32.5亿。在苹果私有云端的版本的尺寸没有被公开,这可能是因为云端版本比较好升级,未来可能会不断的升级,所以,没有必要拘泥当下的尺寸。这点要是做到了,那就是一反苹果的性格的敏捷了。
把大语言模型放到设备端的很大的一个目的就是提高响应速度,苹果官方宣布的是在iPhone 15 Pro上,实现了每个token 0.6毫秒的首次响应延迟,以及每秒生成30个token的速度。
Apple Intelligence和其他大语言产品最大的区别,就是它的目的是帮助处理用户自己的各种信息,和本地的各种应用连接。而不是醉心于各种各样的花式的问周树人和鲁迅是不是一个人。
一般的LLM聊天机器人,没办法顺畅的访问用户全部的个人信息,自然也无法跟
Apple Intelligence在这个层面去竞争。
但是
Apple Intelligence这丰富的用户信息类型和本地应用类别也带来了挑战。苹果的LLM不能只关注于如何顺畅的对话。它要处理各种不同的任务,处理各种不同的信息类别。怎么去优化这一系统呢?
苹果的做法是总结出来各种不同的用户日常活动,针对性的去微调
fine-tuning这些活动下,
Foundation model的表现。如下图:
上图包含了一系列用户常见的操作,文本相关:摘要、语气调整、友好语气、校对、精炼,紧急语气。邮件回复、查询处理,等等。这当然没有涵盖全部的内容。未来苹果也可能会根据用户的常用场景增加一些微调的类型。
LLM大语言模型训练好了以后,我们一般认为在大语言模型内部,已经凝结了文本相关的逻辑、语法,以及通过语料的内容获知的很多现实世界中的知识。那么针对各种不同的应用,再去微调,可以形成更针对性的大模型。苹果也是这么做的。但是与一般的应用的不同,苹果需要针对多种需求去微调。如果每一种微调形成一个新的大模型,那么显然苹果没办法在手机里面集成十几个甚至几十个大模型。
这里稍微聊聊微调的原理,一个深度学习模型,可以理解为一个巨大的矩阵。最后一层就是为了输出结果的层,所谓的微调,可以理解为把一个大语言模型的最后一层去掉,保持前面的层不变,用微调语料训练一个不同与原来的最后一层,这个最后一层是特化于微调语料的,但是前面的更多层并没有任何变化,于是我们相信微调的结果是,大语言模型的基础知识和逻辑没变,但是针对微调相关的任务变得更有效了。
讲这个逻辑的意思是希望大家理解,苹果做的事情,其实就是用不同的微调,生成不同的最后一层。然后苹果把最后一层叫做适配器
adapter,每个
适配器
是16位,每个
适配器
大概是10M大小。苹果先加载
Foundation model,然后如果现在要执行的任务是
摘要,那么就再加载
摘要
适配器,然后处理用户的摘要请求。完成请求后,下面用户要回一封邮件,这时候,苹果不用动
Foundation model,只是动态的切换到回复邮件的适配器。这样,苹果就可以在一个系统里面,只使用一个LLM,但是看起来却像是在系统里面安装了十几个甚至几十个定制的LLM那样,对每个任务都获得最好的结果。
苹果把
Foundation model
与开源模型(Phi-3、Gemma、Mistral、DBRX)和规模相当的商业模型(GPT-3.5-Turbo、GPT-4-Turbo)进行了比较。与大多数同类竞争对手的模型相比,苹果的模型更受人类评分者的青睐。测试中,设备端的30亿参数的
Foundation model跟
Phi-3-mini(微软)、Mistral-7B(70亿参数) 和 Gemma-7B效果相当。私有云版
Foundation model
与 DBRX-Instruct、Mixtral-8x22B 和 GPT-3.5-Turbo 相比毫不逊色,同时效率很高。
这里不赘述每一个比较的细节了,详细的信息可以参考苹果官方的文档 “
Introducing Apple’s On-Device and Server Foundation Models
“。
4、
Apple Intelligence如何跟系统集成
设备端
设备端,Apple Intelligence架构如上图。整个系统的硬件支撑是苹果芯片Apple silicon,全部计算基于苹果芯片的CPU、GPU、神经引擎处理单
Neural Engine
,安全芯片 Secure Enclave。
然后是整个设备端智能层,包括了语义索引,应用意图App Intents工具箱,设备端模型,文本和图像的。
系统的和第三方的 App 都可以把自己的数据暴露给智能层,App 的数据可以被建立成语义索引,而 App 可以执行的操作也通过
Intent API 暴露给系统。
比如,一个笔记 App,可以把用户的笔记暴露给系统,被建立成语义索引。那么当用户使用 Apple Intelligence 来搜索某年某月去某地附近旅游写的笔记的时候,就可以搜索到。
比如,一个订餐 App,就可以把订餐这种行为,用
Intent API 暴露给系统,这样你就可以跟 Siri 说,在结婚纪念日,定一个牛排餐厅。
其实索引和
Intent API 在以前就存在在 iOS 和 Mac 系统中,这次的变化是,从反向索引(文本搜索)进化为语义索引(语义搜索),
Intent API 也有很多变化。
整个
Apple Intelligence 的用户界面是 Siri,Writting tools、
Image Playground,以及每一个集成了
Apple Intelligence 能力的 App。
私有云端架构