17611538698
webmaster@21cto.com

Google :推荐开发者编写设备上的AI应用

人工智能 0 491 2024-05-21 07:55:04

图片

导读:在今年的Google I/O大会上,这家公司推荐开发者做一些更正确的事情。

如今的手机和个人电脑都配备了新的硬件,可以直接在设备上运行人工智能。在今年的 Google I/O 大会上,Google 鼓励程序员们充分利用它。

这个思考是在本地存储的数据上运行大语言模型,即使没有互联网连接。数据保持私密性,不会离开设备,而且该方法可以节省资金。

Google的产品经理Sachin Kotwani在 Google I/O 大会上如此说:

“作为开发者,你可以做减少或消除处理服务器端维护、容量、限制或另一个入口的成本的需求。”

运作方式

开发设备端人工智能应用程序的能力是当今人工智能处理方式的重大进步。

新的手机和个人电脑中的神经处理器使设备上的人工智能成为可能。

如果大家还没有注意到的话,人工智能其实已经存在于设备上。它运行基本的智能手机活动,例如建议文本消息、改进图像以及分析功耗以节省电池等。

新手机和个人电脑中的神经处理器使设备上的人工智能成为可能。但是,在没有任何 AI 加速器的情况下,在 PC 上运行具有 10 亿或更多参数的 LLM(例如 TinyLlama 或 Phi-2)速度非常慢。

我们只能在带有Jan.ai或GPT4All的 CPU 上运行 LLM ,但这会给个人计算机带来不小的负载。

在具有强大 GPU 的PC 上运行大语言模型是可以的。但设置是一件苦差事——我们需要下载模型、加载神经网络环境(例如 Nvidia 的 CuDNN)、安装开发者工具并需要编译它。

新一波能够在设备上进行矩阵数学运算的加速器和 GPU 使得在手机上实现 AI 成为可能。

因此,大多数人工智能计算都发生在云端强大的 GPU 上,这就像将 GPT-4 API 加载到聊天机器人界面中一样简单,然后将查询转移到 OpenAI 服务器基础设施中的 GPU 上。然后这些 API 并不是免费的,必须付费才能使用 OpenAI 的基础设施。

能够在设备上进行矩阵数学运算的新一波加速器,包括 GPU 使得人工智能在手机上运行成为可能。

Google的新款 Pixel 8A 手机配备了用于 AI 的 Edge TPU(张量处理单元),英特尔和 AMD 在 PC 上配备了神经处理单元。设备上的人工智能可以与基于云的人工智能资源相结合。

开发工具

图片

包括 AMD、Intel 和 Nvidia 在内的芯片制造商已经提供在设备上运行 LLM 的开发工具。

Google在它的开发大会和社区中提到了开发套件、API 还有其它工具,这些工具利用了自己的Gemini Nano LLM 的移动设备。该大语言模型是多模态的,这意味着开发者可以围绕它构建语音、图像、视频或聊天机器人等应用程序。

Google这样推荐式地向开发者们表示,Gemini Nano 是设备上人工智能最强大的模型,它可以很好地集成到 Android 应用程序中。

“Gemini Nano 是 Android 的推荐生产路径,”谷歌 I/O 开发者关系工程师Thomas Ezan如此说道。

对于那些不愿意被困在专有人工智能开发环境中的人来说,Google也将支持两到三十亿个参数的开源 LLM。

“如果你想在设备上运行通用型推理,开放式大语言模型在过去一年也越来越受欢迎,尽管由于性能和内存挑战,它们不太适合在生产环境”。

其中包括 Falcon 1B(13 亿个参数)、Flan-T5(27 亿个参数)、StableLM 3B(28 亿个参数)和 Llama 2B(25 亿个参数)。谷歌还将支持其开源 Gemma LLM 的 70 亿参数模型。

开发者的工具

图片

开发者可以通过 Edge AI SDK 将 Nano AI 集成到应用程序和开发环境中。

