La principal conferencia internacional OSDI incluyó documentos del sistema Taobao por primera vez, y el discurso de apertura de la conferencia recomendó la inteligencia colaborativa dispositivo-nube.

El documento del gran equipo técnico de Taobao fue seleccionado en OSDI, la principal conferencia académica internacional en el campo de los sistemas informáticos. Esta es la primera vez que los documentos del sistema Taobao han sido seleccionados para esta importante conferencia internacional . El sistema de aprendizaje automático colaborativo en la nube final de la aplicación "Wall-E" - Walle. David Tennenhouse, invitado especialmente por OSDI, recomendó especialmente el sistema Walle en el discurso de apertura de la conferencia y elogió su tecnología avanzada y efecto de aplicación. En la actualidad, Walle, como infraestructura de aprendizaje automático de Alibaba, admite más de 300 tareas de algoritmos en más de 30 aplicaciones.

Conferencia OSDI

USENIX OSDI (Diseño e Implementación de Sistemas Operativos) es una de las principales conferencias académicas internacionales en el campo de los sistemas informáticos. Es conocido como el Oscar en el campo de los sistemas operativos. Tiene un alto estatus académico e influencia y reúne a la academia mundial. y sistemas industriales Pensamiento de vanguardia y resultados revolucionarios de profesionales del sector.

La conferencia OSDI de este año invitó especialmente a David Tennenhouse para dar un discurso de apertura. Es miembro de IEEE. Se ha desempeñado como jefe/director de institutos de investigación y DARPA en compañías como Intel, Amazon/A9.com, Microsoft, VMware, etc. También enseñó en el MIT. David Tennenhouse recomendó específicamente el sistema de Walle en su discurso de apertura y se comunicó activamente con los autores por correo electrónico y Slack antes y después de la charla de Walle.

imagen

Origen del nombre del sistema Walle

Walle proviene de la película de 2008 "Robot Story  WALL-E ". En la película, el robot WALL-E se encarga de limpiar la basura de la tierra, convirtiendo los desechos en tesoros. Los arquitectos de Walle también tienen una intención original similar, con la esperanza de que el sistema de aprendizaje automático colaborativo en la nube de dispositivos diseñado y construido pueda utilizar de manera efectiva los datos de los usuarios en miles de millones de dispositivos móviles como el robot WALL-E, y liberar por completo su valor olvidado para proporcionar usuarios con mejores servicios inteligentes.

Filosofía de diseño del sistema Walle

imagenFigura 1: Flujo de trabajo de Walle desde la perspectiva del desarrollador de tareas de aprendizaje automático

Con el fin de romper el cuello de botella de la alta latencia, los altos costos generales, la alta carga del servidor y los altos riesgos de privacidad y seguridad de los principales marcos de aprendizaje automático basados ​​en servidores en la nube, Walle adopta un nuevo paradigma de aprendizaje automático colaborativo entre dispositivos y la nube para aprovechar al máximo a la proximidad de los dispositivos móviles a los usuarios y los datos Ventajas naturales, darse cuenta de las ventajas complementarias del dispositivo y la nube. A diferencia del trabajo existente sobre el aprendizaje colaborativo entre dispositivos y la nube (principalmente a nivel de algoritmo y para tareas de capacitación o inferencia de aprendizaje automático específicas en escenarios de aplicaciones específicos), Walle es el primer punto a punto, de propósito general y a gran escala. aplicación industrial del sistema de aprendizaje automático de colaboración dispositivo-nube. Walle admite tareas de aprendizaje automático en cualquier etapa (procesamiento previo, entrenamiento e inferencia de modelos, procesamiento posterior) para intercambiar cualquier información necesaria (como datos, características, muestras, modelos, actualizaciones de modelos, resultados intermedios, etc.) Tarea. Walle sigue el diseño de la arquitectura de extremo a extremo y está orientado a las tareas de aprendizaje automático. Desde la perspectiva de los desarrolladores, cubre el desarrollo, la implementación y el tiempo de ejecución de las tareas de aprendizaje automático, y admite cada etapa del lado del dispositivo y del lado de la nube. tiempo de ejecución Además, Walle también sigue un diseño de sistema general, en lugar de integrar una gran cantidad de soluciones personalizadas para aplicaciones y plataformas específicas. Walle suaviza las diferencias entre el software y el hardware de los dispositivos finales en la nube y garantiza la ligereza de las aplicaciones móviles, mientras que hacia arriba admite la aplicación industrial a gran escala de varios tipos de tareas de aprendizaje automático.

