Logotipo de Zephyrnet

Palma IA | IA generativa propia de Google

Fecha:

Introducción

Desde el lanzamiento de IA generativa modelos como los modelos GPT (Generative Pre-trained Transformers) de OpenAI, especialmente ChatGPT, Google siempre ha estado a punto de crear un lanzamiento de un modelo de IA similar a ese. Aunque Google fue el primero en traer el tema de los transformadores a través del modelo BERT al mundo, a través de su documento Attention is All You Need, no lo hizo, para crear un modelo de lenguaje grande igualmente poderoso y eficiente como los desarrollados por OpenAI. Bard AI, que fue presentado por primera vez por Google, no pareció llamar mucho la atención. Recientemente, Google lanzó el acceso API a PaLM (Pathways Language Model), que está detrás de la IA de bardo. En esta guía, veremos cómo comenzar con la API de PaLM.

OBJETIVOS DE APRENDIZAJE

  • Para aprender a trabajar con Pathways Language Model
  • Para comprender las funciones clave que ofrece PaLM
  • Para crear aplicaciones con PaLM 2
  • Para aprovechar MakerSuite para la creación rápida de prototipos de modelos de lenguaje grande
  • Para entender cómo trabajar con PaLM API

Este artículo fue publicado como parte del Blogatón de ciencia de datos.

Tabla de contenidos.

¿Qué es PaLM?

PaLM, que significa Modelo de lenguaje Pathways, es uno de los modelos de lenguaje grande de cosecha propia de Google. Esto se introdujo por primera vez en abril de 2022. Recientemente, hace unos meses, Google anunció la próxima versión de esto, es decir, PaLM 2. Google afirma que PaLM es mejor cuando se trata de capacidades multilingües y es más eficiente si lo comparamos con la versión anterior.

PaLM 2 no fue entrenado en el idioma inglés, más bien, fue más que una mezcla de cien lenguajes, que incluso incluyen lenguajes de programación y matemáticas también. Todo esto fue posible sin disminuir el rendimiento de comprensión del idioma inglés. En general, PaLM 2/ la versión actual de PaLM de Google se destacará en muchas tareas, incluida la generación de códigos, la comprensión de diferentes idiomas, las habilidades de razonamiento y mucho más.

Al igual que el modelo GPT de OpenAI viene en diferentes tipos como Davinci, Ada, etc., el PaLM 2 viene en 4 tamaños diferentes con los nombres Gecko, Otter, Bison y Unicorn (del más pequeño al más grande). El tamaño Gecko de PaLM 2 es especialmente capaz de ejecutarse incluso en dispositivos móviles, lo que abre caminos para que los desarrolladores de aplicaciones móviles consideren trabajar con este modelo de lenguaje grande en sus aplicaciones móviles.

¿En qué se diferencian Bard y PaLM?

Bard es una IA conversacional experimental de Google que funciona con LaMDA (Modelo de lenguaje para aplicaciones de diálogo), que es un modelo de IA conversacional creado sobre Transformers, utilícelo para crear aplicaciones basadas en diálogo. El modelo LaMDA consta de 137 mil millones de parámetros. Bard en diferentes tipos masivos de conjuntos de datos que consisten en datos textuales y de código para crear diálogos atractivos.

PaLM (Pathways Language Model) impulsó a Bard más tarde. Actualmente, el PaLM 2 recién creado está impulsando a Bard. PaLM 2 ha sido ampliamente capacitado en varios idiomas y diferentes tipos de idiomas, lo que lo convierte en un gran refuerzo para el Bard ya existente. Esto incluso permite que Bard amplíe sus capacidades desde una simple conversación de diálogo hasta la generación de códigos viables en el campo de la programación, extendiendo su conocimiento a más de 20 lenguajes de programación diferentes.

PaLM 2 impulsa a Bard y lo integra con los servicios de Google como Gmail, Google Docs y Google Sheets, lo que le permite a Bard enviar información directamente a estos servicios. Los anuncios recientes incluso han dicho que se ha estado integrando con muchas otras aplicaciones de terceros como Adobe Fire Fly Image Generator e incluso Adobe Express en un futuro próximo.

MakerSuite: acceso a la API de PaLM

