Batalla de titanes de la IA, parte 2: Los servicios de IA de Google

Chris Dunn, Regional Vice President - APAC
March 27, 2018

Este art"culo es la tercera parte de nuestra serie sobre IA. En las primeras dos partes hablamos de los casos de uso de la IA y las tecnolog"as que est·n detr·s de ella, as" como de los servicios de IA ofrecidos por Amazon. Hoy vamos a centrarnos en los servicios de IA de Google.

Servicios de IA de Google

Como mencionamos en nuestro ˙ltimo art"culo, cada plataforma de IA cuenta con fortalezas basadas en su herencia. Por ejemplo, el servicio Comprehend de AWS se basa en la que quiz· sea la mayor fuente de reseÒas y opiniones del mundo: los comentarios de los productos a la venta en Amazon. Si pensamos en la herencia de Google y en sus inversiones m·s recientes, podemos adivinar algunas de sus fortalezas evidentes: la b˙squeda, el reconocimiento de im·genes y la traducciÛn de idiomas. Pero hay mucho m·s. En este art"culo hablaremos de cada uno de los servicios de IA de Google.

Una advertencia para las personas sensibles: voy a ponerme un poco friki en la secciÛn sobre las TPU de Google, as" que no digan que no les avisÈ.

°Vamos all·!

Cloud AutoML (alfa)

AutoML est· actualmente en fase alfa, as" que todav"a no contamos con una oferta de producto completa. °Pero no deje que eso le detenga! Si est· buscando una tecnolog"a de reconocimiento de im·genes, merece la pena echar un vistazo a AutoML.

La visiÛn de Google es ofrecer una suite de productos y servicios de aprendizaje autom·tico (ML) que proporcione a los desarrolladores la capacidad de crear modelos de alta calidad. El primer programa de esta suite es AutoML Vision, especializado en el reconocimiento de im·genes. Este servicio se basa en la tecnolog"a propietaria de reconocimiento de im·genes de Google, probablemente una de las m·s probadas del mundo.

Pero AutoML Vision no se limita a usar IA, sino que incorpora un elemento humano para aportar a˙n m·s valor. Si no ha hecho el trabajo preliminar de facilitar etiquetas e im·genes para entrenar a AutoML Vision, puede recurrir a las aportaciones colaborativas de humanos para generar etiquetas para sus im·genes.

Cloud TPU

TPU son las siglas en inglÈs de ´Unidad de Procesamiento de Tensorª. Son las unidades de procesamiento que alimentan las capacidades de IA internas de Google. Y ahora, Google est· poniendo la potencia de sus TPU a disposiciÛn de las masas.

Perm"tame que profundice por un momento. Si es ingeniero elÈctrico o inform·tico, ser· capaz de seguirme con bastante facilidad. Y si no lo es, tratarÈ de explicar la belleza de las TPU en tÈrminos no tÈcnicos.

Si solo quiere saber quÈ aporta esta tecnolog"a y no le interesa el trasfondo, debe saber que se estima que las Cloud TPU dan resultados entre 15 y 30 veces mejores con un uso mucho menor de energ"a (un rendimiento por vatio entre 30 y 80 veces superior) que las m·quinas virtuales alimentadas por CPU tradicionales. Y como usuario del servicio de IA de Google, esto significa que obtendr· m·s resultados por el dinero invertido que con otros servicios.

øQuiere saber por quÈ? S"game al lado oscuro :)

Hay 4 aspectos de las TPU a tener en cuenta.

Bits

Vamos a empezar con los modelos de aprendizaje autom·tico en el contexto de una red neuronal. Imag"nese que la red neuronal es simplemente un grupo de nodos que forman una red para tomar una decisiÛn.

Red neuronal en forma de cerebro

En cada nodo, multiplicamos los datos por los pesos y aÒadimos los resultados. DespuÈs, bas·ndonos en el resultado, tenemos que decidir si esa ´neuronaª est· encendida o apagada. La manera m·s simple de hacerlo es usar una funciÛn escalonada para comparar el resultado con un valor preestablecido. Si el resultado es mayor que ese n˙mero, la neurona est· encendida. Si no, est· apagada.

Por varias razones, esta simple funciÛn escalonada no es suficiente para saber los resultados combinados de las neuronas de la red. As" que usamos unas funciones m·s complejas, las funciones de activaciÛn.

En cada neurona, multiplicamos los datos por el peso, sumamos los resultados y aplicamos la funciÛn de activaciÛn.

Lo interesante de este enfoque es que el nivel de detalle que necesitamos en cada neurona no es tan alto. Como dicen en el blog de Google, para saber si est· lloviendo fuera no necesitas averiguar cu·ntas gotas est·n cayendo por segundo, solo si caen o no. Lo que significa que el nivel de precisiÛn (en tÈrminos matem·ticos, el n˙mero de decimales) en cada neurona no necesita ser tan alto. øMe sigue?

Las CPU y GPU t"picas tienen 32 o 64 bits. Pero para hacer c·lculos b·sicos que no necesitan ir hasta el trigÈsimo punto decimal, no necesita 32 ni 64 bits: es suficiente con los 8 bits de antaÒo. Y as" es como Google ha diseÒado sus TPU.