Arquitectura del sistema Walle

imagenFigura 2: Arquitectura general de Walle

Walle incluye principalmente los siguientes tres módulos centrales del sistema:

  1. Implemente una plataforma para administrar tareas de aprendizaje automático a gran escala e implementarlas en miles de millones de dispositivos de manera oportuna;
  2. La canalización de datos implica principalmente la etapa de preprocesamiento de las tareas de aprendizaje automático, proporcionando entrada de tareas para el lado del dispositivo y el lado de la nube;
  3. El contenedor informático proporciona un entorno de ejecución de tareas de aprendizaje automático multiplataforma y de alto rendimiento y, al mismo tiempo, satisface las necesidades reales de la iteración diaria de las tareas de aprendizaje automático.

Específicamente,

  1. 计算容器底层是 MNN 深度学习框架,包含高性能的张量计算引擎和标准数据处理与模型运行库,并通过改造的 Python 线程级虚拟机对外统一透出接口,以支持多种机器学习任务的全链路执行和多任务的并行。MNN 的核心技术创新点是几何计算和半自动搜索这两个新机制,其中几何计算主要通过形变算子的拆解,极大地降低了为十多种硬件后端手工优化上百个算子的工作量,而半自动搜索机制则进一步实现了在运行时快速搜索计算图的最优可用后端和执行方案。Python 线程级虚拟机则舍弃了 Global Interpreter Lock(GIL)并首次支持了多任务多线程的并行,进一步面向移动APP的实际业务需求,通过裁剪与改造首次移植到端上;
  2. 数据管道引入了全新的端侧流处理框架,遵循“单台资源受限移动端设备上针对无限数据流的有状态计算”这一基本原则,使得用户行为数据在近数据源处能够被高效处理,同时设计了基于字典树的任务触发管理机制,实现了端侧多个相关流处理任务的批量触发执行。另外,在端云之间搭建了实时传输通道,以支持数据百毫秒级的上传下达;
  3. 部署平台通过git机制实现细粒度的任务管理,并采用推拉结合、多批次任务发布的方式保证实效性和稳定性,同时支持统一和定制化的多粒度任务部署策略。

典型实际应用中的系统性能

imagen 图3: 电商直播场景下端云协同看点识别流程

在淘宝直播场景中,智能看点任务是指通过机器学习方法自动地定位出主播介绍讲解商品看点(即商品对买家有吸引力的信息)的时间点,从而提升用户体验。相比较于以前的纯云智能看点任务链路,引入Walle后的新端云协同链路,将平均生产每看点的云侧负载降低了 87%,将智能看点覆盖的主播数量提升了123%,并将单位云算力产出的看点量提升了 74%。真机测试显示,在华为 P50 Pro上平均每次看点任务的总耗时为130.97 ms,而在 iPhone 11 上的耗时为90.42 ms。上述结果凸显了及端云协同学习框架的实用性以及Walle计算容器的高性能。

imagen图4: 电商推荐场景下基于Walle数据管道的IPV特征生产流程

在电商推荐场景中,商品页面浏览(Item Page-View, IPV)特征主要记录了用户在某个特定商品的详情页上的行为(例如收藏、加购物车、购买下单等),该特征对于推荐模型起着十分重要的作用。云侧原有的 IPV 特征生产链路,产出一条特征的平均延迟为33.73 秒,同时消耗了大量的计算、通信、存储资源,并存在0.7%的错误率。相比之下,Walle全新的数据管道可以在端侧完成IPV特征生产过程,平均端侧延迟仅为44.16毫秒,同时削减了超过90%的数据量,并保证了特征的正确性。这些结果表明:相较于主流基于云的数据管道,Walle新数据管道大幅提升了特征生产和消费的时效性、高效性和正确性。

