{"id":635,"date":"2026-06-08T18:36:29","date_gmt":"2026-06-08T16:36:29","guid":{"rendered":"https:\/\/atlaszn.com\/blog\/?p=635"},"modified":"2026-06-08T19:12:17","modified_gmt":"2026-06-08T17:12:17","slug":"parametros-de-generacion","status":"publish","type":"post","link":"https:\/\/atlaszn.com\/blog\/2026\/06\/08\/parametros-de-generacion\/","title":{"rendered":"Par\u00e1metros de generaci\u00f3n"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Cuando usamos un modelo de lenguaje, es f\u00e1cil imaginar que primero \u00abpiensa\u00bb toda la respuesta y despu\u00e9s la escribe, como har\u00eda una persona. Pero no funciona as\u00ed.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Como vimos en <a href=\"https:\/\/atlaszn.com\/blog\/2026\/05\/22\/como-piensan-los-llm-fundamentos-de-inferencia\/\" data-type=\"link\" data-id=\"https:\/\/atlaszn.com\/blog\/2026\/05\/22\/como-piensan-los-llm-fundamentos-de-inferencia\/\">\u00ab\u00bfC\u00f3mo piensan los LLM?\u00bb<\/a>, un LLM genera texto paso a paso. Literalmente va decidiendo cu\u00e1l ser\u00e1 el siguiente token, una palabra, parte de una palabra o incluso un signo de puntuaci\u00f3n en funci\u00f3n de probabilidades.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En cada instante el modelo se pregunta algo parecido a:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">\u00ab\u00bfQu\u00e9 palabra tiene m\u00e1s sentido aqu\u00ed?\u00bb<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Y no obtiene una \u00fanica respuesta, sino miles de posibilidades con distintos niveles de probabilidad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Los par\u00e1metros de generaci\u00f3n son los controles que modifican c\u00f3mo toma esas decisiones. No cambian el conocimiento del modelo; cambian su comportamiento. Es decir, determinan si el modelo ser\u00e1 m\u00e1s conservador, m\u00e1s creativo, m\u00e1s repetitivo o m\u00e1s explorador.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Temperatura: el control de la creatividad<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La temperatura es probablemente el par\u00e1metro m\u00e1s intuitivo porque afecta directamente a la \u00abpersonalidad\u00bb de la respuesta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Con una temperatura baja, el modelo se vuelve cauteloso. Tiende a elegir siempre las palabras m\u00e1s probables y seguras. El resultado suele ser m\u00e1s preciso, m\u00e1s estable y mucho m\u00e1s repetible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso, cuando se trabaja con programaci\u00f3n, matem\u00e1ticas o tareas t\u00e9cnicas, normalmente se usan temperaturas bajas. No quieres que el modelo improvise demasiado cuando est\u00e1 escribiendo c\u00f3digo o resolviendo algo delicado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En cambio, cuando aumentas la temperatura, el modelo empieza a asumir m\u00e1s riesgos. Palabras menos probables entran en juego y las respuestas se vuelven m\u00e1s variadas, m\u00e1s naturales y a veces sorprendentemente creativas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ah\u00ed es donde aparecen cosas interesantes: <\/p>\n\n\n\n<ul class=\"wp-block-list\" class=\"wp-block-list\">\n<li>Asociaciones inesperadas<\/li>\n\n\n\n<li>Met\u00e1foras<\/li>\n\n\n\n<li>Ideas originales<\/li>\n\n\n\n<li>Estilos m\u00e1s humanos<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Pero tambi\u00e9n aparecen m\u00e1s errores. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Y aqu\u00ed hay una idea importante: una temperatura alta no hace al modelo m\u00e1s inteligente. Solo hace que explore caminos menos probables.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es como la diferencia entre una persona extremadamente prudente y otra m\u00e1s impulsiva. La segunda puede tener ideas brillantes\u2026 o decir tonter\u00edas con m\u00e1s frecuencia.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Top_p: decidir qu\u00e9 opciones merecen atenci\u00f3n<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Aunque un modelo pueda generar miles de palabras distintas, la realidad es que la mayor\u00eda no tienen ning\u00fan sentido en un contexto concreto.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Top_p sirve para limitar el \u00abuniverso de opciones\u00bb antes de elegir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Imagina que el modelo est\u00e1 escribiendo:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00abEl caf\u00e9 estaba tan caliente que\u2026\u00bb<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Probablemente las palabras m\u00e1s razonables sean:<\/p>\n\n\n\n<ul class=\"wp-block-list\" class=\"wp-block-list\">\n<li>Quemaba<\/li>\n\n\n\n<li>Humeaba<\/li>\n\n\n\n<li>Ard\u00eda<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Pero tambi\u00e9n podr\u00edan existir opciones absurdas con probabilidades diminutas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lo que hace top_p es quedarse \u00fanicamente con las opciones suficientemente relevantes. Si el valor es 0.9, el modelo conserva solo el conjunto de palabras que acumulan el 90% de probabilidad total.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Todo lo dem\u00e1s desaparece.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La sensaci\u00f3n pr\u00e1ctica es interesante:<\/p>\n\n\n\n<ul class=\"wp-block-list\" class=\"wp-block-list\">\n<li>Con top_p bajo, el modelo se vuelve m\u00e1s conservador.<\/li>\n\n\n\n<li>Con top_p alto, permite respuestas m\u00e1s abiertas y variadas.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Muchas veces top_p influye m\u00e1s en la naturalidad del texto que la propia temperatura.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Top_k: un filtro m\u00e1s r\u00edgido<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Top_k hace algo parecido, pero de forma m\u00e1s mec\u00e1nica.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En lugar de trabajar con porcentajes de probabilidad, simplemente dice:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00abSolo puedes elegir entre las K palabras m\u00e1s probables.\u00bb<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si top_k = 40, el modelo ignora todo excepto las 40 opciones principales.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es una t\u00e9cnica m\u00e1s antigua y m\u00e1s r\u00edgida que top_p. Funciona bien en algunos casos, pero no se adapta al contexto con la misma inteligencia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hay un detalle curioso: si top_k = 1, el modelo siempre elige la palabra m\u00e1s probable. Eso se llama <em>greedy decoding<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Suena l\u00f3gico, pero el resultado suele ser extra\u00f1o:<\/p>\n\n\n\n<ul class=\"wp-block-list\" class=\"wp-block-list\">\n<li>Texto demasiado predecible.<\/li>\n\n\n\n<li>Estructuras repetitivas.<\/li>\n\n\n\n<li>Poca naturalidad.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Parad\u00f3jicamente, elegir siempre la opci\u00f3n \u00abm\u00e1s correcta\u00bb puede hacer que el lenguaje parezca menos humano.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Min_p: Evitar ideas absurdas<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Min_p es menos conocido, pero tiene una funci\u00f3n muy \u00fatil.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En temperaturas altas, el modelo empieza a considerar palabras raras porque la distribuci\u00f3n de probabilidades se vuelve m\u00e1s flexible. A veces eso produce creatividad, otras veces produce frases absurdas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Min_p act\u00faa como una especie de filtro de plausibilidad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En lugar de preguntar:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00ab\u00bfEst\u00e1 esta palabra entre las m\u00e1s probables?\u00bb<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">pregunta:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00ab\u00bfEst\u00e1 lo suficientemente cerca de la mejor opci\u00f3n?\u00bb<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si una palabra tiene una probabilidad demasiado baja respecto a la principal, simplemente se descarta.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La ventaja es que permite mantener creatividad sin que el modelo se descarrile constantemente.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">El problema natural de los modelos: Repetir<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Los modelos de lenguaje tienen una tendencia muy fuerte a repetir patrones. Y tiene sentido: si una palabra acaba de aparecer varias veces, estad\u00edsticamente es probable que vuelva a aparecer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso existen las penalizaciones.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Repeat_penalty: romper los bucles<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Repeat_penalty<\/em> intenta evitar que el modelo caiga en repeticiones inc\u00f3modas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sin penalizaci\u00f3n, algunos modelos pueden entrar en ciclos como:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00abel sistema funciona porque el sistema permite que el sistema\u2026\u00bb<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Al aplicar una penalizaci\u00f3n, las palabras ya usadas pierden atractivo estad\u00edstico y el modelo busca alternativas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">El problema es que, si exageras, el texto empieza a sonar raro. El modelo evita repetir incluso t\u00e9rminos importantes y termina usando sin\u00f3nimos innecesarios o expresiones artificiales.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Por eso este par\u00e1metro necesita equilibrio. Demasiado poco produce <em>loops<\/em>; demasiado produce incoherencia.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Frequency_penalty: combatir las muletillas<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Este par\u00e1metro penaliza palabras seg\u00fan cu\u00e1ntas veces se hayan usado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No evita solo repeticiones inmediatas. Tambi\u00e9n reduce la tendencia del modelo a apoyarse constantemente en las mismas expresiones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es especialmente \u00fatil en textos largos, donde algunos modelos desarrollan \u00abmuletillas estad\u00edsticas\u00bb.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Con <em>frequency_penalty<\/em> alto, el lenguaje suele volverse m\u00e1s variado.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Presence_penalty: empujar al modelo hacia ideas nuevas<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Presence_penalty<\/em> funciona de una manera m\u00e1s conceptual.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No importa cu\u00e1ntas veces apareci\u00f3 una palabra. Solo importa si ya apareci\u00f3 antes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eso hace que el modelo tienda a introducir temas nuevos en lugar de quedarse girando alrededor de las mismas ideas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En <em>brainstorming<\/em> o escritura creativa esto es muy \u00fatil porque fuerza exploraci\u00f3n conceptual.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es, en cierto modo, un par\u00e1metro que empuja al modelo a \u00abcambiar de tema\u00bb.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Repeat_last_n: cu\u00e1nto recuerda para evitar repetir<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Este par\u00e1metro define cu\u00e1ntos tokens recientes revisa el sistema para detectar repeticiones.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Puede parecer un detalle t\u00e9cnico menor, pero afecta much\u00edsimo al comportamiento.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si el valor es peque\u00f1o, el modelo olvida r\u00e1pidamente lo que acaba de decir y puede repetir estructuras largas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si el valor es demasiado grande, se vuelve excesivamente r\u00edgido y empieza a evitar palabras necesarias para mantener coherencia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es otro equilibrio delicado:<\/p>\n\n\n\n<ul class=\"wp-block-list\" class=\"wp-block-list\">\n<li>Poca memoria \u2192 repeticiones.<\/li>\n\n\n\n<li>Demasiada memoria \u2192 lenguaje artificial.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Lo realmente importante: todo interact\u00faa<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La mayor\u00eda de problemas en generaci\u00f3n de texto no vienen de un par\u00e1metro aislado, sino de combinaciones malas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una temperatura alta puede funcionar genial\u2026 si tienes filtros adecuados.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Un top_k demasiado bajo junto con penalizaciones fuertes puede dejar al modelo \u00absin opciones\u00bb y hacer que escriba raro.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una temperatura muy baja puede parecer precisa al principio, pero en textos largos termina sonando rob\u00f3tica.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La generaci\u00f3n de texto es, en el fondo, un equilibrio constante entre:<\/p>\n\n\n\n<ul class=\"wp-block-list\" class=\"wp-block-list\">\n<li>Control y libertad<\/li>\n\n\n\n<li>Estabilidad y exploraci\u00f3n<\/li>\n\n\n\n<li>Precisi\u00f3n y creatividad<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Y eso es precisamente lo interesante de estos par\u00e1metros: permiten moldear el comportamiento del modelo casi como si estuvieras ajustando la personalidad con la que escribe.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Los modelos de lenguaje no piensan antes de escribir: Generan token por token. Los par\u00e1metros de generaci\u00f3n determinan c\u00f3mo elige entre miles de posibilidades en cada paso.<\/p>\n","protected":false},"author":1,"featured_media":636,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,24],"tags":[55,85,118,114,119,115,117,116],"class_list":["post-635","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ia-automatizacion","category-ia-local","tag-decodificacion","tag-llm","tag-min_p","tag-parametros-de-generacion","tag-penalizaciones","tag-temperatura","tag-top_k","tag-top_p"],"_links":{"self":[{"href":"https:\/\/atlaszn.com\/blog\/wp-json\/wp\/v2\/posts\/635","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/atlaszn.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/atlaszn.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/atlaszn.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/atlaszn.com\/blog\/wp-json\/wp\/v2\/comments?post=635"}],"version-history":[{"count":2,"href":"https:\/\/atlaszn.com\/blog\/wp-json\/wp\/v2\/posts\/635\/revisions"}],"predecessor-version":[{"id":638,"href":"https:\/\/atlaszn.com\/blog\/wp-json\/wp\/v2\/posts\/635\/revisions\/638"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/atlaszn.com\/blog\/wp-json\/wp\/v2\/media\/636"}],"wp:attachment":[{"href":"https:\/\/atlaszn.com\/blog\/wp-json\/wp\/v2\/media?parent=635"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/atlaszn.com\/blog\/wp-json\/wp\/v2\/categories?post=635"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/atlaszn.com\/blog\/wp-json\/wp\/v2\/tags?post=635"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}