一键实现穿衣自由,揭秘淘宝AI试衣间硬核技术,AnalyticDB向量在线召回

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 云原生数据仓库AnalyticDB MySQL为淘宝AI试衣间提供高维向量低延时的在线向量召回检索服务。

随着淘宝的蓬勃发展,网购已经融入日常生活。网购让大家足不出户就能挑选众多品类商品,还能货比N家,但同时网购也会带来一些未知的问题。

相信大家都有线上购买服装的经历吧?在线上挑选的时候,只能根据价格、款式、尺码等信息,选出可能合适的衣服,但是衣服穿上后效果如何?应该怎么搭配更好看?我更适合淑女风还是废土风?毕竟淘宝商家的模特穿啥啥好看。

为了解决上述的痛点,淘宝服饰联合通义实验室XR实验室借助AIGC强大科技力推出了重磅级的产品AI试衣间。

在手机淘宝APP上搜索ifashion,上传自己的照片即可体验AI试衣~

在AI试衣间功能的背后,阿里云瑶池旗下的云原生数据仓库AnalyticDB MySQL提供了高维向量低延时的在线向量召回检索服务,下面将进行介绍。

1. 淘宝AI试衣间-技术揭秘

手淘搜ifashion即可进入线上AI试衣间,由淘宝服饰联合通义实验室XR实验室借助AIGC将人工智能和时尚穿搭相结合。AI试衣间将结合数亿用户的尺码数据和海量的服装图片实现推荐适合自己的穿搭搭配。为了满足要求,从海量的商品素材图片中快速找到需要的图片是一个很重要的基础服务。为了提升召回率,素材图片Embedding后使用多维的向量特征值存储,在线服务需要满足低延时高并发的要求。

云原生数据仓库AnalyticDB MySQL在此场景中提供了以图搜图服务,为试衣间提供满足特定要求的相似性素材图片的服务。AI试衣大模型训练每个模特需要多张不同的模特图,目前用户只供给了一张,我们是把商品详情图文中的图片数据,先通过算法识别把模特上身图抠出来,然后根据用户提供的那一张主图,从商品sku/详情图文库中对抠出的图片集中做相似度检索,按相似度阈值,生成不同的素材图,满足算法模型训练的图片数据供给数量,在满足图片相似度要求的情况下,可能也会有一些其他确定性的条件作为输入。下图简略介绍了处理过程。

AnalyticDB MySQL可以管理和检索图片素材,可以根据商品图片类别,属性或者相似图片做多模检索图片,在支持图片相似性检索的同时,同时支持和结构化数据的标量融合,包括多表的关联查询。例如,检索和输入图片相似,并且满足价格在200-300元之间和3个月内(新款)上架的商品照片。为了方便展示,假设向量的维度使用了8维长度。

1.1 数据模型

云原生数据仓库AnalyticDB MySQL,向量检索功能的使用很简单,使用array数据类型存储向量的特征值,array数据类型支持byte,smallint,int和float四种值类型,如果数据量很大,可以对需要进行向量召回的特征列定义一个向量的索引提升检索的速度。向量特征列和向量索引的管理和普通列和索引的DDL类似,支持在创建表的时候设定,也可以通过ALTER TABLE语句添加。

服饰类素材图片简化后的数据表定义如下。

CREATETABLE products (  product_id BIGINT COMMENT '商品ID',  gmt_create DATETIME COMMENT '创建时间',  gmt_modified DATETIME COMMENT '修改时间',  image_url VARCHAR COMMENT '商品图片地址',  price FLOAT COMMENT '商品价格',  document JSON COMMENT '知识文档,json结构',  status INT COMMENT '文档状态, 1审核通过,0未审核,-1审核不通过',  feature ARRAY <float>(8) COMMENT '商品图片向量结果',  PRIMARY KEY (product_id, gmt_create),  ANN INDEX idx_feature(`feature`)) DISTRIBUTE BY HASH(product_id) PARTITION BY VALUE(`date_format(gmt_create,'%Y%m')`) LIFECYCLE 36 INDEX_ALL ='Y';

1.2 准备数据

数据入库支持实时写入和批量导入,下面的示例使用了insert into插入了1条测试数据。

INSERTINTO products (product_id, gmt_create, price, image_url, feature)VALUES(6, NOW(),288.00,'https://xxx/img6.jpg','[0.83891445,0.50359607,0.9299093,0.19440076,0.5789051,0.12121256,0.6587046,0.86555034]');

1.3 数据检索(向量召回)

AnalyticDB MySQL支持融合查询,需要同时满足下面的条件。

条件1:指定图片相似度前5,并且按照相似度排序,KNN+ Top-K。

条件2:价格在200.00和300.00之间。

条件3:素材的创建时间在最近3天以内。