imagen 图5: 某个线上随机挑选的机器学习任务的部署过程

为了测试Walle部署平台的时效性和规模化,随机挑选了一个线上的机器学习任务,并监控了其部署到目标设备群体的整个流程。在保证任务稳定性的前提下,Walle部署平台成功覆盖在线的700万移动端设备需要7分钟,而覆盖所有的2200万设备需要22分钟。

核心模块的Benchmark测试结果

imagen 图6: MNN vs. TensorFlow (Lite), PyTorch (Mobile)

在Android和iOS移动端设备以及Linux服务器的主流硬件后端上对MNN与TensorFlow (Lite)和PyTorch (Mobile)进行了对比测试。测试采用了视觉、自然语言理解、推荐领域中常用的7个模型。结果表明:MNN几乎在所有测试样例中的性能都超过其他的深度学习框架。除了高性能之外,MNN还能够支持所有移动端硬件后端上每个模型的运行,而TensorFlow Lite和PyTorch Mobile则无法支持某些硬件后端或模型,因此MNN的通用性更好。

imagen

imagen 图7: MNN vs. TVM

此外还进行了MNN和TVM的对比测试,其中TVM自动调优和编译的主机是MacBook Pro 2019和NVIDIA GeForce RTX 2080 Ti。一方面,TVM的自动调优和编译大约耗时几千秒,而MNN在运行时的半自动搜索仅需要几百毫秒。进一步结合MNN和TVM在设计和实际部署上的区别(尤其是TVM在iOS设备上模型动态部署能力欠缺,详见PPT和论文),可以得出:MNN能够支持涉及大规模异构硬件后端并需要任务频繁快速迭代的产业界场景,而TVM则不可行。另一方面,在每个硬件后端上每个模型的推理时间方面,MNN也低于TVM,尤其是在GPU服务器上,这主要由于MNN中手工算子优化。

imagen 图8:Python线程级虚拟机 vs. CPython(基于线上3000万次机器学习任务执行的统计分析)

最后还对Python线程级虚拟机和CPython进行了性能对比测试。结果表明:在涉及不同计算量的3种任务类型上,Python线程级虚拟机性能大幅提升,主要原因在于解除了GIL并支持任务级的多线程并发。

业务落地情况

目前,Walle 作为阿里巴巴集团机器学习的基础设施,每天被调用超过千亿次,支持着 30 多个移动 APP(包括手机淘宝、饿了么、速卖通、菜鸟裹裹等)上 300 多个视觉、推荐等任务。此外,MNN已在GitHub开源,目前获得 6.8k stars和 1.4k forks,同时入选了 2021 年“科创中国”开源创新榜单,并已在 10 多个其他公司商业化应用。

论文作者及引用信息

Chengfei Lv, Chaoyue Niu, Renjie Gu, Xiaotang Jiang, Zhaode Wang, Bin Liu, Ziqi Wu, Qiulin Yao, Congyu Huang, Panos Huang, Tao Huang, Hui Shu, Jinde Song, Bin zou, Peng Lan, Guohuan Xu, Fei Wu , Shaojie Tang, Fan Wu y Guihai Chen, Walle: un sistema de producción de extremo a extremo, de uso general y a gran escala para el aprendizaje automático colaborativo entre dispositivos y la nube, en Actas del 16º Simposio USENIX sobre diseño y sistemas operativos Implementación (OSDI), páginas 249-265, Carlsbad, CA, EE. UU., 11 al 13 de julio de 2022.  www.usenix.org/conference/…

Información relacionada con el papel

OSDI 2022- Diapositivas de discurso de tesis de Walle, descarga de texto completo en papel: files.alicdn.com/tpsservice/…

Supongo que te gusta

Origin juejin.im/post/7121645980872605709
Recomendado
Clasificación