Compitiendo en ecosistemas

Escoger una solución de datos (ya sea de Business Intelligence, Data Analytics o Big Data) se está volviendo cada vez más complicado y es necesario tener una estrategia adecuada y mecanismos de evaluación eficientes. Por ejemplo, ¿qué librería de machine learning es mejor en las diferentes plataformas?  ¿Sabemos definir qué es mejor?  ¿Qué solución me ofrece mayor versatilidad para mis preguntas? ¿Qué supone para mi organización escoger una plataforma u otra? ¿Debo considerar convertir mi organización en un colaborador de la plataforma?

Tradicionalmente escoger una plataforma de datos ha esta ligado al precio, a la calidad, a las características de producto,… pero actualmente también han emergido otras formas de competición que afectan al mercado de Big Data y Analytics y impactan profundamente en la selección de nuestra plataforma de datos.

Tal y como apuntan Kapoor y Lee en el artículo Coordinating and competing in ecosystems: How organizational forms shape new technology investments, actualmente las organizaciones compiten a través de ecosistemas en los que colaboran y compiten al mismo tiempo.

En el contexto de las estrategias de datos, tradicionalmente fabricantes y proveedores han creado relaciones uno a uno para crear mejores productos y ofrecer valor añadido. Sin embargo, hemos asistido en los últimos años a un fenómeno que se enclava dentro del artículo anteriormente citado: las tecnologías de Big Data y Analytics se articulan a través de ecosistemas y plataformas. La dinámica competitiva ha cambiado. Se compite en la capacidad de innovación presente y futura lo que lleva a considerar modelos de coopetencia construidos en torno a tecnologías open source.

El ejemplo más claro de esto es Apache Hadoop en el que múltiples empresas colaboran para mejorar las componentes del ecosistema y al mismo tiempo ofrecen servicios de valor añadido mediante su propia plataforma en la que han integrado diversas de las componentes.

Cambios en la dinámica competitiva de los proveedores requieren un nuevo enfoque en la evaluación por parte de las empresas.

Tenemos, en realidad, varios escenarios que conviven al mismo tiempo:

  • Fabricantes que siguen el modelo tradicional fundamentados en partnerships con terceros para la reventa y creación de servicios de valor.
  • Fabricantes que colaboran en el diseño y la mejora de tecnologías con otros, pero que a posteriori ofrecen una plataforma integrada sobre la que ofrecen servicios. Por ejemplo, Apache Hadoop o Spark.
  • Fabricantes que ofrecen plataformas de desarrollo (de estrategias de datos) para captar empresas que creen sus nuevos productos fundamentados en sus componentes. Por ejemplo, Amazon, Microsoft o Google.

Elegir un enfoque sobre el resto, limita qué podremos hacer y la forma de hacerlo. A tener en cuenta:

  • La situación del ecosistema: quién participa, de qué forma, en qué condiciones, madurez y evolución.
  • Lock-in: una vez escogido el ecosistema, ¿es para siempre?
  • Open Source: en qué medida se apoya el ecosistema en el open source y bajo qué licencia.
  • Propiedad del dato y del algoritmo: en función del ecosistema es necesario revisar quién es el propietario de estos puntos.

Ante tanta opción, es fácil que una organización quede paralizada y no inicie ninguna acción en su transformación hacia la orientación del dato.

En esta nueva realidad, cambia cómo las organizaciones deben evaluar sus estrategias de datos. Importa el enfoque y no sólo el producto. Y es necesario prepararse para evitar la parálisis. Estamos hablando de nuevos perfiles, nuevos criterios de decisiones y nuevos modelos de colaboración.

¿Estamos preparados para el reto?

Artificial Intelligence needs to cross the uncanny valley

Despite the vertiginous advances in cognitive technologies, commercial success will be determined by the willingness of humans to embrace them. Actually, the process of acceptance requires overcoming at some point a strong aversion by users. This dynamics need to be understood in business cases before rushing to make a decision.

The promise of intelligent technologies is fascinating: There is a wave of predictions presenting a future with robots taking over most human tasks, creating a much higher standard of living, where humans will concentrate on value-added tasks (there is a pessimistic current of thinking predicting we will end up as servants to robots, but we are not going to deal with that in this post). The question that is often overlooked is how to make the journey to that promising future.

Technological lifecycle follows a consistently upwards path, which can take the form of an S-curve, linear, or a disruptive leap. However, in the case of human and machine interactions, when assessing the likelihood of acceptance from the user side, the lifecycle path does not apply. The shape of the curve and the process dynamics are quite different. Understanding this difference could make the difference between the success and failure of a given project. This was known about 40 years ago, and the acceptance curve is called the uncanny valley.  The concept was coined by the Japanese robotics researcher Masahiro Mori. It describes our response cycle when interacting with a robot. It is shown in the graph below:

uncanny-valley

Source: ACM, 2016

Initially, our response to the appearance of a robot is positive as the appearance of the robot becomes increasingly human. However at some point, as the robot appears closer to humans, but not quite, it triggers a strong revulsion. That is the uncanny valley. Only when the appearance of the robot becomes practically indistinguishable from that of a human being, the emotional response becomes positive again.