上述条件2和3是结构化数据标量数值计算,条件1是非机构化相似性计算。业务场景期望3个条件可以在1个引擎同时完成,达到提升效率和降低维护成本的作用。这种场景通过AnalyticDB能够很方便支持,使用也很简单。

SELECT product_id, l2_distance(feature,'[0.83891440,0.50359607,0.9299093,0.19440070,0.5789051,0.12121256,0.6587046,0.86555034]')as dis, image_url, price, document
FROM products
WHERE l2_distance(feature,'[0.83891445,0.50359607,0.9299093,0.19440076,0.5789051,0.12121256,0.6587046,0.86555034]')<10-- 设定相似性阈值,排除一些差异性太大的结果AND gmt_create > DATE_SUB(NOW(), INTERVAL 90 DAY)-- 最近90天AND price between200.00and300.00-- 价格在200-300之间ORDERBY l2_distance(feature,'[0.83891445,0.50359607,0.9299093,0.19440076,0.5789051,0.12121256,0.6587046,0.86555034]')LIMIT5;-- 最相近的top5

AnalyticDB MySQL除了提供实时OLAP多维分析和检索外,还提供向量召回功能,支持淘宝APP的AI试衣间场景,解决了引擎冗余的问题,把结构化数据和非结构化数据检索能力整合,适用于多模混合负载检索场景,降低了向量的使用和运维成本。

2. 经验和总结

在电商行业,以图搜图让用户所见即所搜,拍张照片可以找到相似的商品;在游戏行业,通过识别玩家的情感状态,更好的理解玩家的感受和态度,进行针对性的优化和改进,增加游戏玩家的趣味性;在智能客服行业,通过结合企业领域知识和大模型语义理解能力构建智能客服。这些智能化应用落地的背后,离不开向量数据库的加持。向量数据库使用场景多且丰富,常常应用在以文搜图、以图搜图、听音识歌等等,技术已经得到了广泛的应用,比如:

  1. 人脸识别服务,支持高维人脸识别。
  2. 以图搜图服务,即通过图片检索图片的应用服务。
  3. 视频检索服务,即通过视频中的某些帧图片进行视频图片检索,来实现视频检索。
  4. 声纹检索服务,即通过音频匹配音频的应用服务。
  5. 推荐系统服务,即通过用户特征匹配实现推荐匹配的功能。
  6. 基于语义的文本检索和推荐,通过文本检索近似文本。
  7. 问答机器人,通过与大模型结合搭建高效的问答机器人服务。

为了实现特征向量的快速检索,一般都会构建向量索引来实现。通常说的向量索引都属于ANNS(Approximate Nearest Neighbors Search,近似最近邻搜索),它不同于数字的等值或者字符串的term匹配,也不同于like或者全文检索的近似匹配,而是在最大程度上通过非结构化数据的相似度进行检索。

ANNS向量索引可以根据实现方式的不同区分为不同类型的索引,主要分为图索引和量化索引,其中图索引主要是HNSW和RNSW,量化索引主要是PQ、FLAT、SQ8和SQ8H等。为了能使ANNS向量索引能够更加方便地应用到实际的生产环境中,目前业界主要有两种实践方式。一种是单独将ANNS向量索引服务化,以提供向量索引创建和检索的能力,从而使其成为人工智能服务体系中的一部分;另一种就是在传统结构化数据库的基础之上,去融合ANNS向量索引的能力,从而使其能直接使用简单的SQL就能完成复杂的结构化数据检索,也能同时具备结构化与非结构化融合查询的能力。

云原生数据仓库AnalyticDB MySQL是一款阿里云数据库团队自研的云原生数据仓库产品,支持向量和结构化数据的融合检索,在各种条件组合的查询的场景中,达到超过99%的召回率。它的数仓和湖仓提供了非结构化数据的存储和通用数据库检索服务。通过深度学习网络完成推理,可以将非结构化数据转化成向量,提供基于向量的相似性检索。

AnalyticDB MySQL在集成向量检索引擎的同时也做了很多优化,算法的核心思想是把HNSW(Hierarchical Small World Graph)算法和多版本PQ(Product Quantization, 乘积量化)编码算法做一个融合,实现了不同场景下支持向量索引的实时增删查改,使向量检索引擎和数据库本身融为一体,可以非常方便的使用。目前AnalyticDB使用的向量检索引擎技术已经发表在了VLDB上,该文主要讲述了HNSW算法和PQ算法在AnalyticDB中的实现以及相应的优化策略。

3. 未来展望

  • 向量服务的Embedding服务可以支持插件式,提供Serverless/Function的向量Embedding服务,支持根据不同的业务场景选择不同的Embedding模型。
  • 在相似度的召回率上提供可配置的选项,支持在QPS和召回率之间做一个更自主的灵活配置。例如除了支持人脸,声纹等需要高正确率的检索,也需要支持图片等素材更需要弹性的检索。
