{"id":2126,"date":"2023-06-27T07:16:48","date_gmt":"2023-06-27T06:16:48","guid":{"rendered":"https:\/\/keepler.io\/2023\/06\/27\/llm-chatbots-vitaminados-ia-generativa\/"},"modified":"2023-09-12T10:20:25","modified_gmt":"2023-09-12T10:20:25","slug":"llm-chatbots-vitaminados-ia-generativa","status":"publish","type":"post","link":"https:\/\/keepler.io\/es\/2023\/06\/27\/llm-chatbots-vitaminados-ia-generativa\/","title":{"rendered":"Large Language Model: los nuevos chatbots vitaminados gracias a la IA Generativa"},"content":{"rendered":"<p>El procesamiento de lenguaje natural (NLP) es uno de los campos de investigaci\u00f3n m\u00e1s relevantes dentro de las ciencias de la computaci\u00f3n. Este \u00e1rea se dedica a buscar la mejor manera de hacer que una m\u00e1quina pueda entender el lenguaje como lo entendemos las personas.<\/p>\n<p>Inevitablemente, este campo se ha topado siempre con una serie de retos que vienen dados por la forma o la flexibilidad que tenemos las personas para comunicar o, m\u00e1s importante a\u00fan, para entender lo que nos comunican. Este problema de rigidez que tienen las m\u00e1quinas, hacen que aspectos como el contexto, el sarcasmo o la ambig\u00fcedad, sean verdaderos quebraderos de cabeza para las personas que investigan y dedican su carrera profesional a este tema.<\/p>\n<p>Para hacerlo m\u00e1s claro, piensen en el siguiente ejemplo:<\/p>\n<ul>\n<li>Juan y Sonia est\u00e1n casados.<\/li>\n<\/ul>\n<p>\u00bfSignifica que son pareja y est\u00e1n casados entre ellos o que ambos est\u00e1n casados con sus respectivas parejas? Si yo conociera a Juan o a Sonia, mi interpretaci\u00f3n sobre est\u00e1 frase ser\u00eda directa, no tendr\u00eda ninguna duda sobre ella. Sin embargo, he tenido que hacer uso de un contexto para entender exactamente a qu\u00e9 se refiere esta frase. En definitiva, si un humano tiene dudas sobre la interpretaci\u00f3n de la frase, una m\u00e1quina tambi\u00e9n las va a tener (y mucho mayores, me atrever\u00eda a decir).<\/p>\n<p>No obstante, es cierto que ante esta ambig\u00fcedad pensamos en una opci\u00f3n <strong> m\u00e1s probable,<\/strong> porque nos acostumbramos a hablar de una manera determinada. En este ejemplo, lo primero que solemos pensar, al menos yo, es que ambos son pareja y est\u00e1n casados, porque de no ser as\u00ed, se suele concretar la frase con algo m\u00e1s, por ejemplo: \u201cJuan y Sonia est\u00e1n casados con sus respectivas parejas\u201d\u00a0con la finalidad de no dar lugar a un posible malentendido.<\/p>\n<h3>Modelos de IA Generativa<\/h3>\n<p>\u00daltimamente, estamos constantemente bombardeados por avances en inteligencia artificial generativa, sobre todo desde el auge de ChatGPT como nuestro asistente particular en nuestras tareas diarias. Vamos a ver cu\u00e1l es la idea general que tienen los grandes modelos de lenguaje Large Language Model, (LLM) como son <strong>(Chat GPT, OpenAI), PaLM (Google), Falcon (Hugging Face)<\/strong>, etc. Estos modelos est\u00e1n construidos con una tarea principal, construir cu\u00e1l es la siguiente palabra de la frase dado todo lo anterior, en otros t\u00e9rminos, cu\u00e1l es la palabra <strong>m\u00e1s probable<\/strong> que encaje dentro de la frase de entre todas las disponibles, es decir, de entre todo el vocabulario.<\/p>\n<p>Esto se parece mucho a nuestra manera de actuar como receptores de informaci\u00f3n, buscamos de entre todos los significados posibles, cu\u00e1l es al que hace referencia el emisor del mensaje y continuamos la conversaci\u00f3n a partir de ah\u00ed.<\/p>\n<p>Siendo ya un poco m\u00e1s t\u00e9cnico, un LLM es una red neuronal con un n\u00famero muy elevado de par\u00e1metros que ha sido entrenada con much\u00edsimos datos (petabytes de datos). Esta enorme cantidad de datos contiene la informaci\u00f3n necesaria para que estos modelos sean capaces de realizar tareas como res\u00famenes, clasificaci\u00f3n de informaci\u00f3n, extracci\u00f3n de entidades e incluso traducci\u00f3n de textos entre otras posibles tareas.<\/p>\n<p>Es decir, las tareas \u201ccl\u00e1sicas\u201d del \u00e1rea de procesamiento de lenguaje natural que antes separ\u00e1bamos en diferentes modelos de lenguaje m\u00e1s peque\u00f1os y especializados, las hemos unificado en un modelo enorme y hemos hecho un \u201ctodo en uno\u201d.<\/p>\n<p>Llevado a la pr\u00e1ctica, esto hace parecer que cuando se le realizan diferentes tipos de consultas y el modelo responde correctamente es porque es muy listo, porque saber realizar todas estas tareas al mismo tiempo parece muy <em>humano<\/em>, cuando el truco est\u00e1 en que la consulta ya se encuentra en alg\u00fan sitio de toda la inmensa cantidad informaci\u00f3n que contiene. Sin embargo, toda la informaci\u00f3n procedente de alguna IA no est\u00e1 exenta de ser contrastada y comprobada, nadie te asegura que dentro de tant\u00edsima informaci\u00f3n el modelo haya hecho una interpretaci\u00f3n correcta y concisa de la consulta que le hayamos realizado. <strong>Hay que recordar que la \u00fanica tarea que se le exige al modelo es responder, no responder correctamente, <\/strong> por eso es siempre importante verificar la informaci\u00f3n.<\/p>\n<p>A d\u00eda de hoy, estos modelos requieren de una infraestructura equivalente al tama\u00f1o de los mismos, lo que se traduce en instancias de gran tama\u00f1o con una capacidad de c\u00f3mputo muy elevada. Estas restricciones conllevan a que s\u00f3lo empresas con una gran infraestructura interna puedan realizar entrenamientos de estos modelos. Para que tengamos una referencia, <strong>\u00a1un entrenamiento de un LLM puede tardar meses en realizarse! <\/strong>Adem\u00e1s se estima que <strong>el coste de un entrenamiento de un modelo de este tipo puede ser de varios millones de d\u00f3lares<\/strong>. Creo que estos datos reflejan la magnitud del tama\u00f1o de estos modelos y su complejidad. Del mismo modo, si como usuarios queremos hacer uso de estas herramientas, debemos tener en consideraci\u00f3n que esto solo se podr\u00e1 llevar a cabo si tenemos a nuestra disposici\u00f3n la infraestructura que pueda almacenar y trabajar con estos modelos usando m\u00e1quinas dedicadas a ello o bien v\u00eda API (como ser\u00eda el caso de Chat GPT), entendiendo que la confidencialidad de los datos expuestos puede estar comprometida si se utiliza una API.<\/p>\n<h3>\u00bfC\u00f3mo se trabaja con LLMs?<\/h3>\n<p>Cada d\u00eda salen a la luz m\u00e1s y m\u00e1s aplicaciones que poder llevar a cabo usando IA generativa. La manera de trabajar con ellas es estableciendo una serie de instrucciones, tambi\u00e9n denominados, prompts. Estos prompts son plantillas que le especifican al modelo, qu\u00e9 debe buscar y c\u00f3mo debe responder. Un ejemplo muy sencillo de prompt podr\u00eda ser:<\/p>\n<ul>\n<li>Dado el siguiente fragmento de texto: [Aqu\u00ed ir\u00eda el texto] Genera un resumen.<\/li>\n<\/ul>\n<p>Estas plantillas de instrucciones deben ser muy claras y muy concretas, <strong>cuanto m\u00e1s espec\u00edficas mejor<\/strong>. Hay que tener en cuenta que existen limitaciones de cantidad de texto que se puede introducir a los modelos de lenguaje por lo tanto la precisi\u00f3n es muy relevante en este aspecto.<\/p>\n<p>Si la tarea es muy compleja o muy espec\u00edfica, se puede realizar un re-entrenamiento del modelo de lenguaje, con la finalidad de que el modelo anterior se especialice en la tarea concreta que se desea. Por ejemplo, si quiero crear un modelo con la finalidad de responder a dudas m\u00e9dicas, conviene hacer un re-entrenamiento con solamente documentos m\u00e9dicos contrastados. De esta manera, el modelo se habr\u00e1 especializado en responder a cuestiones meramente m\u00e9dicas pudiendo perder m\u00e1s generalidad pero siendo una mejor versi\u00f3n en la tarea que se le ha focalizado.<\/p>\n<p>Los resultados de estos modelos de lenguaje generan cada vez m\u00e1s impacto, seg\u00fan <a href=\"https:\/\/cdn.openai.com\/papers\/gpt-4.pdf\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">Open AI<\/span><\/a>, estos fueron los resultados de sus modelos GPT 3.5 y GPT 4 en ex\u00e1menes de nivel de universidad con respecto a los estudiantes que tomaron dichos ex\u00e1menes.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-54580 aligncenter\" src=\"https:\/\/i0.wp.com\/keepler.io\/wp-content\/uploads\/2023\/06\/keepler-generative-ia-exam-results-gpt.png?resize=534%2C458&#038;ssl=1\" alt=\"\" width=\"534\" height=\"458\" \/><\/p>\n<p>Aqu\u00ed se puede observar que en gran parte de los casos el nivel de GPT 4 se parece al de los mejores estudiantes que realizaron el examen.<br \/>\nDe la misma manera el modelo Med-PaLM 2 de <a href=\"https:\/\/sites.research.google\/med-palm\/\" target=\"_blank\" rel=\"noopener\">Google<\/a>, un modelo especializado en cuestiones m\u00e9dicas, alcanz\u00f3 un 85.4% de acierto en preguntas del examen US Medical License Exam (USMLE)<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-54584 aligncenter\" src=\"https:\/\/i0.wp.com\/keepler.io\/wp-content\/uploads\/2023\/06\/keepler-generative-ai-google-medical-exam.png?resize=512%2C279&#038;ssl=1\" alt=\"\" width=\"512\" height=\"279\" \/><\/p>\n<p>Viendo el desempe\u00f1o general de estos modelos en tant\u00edsimas \u00e1reas, podemos tener una primera idea de los \u00fatiles que pueden llegar a ser estos modelos <strong>siempre que se usen de manera correcta y \u00e9tica.<\/strong><\/p>\n<p>A nivel empresarial, cada vez salen m\u00e1s casos de uso que se pueden plantear para resolver mediante IA generativa, por ejemplo: casos de gesti\u00f3n documental, es decir, buscar informaci\u00f3n a trav\u00e9s de una documentaci\u00f3n dada, generaci\u00f3n de contenido de im\u00e1genes o textos, crear tu propio asistente virtual, etc. Ahora nos toca a nosotros sacarle valor a estas herramientas y ver hasta d\u00f3nde podemos llegar.<\/p>\n<p>&nbsp;<\/p>\n<p>Imagen: Freepik | Rawpixel<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El procesamiento de lenguaje natural (NLP) es uno de los campos de investigaci\u00f3n m\u00e1s relevantes dentro de las ciencias de la computaci\u00f3n. Este \u00e1rea se dedica a buscar la mejor manera de hacer que una m\u00e1quina pueda entender el lenguaje como lo entendemos las personas. Inevitablemente, este campo se ha topado siempre con una serie [&hellip;]<\/p>\n","protected":false},"author":134360170,"featured_media":34895,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","_crdt_document":"","content-type":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[222],"tags":[424,289,248,288],"class_list":["post-2126","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ia","tag-generative-ai-es","tag-gpt-es","tag-ia-generativa","tag-llms"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/keepler.io\/wp-content\/uploads\/2023\/06\/keepler-generative-ai-large-languaje-model.jpg?fit=1280%2C450&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p9CeZw-yi","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/posts\/2126","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/users\/134360170"}],"replies":[{"embeddable":true,"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/comments?post=2126"}],"version-history":[{"count":1,"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/posts\/2126\/revisions"}],"predecessor-version":[{"id":2244,"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/posts\/2126\/revisions\/2244"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/media\/34895"}],"wp:attachment":[{"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/media?parent=2126"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/categories?post=2126"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/keepler.io\/es\/wp-json\/wp\/v2\/tags?post=2126"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}