05 abril 2023

Modelos de lenguaje AI para dummies

El uso masivo que está alcanzando Chatgpt, mayormente para diversión, así como la avalancha de videos que viene apareciendo desde hace más o menos un mes con posibles aplicaciones y muchas profecías me llevó a investigar un poco. 

Las dos caras
Me da la impresión que esto tiene dos facetas distintas. Una es la promoción que se le está haciendo a la aplicación como producto, tratando que se convierta en un nuevo Twitter o Facebook. Esa es una promoción de carácter comercial y se basa, como gran parte de la propaganda, en medias verdades o derechamente en mentiras y exageraciones.

Si pensamos que muchos de los mayores billonarios que hoy existen han hecho su plata de manera fácil y muy rápida con aplicaciones exitosas de "redes sociales", que no son nada del otro mundo pero han causado una especie de histeria masiva con miles de millones de usuarios, veremos que se trata del negocio más rentable que jamás haya existido. Eso explica el enorme interés en posicionarla.

Otra faceta paralela son los avances de la inteligencia artificial en su aspecto técnico, como los modelos de lenguaje conversacionales, el aprendizaje de máquinas, la ciencia de datos y cosas por el estilo, donde se han hecho importantes avances en los dos últimos años.

La función de autocompletar
Estas dos cosas se mezclaron en un producto que es Chatgpt que, si bien es un producto entretenido e impresionante, por lo que he leído es mucho más limitado de lo que nos podemos imaginar. Algo obvio, pero que no está demás decirlo, es que la aplicación no tiene la menor idea de lo que significan sus respuestas, que son análogas a la función de "autocompletar" que tenemos en el celular.

Esa es una buena primera descripción de lo que hace Chatgpt: en respuesta a una entrada que escribimos (ese es el "prompt") nos anticipa con un texto que tiene la mayor probabilidad de ser percibida como respuesta correcta, o por lo menos adecuada. Eso son -en esencia- todos los modelos de lenguaje conversacional.

Los chatbot
Otro buen ejemplo son los "chatbots", que fueron precursores de Chatgpt, tal vez se han fijado que cuando entramos a una página web a veces se abre una ventana de chat que pregunta ¿en qué te puedo ayudar? Esto permite entablar una conversación acotada a ciertos temas, por ejemplo podemos colocar "resulta que mi servicio de Internet funciona de manera intermitente".

Esto lo ponemos en lenguaje natural, como si estuviésemos hablando con una persona, el chatbot identifica las palabras claves "Internet" e "intermitente" en su base de datos de posibles problemas y va presentando alternativas de solución del tipo de los árboles de decisión que usaban los sistemas expertos, que estuvieron de moda años atrás. El chatbot también compone su respuesta en lenguaje natural obviamente.

Es lo mismo, pero enchulado
En Chatgpt, Gpt4, Sage, Claude, Dragonfly y otras aplicaciones por el estilo se trata básicamente de lo mismo: entramos un texto y la aplicación nos da una respuesta simulando ser una persona. Las respuestas son siempre semanticamente correctas y normalmente salen muy bien redactadas lo que hace "sentir" al que pregunta como si estuviese conversando con una persona.

La sutil diferencia entre inventar y repetir
Nada de lo que aparece en una respuesta de Chatgpt es inventado o fruto de algún razonamiento lógico, todo es la repetición de textos sobre el tema que tiene almacenados en su corpus. Sin embargo las respuestas son únicas y originales, si buscamos el texto en detectores de plagio o en los buscadores no aparecerán en ninguna parte ¿cómo puede dar respuestas originales si no las piensa?

El lenguaje natural es la primera dificultad
Como ya vimos, Chatgpt y otros por el estilo acepta preguntas y emiten respuestas en lenguaje natural. Eso no es fácil porque el lenguaje natural es vago, impreciso y muy diferente de las listas de instrucciones secuenciales y estrictamente estructuradas, como las de cualquier lenguaje de programación por ejemplo.

Esta dificultad se supera con algo que básicamente no es muy complicado: el machine learning o aprendizaje de máquina, donde se entrena a la máquina a reconocer patrones con muchos ejemplos, de manera tal que puede por ejemplo identificar donde aparece un gato en diversas imágenes, y si está bien entrenada incluso podría identificar un mal dibujo como un gato.