Arquitectura

Hay diferentes arquitecturas para construir CPU. El estilo RISC, usado con mucha frecuencia, se centra en las instrucciones simples que usan la mayor"a de las aplicaciones. En su lugar, Google usa el estilo CISC, que se centra en tareas m·s complejas. Esto hace que el chip no sea tan ˙til para diferentes aplicaciones, pero s" lo es para las tareas para las que ha sido diseÒado, como la inteligencia artificial.

CPU, GPU y TPU... øquÈ es quÈ?

Las TPU hacen lo que Google llama procesamiento matricial. Las CPU est·n diseÒadas para el procesamiento escalar, o una operaciÛn por cada instrucciÛn. Las GPU se conocen como procesadores vectoriales. Pueden ejecutar varias operaciones simult·neamente, lo que da lugar a entre cientos y miles de operaciones por ciclo de reloj. Las TPU est·n diseÒadas para el procesamiento matricial, que ofrece cientos de miles de operaciones por ciclo de reloj (esto es, muchas m·s operaciones por ciclo que las GPU).

El procesador rom·ntico

Las TPU est·n diseÒadas para usar lo que se conoce como un array sistÛlico, donde los datos fluyen a travÈs del array en forma de ola, igual que la sangre fluye a travÈs del corazÛn. De ah" la referencia al ´procesador rom·nticoª :). Este enfoque requiere mucha menos memoria y potencia. (Para una explicaciÛn m·s detallada, puede consultar el blog de Google aqu").

Al combinar todas estas piezas, conseguimos un procesador de alto rendimiento y energÈticamente eficiente, perfeccionado para la inteligencia artificial.

Google Video Intelligence

Gracias a YouTube, Google tambiÈn cuenta con v"deos. Google Video Intelligence le permite buscar v"deos con tÈrminos espec"ficos. Por ejemplo, si est· buscando v"deos con gatos, solo tiene que buscar ´gatosª y se le mostrar·n v"deos donde se destaca el momento en que aparecen.

Google Video Intelligence se basa en m·s de 20.000 etiquetas, as" que es probable que admita cualquier clasificaciÛn que necesite. Google Video Intelligence tambiÈn ofrece recomendaciones de contenido e identifica los contenidos para adultos.

Aparte de la detecciÛn de la ubicaciÛn de un objeto espec"fico dentro de un v"deo, la funcionalidad m·s atractiva de este servicio es la capacidad de mostrar anuncios en el momento adecuado, esto es, activarlos a partir de etiquetas que aparecen en el v"deo. Adem·s, el servicio incluye una funcionalidad para transcribir v"deos.

API de Google Vision

La API de Google Vision es el servicio hermano de Video Intelligence y aporta una gran cantidad de inteligencia a las im·genes:

  • DetecciÛn de etiquetas: identifica lo que est· en la foto.
  • DetecciÛn de caras: puede identificar si una persona est· triste, enfadada o sorprendida en funciÛn de su rostro.
  • Reconocimiento Ûptico de caracteres (OCR): identifica no solo el contenido del texto en una imagen, sino tambiÈn el idioma y la ubicaciÛn de ese texto, incluso en notas manuscritas.
  • Contenido expl"cito: lo que su nombre indica.
  • DetecciÛn de puntos de referencia: detecta los lugares de interÈs dentro de una foto e identifica su nombre, longitud y latitud.
  • DetecciÛn de logotipos: lo que su nombre indica.
  • Sugerencia de recorte: sugiere dÛnde recortar una imagen.
  • Anotaciones web: busca m·s informaciÛn sobre su imagen en la web. La API obtiene anotaciones de toda la web para enriquecer la informaciÛn sobre la imagen. Esta funcionalidad tambiÈn es ˙til para determinar si la misma imagen se est· usando en otros lugares de internet en caso de problemas de copyright.
  • Anotaciones de documentos de texto: esta funcionalidad est· especialmente diseÒada para im·genes de documentos y puede ofrecer anotaciones m·s precisas.

Sara Robinson, defensora del desarrollador en Google, muestra muchas de estas funciones en esta breve demostraciÛn:

https://www.youtube.com/watch?v=mDAoLO4G4CQ

API de Cloud Translation

Al principio de este art"culo mencionÈ algunas de las fortalezas intr"nsecas de Google, incluyendo sus funcionalidades de traducciÛn. Google lleva aÒos ofreciendo servicios de traducciÛn a travÈs de Google Translate (yo lo usÈ durante un viaje a Europa en 2015).

A lo largo del tiempo han ido perfeccionando sus capacidades, y ahora Google ha puesto esta tecnolog"a a disposiciÛn de humildes desarrolladores como usted y como yo. Este es un resumen r·pido de las principales funcionalidades de la API de Google Cloud Translation:

  • TraducciÛn din·mica: introduzca un segmento de texto en cualquiera de los idiomas admitidos y Google Translation traducir· el texto pr·cticamente en tiempo real.
  • M·s de 100 idiomas admitidos. °Una herramienta verdaderamente global! El servicio de Google Translation incluye m·s de 100 idiomas diferentes. Ofrece traducciÛn basada en frases para todos los idiomas y traducciÛn con m·quinas neuronales para un subconjunto de combinaciones de idiomas.
  • DetecciÛn de idioma: lo que su nombre indica.

