{"id":1206,"date":"2025-05-01T05:18:44","date_gmt":"2025-05-01T05:18:44","guid":{"rendered":"https:\/\/cloudlab.urv.cat\/catedracloud\/?p=1206"},"modified":"2025-05-01T05:18:52","modified_gmt":"2025-05-01T05:18:52","slug":"temperatura-son-las-llms-creativas","status":"publish","type":"post","link":"https:\/\/cloudlab.urv.cat\/catedracloud\/2025\/05\/01\/temperatura-son-las-llms-creativas\/","title":{"rendered":"Temperatura \u00bfSon las LLMs Creativas?"},"content":{"rendered":"\n<p>Si alguna vez has escrito una pregunta en ChatGPT y te ha sorprendido lo bien que responde, no est\u00e1s solo. Pero detr\u00e1s de cada frase, hay un proceso que involucra tres componentes con nombres m\u00e1s bien curiosos: \u201c<em>tokens\u201d<\/em>, \u201c<em>prompts\u201d<\/em> y <em>temperatura<\/em>. Estos elementos ocultos son los que gu\u00edan a los modelos de lenguaje como ChatGPT o LLaMA. Vamos a desentra\u00f1ar qu\u00e9 son y c\u00f3mo influyen en lo que el modelo responde.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-a0041caa\"><h4 class=\"uagb-heading-text\"><strong>Tokens y su relaci\u00f3n con el lenguaje<\/strong><\/h4><\/div>\n\n\n\n<p>Los modelos no entienden directamente las palabras. En su lugar, las dividen en <strong>tokens<\/strong>, que son fragmentos de texto como palabras, s\u00edlabas o incluso caracteres individuales. A modo de ejemplo, la frase <em>\u201c\u00a1Se puede vivir sin LLMs!\u201d<\/em> podr\u00eda dividirse en los tokens <em>[\u201c\u00a1\u201d, \u201cSe\u201d, \u201cpuede\u201d, \u201cvivir\u201d, \u201csin\u201d, \u201cLLMs\u201d, \u201c!\u201d]<\/em>. Las LLMs procesan tokens, no frases enteras, y tienen un l\u00edmite de cu\u00e1ntos pueden manejar a la vez llamada <strong>ventana de contexto<\/strong>.<\/p>\n\n\n\n<p>Sup\u00f3n por un instante que est\u00e1s leyendo un libro con una lupa que s\u00f3lo te deja ver 5 l\u00edneas. Puedes leer el libro completo, pero solo eres capaz de comprender 5 l\u00edneas de texto cada vez. Esto es exactamente lo que hace una LLM: solo puede prestar atenci\u00f3n a una cantidad limitada de texto, y olvida lo que queda fuera de esa ventana.<\/p>\n\n\n\n<p>El tama\u00f1o de la <strong>venta de contexto<\/strong> depende del modelo. Aqu\u00ed tienes algunos ejemplos:<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th><strong>LLM<\/strong><\/th><th>Tama\u00f1o de la <strong>ventana de contexto<\/strong><\/th><\/tr><\/thead><tbody><tr><td>GPT-2<\/td><td>~1,024 tokens<\/td><\/tr><tr><td>GPT-3<\/td><td>2,048 tokens<\/td><\/tr><tr><td>GPT-4<\/td><td>hasta 32,768 tokens<\/td><\/tr><tr><td>Claude 2<\/td><td>hasta 100,000 tokens<\/td><\/tr><tr><td>Gemini 1.5 (Google)<\/td><td>&gt;1 mill\u00f3n (en pruebas)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Para ponerlo en perspectiva, 1,000 tokens \u2248 750 palabras en ingl\u00e9s (menos en otros idiomas). Un correo t\u00edpico puede tener 100\u2013300 tokens; una novela corta, decenas de miles.<\/p>\n\n\n\n<p>Cuando el texto que proporcionas o <strong><em>prompt<\/em><\/strong> m\u00e1s la respuesta generada supera este l\u00edmite, la LLM \u201colvida\u201d partes de la conversaci\u00f3n y puede \u201calucinar\u201d y producir respuestas falsas o inconsistentes tras perder acceso a informaci\u00f3n previa crucial.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-3668510e\"><h4 class=\"uagb-heading-text\"><strong>&nbsp;Temperatura: Controlando la Creatividad<\/strong><\/h4><\/div>\n\n\n\n<p>Aqu\u00ed es donde empieza lo interesante. El par\u00e1metro de <strong>temperatura<\/strong> controla la <em>aleatoriedad<\/em> de la respuesta. Una temperatura baja (como 0.2) hace que el modelo sea m\u00e1s predecible. Una temperatura alta (como 0.9) hace que sea m\u00e1s creativo (o impredecible).<\/p>\n\n\n\n<p>Si deseas respuestas coherentes y precisas, se recomienda usar una temperatura baja. Pero si quiere subir la creatividad de una LLM, se puede subir la temperatura. Muchos modelos permiten ajustar este par\u00e1metro directamente desde la interfaz o mediante APIs.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-8b795213\"><h4 class=\"uagb-heading-text\"><strong>La matem\u00e1tica de la temperatura<\/strong><\/h4><\/div>\n\n\n<p>La temperatura se aplica durante la etapa de muestreo, cuando el modelo elige la siguiente palabra o <strong>token<\/strong>. Se modifica la distribuci\u00f3n de probabilidad original usando la siguiente f\u00f3rmula:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1210 aligncenter\" src=\"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/04\/CodeCogsEqn.png\" alt=\"\" width=\"282\" height=\"57\" \/><\/p>\n<p>Donde:<\/p>\n<ul>\n<li><strong>P(x\u1d62):<\/strong> Probabilidad del <strong>token<\/strong> original.<\/li>\n<li><strong>T:<\/strong> Temperatura (mayor = m\u00e1s aleatoriedad).<\/li>\n<li><strong>P\u2032(x\u1d62):<\/strong> Nueva probabilidad ajustada.<\/li>\n<\/ul>\n<p>Cuando <em>T<\/em> = 1, la distribuci\u00f3n no cambia. Si <em>T<\/em> &lt; 1, se vuelve m\u00e1s determinista). Si <em>T<\/em> &gt; 1, se aplana (m\u00e1s aleatoria).\u00a0\u00a0<\/p>\n\n\n<p>Mira este ejemplo: seg\u00fan la temperatura, el modelo elige distintos tipos de comida cuando alguien escribe \u201cmi comida favorita es\u201d en el <strong>prompt<\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-uagb-image uagb-block-8aea49fc wp-block-uagb-image--layout-default wp-block-uagb-image--effect-static wp-block-uagb-image--align-none\"><figure class=\"wp-block-uagb-image__figure\"><img decoding=\"async\" src=\"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/04\/temperatura-938x1024.png\" alt=\"\" class=\"uag-image-1212\" width=\"640\" height=\"640\" title=\"temperatura\" loading=\"lazy\" role=\"img\" \/><\/figure><\/div>\n\n\n\n<p>Al aumentar la <strong>temperatura <\/strong><em>T<\/em>, aumenta la probabilidad de que el modelo elija opciones como \u201ctacos\u201d, incluso si originalmente solo ten\u00edan un 5% de probabilidad, ya que la distribuci\u00f3n se vuelve m\u00e1s uniforme entre los posibles <strong>tokens<\/strong>.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-17bff610\"><h5 class=\"uagb-heading-text\"><strong>Ejemplo de c\u00f3digo (OpenAI API en Python)<\/strong><\/h5><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>import openai\nresponse = openai.ChatCompletion.create(\n    model=\"gpt-4\",\n    messages=&#091;\n        {\"role\": \"user\", \"content\": \"Escribe una historia corta sobre LLMs\"}\n    ],\n    temperature=0.8,  # m\u00e1s creatividad\n    max_tokens=200\n)\n\nprint(response&#091;'choices']&#091;0]&#091;'message']&#091;'content'])\n<\/code><\/pre>\n\n\n\n<p>Cambia temperature entre 0.0 (respuesta precisa) y 1.0 (m\u00e1s creativa) para ver diferencias.<\/p>\n\n\n\n<div class=\"wp-block-uagb-advanced-heading uagb-block-1b706d1e\"><h3 class=\"uagb-heading-text\">Conclusi\u00f3n<\/h3><\/div>\n\n\n\n<p>En resumen, la temperatura es una herramienta clave para moldear el estilo de generaci\u00f3n de texto en los modelos de lenguaje. Si bien una temperatura baja ofrece respuestas m\u00e1s predecibles y fiables \u2014\u00fatiles en aplicaciones donde la coherencia y la precisi\u00f3n son prioritarias\u2014, una temperatura m\u00e1s alta libera la creatividad del modelo, generando ideas menos convencionales y m\u00e1s expresivas. Por ello, entender y ajustar adecuadamente este par\u00e1metro permite adaptar el comportamiento de una LLM a las necesidades espec\u00edficas de cada tarea, desde el soporte t\u00e9cnico hasta la escritura creativa.<\/p>\n\n\n\n<div class=\"wp-block-uagb-container uagb-block-eda42530 alignfull uagb-is-root-container\"><div class=\"uagb-container-inner-blocks-wrap\">\n<p><\/p>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Si alguna vez has escrito una pregunta en ChatGPT y te ha sorprendido lo bien que responde, no est\u00e1s solo. Pero detr\u00e1s de cada frase, hay un proceso que involucra tres componentes con nombres m\u00e1s bien curiosos: \u201ctokens\u201d, \u201cprompts\u201d y temperatura. Estos elementos ocultos son los que gu\u00edan a los modelos de lenguaje como ChatGPT [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":1218,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","_swt_meta_header_display":false,"_swt_meta_footer_display":false,"_swt_meta_site_title_display":false,"_swt_meta_sticky_header":false,"_swt_meta_transparent_header":false,"footnotes":""},"categories":[39,40],"tags":[114,115],"class_list":["post-1206","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ia","category-machine-learning","tag-ai","tag-llm"],"jetpack_featured_media_url":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/05\/Creative_temperature-1.png","uagb_featured_image_src":{"full":["https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/05\/Creative_temperature-1.png",1024,1024,false],"thumbnail":["https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/05\/Creative_temperature-1-150x150.png",150,150,true],"medium":["https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/05\/Creative_temperature-1-300x300.png",300,300,true],"medium_large":["https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/05\/Creative_temperature-1-768x768.png",768,768,true],"large":["https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/05\/Creative_temperature-1.png",1024,1024,false],"1536x1536":["https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/05\/Creative_temperature-1.png",1024,1024,false],"2048x2048":["https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/05\/Creative_temperature-1.png",1024,1024,false]},"uagb_author_info":{"display_name":"Marc S\u00e1nchez Artigas","author_link":"https:\/\/cloudlab.urv.cat\/catedracloud\/author\/msanchez\/"},"uagb_comment_info":6,"uagb_excerpt":"Si alguna vez has escrito una pregunta en ChatGPT y te ha sorprendido lo bien que responde, no est\u00e1s solo. Pero detr\u00e1s de cada frase, hay un proceso que involucra tres componentes con nombres m\u00e1s bien curiosos: \u201ctokens\u201d, \u201cprompts\u201d y temperatura. Estos elementos ocultos son los que gu\u00edan a los modelos de lenguaje como ChatGPT&hellip;","_links":{"self":[{"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/posts\/1206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/comments?post=1206"}],"version-history":[{"count":4,"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/posts\/1206\/revisions"}],"predecessor-version":[{"id":1215,"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/posts\/1206\/revisions\/1215"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/media\/1218"}],"wp:attachment":[{"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/media?parent=1206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/categories?post=1206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/tags?post=1206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}