Eso no es especialmente complicado, en mi entrada Machine Learning para dummies describí a grandes rasgos cómo se hace. Para hacer reconocimiento a nivel simple basta con una Raspberry por ejemplo, claro que para interpretar y redactar textos en lenguaje natural se necesita un aprendizaje con cantidades masivas de textos.

¿Y cómo se "crean"  textos  originales?
Porque la forma en que funciona el modelo de aprendizaje no trabaja con bloques de texto sino con palabras (que llaman "tokens"), estas palabras se almacenan en una matriz gigantesca que las relaciona con otras palabras según su cercanía probabilistica, o sea el texto desaparece pero se conserva en cierto modo la relación entre las palabras.

Todo esto se basa en el concepto del buscador de Google con su matriz de índices para hacer el Page Rank, claro que esa matriz es básica comparada con la que genera los textos en lenguaje natural, la primera puede ser una matriz con cientos de dimensiones, mientras que la segunda tiene miles de millones de dimensiones.

Cuando Chatgpt contesta nuestras preguntas parece que nos entendiera, pero no tiene idea de que diablos le preguntamos, simplemente calcula las palabras con más probabilidad para referirse a la pregunta y así componer una respuesta semanticamente correcta.

O sea que Chatgpt no piensa las respuestas, simplemente las compone en base a las probabilidades que resultan de la matriz (supongo que usan valores propios para eso). Y las respuestas son totalmente originales porque no copia los párrafos que ingresron en el aprendizaje -recordemos que se descomponen en tokens- sino que compone párrafos totalmente nuevos, tal como cuando nosotros parrafaseamos algo.

Todo es cuestión de probabilidad
No es más que eso, la respuesta puede ser acertada -muchas veces lo es por el asunto de las probabilidades- pero también puede ser un error, o un invento. Por eso Chatgpt es totalmente inútil para aprender sobre un tema, me corrijo, no es inútil sino que muy poco confiable porque los textos se componen más o menos al azar, probabilisticamente.

Los avances importantes que se han hecho en el machine learning para producir aplicaciones como Chatgpt han sido los tokens o sea palabras almacendas en una matriz de miles de dimensiones y los "embeedings" que consisten en relacionar probabilisticamente a los tokens, 

Otro detalle es que cuando se alimentan los textos se "limpian" de las redundancias, es decir que la base de datos es comprimida y pierde información, por eso también al componer de nuevo los textos que salen son "originales", por la información perdida nunca se reconstruyen tal como entraron. 

Para agregar un poco más de creatividad se generan a veces números aleatorios que permiten que el token se desplace ligeramente dentro de la matriz, escogiendo palabras que igual son fuertemente relacionadas.  

Google ha hecho casi todo
Casi todos los avances en esto han venido de Google, incluido el último  y fundamental que fue la creación de "transformers" o focos de contexto que permiten trabajar en paralelo tanto en la entrada como en la salida, aumentando mucho la eficiencia del proceso.

Finalmente se puso a trabajar a un equipo humano, con muchísimas personas que se dedicaron a analizar y corregir cientos de miles de respuestas, permitiendo hacer una sintonía fina al modelo

¿Reemplazará a los buscadores?
Se habla mucho que este sería el fin de Google y de los buscadores, eso es una estupidez. Si bien entender el lenguaje natural podría facilitar algunas búsquedas, Google es una clase completamente diferente de aplicación, hecha especialmente para extraer información real, no inventos. Son animales de distinta especie.

La fiebre por tener un producto
Al principio OpenAI fue una empresa de conocimiento abierto con un esquema similar al modelo de desarrollo de Linux o Github, pero en poco tiempo los tiburones de Internet metieron sus uñas y hoy son una empresa comercial dedicada a colocar lo que esperan que sea el nuevo Facebook o el nuevo Twitter. 

Los dueños de OpenAi hoy son Elon Musk, Microsoft y algunos ingenieros que empezaron con todo esto y lo que buscan es forrarse.

