分享热点新闻
打造优质自媒体!

2020电子公园开发者大会召开 作业帮助分享拍搜系统建筑的演变

12月19日至20日,由腾讯主办的2020回声公园开发者大会在北京举行,据悉,此次大会邀请了来自世界各地的200多名顶尖技术专家来到现场,与数千名与会者就云计算、大数据、人工智能等前沿技术课题进行深入交流,为中国和世界各地的云计算爱好者、实践者和开发者提供最有价值的创新分享。

2020电子公园开发者大会召开 作业帮助分享拍搜系统建筑的演变 科学快报 第1张

作业帮助视觉智能实验室架构负责人程童,应邀出席会议并发表了题为《作业帮拍照搜题系统架构的演变》的主旨演讲,系统介绍了拍搜系统作业帮助的概况、不同阶段面临的问题及解决方案,以及GPU服务虚拟化的实践经验和迁移效果。

底层技术加持,作业帮拍搜助力用户精准获取全面信息

作为中国,最大的K12在线教育公司,家庭作业帮助致力于利用科学技术来帮助普及教育和解决教育领域的痛点。它拥有各种教育产品,如作业帮助和作业帮助中的实时课程、作业帮助中的口算、鸭子和鸭子的人工智能课程以及智能硬件喵喵机。日总用户超过5000万,月用户超过1.7亿,用户设备累计激活超过8亿。其中,作业帮助APP是中国,唯一进入前30名应用市场的教育APP,作业帮助Live Class是中国,在线教育的领先品牌,累计服务学生超过6500万。

在作业帮助的整个产品链中,拍搜系统提供底层技术支持。据程童,拍搜系统,称,家庭作业帮助拥有多项光学字符识别、检索和系统专利,率先在行业内实现了“一枪在手,一秒钟一答”。同时,随着搜索功能的不断扩展,作业帮助完成了从单题到整页猜你想拍什么,从搜索到批改到打分的全方位搜索场景设置,充分帮助学生提高学习效率。

据了解,作业帮助的pat搜索算法的架构主要分为OCR和检索。其中,OCR系统的主要任务是将捕获的内容识别为文本,由多个策略和预处理模块以及以GPU为计算设备的深度学习在线推理服务组成;检索系统的主要任务是通过识别的文本搜索答案,包括策略层、正向系统、反向系统和离线数据库构建四个主要部分,并为照片搜索的垂直领域优化了许多策略。

程童说:“针对不同使用场景下可能出现的模糊、倾斜、低像素、干扰等各种相机问题,作业帮助在五年多的时间里,在自主研发和数据积累中,不断进行算法迭代和架构改进。”

在一个完整的字符识别流水线中,有30多个不同的神经网络在拍搜系统,作业帮助中,平均一次可以运行260多个神经网络预测。另外,通过构建大规模并行GPU集群,平均只需要200毫秒就可以完成一个完整的识别过程,作业帮助系统一分钟就可以完成数百万个这样的搜索请求。对于已识别的主题内容,系统可以在索引超过3亿的题库搜索引擎中进行匹配,保证用户获得更全面、更准确的信息。

从更快更准到快速应变,有限算力下的极限探索

程童在讲话中提到,在过去的六年里,拍搜系统在家庭作业帮助方面以两年为进化周期,大致可以分为三个发展阶段。由于不同的业务场景和系统规模,每个阶段面临不同的问题。2015-2016年是第一阶段,作业帮助和拍搜系统的业务刚刚起步。要解决的核心问题是更快更准。更快是为了提供更好的用户体验,更多的标准更容易形成口碑传播,吸引更多的用户。

为了达到“一次一炮,秒内一答”的效果,作业帮助视觉智能实验室项目架构团队从并行计算、调度策略、工程实现三个方面进行了努力。团队率先使用GPU进行在线推理服务:使用CPU进行预处理,利用GPU强大的并行计算能力运行深度神经网络。在上线,之后,加速效果增加了10倍,平均时间从超过3秒缩短到超过300毫秒,随后的连续优化达到平均200毫秒。团队还开发了轻量级的RPC框架,设计了适合多GPU协作的线程池和调度策略,高峰期GPU利用率达到90%以上。

随着商业流量的不断增加,作业帮助拍搜系统从2017年到2018年进入了第二个发展阶段。不断扩大的业务引入了更多的算法模型,需要不断开发和交付新的服务;对计算能力需求的快速增长给成本带来了压力。在过去的两年里,该团队在开发和运营维护方面面临挑战。

该团队迅速调整了战略,并制定了应对计划。首先,优先满足业务发展需求,尽快交付服务,保证算法模型的快速上线;同时,尽量优化系统环境,减少技术负债。比如为了解决环境异构的问题,团队升级了接入层,优化了自主开发的RPC客户端,以满足多机房、多模型负载均衡和实验分流的需求;通过迁移服务器的机会实现异构模型和环境的融合;根据业务情况不断调整和优化系统部署,实现日常操作自动化,提高管理效率。

通过技术团队的不懈努力,随着业务的不断拓展和流量的不断增加,系统在作业帮助方面对照片搜索业务的发展给予了大力支持,并已发展到一定规模。

虚拟化突破两大矛盾,显著迁移效果激发更多可能性

2019-2020年,系统进入第三阶段。针对早期开发过程中出现的各种问题,程童和团队并没有停留在表面,而是不断的回顾、总结、深挖。他们认为之前出现的很多问题都与性能和稳定性有关,但实际上是因为系统的灵活性不够。在人力有限的前提下,以裸机服务器作为资源配置和系统管理的最小单位,无法突破两个矛盾,即日益频繁的变更与系统管理的矛盾,以及日益增长的需求与资源管理的矛盾。为了突破这个瓶颈,团队选择了虚拟化,在K8s和容器中实现。

关于为什么选择K8s,程童解释说:“在最关键的资源分配环节,K8s突破了机器的界限,抽象地将资源整合到资源池中,按需应用,通过调度器进行分配,解决了资源管理的矛盾;通过对pod、部署和服务概念的抽象,可以低成本实现整个应用生命周期的自动化,解决系统管理的矛盾。”

为了降低系统迁移的风险,团队制定了渐进的迁移步骤。首先,对环境进行了标准化,对一些不适合集装箱环境的组件或功能进行了改造。之后将整个系统集装箱化,了解和掌握相关数据;最后,实现了灰色环境验证和在线系统迁移。为了解决K8s本身不支持根据视频内存调度的问题,团队还通过开发调度插件给出了解决方案。

从目前的迁移效果来看,通过更细粒度的资源分配和服务混合,部分集群在迁移后节省了50%的机器资源,资源利用率也有了很大提高;通过迁移获得的弹性可伸缩性,可以让系统在处理流量高峰时更加舒适;相对于集群调整平均需要2小时的物理机时代,平均只需要10分钟就可以完成;在故障处理方面,平均时间从20分钟缩短到5分钟。对于简单的故障,系统可以实现无人工干预。

2020电子公园开发者大会召开 作业帮助分享拍搜系统建筑的演变 科学快报 第2张

在程童看来,移民的影响远远不止这些。虚构转换带来的灵活性,让很多不方便的事情变得更方便,创造了很多可能性。未来,作业帮的技术团队将继续构建先进的技术体系,突破网络教育发展中遇到的技术难题,用科技真正实现网络教育的创新发展。