PaLM AI | IA Generativa de creación propia de Google
PaLM AI | Google's own Generative AI
Introducción
Desde el lanzamiento de modelos de IA generativa como los modelos GPT (Generative Pre-trained Transformers) de OpenAI, especialmente ChatGPT, Google siempre ha estado al borde de crear y lanzar un modelo de IA similar. Aunque Google fue el primero en presentar el tema de los Transformers a través del modelo BERT al mundo, a través de su artículo “Attention is All You Need”, no logró crear un modelo de lenguaje grande igual de poderoso y eficiente que los desarrollados por OpenAI. El modelo Bard AI introducido por primera vez por Google no pareció llamar mucha atención. Recientemente, Google lanzó el acceso a la API de PaLM (Pathways Language Model), que está detrás de Bard AI. En esta guía, veremos cómo comenzar con la API de PaLM.
Objetivos de aprendizaje
- Aprender cómo trabajar con el Modelo de Lenguaje de Pathways
- Comprender las características clave que ofrece PaLM
- Crear aplicaciones con PaLM 2
- Aprovechar MakerSuite para el prototipado rápido de modelos de lenguaje grandes
- Comprender cómo trabajar con la API de PaLM
Este artículo se publicó como parte del Data Science Blogathon.
¿Qué es PaLM?
PaLM, que significa Pathways Language Model, es uno de los modelos de lenguaje grande desarrollados internamente por Google. Fue presentado por primera vez en abril de 2022. Hace unos meses, Google anunció la siguiente versión de este modelo, es decir, PaLM 2. Google afirma que PaLM es mejor en cuanto a capacidades multilingües y es eficiente en cuanto a consumo de energía en comparación con la versión anterior.
PaLM 2 no fue entrenado en el idioma inglés, sino que fue una mezcla de más de cien idiomas, que incluso incluyen lenguajes de programación y matemáticas. Todo esto fue posible sin disminuir el rendimiento en la comprensión del idioma inglés. En general, PaLM 2, la versión actual de PaLM de Google, se destacará en muchas tareas, incluyendo la generación de códigos, la comprensión de diferentes idiomas, habilidades de razonamiento y mucho más.
Al igual que el modelo GPT de OpenAI viene en diferentes tipos como Davinci, Ada, etc., PaLM 2 viene en 4 tamaños diferentes con los nombres Gecko, Otter, Bison y Unicorn (de menor a mayor). El tamaño Gecko de PaLM 2 especialmente es capaz de ejecutarse incluso en dispositivos móviles, abriendo así oportunidades para que los desarrolladores de aplicaciones móviles consideren trabajar con este modelo de lenguaje grande en sus aplicaciones móviles.
- Conoce a P+ Un Espacio de Incrustaciones Rico para la Inversión Tex...
- Fable Studio lanza SHOW-1 una plataforma de IA que es capaz de escr...
- El próximo movimiento de Apple desarrollar ‘Apple GPT’ ...
¿Cómo son diferentes Bard y PaLM?
Bard es una IA conversacional experimental de Google que está impulsada por LaMDA (Language Model for Dialogue Applications), que es un modelo de IA conversacional construido sobre Transformers, utilizado para crear aplicaciones basadas en diálogos. El modelo LaMDA consta de 137 mil millones de parámetros. Bard utiliza diferentes tipos masivos de conjuntos de datos que consisten en datos tanto textuales como de código para crear diálogos atractivos.
PaLM (Pathways Language Model) alimenta a Bard posteriormente. Actualmente, PaLM 2, recién creado, está impulsando a Bard. PaLM 2 ha sido ampliamente entrenado en multilingüismo y en diferentes tipos de idiomas, lo que lo convierte en un gran impulsor para el ya existente Bard. Esto incluso permite que Bard extienda sus capacidades desde una simple conversación de diálogo hasta incluso generar códigos funcionales en el campo de la programación, ampliando sus conocimientos a más de 20 lenguajes de programación diferentes.
PaLM 2 impulsa a Bard e integra servicios de Google como Gmail, Google Docs y Google Sheets, lo que permite que Bard envíe 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 PaLM 2, el nuevo modelo interno 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 manera similar a cómo la API de OpenAI está presente para interactuar con los modelos GPT. Hay dos formas de acceder a la API de PaLM de Google. Una 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. Por lo tanto, tomaremos la segunda ruta, que es a través de MakerSuite.
MakerSuite de Google proporciona una forma basada en interfaz visual para interactuar con la API de PaLM. Es un entorno de desarrollo integrado (IDE) basado en navegador para probar y prototipar modelos de IA generativos. En pocas palabras, es la forma más rápida de comenzar a experimentar con ideas de IA generativa. MakerSuite nos permite trabajar directamente con modelos generativos a través de su interfaz de usuario fácil de usar o, si lo deseamos, incluso generar un token de API para 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 de código Python.
Inicie sesión para comenzar su viaje en MarkerSuite
Para comenzar, haga clic aquí para ser redirigido a MarkerSuite, o simplemente búsquelo en Google. Luego regístrese con su cuenta de Gmail. A continuación, verá lo siguiente en su pantalla.
Rellene todo y finalmente haga clic en “Unirse con mi cuenta de Google” para unirse a la lista de espera y acceder a la API PaLM y al entorno de desarrollo integrado (IDE) de MarkerSuite. Luego recibirá un correo electrónico en un plazo de 7 días que indica que ha recibido acceso al IDE de MarkerSuite y a la API PaLM. Después de obtener acceso a MarkerSuite, abra el sitio web con la dirección de correo electrónico registrada. La página de inicio de MarkerSuite se verá así
Como podemos ver, en la página de inicio podemos ver 3 tipos de sugerencias (Prompts). MarkerSuite nos permite seleccionar 3 tipos de sugerencias, a saber, Sugerencia de texto, Sugerencia de datos y Sugerencia de chat, cada una con su propia importancia, que nos permiten interactuar visualmente con la API PaLM 2. Para interacciones basadas en código, puede encontrar el botón “Crear una clave de API” a continuación, que nos permite crear una aplicación para trabajar con nuestro código y acceder a los modelos PaLM 2. Cubriremos los tipos de sugerencias de texto y sugerencias de datos e incluso aprenderemos cómo aprovechar la API PaLM en el código.
Prototipado rápido con MarkerSuite
Como hemos visto, hay tres tipos diferentes de sugerencias para trabajar en MarkerSuite, comenzaremos con la Sugerencia de texto. En el panel de control de MarkerSuite, seleccione la Sugerencia de texto.
Escriba su sugerencia
El espacio en blanco debajo de “Escriba su sugerencia” es donde escribiremos la sugerencia, que luego será interpretada por el modelo PaLM 2. Podemos escribir cualquier sugerencia, como resumir un párrafo, pedir al generador de IA que cree un poema, resolver preguntas de razonamiento lógico, lo que sea. Pidámosle al modelo que genere un código Python para calcular la serie de Fibonacci para una longitud “n” dada y luego haga clic en Ejecutar.
Código Python para la consulta dada
La IA generativa nos ha proporcionado el código Python para la consulta dada. Se puede ver en el texto resaltado en la imagen. El modelo realmente proporcionó un código funcional para la consulta realizada. A continuación, podemos ver el “Text Bison” y la “Vista previa de texto”. La “Vista previa de texto” nos permite ver la sugerencia que hemos proporcionado al modelo. Observémoslo haciendo clic en él.
También observamos que el límite máximo de tokens que se pueden enviar es de 8196, que es comparable a los modelos GPT. ¿Qué es el “Text Bison”? Si recordamos claramente, hace un tiempo mencioné que PaLM 2 viene en diferentes tamaños (Gecko, Otter, Bison y Unicon). Entonces, el modelo que se está utilizando aquí es el modelo Text Bison. Hagamos clic en él para ver qué muestra.
Contiene información sobre el modelo que se está utilizando. Actualmente, MarkerSuite solo nos presenta el modelo Text Bison. La temperatura aumenta la variabilidad/creatividad dentro del modelo, aunque un valor de temperatura alto a veces puede hacer que el modelo alucine y genere cosas al azar. La salida máxima está actualmente configurada en 1, por lo tanto, obtenemos una sola respuesta a la consulta realizada. Sin embargo, podemos aumentar esto, lo que permite que el modelo genere múltiples respuestas a una sola consulta. La configuración de seguridad nos permite ajustar el modelo diciéndole que bloquee algunos o la mayoría del contenido dañino, que puede incluir contenido tóxico, derogatorio, violento, etc.
Insertar Entrada de Prueba
La configuración avanzada nos permite configurar la longitud de salida en tokens, los parámetros Top K y Top P. Por lo tanto, la función Text Prompt de MakerSuite nos permite escribir cualquier Prompt básico. Hay otra cosa llamada “Insertar entrada de prueba”. Probemos eso.
Aquí, en la sección de Prompt, he establecido 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 explicarlo a un niño de 5 años. Entonces, el Prompt que hemos escrito es “Explique las siguientes preguntas como si se lo explicara a un niño de 5 años”. Luego hacemos clic en “Insertar entrada de prueba”. Vemos que apareció un recuadro verde llamado “entrada” en el espacio en blanco. Al mismo tiempo, encima del botón “Ejecutar” ha aparecido “Probar su prompt”. Ampliémoslo.
Cuando ampliamos “Probar su prompt”, vemos una tabla con dos columnas: ENTRADA y SALIDA. El valor predeterminado de ENTRADA es “input”, que hemos cambiado aquí a “query”. Entonces, cualquier consulta que escribamos en la columna ENTRADA se muestra en lugar de “query” en el espacio en blanco de la sección Prompt. En la segunda imagen, hemos dado la consulta como “Machine Learning”, que se reemplazó en lugar de “query” en el espacio Prompt. Después de escribir la consulta y hacer clic en el botón “Ejecutar”, se genera la salida en la sección SALIDA, que podemos ver a continuación. La salida generada parece razonablemente buena porque intentó explicar el Aprendizaje Automático de una manera sencilla para que incluso un niño de 5 años pueda entenderlo.
Introducción a los Data Prompts – MakerSuite
En esta sección, trabajaremos en los Data Prompts proporcionados por MakerSuite. Para ello, vaya a la página de inicio de MakerSuite y haga clic en “Data Prompts”. A continuación, se le presentará lo siguiente:
Columna de Entrada
Como su nombre indica, en los Data Prompts, debemos proporcionar datos de ejemplo al modelo, para que, aprendiendo de ellos, el modelo pueda generar respuestas a las nuevas preguntas. Cada ejemplo contiene una entrada en la columna ENTRADA, que representa la consulta del usuario, y la salida esperada para la consulta del usuario está presente en la columna SALIDA. De esta manera, 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, hemos proporcionado los nombres de dos famosos jugadores de cricket: Virat Kohli y David Warner. En la columna SALIDA, hemos proporcionado 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 cricket que juega en Inglaterra. Por lo tanto, esperamos que la SALIDA sea Inglaterra. Ejecutemos esto y probémoslo.
Como se esperaba, el LLM ha generado la respuesta correcta a la consulta de prueba. El modelo entendió que los datos que se le dieron son los nombres de los jugadores de cricket 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 aprendizaje con pocos ejemplos, donde en la sección Prompt, damos algunos ejemplos al Modelo de Lenguaje Grande y esperamos que genere una salida similar cuando se le da una nueva consulta. Así es como funcionan los Data Prompts en MakerSuite, ciertamente es una característica que lo diferencia de ChatGPT.
Interactuando con PaLM 2 utilizando la API de PaLM
Para interactuar con PaLM 2 a través de código, necesitamos tener la clave de la API de PaLM. Esto se puede generar a través de MakerSuite. Para esto, debemos ir a la página de inicio de MakerSuite. En la página de inicio, debajo de los 3 tipos de Prompts, vemos una opción para obtener la clave de la API. Haz clic en ella para generar una nueva clave de API
Instalar bibliotecas necesarias
Haz clic en “Crear clave de API en nuevo proyecto” para generar una nueva clave de API. Después de que se genere, podemos encontrar la clave debajo. Haz clic en la clave de la API para copiar la nueva clave generada. Ahora, comencemos instalando las bibliotecas necesarias. Trabajaremos con Google Colab para esta demostración.
$ !pip install google-generativeai
Esto descargará la biblioteca de Inteligencia Artificial Generativa de Google, con la que trabajaremos para interactuar con PaLM 2. Primero asignaremos la clave de la API a la variable de entorno, lo cual se puede hacer de la siguiente manera
import google.generativeai as palm
import os
os.environ['API_KEY']= 'Tu clave de API'
palm.configure(api_key=os.environ['API_KEY'])
Primero proporcionamos la clave de la API a os.environ[‘API_KEY’], luego pasamos esta API al objeto palm.configure(). Hasta ahora, si el código se ejecuta correctamente, entonces estamos listos para comenzar a trabajar con PaLM 2. Intentemos la parte de generación de texto de la IA de PaLM, que utiliza el modelo Text-Bison para responder a las consultas.
Código
El código será:
response = palm.generate_text(prompt="Cuéntame un chiste")
print(response.result)
El modelo Text-Bison de PaLM 2 está funcionando perfectamente. Ampliemos esto un poco proporcionando algunos parámetros más al modelo, para entender qué más se puede agregar al modelo para obtener resultados más precisos/correctos.
prompt = """
Eres un traductor experto. Puedes traducir cualquier idioma a cualquier idioma.
Traduce lo siguiente de inglés a hindi:
¿Cómo estás?.
"""
completion = palm.generate_text(
model='models/text-bison-001',
prompt=prompt,
temperature=0,
max_output_tokens=800,
)
print(completion.result)
Aquí proporcionamos un Prompt al modelo. En el Prompt, establecemos un contexto diciendo que el modelo es un traductor experto que puede traducir cualquier idioma a cualquier idioma. Y luego proporcionamos una consulta dentro del propio Prompt para traducir una oración del inglés al hindi. Luego especificamos el modelo con el que vamos a trabajar, que será el modelo Text Bison porque estamos generando texto aquí. A continuación, la temperatura se establece en 0 para una variabilidad nula y el número máximo de tokens de salida se establece en 800. Podemos ver en la salida que el modelo ha logrado 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 la IA de PaLM. Incluso hay un Prompt de tipo chat al que puedes consultar su documentación para entender cómo funciona. Es muy similar a lo que hemos visto aquí. En el Prompt de chat, debes proporcionar ejemplos del historial de chat entre el usuario y la IA, para que la IA pueda aprender cómo conversar con el usuario y utilizar este conocimiento para chatear sin problemas con el usuario.
Aplicaciones y casos de uso
Aplicaciones 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 ser integrado en aplicaciones móviles. Esto incluye aplicaciones de realidad aumentada y realidad virtual, donde esta IA generativa se puede utilizar para crear paisajes de apariencia realista. Además, se puede aplicar a varios tipos de Chatbots/Asistentes, que van desde Chatbots de soporte hasta Chatbots personales.
Duet AI para Google Cloud
Duet AI es una IA generativa colaborativa siempre activa, impulsada por PaLM 2 desarrollada por Google para la plataforma Google Cloud. Construir, asegurar y escalar aplicaciones en Google Cloud ha sido un proceso que consume mucho tiempo. Ahora, con Duet, el proceso se volverá mucho más fluido para los desarrolladores en la nube. Duet analizará lo que estás haciendo en la nube y, en base a eso, te asistirá y acelerará tu proceso de desarrollo en la nube. Duet AI se adaptará a cualquier tipo de habilidad, ya sea un principiante completo o un experto en la nube.
Análisis de imágenes médicas / Respuesta 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. Cuando Med-PaLM se probó en los exámenes de licencia médica de los Estados Unidos, alcanzó un 67% (mientras que el porcentaje promedio para los humanos fue del 60%). Por lo tanto, Med-PaLM se puede afinar y aprovechar para analizar imágenes médicas desde radiografías 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 cuidarlo. Med-PaLM también se puede utilizar para responder preguntas clínicas.
iCAD se ha asociado con Google para desarrollar aún más Med-PaLM, principalmente en el análisis del cáncer de mama, para que funcione en un entorno clínico. Google también se ha asociado con Northwestern Medicine para mejorar las capacidades de IA en el ámbito de la salud, de modo que pueda detectar condiciones de alto riesgo y, al mismo tiempo, reducir 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, se utilizará PaLM 2 para la generación de ideas, corrección de pruebas y reescritura. Google incluso está tratando de incorporarlo en Google Slides para incluir imágenes, texto y videos generados automáticamente en las diapositivas. Sheets utilizará IA para analizar automáticamente datos, generar fórmulas y proporcionar otras funciones avanzadas. Han anunciado que todas estas capacidades impulsadas por IA se lanzarán gradualmente a lo largo de un año. En cuanto a BARD, una IA experimental desarrollada por Google, ya está impulsada por PaLM 2.
Conclusión
En esta guía, hemos aprendido sobre la IA generativa propia de Google, es decir, PaLM (Pathways Language Model). Hemos visto cómo es diferente de BARD e incluso hemos comprendido cómo PaLM 2 es significativamente mejor que sus versiones anteriores. Luego discutimos los tamaños de modelo ofrecidos por PaLM 2. Finalmente, pasamos a la parte práctica, donde vimos cómo empezar con PaLM 2. Nos registramos en MakerSuite y luego lo exploramos, jugamos con diferentes tipos de estímulos ofrecidos por MakerSuite y finalmente creamos una API para interactuar con PaLM 2 a través del código.
Aspectos clave
Algunos de los aspectos clave de esta guía incluyen:
- PaLM 2 es un modelo de lenguaje grande generativo 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 entender diferentes idiomas e incluso puede generar código en más de 20 idiomas diferentes y tiene buenas habilidades de razonamiento.
- MakerSuite es una herramienta visual desarrollada por Google que permite prototipado rápido con los modelos de lenguaje grandes.
- Los diferentes tipos de estímulos de MakerSuite son adecuados para probar diferentes aplicaciones.
Preguntas frecuentes
Los medios mostrados en este artículo no son propiedad de Analytics Vidhya y se utilizan a discreción del autor.