Por eso la fiebre y la hype por lanzar Chatgpt y por eso la multitud de video en Youtube con títulos como "Esto cambia todo, Chatgpt ahora tiene superpoderes", "La semana más impactante en IA ¡esto cambia todo!",  "Por qué ChatGPT es una REVOLUCIÓN (Pruébalo YA!!)", "TRUCOS CHAT GPT-4 que TE VOLARÁN LA CABEZA!! ¡¡DOMÍNALO como UNA MÁQUINA!!",  en fin, está repleto de esa basura.

La mayoría -si no todos- esos videos son pura basura, desinformación y engaño. Son como esas campañas que dicen que el hidrógeno verde o los corredores bioceánicos o cualquier otro embuste van a cambiar al mundo.

Chatgpt es un producto y probablemente no merece la pena darle demasiada atención, aunque si al concepto. Pero como la gente actúa como rebaño uno nunca sabe. 

Yo prefiero esperar y ver si Google saca algún producto con eso, mientras no lo haga, para mi, todo esto es solo una curiosidad rodeada de mentiras y exageraciones. Por eso es bueno tener alguna idea sobre que es realmente y cómo funciona, para que no nos hagan cholitos.

13 comentarios:

  1. Marc Vidal tiene una vision interesante tambien
    https://www.youtube.com/watch?v=tOJimRra1VY

    Antes de lo previsible balean a otro carabinero...no le saldra gratis al gobierno, por mas cara de r* que son.

    ResponderBorrar
    Respuestas
    1. Hola Sergio, bienvenido a este Templo de la Ociosidad!
      Si, interesante lo que dice Vidal, aunque yo creo que tienden a dar cualidades "magicas" a cosas que no entienden muy bien como funcionan.

      La magia rara vez existe, estas cosas pueden ser muy impresionantes pero no son mágicas ni todopoderosas, eso de que "cambia todo" yo no lo compro mucho, el producto (Chatgpt) me parece que aburrirá pronto, aunque eso nunca se sabe, pero creo que tiene muchas limitaciones.
      La inteligencia artificial tiene mucho que ofrecer, por ejemplo cambia mi voz de Pato Donald a otra más decente y hablando muy bien inglés -aunque apenas chapurreo en ese idioma-
      https://ezdubs-vod-api.com/result/ZmmUVJQS_T4_es_en?fbclid=IwAR0AwrJ9-QftISojkiofLl5a9bu0C9Lc5-Yqp02SeVxgIeQpIWNqeYH63UQ
      pero suponer que aplicaciones como Chatgpt pueden "crear" algo me parece un poco o muy exagerado

      Borrar
  2. A medida que avancen se refinarán más; y podrán ser muy útiles, pero es una ilusión, una imitación.

    Me acordé del Dr. Sbaitso, un programa de DOS con el que uno supuestamente conversaba. URL sin enlace www.youtube.com/watch?v=sV3pYZZ2jEw

    ResponderBorrar
    Respuestas
    1. Claro, esos fueron los inicios, curiosamente algunos de los trucos que usaban esos programas antiguos todavía aparecen en Chatgpt, por ejemplo repetir lo que le preguntaron usando otras palabras

      Borrar
  3. La inteligencia nuestra es la especialización de un sistema nervioso en analizar el ambiente que lo rodea, atendiendo a sus necesidades de sobrevivencia.
    No hay inteligencia sin conciencia de la propia existencia, sin propósito de sobrevivir y predominar, sin ánimo de entender el entorno a tales fines. De un escarabajo que se arrastra a Einstein, todo lo que llamamos "inteligencia" funciona de ese modo.
    Esta otra cosa que elabora respuestas ingeniosas sin siquiera saber lo que está haciendo no es lo mismo. Uls

    ResponderBorrar
    Respuestas
    1. Así lo veo yo también Ulschmidt, igualito. Inteligencia sin conciencia es solo un remedo, no es real. Creo que eso pone también en duda la prueba de Turing que nos parecía tan obvia. Ahora una máquina puede engañar a un ser humano con sus respuestas aunque no tenga ni una pizca de inteligencia ni menos capacidad de razonar

      Borrar
    2. sabe, hicimos un juego con los traductores automáticos hace muchos años. Pasábamos unas frases a vrios idiomas y después volvíamos al original a ver como quedaban. No debe ser muy distinta la técnica. Con el traductor de Google y una estrofa de un tema "country" ya trillado que justo escuchaba, hoy me dio así:
      Original:

      you are smooth
      as Tenesse whiskey
      you are sweet like strawberry wine
      you are warms like a glass of brandy


      al castellano:
      eres suave
      como whisky Tenesse
      eres dulce como el vino de fresa
      eres caliente como una copa de brandy

      al húngaro:

      puha vagy
      mint a Tennessee whisky
      édes vagy, mint az eperbor
      forró vagy, mint egy pohár pálinka

      al quichua:

      llampu sunqum kanki
      Tennessee wiski hina
      fresa vino hina misk'i kanki
      huk vaso brandy hina ruphaymi kanki

      al sánscrito:

      त्वं मन्दगतिः असि
      यथा टेनेसी व्हिस्की
      त्वं स्ट्रॉबेरी मद्यं इव मधुरं असि
      त्वं ब्राण्डी-काच इव उष्णः असि


      De vuelta al inglés;

      You’re slow moving
      such as Tennessee whiskey
      You’re as sweet as strawberry wine
      You’re as hot as a glass of brandy


      Y al castellano:

      te estás moviendo lento
      como el whisky de Tennessee
      Eres tan dulce como el vino de fresa
      Estás tan caliente como una copa de brandy



      Borrar
    3. Los seres humanos hacemos algo parecido. También aprendemos a hablar relacionando sonidos con objetos; y pensamos relacionando conceptos que tenemos en nuestra memoria o aprendemos. Si alguna vez han hecho el ejercicio de repetir una palabra muchas veces, sentirán que pierde su significado convirtiéndose en una articulación de sonido.

      Acá el problema es que estamos buscando donde no hay; una máquina nunca va a ser como un humano, ni siquiera como un animal mascota. Eso lo tienen que resolver los bioquímicos fabricando vida desde la nada.

      Lo que sí podría ocurrir es que un ser vivo pueda ser modificado con tecnología para ampliar su capacidad de procesamiento. Ahí tendrías las dos cosas; pero eso es algo que no tiene mucho sentido desde mi punto de vista: basta con que lo haga una máquina.

      Borrar
    4. Ulschmidt, ese es un buen ejemplo de lo que ocurre cuando un texto pasa recursivamente por un mismo proceso: en cada pasada va perdiendo información y si lo pasas por el traductor muchas veces probablemente quede irreconocible. Por eso la IA puede crear textos "originales", no es que los piense sino que se recombinan las palabras.

      Borrar
    5. José, eso es justamente: están buscando donde no hay nada. Eso de la tecnología como una herramienta que amplía nuestras facultades intelectuales existe desde siempre, por ejemplo los libros, las calculadoras, los computadores, et Templo del Ocio etc... jaja

      Borrar
  4. Me acordé de Mafalda.
    Dice la profe: Manolito, entendiste?
    Manolito: Desde Marzo hasta aquí, nada.
    Que hay por debajo de un dummie?

    ResponderBorrar
    Respuestas
    1. Marcelo, efectivamente, hay cosas que son muy enredadas de entender porque implican el funcionamiento de las máquinas y de las matemáticas.
      Al final la cosa es un modelo que funciona con una gigantesca matriz de relaciones, los nodos de la matriz son las palabras, el álgebra lineal permite construir buenos modelos a partir de matrices así, es en el fondo el sistema que inventaron en Google para calcular el page rank, creo que el principio debe ser casi el mismo.

      Creo que lo he comentado acá mismo, pero desde hace años yo soñaba -o tenía pesadillas- con una matriz gigantesca donde estaba cada uno de los que vivimos en Arica con sus direcciones y cada una de las relaciones de unos con otros, todos los negocios, todas las organizaciones, clubes, etc. O sea la ciudad completa metida en un modelo matemático de matrices. Es totalmente factible y tal vez algún día empezaremos a ver cosas así

      Borrar

"Send me a postcard, drop me a line
Stating point of view
Indicate precisely what you mean to say
Yours sincerely, wasting away
Give me your answer, fill in a form
Mine for evermore
Will you still need me, will you still feed me
When I'm sixty-four"