The point here is that the uncanny valley does not apply only to robotics, but to the technologies that represent an interaction between humans and intelligent machines. In this case, the key is to be able to identify the factors defining the human-machine experience, beyond physical appearance.

Different technologies are at different points in the uncanny valley. For instance, digital representations of humans crossed the valley years ago. Other technologies are still making their way up from the bottom of the uncanny valley. We are going to explore two of them, how the uncanny valley applies, and the main implications:

Customer-facing Artificial Intelligence: This is a clear example of the illusion of upward evolution when the uncanny valley is overlooked. The benefits that AI can bring are great: an always-on, self-service offering, which can create top quality experiences when combined with big data and analytics. This has been proposed as the solution to the chronic BPO challenges, as organizations struggle to find contact center staff combining excellence in their skills, job loyalty and competitive salaries.

Basic IVR systems provided a cost-effective solution to simple problems. With the evolution of artificial intelligence, the range of problems that can be solved is potentially much broader. However, when dealing with more sophisticated systems, customer experience can be summarized as frustrating. There is an overall impression that the machine does not understand customer needs, beyond a set of predefined scenarios. This, along with the need to repeat questions several times, leads to an urge to talk to a human being. In the case of chatbots or personal assistants, it just takes a few interactions to reach the limits of that intelligence. Children seem to be particularly talented for that. Both cases reflect they are in the low region in the uncanny valley.

These systems do not yet have the ability to recognize or assess their own limitations. Furthermore, there are unable to deal with uncertainty and ambiguity, which are present to a high degree in human communication. The level of interaction expected needs to be richer than just providing an answer.

Anthropomorphic robots: After creating outstanding value in several sectors (e.g. manufacturing), the robot industry is turning to fulfilling human and social needs, in areas such as elderly care, domestic services, or even children with special needs. In principle, robots can potentially make a substantial improvement in the quality of life of many people.

This case combines both physical appearance and artificial intelligence. One of the companies actively researching in this area is Hanson Robotics, aiming at bringing to the world “humanlike robots with greater-than-human wisdom.” The company believes that showing humanlike face expressiveness and language technology, they can build strong emotional connections, paving the way for the services mentioned above.

I invite the reader to check the link below, and assess where in the uncanny valley this robot is. In order to create an interaction resembling human experience, and be accepted by people (in particularly those with special needs) it seems obvious that they still have a long way to go.

There is an element missing in the cognitive world and artificial intelligence when it comes to complex interaction with humans: emotional intelligence. These machines lack a basic conscience. It seems too obvious the user is dealing with just an algorithm or engine, however sophisticated, and no empathy emerges from those interactions. There is a contrast between the enthusiasm of developers and the reaction of users (or viewers)

This raises a question: if we are willing to trust a robot, knowing that in the end it is a robot. On the other hand, if a given robot passes the Turing test (created to determine if a machine behavior is actually indistinguishable from that of a human), a new breed of problems may appear. A clear example is the computer generated Japanese pop idol Aimi Eguchi, who (which) was a clever digital composite of the features of six existing members of the idol group AKB48, able to fool and later shock millions of fans in 2011.

It is not clear if society will allow robots to enter areas considered genuinely human. We may end up determining limits, establishing which activities can be performed by robots, and which ones will remain in the human domain. This is particularly clear in the case of ethical dilemmas (see the link below).It will be necessary to create a multidisciplinary dialogue addressing these questions.

For the time being, the most immediate step for any organization developing these solutions would be assessing where they are in the uncanny valley, and what steps are necessary to cross it. It is not them who should make the assessment, but their customers, the ultimate decision makers.

 

Recommended links:

Overview: http://cacm.acm.org/magazines/2016/9/206247-the-edge-of-the-uncanny/fulltext

Anthropomorphic robot: http://www.cnet.com/news/crazy-eyed-robot-wants-a-family-and-to-destroy-all-humans/

AI and ethical dilemmas: https://www.linkedin.com/pulse/conciencia-artificial-vs-inteligencia-antonio-j-ramirez (in Spanish)

GPU Computing: una nueva etapa para Big Data

Ya han pasado más 10 años desde que Hadoop apareció (lo celebramos a principios de 2016). Aunque Big Data no es Hadoop (ya hemos pasado la fase de confusión), este hito nos indica que hemos llegado ya a un cierto punto de madurez respecto a ciertas tecnologías que conforman lo que conocemos.

En fase inicial, los desarrollos de tecnologías de Big Data se han centrado en el software marcando una nueva etapa que se quería diferenciar de soluciones más fundamentadas en el hardware como HPC o appliances analíticas o especializadas en el análisis de datos. Hemos asistido a la aparición de múltiples tecnologías categorizadas en batch processing, stream processing y NoSQL. Pero todas ellas fundamentadas en software y en la creación de ecosistemas alrededor de ellas que pugnan por captar la atención de los desarrolladores. Ya sea Apache Hadoop, Apache Spark o Apache Flink (por citar algunas de ellas).

