stringtranslate.com

Apache SINGA

Apache SINGA es un proyecto de alto nivel de Apache para desarrollar una biblioteca de aprendizaje automático de código abierto . Proporciona una arquitectura flexible para un entrenamiento distribuido escalable, es extensible para ejecutarse en una amplia gama de hardware y se centra en aplicaciones de atención médica.

Apache SINGA ha ganado el premio SIGMOD Systems Award 2024 [1] por el desarrollo de una plataforma de aprendizaje profundo distribuida, eficiente, escalable y fácil de usar para análisis de datos a gran escala .

Historia

El proyecto SINGA fue iniciado por el Grupo de Sistemas de Base de Datos de la Universidad Nacional de Singapur en 2014, en colaboración con el grupo de bases de datos de la Universidad de Zhejiang , con el fin de respaldar análisis complejos a escala y hacer que los sistemas de bases de datos sean más inteligentes y autónomos . [2] Se centró en el aprendizaje profundo distribuido al particionar el modelo y los datos en nodos de un clúster y paralelizar el entrenamiento. [3] [4] El prototipo fue aceptado por Apache Incubator en marzo de 2015 y se graduó como proyecto de alto nivel en octubre de 2019. La siguiente tabla captura información sobre diferentes tipos de versiones, por ejemplo, la última versión, la última versión de vista previa, versiones anteriores que aún se mantienen y versiones antiguas.

Pila de software

La pila de software de SINGA incluye tres componentes principales, a saber, núcleo, IO y modelo. La siguiente figura ilustra estos componentes junto con el hardware. El componente núcleo proporciona administración de memoria y operaciones de tensor ; IO tiene clases para leer (y escribir) datos desde (hacia) el disco y la red; El componente modelo proporciona estructuras de datos y algoritmos para modelos de aprendizaje automático, por ejemplo, capas para modelos de redes neuronales , optimizadores/inicializadores/métricas/pérdidas para modelos generales de aprendizaje automático.

Pila de software Apache Singa
Pila de software Apache Singa

SINGA-Auto

SINGA-Auto (también conocido como Rafiki [5] en VLDB2018) es un subsistema de Apache SINGA para proporcionar el servicio de entrenamiento e inferencia de modelos de aprendizaje automático. SINGA-Auto libera a los usuarios de construir los modelos de aprendizaje automático, ajustar los hiperparámetros y optimizar la precisión y velocidad de la predicción. Los usuarios pueden simplemente cargar sus conjuntos de datos, configurar el servicio para realizar el entrenamiento y luego implementar el modelo para la inferencia. Como sistema de servicio en la nube , SINGA-Auto administra los recursos de hardware, la recuperación de fallas, etc. Para facilitar su uso, proporciona un zoológico de modelos, que es un conjunto de modelos de aprendizaje automático integrados para tareas populares como análisis de datos estructurados (por ejemplo, datos EMR), reconocimiento de imágenes y procesamiento de texto.

En el servicio de entrenamiento, se propone un marco general para el ajuste distribuido de hiperparámetros y se diseña un esquema de ajuste colaborativo específicamente para modelos de aprendizaje profundo. En el servicio de inferencia, se propone un algoritmo de programación basado en aprendizaje de refuerzo para optimizar la precisión general y reducir la latencia. Puede adaptarse a los cambios en las tasas de solicitudes.

SINGA-Fácil

SINGA-Easy [6] (ACM Multimedia 2021) es un marco de aprendizaje profundo fácil de usar creado como un componente de Apache SINGA para facilitar la adopción de algoritmos de aprendizaje profundo y servicios de inferencia por parte de usuarios de aplicaciones de dominio específico (por ejemplo, multimedia, análisis de imágenes médicas). Proporciona un ajuste de hiperparámetros distribuido en la etapa de entrenamiento, un control dinámico de costos computacionales en la etapa de inferencia e interacciones intuitivas del usuario con contenido multimedia facilitadas por la explicación del modelo. Para mejorar la precisión, admite métodos de regularización para regularizaciones de imágenes y datos estructurados (ACM SIGMOD 2023). Para respaldar la aceptación de los usuarios del dominio sobre los resultados del entrenamiento, SINGA-Easy brinda una opción para que los usuarios evalúen el rendimiento del modelo desde la perspectiva de la explicación del modelo basada en LIME [7] y Grad-CAM. [8]