相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
9天前
|
人工智能 自然语言处理 机器人
文档智能与RAG技术如何提升AI大模型的业务理解能力
随着人工智能的发展,AI大模型在自然语言处理中的应用日益广泛。文档智能和检索增强生成(RAG)技术的兴起,为模型更好地理解和适应特定业务场景提供了新方案。文档智能通过自动化提取和分析非结构化文档中的信息,提高工作效率和准确性。RAG结合检索机制和生成模型,利用外部知识库提高生成内容的相关性和准确性。两者的结合进一步增强了AI大模型的业务理解能力,助力企业数字化转型。
44 3
|
19天前
|
人工智能 搜索推荐 安全
AI技术在医疗领域的应用与挑战
【10月更文挑战第27天】 本文探讨了人工智能(AI)在医疗领域的应用,包括疾病诊断、药物研发和患者管理等方面。同时,也分析了AI在医疗领域面临的挑战,如数据隐私、伦理问题和技术局限性等。通过对这些方面的深入分析,我们可以更好地理解AI在医疗领域的潜力和发展方向。
126 59
|
18天前
|
人工智能 数据挖掘 数据库
拥抱Data+AI|破解电商7大挑战,DMS+AnalyticDB助力企业智能决策
本文为数据库「拥抱Data+AI」系列连载第1篇,该系列是阿里云瑶池数据库面向各行业Data+AI应用场景,基于真实客户案例&最佳实践,展示Data+AI行业解决方案的连载文章。本篇内容针对电商行业痛点,将深入探讨如何利用数据与AI技术以及数据分析方法论,为电商行业注入新的活力与效能。
拥抱Data+AI|破解电商7大挑战,DMS+AnalyticDB助力企业智能决策
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
AI技术在医疗领域的应用与前景####
本文探讨了人工智能(AI)在医疗领域的多方面应用,包括疾病诊断、个性化治疗、患者管理以及药物研发等。通过对现有技术的梳理和未来趋势的展望,旨在揭示AI如何推动医疗行业的变革,并提升医疗服务的质量和效率。 ####
25 5
|
8天前
|
人工智能 文字识别 运维
AI多模态的5大核心关键技术,让高端制造实现智能化管理
结合大模型应用场景,通过AI技术解析高端制造业的复杂设备与文档数据,自动化地将大型零件、机械图纸、操作手册等文档结构化。核心技术包括版面识别、表格抽取、要素抽取和文档抽取,实现信息的系统化管理和高效查询,大幅提升设备维护和生产管理的效率。
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
思通数科AI平台在尽职调查中的技术解析与应用
思通数科AI多模态能力平台结合OCR、NLP和深度学习技术,为IPO尽职调查、融资等重要交易环节提供智能化解决方案。平台自动识别、提取并分类海量文档,实现高效数据核验与合规性检查,显著提升审查速度和精准度,同时保障敏感信息管理和数据安全。
74 11
|
13天前
|
人工智能 自然语言处理 算法
企业内训|AI/大模型/智能体的测评/评估技术-某电信运营商互联网研发中心
本课程是TsingtaoAI专为某电信运营商的互联网研发中心的AI算法工程师设计,已于近日在广州对客户团队完成交付。课程聚焦AI算法工程师在AI、大模型和智能体的测评/评估技术中的关键能力建设,深入探讨如何基于当前先进的AI、大模型与智能体技术,构建符合实际场景需求的科学测评体系。课程内容涵盖大模型及智能体的基础理论、测评集构建、评分标准、自动化与人工测评方法,以及特定垂直场景下的测评实战等方面。
69 4
|
13天前
|
机器学习/深度学习 人工智能 算法
基于AI的性能优化技术研究
基于AI的性能优化技术研究
|
17天前
|
机器学习/深度学习 人工智能 算法
AI技术在医疗健康领域的应用与挑战####
本文旨在探讨人工智能(AI)技术在医疗健康领域的创新应用及其面临的主要挑战。通过深入分析AI如何助力疾病诊断、治疗方案优化、患者管理及药物研发,本文揭示了AI技术在提升医疗服务质量、效率和可及性方面的巨大潜力。同时,文章也指出了数据隐私、伦理道德、技术局限性等关键问题,并提出了相应的解决策略和未来发展方向。本文为医疗从业者、研究者及政策制定者提供了对AI医疗技术的全面理解,促进了跨学科合作与创新。 ####
|
15天前
|
人工智能 算法
AI技术在医疗领域的应用及其挑战
【10月更文挑战第31天】本文将探讨AI技术在医疗领域的应用及其面临的挑战。我们将从AI技术的基本概念开始,然后详细介绍其在医疗领域的应用,包括疾病诊断、药物研发、患者护理等方面。最后,我们将讨论AI技术在医疗领域面临的挑战,如数据隐私、算法偏见等问题。

热门文章

最新文章

相关产品

  • 云原生数据仓库AnalyticDB MySQL版
  • 下一篇
    无影云桌面