Para acceder o probar el nuevo PaLM 2 de producción propia de Google, es necesario tener acceso a la API de PaLM. La API de PaLM nos permite interactuar con diferentes modelos de PaLM 2, de forma similar a cómo está presente la API de OpenAI para interactuar con los modelos de GPT. Hay dos formas de obtener acceso a la API PaLM de Google. Uno es a través de Vertex AI. La API de PaLM está disponible en Vertex AI en Google Cloud. Pero no todos pueden tener una cuenta de GCP para acceder a esta API. Entonces tomaremos la segunda ruta, que es a través de MakerSuite.

MakerSuite de Google proporciona una forma visual de interactuar con la API de PaLM. Es un IDE basado en navegador para probar y crear prototipos de modelos de IA generativa. En pocas palabras, es la forma más rápida de comenzar a experimentar con ideas generativas de IA. MakerSuite nos permite trabajar con modelos generativos directamente a través de su sencilla interfaz de usuario o, si lo deseamos, incluso podemos generar un token de API para que podamos aprovechar el poder de PaLM 2 a través de la API en el código. En esta guía, exploraremos ambas formas: comenzar dentro de la interfaz de usuario basada en web de MakerSuite y trabajar con la API de PaLM a través del código Python.

Inicie sesión para comenzar su viaje en MarkerSuite

Para comenzar, haga clic aquí para redirigir a MakerSuite, o simplemente puede buscarlo en Google. Luego regístrate con tu cuenta de Gmail. Luego verá lo siguiente en su pantalla.

"

Complete todo y finalmente haga clic en "Unirse con mi cuenta de Google" para unirse a la lista de espera para acceder a la API de PaLM y al IDE de MakerSuite. Luego, recibirá un correo electrónico dentro de los 7 días que indica que ha recibido acceso a MakerSuite IDE y PaLM API. Después de obtener acceso a MakerSuite, abra el sitio web con la ID de correo electrónico registrada. La página de inicio de MakerSuite se verá como

"

Como podemos ver, en la página de inicio, podemos ver 3 tipos de Prompts. MakerSuite nos permite seleccionar 3 tipos de avisos, a saber, aviso de texto, aviso de datos y aviso de chat, cada uno con su propia importancia, lo que nos permite interesarnos visualmente con la API de PaLM 2. Para interacciones basadas en código, puede encontrar el botón "Crear una clave API" a continuación, que nos permite crear una aplicación para trabajar dentro de nuestro código para acceder a los modelos PaLM 2. Cubriremos los tipos de solicitudes de solicitud de texto y solicitud de datos e incluso aprenderemos cómo aprovechar la API de PaLM en el código.

Creación rápida de prototipos con MakerSuite

Como hemos visto, hay tres tipos diferentes de avisos para trabajar en MakerSuite, primero comenzaremos con el aviso de texto. En el panel de control de MakerSuite, seleccione Mensaje de texto.

"

Escriba su aviso

El espacio en blanco debajo de "Escriba su aviso", es donde escribiremos el Aviso, que luego será interpretado por el modelo PaLM 2. Podemos escribir cualquier mensaje como resumir un párrafo, pedirle a la IA generativa que cree un poema, resolver cualquier pregunta de razonamiento lógico, lo que sea que lo llames. Pidamos al modelo que genere un código Python para calcular la serie de Fibonacci para una longitud dada "n" y luego haga clic en Ejecutar.

"

Código de Python para consulta dada

La IA generativa nos ha proporcionado el código de Python para la consulta dada. Se puede ver en el texto resaltado en la imagen. De hecho, el modelo proporcionó un código de trabajo para la consulta solicitada. A continuación podemos ver el “Text Bison” y la “Text Preview”. La "Vista previa del texto" nos permite ver el Aviso que le hemos proporcionado al modelo. Vamos a observar haciendo clic en él.

"

También observamos que el límite máximo de tokens que se pueden enviar es 8196, que es comparable a los modelos GPT. Ahora, ¿qué es el “Text Bison”? Si recordamos bien, hace un tiempo afirmé que PaLM 2 viene en diferentes tamaños (Gecko, Otter, Bison y Unicon). Entonces, el modelo que se usa aquí es el Modelo de bisonte de texto. Hagamos clic en él para ver que se muestra

"

