关于 Viberary 的回顾 [译]

原文约24700字,阅读约需59分钟。发表于:

Viberary 是我创立的一个副项目,旨在通过氛围来查找书籍。我创建这个项目,一方面是为了满足自己进行机器学习侧项目的兴趣,另一方面是为了探索当前搜索和推荐技术的界限。这个项目不仅是对我最近在嵌入技术方面深入研究的一个补充,而且是一个符合生产级标准的实践。虽然这个项目很有趣,但它也确切地证实了我一直以来对自己的理解:达到 MLE(机器学习启蒙)是一个循环过程,涉及建模、工程和 UI 设计等多个方面,并将这些方面紧密结合在一起 - 将系统投入生产就是最终的奖赏。和任何生产级系统一样,机器学习并非魔法,即使数据输出不是确定性的,构建这类系统也需要精心的工程和设计选择。我认为,这是当前机器学习领域中常被忽视的一个方面。通过这篇文章,我不仅想要回顾我所做的工作,还想概述一下搭建一个基于 Transformer 的机器学习应用所需的一切,哪怕是一个小型的、使用预训练模型的应用,我希望这篇文章能成为一个有用的资源和参考。Viberary 的机器学习架构是一个基于双塔模型的语义检索系统。它使用 Sentence Transformers 预训练的不对称 MSMarco 模型对用户的搜索查询和 Goodreads 书籍数据库进行编码。

本文介绍了作者在部署Viberary项目时的经验和教训,包括使用负载均衡器和Nginx管理流量,将域名转移到DigitalOcean,使用Python的Locust库进行负载测试,将模型转换为ONNX制品以提高响应速度,以及关于可测试的原型、超参数的重要性、避免不必要的云服务和使用Docker的挑战。作者强调了语义搜索的困难性,并鼓励持续基准测试和迭代改进。

关于 Viberary 的回顾 [译]
相关推荐 去reddit讨论