Si le interesa la diferencia entre traducciÛn autom·tica basada en frases y neuronal, puede ver un art"culo excelente sobre el tema de Systran (especialistas en traducciÛn de idiomas mediante aprendizaje autom·tico) aqu".

Cloud Natural Language

Este servicio extrae los datos clave de un bloque de texto. Puede realizar an·lisis de opiniÛn y facilitar informaciÛn sobre los principales temas del texto (personas, lugares, eventos, etc.). Se podr"a argumentar f·cilmente que esta es otra de las fortalezas de Google, teniendo en cuenta que cuentan con el motor de b˙squeda m·s usado del planeta.

API de Cloud Speech

La API de Cloud Speech es un servicio de audio a texto. Dir"a que esta es otra fortaleza natural de Google gracias a la frase ´Ok Googleª. De manera similar a la API de Google Cloud Translation, este servicio admite m·s de 110 idiomas y variantes. Sus funcionalidades clave incluyen:

  • TranscripciÛn en tr·nsito y en reposo: la API de Google Cloud Speech puede ofrecer resultados parciales seg˙n transcribe, as" que el texto aparece a medida que se habla. Si quiere hacer una transcripciÛn por lotes, la API de Google Speech puede admitir y transcribir archivos de audio.
  • Entornos ruidosos: admite voz procedente de una amplia variedad de entornos ruidosos.
  • Contextual: admite ´pistas de palabraª con cada llamada a la API, lo que permite que los desarrolladores env"en metadatos sobre de dÛnde viene la solicitud (por ejemplo, de quÈ aplicaciÛn).

A continuaciÛn encontrar· una buena demo de Sara Robinson de la API de Google Cloud Speech. Pero °ojo! Es una informaciÛn llena de l"neas de comando y cÛdigo, pensada para desarrolladores, as" que es solo para valientes :).

https://www.youtube.com/watch?v=z8g3XM16eRM

Dialogflow - Beta

Dialogflow es la plataforma de chatbots de Google. Inicialmente fue desarrollada por una start-up, API.ai, que fue adquirida por Google en 2016. Dialogflow permite interacciones de voz y texto en varias plataformas de mensajer"a (incluyendo Facebook Messenger, Kik, Slack, Telegram, Viber y Skype).

En mi opiniÛn, una de las mejores cosas del enfoque de Dialogflow es que ofrecen agentes prediseÒados especializados en ·reas concretas. Puede usar los agentes prediseÒados como plantilla para diseÒar su agente personalizado.

Por ejemplo, interactuar con el sistema electrÛnico de un coche, convertir monedas, calcular datos, buscar vacaciones, etc. La idea es ayudar a los desarrolladores a poner en marcha sus chatbots a˙n m·s r·pido y sin necesidad de programar.

Cloud Job Discovery

Si ha le"do mi art"culo anterior sobre los servicios de IA de AWS, quiz· recuerde el premio que le di a uno de sus servicios: ´tecnolog"a m·s parecida a una serie de televisiÛnª. Google tambiÈn tiene el dudoso honor de recibir uno de mis premios: ´servicio de IA m·s especializadoª. Es una interesante aplicaciÛn de su tecnolog"a de aprendizaje autom·tico y tiene sus ra"ces en una iniciativa llamada ´Google for Jobsª.

En sus propias palabras, se trata de ´un compromiso de todo Google para ayudar a las personas a encontrar trabajo con m·s facilidadª, que usa aprendizaje autom·tico para entender mejor cu·les son los trabajos disponibles y hacerlos coincidir con los que los usuarios est·n buscando. Por ejemplo, si una oferta de trabajo pone ´des. negocioª en lugar de ´desarrollo de negocioª, la API de Cloud Job Discovery de Google es lo bastante inteligente como para saber que en realidad el usuario quer"a decir ´desarrollo de negocioª.

Esto significa que los demandantes de empleo y los seleccionadores ya no tienen que romperse la cabeza para dar con los tÈrminos perfectos. La API de Cloud Job Discovery de Google ayuda a las plataformas de contrataciÛn a eliminar los errores humanos en la b˙squeda de empleo.

Si le interesa, puede probarlo usted mismo sin necesidad de programar. Solo tiene que abrir una b˙squeda de Google y escribir una b˙squeda de empleo. Ver· inmediatamente resultados localizados en funciÛn de su ubicaciÛn.

ConclusiÛn

Hasta aqu" ha llegado el resumen de los servicios de IA de Google.

Siento haberme explayado tanto con las TPU de Google Cloud, pero tiene que admitir que son bastante chulas. Si a˙n no lo ha hecho, le recomiendo encarecidamente que lea el primer art"culo de esta serie, donde se resume quÈ son la inteligencia artificial y el aprendizaje autom·tico.La prÛxima semana hablaremos del ˙ltimo gigante de la IA como servicio: Microsoft Azure. °No se lo pierda!