Por lo tanto, contiene información sobre el modelo que se está utilizando. En la actualidad MakerSuite solo nos presenta el Modelo Text Bison. La temperatura aumenta la variabilidad/creatividad dentro del modelo, aunque el valor de temperatura alta a veces puede hacer que el modelo alucine y, por lo tanto, invente cosas al azar. La salida máxima actualmente está establecida en 1, por lo tanto, obtenemos una respuesta única a la consulta solicitada. Sin embargo, podemos aumentar esto, permitiendo que el modelo genere múltiples respuestas a una sola consulta. La configuración de seguridad nos permite modificar el modelo diciéndole que bloquee algunos o la mayoría del contenido dañino, que puede incluir contenido tóxico, despectivo, violento, etc.

Insertar entrada de prueba

Los ajustes avanzados nos permiten configurar la longitud de salida en tokens, los parámetros Top K y Top P. Entonces, el mensaje de texto de MakerSuite nos permite escribir cualquier mensaje básico. Hay otra cosa llamada "Insertar entrada de prueba". Probemos eso

"

Aquí, en la sección Aviso, establecí un contexto para el modelo, diciendo que cualquier pregunta que le demos a la IA generativa, debe tener en cuenta que su salida debe generarse como si el modelo de lenguaje grande estuviera tratando de explicárselo a un niño de 5 años. Entonces, el mensaje que hemos escrito es "Explique las siguientes preguntas como si se las explicara a un niño de 5 años". Luego hacemos clic en el ”Insertar entrada de prueba”. Vemos que ha aparecido un cuadro verde llamado entrada en el espacio en blanco. Al mismo tiempo, arriba del botón Ejecutar ha aparecido "Prueba tu aviso". Vamos a expandirlo

"
"

Cuando expandimos "Prueba tu solicitud", vemos una tabla con dos columnas ENTRADA y SALIDA. El valor predeterminado de ENTRADA es entrada, que hemos cambiado para consultar aquí. Entonces, cualquier consulta que escribamos en la columna ENTRADA, se completa en lugar de "consulta" en el espacio en blanco en la Sección de solicitud. En la segunda imagen, hemos proporcionado la consulta como Aprendizaje automático, que se reemplazó en lugar de la "consulta" en el espacio de solicitud. Después de escribir la consulta y presionar el botón Ejecutar, la salida se genera en la sección SALIDA, que podemos ver a continuación. El resultado generado parece razonablemente bueno porque trató de explicar el aprendizaje automático de una manera simple para que incluso un niño de 5 años pueda entenderlo.

Introducción a las solicitudes de datos: MakerSuite

En esta sección, trabajaremos en las indicaciones de datos proporcionadas por MakerSuite. Para ello, diríjase a la página de inicio de MakerSuite y haga clic en Indicaciones de datos. Luego se le presentará lo siguiente

"

Columna de entrada

Como dice el nombre, en las solicitudes de datos, debemos proporcionar datos de ejemplo al modelo, de modo que, al aprender de ellos, el modelo pueda generar respuestas a las nuevas preguntas. Cada ejemplo contiene una entrada en la columna INPUT, que representa la consulta del usuario y la salida esperada de la consulta del usuario está presente en la columna OUTPUT. Así, podemos proporcionar algunos ejemplos al modelo. Luego, el modelo aprenderá de estos ejemplos para generar una nueva salida para la nueva consulta. Probemos esto

"

Aquí, en la columna ENTRADA, proporcionamos los nombres de dos famosos jugadores de críquet, Virat Kohli y David Warner. En la columna SALIDA, proporcionamos los respectivos países para los que juegan. Ahora, para probar el modelo Text Bison, la ENTRADA que hemos dado es Root, un famoso jugador de críquet que juega para Inglaterra. Así que esperamos que la SALIDA sea Inglaterra. Vamos a ejecutar esto y probarlo.

"

Como era de esperar, el LLM ha generado la respuesta correcta a la consulta de prueba. El modelo entendió que los datos que se le dan son los nombres de los jugadores de críquet y la salida que debe generar es el país para el que juegan. Si es necesario, incluso podemos proporcionar un contexto antes de los ejemplos. Lo que hemos hecho aquí se llama básicamente Few Shot Learning, donde en la sección Prompt, damos algunos ejemplos del modelo de lenguaje grande y esperamos que genere un resultado similar cuando se da una nueva consulta. Así es como funcionan las solicitudes de datos en MakerSuite, seguro que es una característica que lo diferencia de ChatGPT

Interactuar con PaLM 2 mediante la API de PaLM