Casquillo ml

MLCask [9] (IEEE ICDE 2021) es un subsistema de gestión de pipelines que gestiona pipelines de aprendizaje automático, desde la limpieza de datos hasta el análisis de datos, para facilitar el mantenimiento de la evolución y el control de versiones de pipelines de aprendizaje automático para el análisis colaborativo. Sirve para reducir el coste y facilitar la adopción. MLCask admite una gestión del ciclo de vida de ML de extremo a extremo similar a Git. Al aprovechar el historial de versiones de los componentes y el espacio de trabajo de pipeline, MLCask puede omitir los pasos de preprocesamiento sin cambios para abordar los desafíos frecuentes de reentrenamiento. Su semántica de control de versiones no lineal y la operación de fusión facilitan el desarrollo colaborativo eficaz de la pipeline.

Selección de modelos dentro de la base de datos

A partir de la versión 4.1.0, Apache SINGA ofrece compatibilidad con la selección e inferencia de modelos en bases de datos en PostgreSQL. El sistema implementa un algoritmo de selección de modelos de dos fases que hace un uso eficiente de los recursos e incorpora técnicas de selección de modelos tanto con entrenamiento como sin entrenamiento. Este algoritmo de selección de modelos se integra de forma no intrusiva en PostgreSQL a través de procedimientos almacenados con optimizaciones en la latencia de ejecución y el consumo de memoria. La inclusión de la selección de modelos en bases de datos permite a los usuarios obtener modelos de alto rendimiento dentro de los requisitos de tiempo de respuesta especificados.

Aplicaciones

Apache SINGA [10] se utiliza en organizaciones como NetEase , [11] Carnegie Technologies, CBRE , Citigroup , JurongHealth Hospital , National University of Singapore, National University Hospital , Noblis , Shentilium Technologies, Singapore General Hospital , Tan Tock Seng Hospital , YZBigData y otras. Apache SINGA se utiliza en aplicaciones de banca, educación, finanzas, atención médica, bienes raíces, desarrollo de software y otras categorías.

Apache SINGA y el bien social

El Hospital General Ng Teng Fong [12] colaboró ​​con el equipo Apache SINGA para desarrollar una aplicación para personas diagnosticadas con prediabetes, una condición en la que los niveles de glucosa en sangre son más altos de lo normal, pero no lo suficientemente altos como para ser clasificados como diabetes.

La aplicación, llamada JurongHealth Food Log (JHFoodLg), utiliza Apache SINGA para hacer coincidir las fotos de los alimentos con una base de datos de platos locales (incluidos nasi padang , laksa y arroz char siew ) y utiliza datos nutricionales de la Junta de Promoción de la Salud, JurongHealth Campus y la Base de Datos Australiana de Alimentos y Nutrientes. Después de una limpieza exhaustiva de los datos (por ejemplo, formato uniforme, eliminación de duplicados , clasificación de alimentos, calibración humana), la base de datos contiene 209.861 imágenes, que abarcan 13 grupos de alimentos y 233 categorías de alimentos.

La aplicación permite a los usuarios del programa de intervención en el estilo de vida (Liven) del hospital establecer objetivos de pérdida de peso y ejercicio. Un estudio de seis meses muestra que casi todos los 20 pacientes que usaron la aplicación perdieron entre el 4 y el 5 por ciento de su peso corporal inicial.

Véase también