该 SDK 提供给开发者们各种高级 API、管道、模型推理和硬件挂钩,可以高效运行 AI 模型。

移动设备在计算能力、带宽和内存方面受到限制。开发者可以通过访问名为 AICore 的系统服务来微调模型,该服务集成在 Pixel 8A 和三星 S24 等符合条件的设备上运行的 Android 14 中。

开发者可以使用量化方式来优化移动设备的模型,以减少模型尺寸和处理要求。

LoRA 被认为是对设备和应用程序进行 AI 微调的重要构建模块。

Google开发者关系工程师特伦斯·张(Terence Zhang)这样说:

“上下文窗口也可能会更小,模型的通用性也会降低……这意味着为了获得生产质量,微调至关重要”。

AICore 还包括一个称为低阶适应 LoRA 的微调层,它允许应用程序开发人员自定义模型来执行特定任务。LoRA 被认为是对设备和应用程序进行 AI 微调的重要构建模块。

Google 软件工程师Miao Wang表示:“应用程序可以训练自己专门的 LoRA 微调模块,以优化 Gemini Nano 模型的性能。”

支持开源大语言模型

MediaPipe 是一个关键的 API,允许开发者使用多个开源 LLM(包括 Falcon 和 Gemma)创建设备上的 AI 应用程序。

开发者可依靠 MediaPipe API 为 Android 和 iOS 设备编写 AI Web 应用程序。

MediaPipe API 为我们提供了预先优化的模型,必须携带权重参数才能运行设备上的应用程序。它同时支持视觉、文本和音频应用程序。还有一些大语言模型擅长特定任务,API 也提供了选择模型的灵活性。

开发者将依靠 MediaPipe API 为 Android 和 iOS 设备编写 AI Web 应用程序。Chrome 126 处于测试阶段,集成了对低代码 API 的支持,这些 API 将 Web 应用程序连接到 Nano 与开源 LLM。

Google I/O 核心机器学习首席软件工程师Cormac Brick如此说道:

“这一切都完全在浏览器本地运行,而且速度很快。这是因为它是通过WebGPU在计算机的 GPU 上进行加速的。这使得它足够快地构建非常引人注目的、完全本地化的 Web 应用程序。” 

TensorFlow Lite

Google 还提供了 TensorFlow Lite 开发环境,这是 TensorFlow 机器学习框架的轻量级版本。TFLite 还包括一个工具包,用于将 TensorFlow 模型转换为可在设备上运行的更微型的版本。

“你可以在你选择的框架内找到现成的模型,训练模型也可以,它只需一步即可将你的模型转换为 TensorFlow Lite。然后,你可以在 Android、Web 和 iOS 上与你的应用程序一起在捆绑到包上运行它们。”

芯片制造商高通上周也表示,开发者将能够使用其生产的最新芯片将他们的大语言模型移植到智能手机上。

要迎接的挑战

应用程序开发者正在热衷于利用每一点存在的处理能力,来提高其应用程序的效率。

而且新一代设备将拥有更多的人工智能马力,这将增强设备上的人工智能大脑。

我们另一个挑战是将应用程序与正确的人工智能芯片相匹配。新一代设备将拥有更多的人工智能马力,这将增强设备上的人工智能大脑。

戴尔产品管理总监扎克·诺斯基(Zach Noskey ) 表示,戴尔推出了配备英特尔 NPU 的新 PC,但一旦开发者发现相关应用程序,设备上的人工智能就会真正起飞。

开发者参与英特尔OpenVino等工具的使用,对于推动行业开发非常重要。供应商正在与开发者密切合作,做好应用程序准备工作,解决开发人员可能不知道从哪里开始的问题。

举个例子,OpenVino 为 Gimp 提供了一个 Intel NPU 插件,可以支持 Stability Diffusion 图像生成提示语。

Zach Noskey这样总结说:

“这样做是为为让开发者和社区中实现的更快。以前的速度有点慢,就像过去几年应用程序的 CPU 和 GPU 利用率一样”。

作者:万能的大雄

评论