Hemos vivido una expansión de tecnologías (de software) centradas en mejorar el almacenamiento y el procesamiento del dato. Esta explosión ha derivado en una dificultad inherente no sólo para escoger la solución adecuada sino también el proveedor (algo a lo que hemos querido dar un poco de luz a través de la primera guía de estrategias de datos co-publicada con Computer World España). Ya estamos preparando la segunda versión a ser publicada a principios de 2017.

Y sin embargo, aún tenemos límites en lo que podemos hacer con el software. Es cierto, que se han creado diferentes tecnologías, ecosistemas y arquitectura(s) para mejorar lo que podemos hacer con el dato, pero ¿y si es el momento de introducir nuevos enfoques?

Muchas de las mejoras en el contexto del procesamiento de datos complejos se han articulado alrededor de conceptos como el uso de la computación distribuida (más servidores trabajando de forma conjunta y/o en paralelo, en lugar de un servidor más grande y potente) y la capacidad de usar la memoria (del CPU), así como adaptar algoritmos a su versión distribuida.  Pero para algunos escenarios (como el contexto geoespacial con múltiples agregaciones en paralelo) necesitamos todavía mayor potencia de procesamiento para nuestros algoritmos. Lo que se traduce en crear una arquitectura más compleja a nivel de hardware en las que debemos desplegar y orquestrar nuestras plataformas de datos. Miles de nodos que deben ser gestionados (y esto entra en el campo de los DevOps y los data engineers) para cumplan su cometido. Esto supone mayor dificultad para una organización.

Quizá algunos piensen para que lo necesitamos. ¿No es suficiente con lo que tenemos? No voy a estar en un contexto parecido.

Pensemos en un ejemplo, imaginemos que queremos tener trazabilidad de toda la flota logística de nuestro negocio. Ya sean camiones, coches, motocicletas, bicicletas o drones. Que queremos saber tiempo real dónde están, si llevan retraso y si todo funciona correctamente. Esto puede parece muy simple, pero en función de la cantidad de objetos en esta red logística (y si hablamos de IoT) esto es simplemente en gran reto a resolver. Con esto quiero decir, a medida que planteemos más y más propuestas de valor asociadas a la digitalización completa de un proceso de negocio vamos a necesitar mayor capacidad en nuestra plataforma de datos para poder tener visibilidad completa de lo que está sucediendo.

Afortunadamente, a grandes males, grandes remedios. Un nuevo enfoque ha emergido, GPU Computing, es decir, el uso de los procesadores gráficos para tareas realizadas tradicionalmente por el CPU. Entremos en detalle. Un CPU consiste en una serie de núcleos (pocos) optimizados para hacer procesamiento secuencial mientras que un GPU consiste en arquitectura consistente en miles de pequeños núcleos diseñados para realizar múltiples tareas de forma simultánea.

Inicialmente estos núcleos han sido optimizados para el procesamiento para operaciones gráficas, pero desde hace más de una década se ha extendido las capacidades para ampliar los casos de uso. Por ejemplo, Nvidia lleva tiempo desarrollando este nuevo tipo de GPU y un lenguaje de programación llamado CUDA para crear nuevas aplicaciones. Es decir, no estamos hablando algo completamente nuevo, sino de una tecnología que ha llegado al punto de estar preparada para su despliegue empresarial. La madurez de la que hablan muchos.

Por lo que no es nuevo encontrarse software acelerado por GPU, pero si su uso en el contexto de Big Data. Y eso nos lleva al punto actual en el empresas como Jedox que usa la aceleración por GPU para mejorar el rendimiento de su servidor MOLAP, o Kinetica que ofrece una plataforma de computación in-memory fundamentada en GPU.

Sobre Kinetica

Podemos considerar Kinetica como una de las primeras empresas cuyo producto extiende las capacidades de procesamiento en tiempo real (y también incluye soporte para series temporales, soporte geoespacial y OLAP) de forma integrada abriendo la puerta a casos de uso imposibles antaño (por precio o por capacidades técnicas). Entre sus ejemplos destacan aquellos con componente geoespacial (como el caso de US Portal). Pero destaca no sólo su capacidad de usar GPUs para el análisis sino la posibilidad de combinarlo con CPU y la integración con múltiples fuentes de origen y con algunas de las principales soluciones de BI. La siguiente imagen ilustra su arquitectura.

Kinetica

Arquitectura de Kinetica

Atención con esta empresa, de la que vamos a leer mucho en los próximos meses en lo que se antoja uno de los puntos calientes en este mercado. Grandes empresas ya han apostado por sus soluciones para innovar en sus respectivas plataformas de datos.

No son los únicos (fabricantes) claro. Amazon, Microsoft y Google pronto ofrecerán estas capacidades en su porfolio y muchos de los grandes actores ya tienen en su punto de mira esta tecnología.

¿Estamos preparados para la siguiente revolución del big data fundamentada en GPUs?