Para interactuar con PaLM 2 a través del código, necesitamos tener la clave API de PaLM. Esto se puede generar a través del propio MakerSuite. Para esto, debemos dirigirnos a la página de inicio de MakerSuite. En la página de inicio, debajo de los 3 tipos de solicitudes, vemos una opción para obtener la clave API. Haga clic en él para generar una nueva clave API

"
"

Instalar las bibliotecas necesarias

Haga clic en "Crear clave de API en un nuevo proyecto" para generar una nueva clave de API. Después de que se genera, podemos encontrar la clave a continuación. Haga clic en la clave API para copiar la clave API recién generada. Ahora comencemos instalando las bibliotecas necesarias. Trabajaremos con Google Colab para esta demostración.

$ !pip install google-generativeai

Esto descargará la biblioteca Generative AI de Google con la que trabajaremos para interactuar con PaLM 2. Primero, comenzaremos asignando la clave API a la variable de entorno, lo que se puede hacer de la siguiente manera

import google.generativeai as palm
import os os.environ['API_KEY']= 'Your API Key'
palm.configure(api_key=os.environ['API_KEY'])

Primero proporcionamos la clave API a os.environ['API_KEY'], luego pasamos esta API al objeto palm.configure(). Hasta ahora, si el código se ejecuta correctamente, estamos listos para comenzar a trabajar con PaLM 2. Probemos la parte de generación de texto de PaLM AI, que utiliza el modelo Text-Bison para responder a las consultas.

Código

El código será:

response = palm.generate_text(prompt="Tell me a joke")
print(response.result)
"

De hecho, el modelo Text-Bison de PaLM 2 funciona perfectamente. Ampliemos esto un poco al proporcionar algunos parámetros más al modelo, para comprender qué más se puede agregar al modelo para obtener resultados más precisos/correctos.

prompt = """
You are an expert translator. You can translate any language to any language. Translate the following from English to Hindi: How are you?. """ completion = palm.generate_text( model='models/text-bison-001', prompt=prompt, temperature=0, max_output_tokens=800,
) print(completion.result)
"

Aquí proporcionamos un aviso al modelo. En el mensaje, establecemos un contexto que dice que el modelo es un traductor experto que puede traducir cualquier idioma a cualquier idioma. Y luego proporcionamos una consulta dentro del mismo Aviso para traducir una oración del inglés al hindi. Luego especificamos el modelo con el que vamos a trabajar y será el modelo Text Bison porque aquí estamos generando texto. A continuación, la temperatura se establece en 0 para una variabilidad cero y los tokens de salida máxima se establecen en 800. Podemos ver en la salida que el modelo ha tenido éxito en la traducción exacta de la oración dada del inglés al hindi.

Este es un ejemplo de la parte de generación de texto de PaLM AI. Incluso hay un aviso de tipo chat que puede consultar en su documentación para comprender cómo funciona. Es muy similar a lo que hemos visto aquí. En el aviso de chat, debe proporcionar ejemplos del historial de chat entre el usuario y la IA, para que la IA pueda aprender a conversar con el usuario y utilizar este conocimiento para chatear sin problemas con el usuario.

Aplicaciones y casos de uso

Aplicaciones para móviles

PaLM 2 está disponible en 4 tamaños diferentes. El tamaño más pequeño de PaLM 2, conocido como Gecko, fue diseñado para integrarse en aplicaciones móviles. Esto incluye aplicaciones en realidad aumentada y realidad virtual, donde esta IA generativa se puede usar para crear paisajes de aspecto realista. Además, se puede aplicar a varios tipos de Chatbots/Asistentes, desde Chatbots de soporte hasta Chatbots personales.

Dueto de IA para Google Cloud

Duet AI es una IA generativa colaborativa siempre activa impulsada por PaLM 2 desarrollada por Google para Google Cloud Platform. Ha llevado mucho tiempo crear, proteger y escalar aplicaciones en Google Cloud. Ahora, con Duet, el proceso será mucho más sencillo para los desarrolladores de la nube. Duet analizará lo que estás haciendo en la nube y, en base a eso, te asistirá y así acelerará tu proceso de desarrollo en la nube. Duet AI se ajustará automáticamente para adaptarse a cualquier tipo de habilidad, ya sea un principiante completo o un maestro de la nube.

Análisis de imágenes médicas / Respuestas a preguntas médicas

