La mayoría de las personas estarían de acuerdo en que R es un lenguaje popular para el análisis de datos. Quizás menos conocido es que R tiene un buen soporte para la ejecución paralela en una sola CPU a través de paquetes como future. En esta presentación hablaremos sobre nuestra experiencia escalando los procesos de R aún más, ejecutando R en paralelo en contenedores docker utilizando Kubernetes. Los robots generan grandes cantidades de datos de sensores y otros; extraer la información y conocimientos adecuados de esto requiere un procesamiento significativamente mayor que el que se puede abordar en un entorno de ejecución único. Ante la tarea de preprocesar varios cientos de GB de datos de archivos json comprimidos, utilizamos Pachyderm para escribir canalizaciones de datos para ejecutar la preparación de datos en paralelo, utilizando contenedores multinúcleo en un clúster de Kubernetes.
Al final de la charla habremos desmentido el mito de que R no se puede utilizar en producción a gran escala. Incluso si no utiliza R, habrá visto un caso de uso para escalar el análisis independientemente de su lenguaje de elección.
This talk has been presented at ML conf EU 2020, check out the latest edition of this Tech Conference.
FAQ
Expantia ayuda a las organizaciones a impulsar su capacidad de análisis de datos.
Flodian Pistoni es el cofundador y CEO de Inorbit, una plataforma de gestión de robots en la nube.
Inorbit ha acumulado más de 3.8 millones de horas de datos de robots en los últimos 12 meses.
Expantia enfrentó desafíos en la extracción de datos debido a la variedad de fuentes y marcas de tiempo no relacionadas, y en la ingeniería de características para unir diferentes señales de datos.
Expantia externalizó la extracción y procesamiento de datos a Kubernetes y utilizó Pachyderm para manejar y versionar los datos.
Pachyderm es un producto que permite la gestión versionada de pipelines de datos. Expantia lo utiliza para conectar datos en un repositorio y manejar la ejecución de scripts en R de manera más eficiente.
Expantia ha encontrado que los grandes clústeres son sorprendentemente asequibles y facilitan el manejo de grandes volúmenes de datos, mejorando la eficiencia en el análisis de datos.
El trabajo de Expantia ha ayudado a Inorbit a entender y manejar mejor la escalabilidad de su plataforma de gestión de flotas de robots, haciendo el proceso de recolección y análisis de datos más eficiente.
La charla aborda los desafíos de gestionar y analizar el volumen creciente de datos recopilados de los robots. Se destaca la importancia de la extracción de datos y la ingeniería de características en el análisis de lo que sucede antes de una falla. Se menciona el uso de Kubernetes y Packyderm para la gestión de datos y actualizaciones automáticas en la canalización. Se enfatiza la paralelización de scripts de R y la escalabilidad de grandes clústeres para la recopilación y procesamiento de datos. La charla también menciona el uso de IA a nivel de flota de robots para desbloquear nuevas oportunidades.
Hola. Mi nombre es Frans van den Een, Director de Datos en Expantia. Junto con Flodian Pistoni, CEO de Inorbit, abordamos los desafíos de gestionar y analizar el creciente volumen de datos recopilados de robots. Inorbit ha acumulado más de 3.8 millones de horas de datos de robots en los últimos 12 meses solamente. Uno de los principales desafíos es el proceso de extracción de datos, donde necesitamos unir observaciones basadas en la marca de tiempo más cercana y realizar ingeniería de características. Analizamos lo que sucede antes de una falla al retroceder un cierto período de tiempo para cada observación.
Soy el Director de Datos en Expantia, y ayudamos a las organizaciones a impulsar su capacidad de análisis de datos. Esta charla fue preparada junto con Flodian Pistoni. Flodian es el cofundador y CEO de Inorbit, y Inorbit es una plataforma de gestión en la nube, una plataforma de gestión de robots en la nube y están desarrollando aún más para llevar las operaciones de robots a un nivel más alto. Porque los robots están en todas partes ahora, dondequiera que mires, aún más ahora con COVID, están trabajando junto con los humanos, están trabajando de manera autónoma. Y esto significa que el volumen de los data que estamos recopilando de los robots está aumentando exponencialmente. Por supuesto, esto ofrece oportunidades muy interesantes para nosotros, los científicos de datos, trabajar con este tipo de data que tiene características especiales. Y si miramos lo que Inorbit ha estado haciendo, han acumulado más de 3.8 millones de horas de datos de robots en los últimos 12 meses solamente. Y están creciendo rápidamente, ¿verdad? Así que ahora están agregando aproximadamente un año de data cada día. Y para nosotros, hacer análisis sobre eso, aunque esta es una charla breve, de manera muy resumida, pero quiero resaltar algunos de los problemas que encontramos y cómo los hemos resuelto. El principal problema que encontramos es que Inorbit ofrece sus servicios a cualquier flota. No tenemos control sobre cómo exactamente se recopilan esos data y cómo se envían al servicio central. Así que en una de las pruebas de concepto que hicimos, nos enfrentamos a muchos robots que estaban enviando millones de archivos, ¿verdad? Un archivo cada cinco segundos para cada agente. Pero cada archivo contenía data de múltiples fuentes. Y cada una de esas fuentes estaba en
2. Extracción de Datos e Ingeniería de Características
Short description:
El primer paso fue la extracción de datos, que implicó unir observaciones por la marca de tiempo más cercana. Luego realizamos la ingeniería de características y analizamos lo que sucedió antes de una falla. Debido al gran volumen de datos, decidimos utilizar Kubernetes y Packyderm, un producto de código abierto que ofrece un pipeline de datos versionado. Esto permite una gestión más fácil de los datos y actualizaciones automáticas en el pipeline.
robots o operaciones en el agente. Tenían sus propias marcas de tiempo. No estaban directamente relacionados. Entonces, el primer paso que necesitábamos hacer era la extracción de data. Y esto fue un poco más complejo de lo que esperábamos, especialmente porque necesitábamos unir observaciones por la marca de tiempo más cercana. Destacaré eso un poco más en una diapositiva posterior. Y luego realizar la ingeniería de características sobre eso. Entonces, lo que quiero decir con la unión de tiempo más cercana, tenemos diferentes señales sobre la localización de la misión y la velocidad. Y necesitamos encontrar un intervalo donde podamos unir cada una de esas señales para tener una sola observación. Trabajamos en cómo se podía hacer eso. Y luego necesitábamos comenzar la ingeniería de características. Entonces, una vez que tenemos una línea, una observación por unidad de tiempo, queríamos retroceder. Queríamos ver qué sucedió antes de una falla. Hay una falla aquí. Y si retrocedemos digamos 42 segundos, entonces necesitamos hacer eso para cada uno de ellos. Hacer eso y tener en cuenta todos los casos en los que no pudimos incluir el dato, por ejemplo, cuando hubo una falla dentro del marco de tiempo de 42 segundos, fue absolutamente posible. Pero luego nos enfrentamos a un volumen enorme donde nuestra computadora local simplemente dijo que no, esto no será posible. Así que inmediatamente pensamos en externalizar esto a Kubernetes. Configuramos un bucket con los data que se estaban ingresando. Los empaquetamos en archivos zip diarios. Empaquetamos gstuff, Json y gzzips para que sea un poco más manejable y poder transportar los data con mayor facilidad. Y luego externalizamos la extracción completa de data a Kubernetes, un segundo bucket con el resultado intermedio, externalizamos la ingeniería de data, y tenemos el resultado listo para el análisis. Lo que descubrimos es que es mucho más fácil obtener la ayuda de algo llamado Packyderm. Packyderm es un producto, es una empresa. Tienen una versión de código abierto de esto, que es lo que usamos. Y lo que tenemos allí no es un bucket. Lo que tenemos es un archivador. Tenemos un repositorio donde convertimos los data que ingresan y versionamos los data que salen. Hacer este tipo de pipeline de data con versiones significa que si hay un cambio en cualquier punto del pipeline, el resto del pipeline responderá y actualizará automáticamente los data. Esto nos prepara para hacer todo el trabajo pesado una vez que lo llevemos a producción. Solo un vistazo rápido a cómo se ve esto. Creamos pipelines que son muy similares a los archivos de configuración de ustedes y lo clave aquí es que podemos conectar los data en el repositorio, en el repositorio de Pachyderm, PFS es el sistema de archivos de Pachyderm, con lo que estamos ejecutando en nuestro R
3. Parallelización y Escalabilidad
Short description:
Nuestros scripts paralelizados en R no fueron suficientes, así que externalizamos la conexión y la preparación de datos. Monitorear los datos a un nivel granular fue genial. La paralelización del código R es fácil con el paquete 'future'. Trabajar con Kubernetes facilitó la transición a un pipeline masivamente paralelo. Los grandes clústeres son sorprendentemente asequibles, lo que permite la recolección y procesamiento escalables de datos. El uso de IA a nivel de flota de robots desbloquea nuevas oportunidades. Visite expanded.com o inorbit.ai para obtener más información.
script. Debido a que nuestros scripts en R ya estaban paralelizados, pero la paralelización no fue suficiente. Así que ahora pudimos externalizar esto y establecer la preparación de datos que hicimos a continuación, y para cada dato que es el término de Pachyderm para cada unidad de datos en el pipeline, podemos ver si fue exitoso o si falló. Esta es una captura de pantalla de Patrick Santamaria donde hicimos la mayor parte de este trabajo.
Así que poder monitorear a ese nivel lo que está sucediendo con tus datos en la práctica, fue absolutamente genial. La paralelización del código R es fácil. Hay un paquete llamado construido sobre future. Y es muy fácil paralelizarlo. Pasar de un código R paralelo a un pipeline masivamente paralelo es factible. Para nosotros fue mucho más fácil trabajar con Kubernetes a través de eso. Lo otro es que los grandes clústeres son sorprendentemente asequibles, ¿verdad? Trabajamos en un clúster de 80 CPU, 520 gigabytes por menos de $10 por hora. Lo cual fue algo que no habíamos experimentado antes y ahora lo estamos utilizando cada vez más en el trabajo que estamos haciendo. Para el equipo con el que estábamos trabajando en in orbit, esto también tuvo grandes implicaciones. Porque significa que a medida que las flotas crecen, saben que la recolección y el procesamiento de datos se vuelve crítico para ellos. Ahora también saben que entender la escalabilidad de su plataforma completa no tiene por qué ser difícil. Pero escalar el análisis tampoco tiene por qué ser difícil. Y el uso de IA a nivel de flota de robots, ya saben, desbloquea muchas nuevas oportunidades en las que están trabajando arduamente para seguir ofreciendo a sus clientes. Muchas gracias. Espero que esto haya sido útil. Si desean más información, por favor visiten nuestros sitios web, expanded.com o inorbit.ai. Ambos tenemos blogs activos y nos gusta escribir sobre este tema, así que esperamos estar en contacto en el futuro. Así que muchas gracias.
TensorFlow.js enables machine learning in the browser and beyond, with features like face mesh, body segmentation, and pose estimation. It offers JavaScript prototyping and transfer learning capabilities, as well as the ability to recognize custom objects using the Image Project feature. TensorFlow.js can be used with Cloud AutoML for training custom vision models and provides performance benefits in both JavaScript and Python development. It offers interactivity, reach, scale, and performance, and encourages community engagement and collaboration between the JavaScript and machine learning communities.
MediaPipe is a cross-platform framework that helps build perception pipelines using machine learning models. It offers ready-to-use solutions for various applications, such as selfie segmentation, face mesh, object detection, hand tracking, and more. MediaPipe can be integrated with React using NPM modules provided by the MediaPipe team. The demonstration showcases the implementation of face mesh and selfie segmentation solutions. MediaPipe enables the creation of amazing applications without needing to understand the underlying computer vision or machine learning processes.
JavaScript with TensorFlow.js allows for machine learning in various environments, enabling the creation of applications like augmented reality and sentiment analysis. TensorFlow.js offers pre-trained models for object detection, body segmentation, and face landmark detection. It also allows for 3D rendering and the combination of machine learning with WebGL. The integration of WebRTC and WebXR enables teleportation and enhanced communication. TensorFlow.js supports transfer learning through Teachable Machine and Cloud AutoML, and provides flexibility and performance benefits in the browser and Node.js environments.
Observability with Diagnostics Channel and async local storage allows for high-performance event tracking and propagation of values through calls, callbacks, and promise continuations. Tracing involves five events and separate channels for each event, capturing errors and return values. The span object in async local storage stores data about the current execution and is reported to the tracer when the end is triggered.
Transfer learning in NLP allows for better performance with minimal data. BERT is commonly used for sequential transfer learning. Models like BERT can be adapted for downstream tasks such as text classification. Handling different types of inputs in NLP involves concatenating or duplicating the model. Hugging Face aims to tackle challenges in NLP through knowledge sharing and open sourcing code and libraries.
Aprovechando LLMs para Construir Experiencias de IA Intuitivas con JavaScript
Featured Workshop
2 authors
Hoy en día, todos los desarrolladores están utilizando LLMs en diferentes formas y variantes, desde ChatGPT hasta asistentes de código como GitHub CoPilot. Siguiendo esto, muchos productos han introducido capacidades de IA integradas, y en este masterclass haremos que los LLMs sean comprensibles para los desarrolladores web. Y nos adentraremos en la codificación de tu propia aplicación impulsada por IA. No se necesita experiencia previa en trabajar con LLMs o aprendizaje automático. En su lugar, utilizaremos tecnologías web como JavaScript, React que ya conoces y amas, al mismo tiempo que aprendemos sobre algunas nuevas bibliotecas como OpenAI, Transformers.js
Sientes las limitaciones de los LLMs? Pueden ser creativos, pero a veces carecen de precisión o se basan en información desactualizada. En esta masterclass, desglosaremos el proceso de construir y desplegar fácilmente un sistema de Generación con Recuperación Mejorada. Este enfoque te permite aprovechar el poder de los LLMs con el beneficio adicional de precisión factual e información actualizada.
Únete a nuestro masterclass dinámico para crear un portal de documentación impulsado por IA. Aprende a integrar ChatGPT de OpenAI con Next.js 14, Tailwind CSS y tecnología de vanguardia para ofrecer soluciones de código e resúmenes instantáneos. Esta sesión práctica te equipará con el conocimiento para revolucionar la forma en que los usuarios interactúan con la documentación, convirtiendo las búsquedas tediosas en descubrimientos eficientes e inteligentes. Aspectos destacados: - Experiencia práctica en la creación de un sitio de documentación impulsado por IA.- Comprensión de la integración de la IA en las experiencias de usuario.- Habilidades prácticas con las últimas tecnologías de desarrollo web.- Estrategias para implementar y mantener recursos de documentación inteligente. Tabla de contenidos:- Introducción a la IA en la documentación- Configuración del entorno- Construcción de la estructura de documentación- Integración de ChatGPT para documentación interactiva
Ven y descubre nuestro masterclass que te guiará a través de 3 recorridos comunes al usar TensorFlow.js. Comenzaremos demostrando cómo usar uno de nuestros modelos predefinidos, clases de JS muy fáciles de usar para trabajar rápidamente con ML. Luego veremos cómo volver a entrenar uno de estos modelos en minutos utilizando el aprendizaje por transferencia en el navegador a través de Teachable Machine y cómo se puede usar en tu propio sitio web personalizado. Finalmente, terminaremos con un hola mundo escribiendo tu propio código de modelo desde cero para hacer una regresión lineal simple y predecir los precios ficticios de las casas en función de sus metros cuadrados.
¿Eres un Ingeniero de Software al que se le asignó la tarea de implementar un modelo de aprendizaje automático o aprendizaje profundo por primera vez en tu vida? ¿Te preguntas qué pasos seguir y cómo se diferencia el software impulsado por IA del software tradicional? Entonces este es el masterclass adecuado al que asistir. Internet ofrece miles de artículos y cursos gratuitos que muestran lo fácil que es entrenar e implementar un modelo de IA simple. Al mismo tiempo, en la realidad es difícil integrar un modelo real en la infraestructura actual, depurarlo, probarlo, implementarlo y monitorearlo correctamente. En este masterclass, te guiaré a través de este proceso compartiendo consejos, trucos y herramientas de código abierto favoritas que te facilitarán mucho la vida. Así que al final del masterclass, sabrás por dónde empezar tu viaje de implementación, qué herramientas utilizar y qué preguntas hacer.
Este masterclass será tanto una introducción suave al Aprendizaje Automático, como un ejercicio práctico de uso de la nube para entrenar modelos de aprendizaje automático simples y no tan simples. Comenzaremos utilizando ML Automático para entrenar el modelo para predecir la supervivencia en el Titanic, y luego pasaremos a tareas de aprendizaje automático más complejas como la optimización de hiperparámetros y la programación de series de experimentos en el clúster de cómputo. Finalmente, mostraré cómo Azure Machine Learning se puede utilizar para generar pinturas artificiales utilizando Redes Generativas Adversarias, y cómo entrenar un modelo de preguntas y respuestas de lenguaje en documentos de COVID para responder preguntas relacionadas con COVID.
Comments