配送与出行 / 网约车与配送
Uber:外卖搜索能力升级
- 企业
- Uber
- 国家
- 美国
- 实施阶段
- 运营中
- 资料发布
- 日期依据
- 资料发布的时间,可能与启用日期不同。
- 依据核验方式
- 阅读原文正文
业务问题
在Uber Eats上,搜索是通往下单的主要通路。仅靠字符匹配的传统做法,在同义表达、拼写错误、缩写、多语言混杂的查询以及一词多义的情况下都会失效。原文写到,基于词面的方法只看到字符串,看不到含义。因此需要一种把查询与文档转成向量、按含义检索的结构。
使用的技术与数据
该设计是把查询与文档分别编码的two tower结构。查询向量由在线服务实时生成,文档向量则由排定的batch作业预先生成。底座模型属于Qwen系列,并用Uber Eats的内部数据做了微调,一个模型同时覆盖所有业务线与市场。训练采用基于MRL的infoNCE损失,因此单个模型可输出多种尺寸的向量。索引是Apache Lucene Plus中的HNSW图,同时保存float32与int8向量。系统先按区域、城市、文档类型、履约方式等条件过滤,再运行近似最近邻检索。每两周重新训练并重建索引,不另建索引,而是在同一个索引内按列切换blue与green。上线前必须通过文档数量核对、不应变动的列的逐字节一致性检查,以及回放真实查询得到的召回率比对。运行中通过抽样请求核验查询模型与索引列的模型编号是否一致,若持续不匹配则自动回滚模型发布。
成果
原文表示,把分片层面的候选数从1,200降到约200,使延迟下降34%,节省17%的CPU,而对召回率几乎没有影响。int7标量量化相比fp32把延迟降低超过50%,同时把召回率保持在0.95以上。把向量截取到256维时,英语和西班牙语的质量损失低于0.3%,存储占用减少约50%。公司表示,该结构同时支撑餐厅、生鲜与零售的搜索,排定的刷新可以在不打断线上流量的情况下运行。
局限与待解问题
原文没有给出划分真实用户进行比较的实验结果,也没有公布下单转化或点击变化等业务指标。所列数值均为离线评估与基础设施性能测量值。原文同样没有说明启用的时间。
来源
本案例根据公开资料整理,并非 ATF Works 客户的成果。