Med-PaLM, un modelo de lenguaje grande basado en PaLM, es capaz de analizar imágenes médicas complejas e incluso dar respuestas de alta calidad a preguntas médicas. Med-PaLM cuando se probó en los exámenes de licencias médicas de EE. UU., alcanzó el 67% (donde el porcentaje promedio fue del 60% para humanos). Por lo tanto, Med-PaLM puede ajustarse y aprovecharse para analizar imágenes médicas desde rayos X hasta cáncer de mama, donde la IA generativa no solo indica si el paciente tiene una enfermedad o no, sino que incluso indica qué pudo haber causado esto, qué puede suceder en el futuro y cómo solucionarlo. Med-PaLM también se puede aprovechar para responder preguntas clínicas.

iCAD se ha asociado con Google para seguir desarrollando Med-PaLM principalmente en el análisis del cáncer de mama para que sea viable en un entorno clínico. Google también se asoció con Northwestern Medicine para mejorar las capacidades de IA en el espacio de la salud, para que detecte condiciones de alto riesgo y, al mismo tiempo, reduzca el tiempo de detección/diagnóstico.

Papel de PaLM en las aplicaciones de Google

Google planea integrar PaLM 2 con Gmail para manejar tareas como resumir y reescribir correos electrónicos en un tono formal, entre otras funciones. Además, en Google Docs, PaLM 2 se utilizará con fines de lluvia de ideas, revisión y reescritura. Google incluso está tratando de incorporarlo en Google Slides, para traer imágenes, texto y videos generados automáticamente en diapositivas. Sheets usará AI para analizar datos automáticamente, generar fórmulas y proporcionar otras funciones avanzadas. Anunciaron que todas estas capacidades impulsadas por IA se lanzarán gradualmente en el transcurso de un año. En cuanto a BARD, una IA experimental desarrollada por Google, ya cuenta con la tecnología de PaLM 2.

Conclusión

En esta guía, hemos aprendido acerca de la propia IA generativa de Google, es decir, PaLM (Pathways Language Model). Hemos visto en qué se diferencia de BARD e incluso hemos entendido cómo PaLM 2 es significativamente mejor que sus versiones anteriores. Luego discutimos los tamaños de modelo que ofrece PaLM 2. Finalmente, pasamos a la parte práctica, donde vimos cómo comenzar con PaLM 2. Nos inscribimos en MakerSuite y luego lo exploramos, jugamos con diferentes tipos de Prompts ofrecidos por MakerSuite y finalmente creamos una API para interactuar con PaLM 2 a través del código.

Puntos clave

Algunos de los puntos clave de esta guía incluyen:

  • PaLM 2 es un modelo de lenguaje grande de IA generativa creado y mantenido por Google
  • Uno puede trabajar fácilmente con PaLM 2 para crear su aplicación a través de Vertex AI en Google Cloud.
  • PaLM 2 es capaz de comprender diferentes idiomas e incluso puede generar códigos en más de 20 idiomas diferentes y tiene buenas habilidades de razonamiento.
  • MakerSuite es una herramienta visual desarrollada por Google, que permite la creación rápida de prototipos con los modelos de lenguaje grande
  • Los diferentes tipos de avisos de MakerSuite son adecuados para probar diferentes aplicaciones

Preguntas frecuentes

Q1. ¿Cuáles son los diferentes tamaños de modelo disponibles en PaLM 2?

R. PaLM 2 viene en 4 modelos de diferentes tamaños. Son Gecko, Otter, Bison y Unicorn (de menor a mayor). Gecko es el modelo más pequeño que puede funcionar para incorporar IA generativa en aplicaciones móviles y Unicorn es el más grande.

Q2. ¿Cuáles son los modelos compatibles actualmente con MakerSuite?

R. A través de MakerSuite o a través de la API de PaLM, actualmente contamos con 3 modelos: el modelo embedding-gecko-001 para incrustar texto, el modelo text-bison-001 para la generación de texto de flujo libre y el modelo chat-bison-001 para el modelo de lenguaje de IA generativo optimizado para chat.

Q3. ¿Cómo acceder al modelo PaLM 2?

R. Actualmente hay dos formas de acceder al modelo PaLM 2. Uno se une a la lista de espera para MakerSuite de Google, que nos brinda la API para PaLM 2 e incluso actúa como un IDE basado en la web para la creación rápida de prototipos. Otra es a través de Vertex AI que podemos acceder al PaLM 2.

Los medios que se muestran en este artículo no son propiedad de Analytics Vidhya y se utilizan a discreción del autor.

punto_img

Información más reciente

punto_img