Referencias

  1. ^ "Premio Sistemas SIGMOD".
  2. ^ Wei, Wang; Meihui, Zhang; Gang, Chen; HV, Jagadish; Beng Chin, Ooi; Kian-Lee, Tan (junio de 2016). "Base de datos y aprendizaje profundo: desafíos y oportunidades". SIGMOD Record . 45 (2): 17–22. arXiv : 1906.08986 . doi :10.1145/3003665.3003669. S2CID  6526411.
  3. ^ Ooi, Beng Chin; Tan, Kian-Lee; Sheng, Wang; Wang, Wei; Cai, Qingchao; Chen, pandilla; Gao, Jinyang; Luo, Zhaojing; Tung, Anthony KH; Wang, Yuan; Xie, Zhongle; Zhang, Meihui; Zheng, Kaiping (2015). "SINGA: una plataforma distribuida de aprendizaje profundo" (PDF) . Actas de la 23ª conferencia internacional ACM sobre multimedia . págs. 685–688. doi : 10.1145/2733373.2807410 . S2CID  1840240 . Consultado el 8 de septiembre de 2016 .
  4. ^ Wei, Wang; Chen, Gang; Anh Dinh, Tien Tuan; Gao, Jinyang; Ooi, Beng Chin; Tan, Kian-Lee; Sheng, Wang (2015). "SINGA: Poniendo el aprendizaje profundo en manos de los usuarios multimedia" (PDF) . Actas de la 23.ª conferencia internacional de la ACM sobre multimedia . págs. 25–34. doi :10.1145/2733373.2806232. S2CID  7169465 . Consultado el 8 de septiembre de 2016 .
  5. ^ Wang, Wei; Gao, Jinyang; Zhang, Meihui; Sheng, Wang; Chen, Gang; Khim Ng, Teck; Ooi, Beng Chin; Shao, Jie; Reyad, Moaz (2018). "Rafiki: Machine Learning as an Analytics Service System" (PDF) . Actas de la Fundación VLDB . 12 (2): 128–140. arXiv : 1804.06087 . Código Bibliográfico :2018arXiv180406087W. doi :10.14778/3282495.3282499. S2CID  4898729 . Consultado el 9 de enero de 2019 .
  6. ^ Xing, Naili; Yeung, Sai Ho; Cai, Chenghao; Ng, Teck Khim; Wang, Wei; Yang, Kaiyuan; Yang, Nan; Zhang, Meihui; Chen, Gang; Ooi, Beng Chin (2021). "SINGA-Easy: Un marco fácil de usar para el análisis multimodal" (PDF) . Actas de la 29.ª conferencia internacional de la ACM sobre multimedia . págs. 1293–1302. doi :10.1145/3474085.3475176. ISBN 978-1-4503-8651-7. Recuperado el 17 de octubre de 2021 .
  7. ^ Ribeiro, Marco Tulio; Singh, Sameer; Guestrin, Carlos (2017). ""¿Por qué debería confiar en ti?": Explicando las predicciones de cualquier clasificador" (PDF) . Actas de la 22.ª conferencia internacional ACM SIGKDD sobre descubrimiento de conocimiento y minería de datos . págs. 97–101. arXiv : 1602.04938 . doi :10.1145/2939672.2939778 . Consultado el 1 de agosto de 2016 .
  8. ^ Selvaraju, Ramprasaath R.; Cogswell, Michael; Das, Abhishek; Vedantam, Ramakrishna; Parikh, Devi; Batra, Dhruv (2017). "Grad-CAM: explicaciones visuales a partir de redes profundas mediante localización basada en gradientes" (PDF) . 2017 IEEE International Conference on Computer Vision (ICCV) . págs. 618–626. arXiv : 1610.02391 . doi :10.1109/ICCV.2017.74. ISBN . 978-1-5386-1032-9.
  9. ^ Luo, Zhaojing; Yeung, Sai Ho; Zhang, Meihui; Zheng, Kaiping; Zhu, Lei; Chen, Gang; Fan, Feiyi; Lin, Qian; Ngiam, Kee Yuan; Ooi, Beng Chin (2021). "MLCask: Gestión eficiente de la evolución de componentes en canales de análisis de datos colaborativos". 2021 IEEE 37th International Conference on Data Engineering (ICDE) . págs. 1655–1666. arXiv : 2010.10246 . doi :10.1109/ICDE51399.2021.00146. ISBN 978-1-7281-9184-3. Número de identificación del sujeto  224802796.
  10. ^ "LA FUNDACIÓN DEL SOFTWARE APACHE ANUNCIA A APACHE SINGA COMO UN PROYECTO DE ALTO NIVEL". news.apache.org . 4 de noviembre de 2019 . Consultado el 4 de noviembre de 2019 .
  11. ^ 网易 (2 de junio de 2017). "网易携手Apache SINGA角逐人工智能新战场_网易科技". tech.163.com . Consultado el 3 de junio de 2017 .
  12. ^ "Una nueva aplicación permite a los prediabéticos utilizar fotos de sus comidas para comprobar si son saludables". The Straits Times . 24 de enero de 2019 . Consultado el 6 de abril de 2019 .

Enlaces externos