亚马逊的AI购物助手Rufus:你的线上购物新帮手
想象一下,在实体店里,你可以向热心的店员询问任何问题,比如“冬天打高尔夫需要什么装备?”、“越野鞋和跑鞋有什么区别?”、“五岁孩子最喜欢的恐龙玩具是什么?”
现在,亚马逊的AI购物助手Rufus,将这种便捷的购物体验带到了线上。Rufus是亚马逊应用中一个由生成式AI驱动的智能助手,它可以回答你关于商品的各种问题,帮助你做出更明智的购物决策。
Rufus背后的团队由科学家和工程师组成,他们开发了一个专门为购物定制的大型语言模型(LLM)。为了打造一个真正“懂你”的购物助手,团队在生成式AI的多个方面进行了创新。他们构建了一个专门针对购物场景的LLM,并利用检索增强生成技术,从各种可靠来源获取信息,包括亚马逊商品目录、客户评论和社区问答帖子。此外,他们还利用强化学习来提升Rufus的回答质量,并通过高性能计算技术优化推理效率,缩短响应时间。为了让用户更快获得答案,团队还开发了一种新的流式架构。
Rufus如何获取答案?
与大多数LLM不同,Rufus并非先在通用数据集上进行训练,然后再针对特定领域进行微调。相反,Rufus从一开始就接受了亚马逊购物数据的训练,包括整个亚马逊商品目录、客户评论和社区问答帖子,以及来自网络的公开信息。这使得Rufus能够更好地理解购物场景,并提供更精准的答案。
为了应对各种各样的问题,Rufus需要超越初始训练数据,获取新鲜信息。例如,当用户询问“这个锅可以放洗碗机吗?”时,Rufus会先解析问题,然后确定哪些检索来源可以帮助它生成答案。Rufus的LLM采用检索增强生成(RAG)技术,从可靠来源获取信息,例如商品目录、客户评论、社区问答帖子,甚至可以调用相关的亚马逊商店API。由于数据来源的多样性和相关性的差异,RAG系统的设计非常复杂。
每个LLM,以及每个生成式AI应用,都处于不断改进之中。为了让Rufus不断学习和进步,它需要了解哪些回答对用户有帮助,哪些需要改进。用户是最好的反馈来源,亚马逊鼓励用户对Rufus的回答进行评价,告诉它是否喜欢或不喜欢答案。这些反馈会被用于强化学习过程,帮助Rufus不断学习和改进。
Rufus背后的技术
Rufus需要同时为数百万用户提供服务,并且不能出现明显的延迟。这对生成式AI应用来说是一个巨大的挑战,尤其是在亚马逊的规模下。为了在最大限度地提高响应数量的同时,尽可能减少延迟,团队采用了亚马逊专门的AI芯片Trainium和Inferentia,这些芯片与核心亚马逊网络服务(AWS)集成。团队与AWS合作,优化了模型推理效率,并将这些优化成果提供给所有AWS用户。
传统的批量处理用户请求的方法会导致延迟和吞吐量问题,因为很难预测LLM在生成每个响应时会生成多少个token(文本单位)。为了解决这个问题,团队与AWS合作,为Rufus启用了连续批量处理技术。这种新颖的LLM技术允许模型在批处理中的第一个请求完成时就开始处理新的请求,而不是等待批处理中的所有请求都完成。这种技术提高了AI芯片的计算效率,让用户能够更快地获得答案。
我们希望Rufus能够为任何问题提供最相关和最有帮助的答案。有时这意味着提供长篇文本答案,有时则是简短的文本,或者指向商店的链接。我们还需要确保呈现的信息逻辑清晰。如果信息没有被正确地分组和格式化,最终可能会导致混乱的响应,这对用户来说毫无帮助。
因此,Rufus采用了一种先进的流式架构来提供响应。用户无需等待完整的答案生成,而是可以先获得答案的一部分,并在答案生成的同时继续接收剩余部分。Rufus通过查询内部系统(称为“水化”过程)来填充流式响应中的正确数据。除了生成响应内容,它还会生成格式化指令,指定各种答案元素的显示方式。
尽管亚马逊在过去25年中一直在使用AI来改善客户体验,但生成式AI代表着一种全新的变革。我们为Rufus感到自豪,它为我们的客户带来了全新的功能。