华为在手机上,率先实现本地端自然语言搜图功能
2024-01-31 15:03:50发布 浏览436次 信息编号:95502
友情提醒:凡是以各种理由向你收取费用,均有骗子嫌疑,请提高警惕,不要轻易支付。
华为在手机上,率先实现本地端自然语言搜图功能
使用自然语言搜索手机本地相册图片。 业界首个移动多模态语义检索引擎改变了我们的手机体验。
习惯了搜索引擎的我们在手机上查找本地文件时常常会不知所措:如今,每个人的智能手机上存储数千张照片是很正常的事情,有时试图找到特定的照片就像寻找大海捞针。
不过,今年华为P60系列发布会上却出现了这样一个功能——智能图片搜索。 基于多模态大模型技术和设备侧轻量化应用,手机首次具备自然语言图像搜索能力。 既然是自然语言,那就意味着你在找图片的时候可以对着手机说人类的语言。
如果您不记得要查找的照片的拍摄时间或地点,但只能大致记住照片中出现的人物或内容,该怎么办? 只需在搜索框中输入您能想到的几个单词,智能搜索就会为您找到它们:
或者用语音叫醒小艺,用一句话描述你要找的照片内容。 比如搜索“去年长白山滑雪照片”,就可以直接在手机上找到那次旅行的所有照片:
更进一步,您还可以搜索描述性概念,例如“骑自行车的人”和“户外派对”。
与之前基于标签的照片搜索方式相比,智能照片搜索可以让手机更“聪明”,响应速度更快,输出结果更高效。 结合多模态语义模型技术,华为智能图像搜索在云端预训练了数亿图像和文本数据,具备理解更通用语义的能力。 更重要的是,模型部署在客户端,搜索计算在本地完成,进一步保护了隐私和安全。
这不禁让人好奇,华为手机是否已经具备了破解图形验证码的能力呢?
为什么在手机上用自然语言搜索图片这么难?
过去,在很多手机上,你可以通过输入时间、人物、地点等关键词来找到你想要的特定照片。这是通过人工智能算法来识别图像类型和文本以及文件固有标签(例如作为地理信息,但一般来说,它们只能识别有限的类别。
使用“常规”方式时,需要通过短标签及其组合进行搜索,例如“风景”、“猫”、“食物”等。手机支持的短标签数量有限,只能满足您的需求的一小部分。 意图,大多数时候你还是需要手动翻相册,效率很低。
标签都已为您设置好,但选择有限。
这并不奇怪,因为它的后端最多就是一个简单的图像识别模型,搜索的自由度接近于没有,当然也无法理解人类的意图。 当使用这样的系统时,有时结果让我们猜测模型可以识别哪些标签。
要实现“智能图像搜索”,AI模型需要能够同时理解自然语言和图像模态的数据。 在手机上,我们还需要使用一系列的压缩算法来最大限度地利用有限的计算能力,并从工程角度尝试加快推理速度。
具体来说,无论部署到手机上的难度如何,为了实现图片和文字的语义级理解,让手机自己“读懂照片”,我们需要经历三个步骤的过程。
物理世界中产生的非结构化数据,如图片、语音、文本等,在人工智能算法中将被转换为结构化的多维向量。 向量识别关系,检索意味着计算向量之间的距离。 通常,距离越近,相似度就越大。 越高。
要构建智能图像搜索技术,首先需要训练多模态语义模型。 通过比较学习,相同语义的文本和图片距离很近,不同语义的数据距离很远,从而实现自然语言和图片等多模态数据的转换。 成为同一语义空间中的向量; 其次,我们需要使用这种多模态模型对检索到的图片进行编码; 最后,当我们输入一句话时,手机会通过检索系统快速定位到与内容匹配的图片。
在语义图像搜索的整个过程中,第一个挑战是如何更好地匹配具有相同语义的图片和文本。 多模态模型需要对用户的个人图片进行编码。 最好将模型部署在手机端。 部署到手机端意味着多模态模型必须进行压缩和加速,这将需要大量的工程实践。
业界首个手机多模态语义模型
在这个“智能图像搜索”的背后,华为利用轻量级多模态语义模型,让手机能够高效理解自然语言和照片含义,实现了业界首个可两端部署的轻量级多模态语义模型。 与传统的贴标签方式相比,它的体验要好很多。 我们不再需要猜测图像的标签,我们可以直接输入自然语言来检索对应的图像。 毫不夸张地说,它让手机本地图片搜索从难跳到好用。
基础知识:多模式模型
在人工智能领域,它是具有里程碑意义的技术。 它不仅催生了这样的NLP技术突破,而且在视觉领域也有非常好的效果。 通过同时表征文本和图片,然后利用弱监督比较学习,使具有相同语义的图片和文本靠近,而具有不同语义的图片和文本远离,我们可以获得良好的多模态模型。
这里的重点是对比学习。 如下图所示,传统的对比学习方法会将图片和文本分别编码为不同的向量,并将向量映射到联合多模态语义空间中。 由于不同模态的数据表示可能存在差异,无法进行直接比较,因此首先将不同模态的数据映射到相同的多模态空间,这有利于后续的模型训练。
选自 arxiv:2102.12092。
多模态对比学习中,目标函数是让正样本对(上图中的蓝框部分,I1T1,I2T2...)具有较高的相似度,而负样本对(上图中的白框部分)具有较高的相似度。上图)相似度很低。 。 通过这种训练,自然语言可以自然地匹配图像,并且可以对齐不同模态的数据。
为了提高模态之间的对齐效果,华为在算法层面增加正样本的相关性并对负样本进行去噪,然后利用更大、更高质量的数据源来提高模型表示的准确性,从而改善语义。 搜索准确性和召回率。 与以往基于有限标签集对图像进行标注然后通过标签进行搜索的方法相比,基于语义表示的搜索可以大大提高图像检索的灵活性。
优化:模型的极度压缩
多模态是目前非常热门的AI研究领域,但除了华为的“智能图像搜索”之外,还没有人能够将整个推理过程部署到手机上。 工程难度显然是如何将多模态模型压缩到手机等边缘设备上运行且效果基本不损失。
这里,或许我们需要考虑整个模型架构的参数效率,优化模型结构,以最少的计算量达到最好的结果。 例如,在卷积神经网络和类模型中的Multi Query中,它们都试图优化模型结构以实现更好的参数效率。 “智能图像搜索”也是如此。 通过优化多模态模型架构,整体训练能够取得更好的效果。
除了技术更新之外,部署到移动终端的最大挑战是工程。 与我们通常在GPU上训练和推理模型不同,移动端缺乏便捷高效的算子实现,也难以优化。 例如,手机上的CPU芯片基本都是基于精简指令集的Arm架构,因此机器学习编译器在优化时需要考虑大量的指令级并行处理,以最大限度地利用有限的计算能力。
为了优化底层硬件的适配,华为将模型的海量矩阵乘法分解到手机CPU、NPU等设备上,通过图计算融合等方式构建可在手机上高效运行的底层算子来支持整个模型。 有效的推理。
综上所述,华为“智能图像搜索”轻量级模型通过更多的数据、更好的算法等补偿性设计和一些模型轻量化技术,首次将多模态模型部署到手机上,从而提供更好的图像搜索体验。
实用:矢量搜索引擎
我们希望通过图片信息、时空维度等不同线索,快速找到符合我们预期的图片。 图片和自然语言请求都是多模态语义空间中的向量。 为此,华为自研了面向客户端场景的轻量级矢量检索引擎,支持海量数据的矢量索引构建,支持时空(时间、位置)语义的一站式集成检索。 通过Query语义特征可以方便、高效地查找信息。 出匹配的照片。
上图是一个简单的向量检索引擎。 假设移动终端多模态模型已将相册中的图片编码为向量并持久存储在“ ”中。 每当用户有搜索请求时,该请求都会经过“模型”,即多模态模型的文本部分,将文本编码成向量,该向量会从向量数据库中搜索,找到一批最接近的图像。 。
为了在移动端获得更好的图像搜索结果,华为自研的轻量级矢量搜索引擎进行了一系列的创新和优化。
在构建索引时,如果采用云端常用的离线定期全构建方式,功耗会明显增加。 因此,华为在手机上采用了增量实时写入的方式。 出于可靠性目的,增量写入的数据会持久保存到索引中。
同时,为了提高索引加载和检索的效率,还专门定制了索引的格式。 语义向量检索使用位置、时间和其他信息作为索引的一部分。 检索时可以快速实现条件过滤,返回与查询语句最相关的。 结果。 只要关键词符合时间、地点等常见搜索条件,索引格式的创新带来的加速可以比纯数据库检索快十倍以上。
但定制的索引格式也会带来一些困难,即新写入的索引数据不一定保存在索引的末尾。 例如,如果在故宫拍摄一张新照片,则需要将照片向量的索引插入到同一位置的索引中,这意味着之前的所有索引都需要被覆盖和重写。 尤其是随着数据越来越多,如果我有10万张照片,是不是每次拍照都需要重写10万多个索引?
在这里,华为再次找到了创新的解决方案。 它使用索引分段和压缩合并来进行优化。 索引分段可以显着减少单个索引插入的时间。 通过定期压缩和合并,可以减少删除数据占用的内存/磁盘。 资源循环利用达到大幅降低资源开销的目的。
经过一系列优化,智能搜索图像的能力不再局限于高配置旗舰手机。 除了目前的P60系列和Mate X3之外,未来随着3.1的升级,更多设备将逐渐获得此类能力。
智能搜索:打造系统级生态入口
当然,在最新的3.1版本中,智能图片搜索只是众多新功能中的一小部分。 仅在搜索方面,华为就带来了不少黑科技。
除了智能图片搜索之外,华为智能搜索将不断跨越不同应用、端侧设备、云端和本地的边界,实现真正的全球搜索。 结合华为长期实践的“硬件、软件、核心、云一体化”能力,将让终端侧预先设定的AI模型达到毫秒级的响应速度,消除跨终端联动的延迟感。 ,并实现了“多设备融合”的搜索体验。
现在是应用程序主导的移动互联网时代。 很大一部分搜索已经从网页转移到更加封闭的应用程序上。 而华为智能搜索可以一站式入口获取全球内容,打破信息孤岛。
打通一切边界后,华为还利用AI技术实现高效的服务流程和更智能的“意图搜索”能力。 让搜索引擎了解人们的意图,提供最合适的智能服务。 手机上的搜索框不再是一个简单的查询工具。
还记得四年前华为在开发者大会上发布的第一个版本吗? 当时的定义是全场景分布式系统。 现在它已经发展了一个丰富的生态系统。 下一步是统一:建立框架,通过系统级能力的提升来掌控全局。
这种融合落在搜索上,是无感知的大规模能力的调用和响应。 华为内部称之为“全搜索”能力。 智能搜索可能成为生态系统的系统级入口,带来的功能和服务远远超出搜索框的定义。
当需求不再受设备和形式的限制,一切以人为中心,这就是万物互联时代应该有的样子。 这也让我们对接下来的产品充满了期待。
提醒:请联系我时一定说明是从星空网上看到的!