2 puntos por GN⁺ 2024-03-24 | 1 comentarios | Compartir por WhatsApp
  • Los modelos de lenguaje grandes suelen fallar cuando intentan dar una respuesta directa a problemas con múltiples pasos, como la aritmética larga, pero si se les hace generar una solución paso a paso, pueden resolver problemas que antes eran difíciles
  • El chain-of-thought prompting de investigadores de Google en 2022 se difundió ampliamente como una forma simple de hacer que el modelo produzca pasos intermedios, pero por qué funciona sigue siendo objeto de análisis
  • Los investigadores examinan las capacidades y límites de los Transformer con teoría de la complejidad computacional, y muestran que una estructura optimizada para procesamiento en paralelo puede limitar la capacidad de cálculo cuando debe dar una respuesta inmediata
  • Según el estudio teórico de Merrill y Sabharwal, el chain of thought empieza a ayudar de manera sustancial cuando la cantidad de pasos intermedios crece en proporción al tamaño de la entrada, y muchos problemas requieren incluso más pasos que eso
  • Estos resultados no significan que un modelo real necesariamente aprenda esa solución durante el entrenamiento, pero ofrecen un marco para comparar nuevas arquitecturas neuronales sin sobreestimar los límites de los Transformer

Por qué una solución paso a paso cambia el rendimiento del modelo

  • Las personas no intentan resolver de una sola vez un problema como sumar números de 20 dígitos, sino que van acumulando el cálculo desde las unidades hacia la izquierda
  • Los modelos de lenguaje grandes pueden acertar problemas aritméticos de pocos pasos, pero con problemas que exigen muchos pasos, como la suma de números grandes, fallan con frecuencia
  • En 2022, investigadores de Google mostraron que si se le pide al modelo generar una solución paso a paso, puede resolver problemas que antes parecían difíciles
  • A este método se le llama chain-of-thought prompting y se propagó rápidamente, pero la razón de su efectividad sigue siendo analizada por los investigadores

Cómo se fortalecieron los Transformer y sus restricciones estructurales

  • Los modelos de lenguaje grandes se basan en redes neuronales artificiales que representan y procesan palabras como secuencias numéricas
    • Antes del entrenamiento, los parámetros comienzan con valores aleatorios
    • El modelo predice la siguiente palabra usando grandes volúmenes de texto tomados de internet y ajusta sus parámetros para reducir la diferencia con el texto real
  • El Transformer, introducido por investigadores de Google en 2017, expandió enormemente la investigación en modelos de lenguaje
    • Antes del Transformer, las redes neuronales tenían como mucho cientos de millones de parámetros
    • Hoy, los modelos más grandes basados en Transformer tienen más de 1 billón de parámetros
  • El componente central del Transformer es el attention head
    • Recorre rápidamente todo el texto de entrada y encuentra conexiones entre palabras que son útiles para predecir la siguiente palabra
    • Después, la feedforward network realiza el cálculo pesado
  • La estructura que usa múltiples capas de attention head y feedforward network permite realizar al mismo tiempo, durante el entrenamiento, los cálculos para cada palabra
    • Gracias a este paralelismo, el entrenamiento puede distribuirse entre grandes volúmenes de datos y muchos procesadores
    • David Chiang dice que para aprovechar grandes conjuntos de datos el modelo también debe ser grande, y que sin paralelización el entrenamiento no sería práctico
  • En el uso normal, una vez terminado el entrenamiento, el Transformer produce una palabra a la vez, y vuelve a añadir esa salida a la entrada para generar la siguiente palabra
    • Como su estructura sigue optimizada para procesamiento en paralelo, los investigadores empezaron a preguntarse si ese paralelismo implica un costo en capacidad de cálculo

La capacidad de cálculo del Transformer vista desde la teoría de la complejidad

  • Como es difícil analizar directamente el proceso de entrenamiento de una red neuronal, algunos investigadores estudian la capacidad de cálculo intrínseca del Transformer suponiendo que sus parámetros pueden fijarse en los valores deseados
  • Este enfoque trata al Transformer como una clase particular de computadora programable
    • pregunta qué funciones puede calcular
    • y qué tipos de problemas puede resolver
  • En 2019, Pablo Barceló y sus coautores demostraron que un Transformer idealizado con un número fijo de parámetros puede ser tan potente como una Turing machine si tiene una configuración adecuada y reutiliza iterativamente su salida como nueva entrada
  • Ese resultado fue un punto de partida importante, pero dependía de supuestos poco realistas que podían sobreestimar el poder de los Transformer reales
  • Después, los investigadores empezaron a construir marcos teóricos más realistas

Los límites del Transformer cuando debe responder de inmediato

  • William Merrill y Ashish Sabharwal analizaron con complejidad de circuitos (circuit complexity) los límites que impone la estructura paralela del Transformer
  • Ambos estudian el caso en que el Transformer no puede volver a meter su salida como entrada y su primera salida debe ser la respuesta final
  • En este marco teórico, el Transformer no puede resolver problemas computacionales fuera de cierta clase de complejidad
    • Como ejemplo relativamente simple, se considera que muchos problemas matemáticos, como resolver ecuaciones lineales, quedan fuera de esa clase
  • El paralelismo tiene la ventaja de hacer posible el entrenamiento, pero se vuelve un costo en situaciones donde se exige una respuesta inmediata
    • Merrill dice que, si se usa dándole una entrada y esperando la respuesta de inmediato, el Transformer resulta bastante débil

Cómo el chain of thought esquiva esos límites

  • Los resultados de Merrill y Sabharwal llevaron a la pregunta de cuánto más poderoso se vuelve un Transformer cuando puede reutilizar su salida
  • El chain-of-thought reasoning en modelos de lenguaje reales depende de la redacción del prompt, pero en principio, si el modelo produce una solución paso a paso, puede reutilizar resultados intermedios en la siguiente pasada del Transformer
  • Un equipo de investigación de Peking University abordó en un artículo de mayo de 2023 algunos problemas matemáticos que, dentro del marco de Merrill y Sabharwal, deberían ser imposibles para un Transformer normal
    • Mostraron que, si se permiten pasos intermedios, el Transformer puede resolver esos problemas
  • En octubre de 2023, Merrill y Sabharwal publicaron un estudio teórico que analiza con más detalle la capacidad computacional del chain of thought
    • cuantifica cómo cambia la capacidad adicional de cálculo según la cantidad de pasos intermedios disponibles antes de que el Transformer dé la respuesta final
  • Como en el ejemplo de la suma de números de dos cifras, hay problemas en los que la cantidad de pasos intermedios necesarios aumenta a medida que crece la entrada
    • La forma más simple de sumar dos números de 20 dígitos requiere el doble de pasos intermedios de suma que sumar dos números de 10 dígitos

Los pasos intermedios ayudan, pero no son gratis

  • Merrill y Sabharwal analizan que, si hay muy pocos pasos intermedios, la ganancia que obtiene el Transformer tampoco es grande
  • El chain of thought produce un efecto sustancial a partir del momento en que la cantidad de pasos intermedios crece en proporción al tamaño de la entrada
  • Muchos problemas requieren que la cantidad de pasos intermedios aumente mucho más que el tamaño de la entrada
  • Por lo tanto, el chain of thought no es una solución universal
    • En principio puede permitir resolver problemas más difíciles
    • Pero exige un esfuerzo computacional considerable
  • Merrill dice que le interesan varias formas de esquivar los límites de un Transformer de un solo paso, y que el chain of thought quizá no sea el método más económico

Precauciones al aplicarlo a modelos reales

  • El alcance de lo que el análisis teórico puede decir sobre modelos de lenguaje reales es limitado
  • Demostrar que un Transformer puede resolver cierto problema en principio no significa que un modelo de lenguaje real necesariamente aprenda esa solución durante el entrenamiento
  • Los resultados sobre los límites del Transformer también suponen un criterio fuerte
    • significan que ningún Transformer puede resolver perfectamente cierto problema en todos los casos
    • Daniel Hsu dice que sí puede manejar bien algunos casos especiales concretos
  • Estos análisis ofrecen un marco para comparar otras arquitecturas neuronales que podrían sustituir al Transformer
    • Si en un análisis de teoría de la complejidad una red aparece como más poderosa, eso puede servir como indicio de que también será mejor en entornos reales
  • En un contexto donde los modelos de lenguaje se usan en diversas aplicaciones reales, hay que reconocer que todavía hay muchas cosas que el modelo no hace bien

1 comentarios

 
GN⁺ 2024-03-24
Opiniones en Hacker News
  • Creo que la cadena de pensamiento (chain-of-thought) no debería compararse con una cadena rigurosa de lógica/matemáticas.
    El razonamiento paso a paso del modelo no le da a la salida ese nivel de rigor, y la fuerza de la cadena es solo la fuerza del contexto relacionado, por lo que es mucho más débil que las matemáticas/la lógica humanas.
    Desde la posición de alguien que trabaja a diario con modelos de este campo, pero no los construye directamente, no veo las conexiones necesarias que se enseñan en matemáticas básicas, y a menudo veo que el modelo falla de formas en que un humano por encima de cierta edad no fallaría.
    Al final se parece más a encontrar contexto relacionado, y aunque es potente, no es lo mismo que el razonamiento lógico humano. Los humanos pueden partir de muy pocos conceptos y, sentados en una silla, llegar solo mediante razonamiento puro a conclusiones férreas lejanas, mientras que el modelo más bien va saltando entre contextos.

    • Si un LLM se parece más a hacer muestreo secuencial de Monte Carlo en un espacio latente, la parte de “pensamiento” en la cadena de pensamiento se parece más al periodo de calentamiento necesario en el muestreo SMC.
      Cualquiera que haya hecho estadística bayesiana en serio sabe que un muestreador necesita un breve calentamiento antes de muestrear eficientemente. En la cadena de pensamiento parece ocurrir algo similar: el modelo tiene que deambular un poco antes de entrar en la vecindad correcta para muestrear la respuesta correcta.
    • Creo que buena parte del razonamiento que los humanos expresan como “1, 2, por lo tanto 3” no es muy distinto de lo que hacen los LLM, y de hecho no es más inteligente que eso.
      Mucha gente cree que ha pensado lo suficiente sobre creencias dudosas, pero en realidad no lo ha hecho. Usa el contexto para adivinar el siguiente pensamiento/palabra y con frecuencia llega a la conclusión que ya tenía desde el principio.
      Cuando hablamos de una conclusión férrea, en realidad creo que primero se arma intuitivamente y luego se le añade un proceso fuerte de verificación: si las definiciones son lo bastante claras, si los saltos de razonamiento están justificados, etc.
      Por eso lo que realmente quisiera ver es una forma de enseñar a los LLM a convertir frases ambiguas en inglés en algo que pueda introducirse en un motor de razonamiento formal.
      Por ejemplo, en vez de preguntarle directamente a un LLM “cuántos campos de fútbol caben dentro de Inglaterra”, muchas veces es mejor pedirle que, suponiendo que existen get_size_football_field() y get_size_England() en metros cuadrados, escriba código Python para calcularlo.
    • Yo no tengo esa capacidad de que “los humanos pueden partir de muy pocos conceptos y llegar, solo mediante razonamiento puro, a conclusiones férreas lejanas”.
      Yo dejo de poder razonar más o menos cuando paso de unas 10 líneas de código Go, y eso me quedó claro tras intentar resolver muchos acertijos como hobby.
    • Creo que la estructura del razonamiento humano es casi igual a la cadena de pensamiento.
      Tenemos un bucle auditivo y, cuando nos encontramos con un problema complejo, repetimos una especie de mantra como “ahora que sé XYZ, ¿qué sigue…?”, hasta que se nos ocurre un buen siguiente paso y lo añadimos al contexto.
      Solo que, por ahora, la función de transición del lado humano es mucho mejor.
    • En los LLM, la cadena de pensamiento parece ayudar, al final, a reforzar la memoria.
      Porque escribe el razonamiento dentro del contexto para que luego sea más fácil referenciarlo, aunque por supuesto es solo una conjetura.
  • Una explicación simplificada que creo haber escuchado de Karpathy es que un modelo Transformer solo hace cómputo cuando genera (decodifica) tokens.
    Así que, si se usa cadena de pensamiento para generar más tokens, el modelo tiene más tiempo para “pensar”. Claro que esta explicación no captura todos los matices.

    • También hay otra explicación posible. Un LLM aprende, en esencia, “A B”: qué tan plausible es que B venga después de A.
      En una completación corta, el espacio de posibilidades plausibles es mucho mayor, como A B1, A B2. Si a una pregunta sutil le pides una respuesta breve, pueden ser plausibles tanto una respuesta reflexiva como una que parece correcta a simple vista o una tontería convincente.
      En cambio, si lo fuerzas a explicar el razonamiento, se reduce el espacio de completaciones plausibles. Si empieza con una tontería convincente y la lleva honestamente hasta el final, puede terminar concluyendo que debe revertirla.
      Es parecido a por qué, al refutar una creencia dañina de una persona honesta, funciona bien hacer que despliegue directamente las consecuencias de esa creencia y seguir juntos el efecto de lo que, sin pensarlo demasiado, parecía bueno.
      Por una razón similar, llenar el prompt con elementos que reducen el espacio de completaciones plausibles es prompt engineering efectivo.
    • Una arquitectura Transformer autorregresiva tiene un costo constante por token, sin importar qué tan difícil sea la tarea.
      Aunque le plantees la pregunta de razonamiento más compleja, la cantidad de cómputo necesaria para generar el siguiente token es la misma que para la pregunta sí/no más simple, y eso se debe a una restricción estructural.
      Hacer que el LLM genere datos de “garabatos” para usar en el cálculo y así prestar atención a la información relevante es una forma de sortear ese límite de costo constante. Cuanto más difícil es la tarea, más garabatos se necesitan, para que quede más contexto relevante necesario para los tokens futuros.
    • Al principio pensaba eso, pero ahora creo que en realidad no es correcto. Debido a la máscara que se usa en la atención, aunque se agregue padding detrás de una cadena, la cantidad de trabajo realizada sobre la cadena es la misma.
      En cambio, me di cuenta de que la memoria de trabajo del LLM está limitada por los valores de activación, y eso puede convertirse en un cuello de botella. El modelo puede expandir su memoria de trabajo escribiendo resultados parciales en la salida y volviéndolos a leer.
      Por ejemplo, si le dices “piensa en un número, pero no lo digas”, no tiene dónde guardar ese número. No hay almacenamiento temporal aparte de la cinta. Pero si le dices “piensa paso a paso”, guarda resultados intermedios, es decir, pensamientos, en la cinta, y obtiene almacenamiento adicional para usar en el razonamiento.
    • Por mi experiencia creando un producto con GPT3.5-Turbo, hay un límite superior a la complejidad de las instrucciones que el modelo puede procesar de una sola vez.
      También hay un aspecto de “agregar más cómputo”, pero lo central es estructurar el proceso para que, al tomar decisiones, el modelo se concentre solo en un alcance limitado.
      En la práctica, es como crear una estructura de árbol de decisiones que se construyen unas sobre otras. Al generar tokens intermedios, el modelo puede prestar atención solo a un conjunto más pequeño de decisiones ya plegadas.
      Sin embargo, como un resultado incorrecto anticipado por el modelo también puede sesgar los pasos intermedios y producir un comportamiento anticipatorio, en la práctica es un poco más complejo.
    • Probé poner el stack y las dependencias principales en el prompt de sistema de modelos que uso para programar, y luego hacer preguntas o conversar; ayudó mucho, o al menos así se sintió.
  • La explicación de que “el estudio formal de la computación comenzó en 1936 con la máquina de Turing de Turing” debería remontarse más atrás
    Están la lógica combinatoria de Moses Schönfinkel en la década de 1920 https://en.wikipedia.org/wiki/Moses_Sch%C3%B6nfinkel y el cálculo lambda de Alonzo Church a comienzos de la década de 1930 https://encyclopediaofmath.org/wiki/Lambda-calculus
    Aunque estos modelos son menos adecuados como base para la teoría de la complejidad computacional

    • Visto de forma más amplia, se puede retroceder pasando por Pearce y Frege, Boole, Pascal, Leibniz, hasta llegar a Aristóteles
      Aristóteles probablemente fue una de las primeras personas en intentar formalizar el pensamiento estructurado
      El dispositivo de computación de Turing formalizaba la manera en que un matemático humano manipula símbolos según reglas formales para resolver problemas mediante cálculo, y seguía una larga genealogía de reflexiones sobre esa misma experiencia y sobre qué tan fácil era mecanizarla
      El primero en implementarlo realmente para la aritmética fue Pascal
    • Si te interesa este tema, incluido el trabajo de Schönfinkel, recomiendo https://youtu.be/h0OkptwfX4g
  • Creo que los dos modos del discurso sobre los LLM —“¡tienen conciencia!” y “solo son predictores del siguiente token con un dataset impresionante”— suelen venir de dos grupos distintos
    Personas que primero conocieron los LLM y después aprendieron los fundamentos del aprendizaje automático, y personas que primero aprendieron los fundamentos del aprendizaje automático y luego se encontraron con los LLM actuales
    Yo estoy en el segundo grupo, pero también es real el riesgo de que los prejuicios derivados de esos fundamentos limiten la capacidad de ver el panorama completo, así que el debate en sí me parece bienvenido
    Sobre la cadena de pensamiento, sé al menos que buena parte de los resultados del artículo original después no se reprodujeron bien en intentos posteriores. No sé si eso se debe a particularidades de modelos que cambian todos los días o a razones más profundas

    • Instintivamente, me dan ganas de confiar más en quienes conocen también el conocimiento más antiguo
      Pero una vez me quejé con mi director de tesis de que la gente del campo del aprendizaje automático parecía no conocer bien los trabajos anteriores de aprendizaje automático e IA, y mi director, con más de 30 años de trayectoria en investigación, me dijo que esa queja ya existía cuando él estaba haciendo el doctorado
      En IA hay demasiados trabajos de larga data, unos 80 años si contamos desde Pitts y McCulloch, y muchos también si contamos desde Turing, así que es muy difícil seguir lo que hacen los demás y al mismo tiempo profundizar en el propio tema
      Por ejemplo, si uno abre un libro de aprendizaje por refuerzo, trata problemas casi iguales a los de planificación (planning), con supuestos muy parecidos sobre espacios de estados y acciones, pero a veces parece como si el campo de la planificación no existiera
      Además, sí, son predictores del siguiente token :P
    • Por ahora me inclino hacia la idea de que “los cerebros orgánicos también son solo predictores del siguiente token con un sistema auxiliar de heurísticas impresionante”
      Al ver que un Transformer, siendo una aproximación tan pobre y completamente sin estado, puede producir resultados tan impresionantes, no parece que haya algún truco especial aparte
  • Pensé que esto era obvio. Los LLM no tienen una voz interior ni imágenes interiores como los humanos, así que no pueden pensar primero todo el problema en la cabeza antes de responder
    Por eso, si usan el área real de salida como una especie de bloc de notas, pueden cubrir un espacio de razonamiento más amplio antes de dar la respuesta, de una forma parecida a como lo hacen los humanos
    Si haces una pregunta concreta con el prompt “piensa paso a paso”, se puede ver que en la respuesta final también imprime pensamientos provisionales que no sirven. Es exactamente lo que hacemos cuando resolvemos un problema que no podemos responder de inmediato
    Los humanos también suelen anotar con papel y lápiz pensamientos y respuestas temporales o intermedias. Los LLM no tienen esa herramienta, pero pueden usar la salida de una manera similar
    Algunos prompts de Tree of Thoughts (árbol de pensamientos) hacen que el LLM produzca dos tipos de salida. Una es “pensar con la voz interior” y la otra es la salida que se mostrará al humano
    Darle capacidad de invocar métodos o de “googlear” también puede verse como una forma de realizar pensamiento y razonamiento antes de construir la respuesta que se mostrará al usuario

  • El modelo no puede pensar. Solo predice la salida usando el contexto de entrada
    Por eso, si hay un problema que debe resolverse de manera iterativa, hay que guardar los pasos intermedios en el contexto. De lo contrario, esos pasos no tienen a dónde ir

    • De la frase “predice la salida usando la entrada” no se sigue la conclusión de que “no puede pensar”
      No entiendo por qué el hecho de predecir la salida a partir de la entrada lleva a la creencia de que no puede pensar. Quizá pensar sea precisamente todo eso, y no lo sabemos
  • Se puede pensar en la plausibilidad de 11 + 31 = 24 por una razón simple
    La respuesta es un número, y que sea de dos dígitos también es bastante plausible al sumar entradas de dos dígitos. 24 también es una respuesta común en problemas matemáticos y tiene muchos divisores. Incluso contiene los números que aparecen al sumar 1+3 y 1+1
    Pero la última frase de “muestra el procedimiento. 11 + 31 se suma por decenas: 10 + 30 = 40; se suma por unidades: 1 + 1 = 2; y al combinar 40 y 2 se obtiene 24” no es muy plausible
    O “10 + 30 = 20, 1 + 1 = 4, y al combinar 20 y 4 se obtiene 24” tampoco lo es
    Si se descompone el problema, hay que atravesar regiones de menor probabilidad que una respuesta incorrecta rápida
    Sin embargo, el argumento basado en la complejidad computacional es más fuerte. La explicación anterior puede ser una explicación distractora suficiente en casos simples, así que quizá haya que descartarla antes de afirmar que la complejidad computacional es lo importante
    El argumento de complejidad también es intuitivamente obvio. Si vemos a un LLM como una computadora que en cada ciclo de reloj realiza una propagación hacia adelante de tiempo constante sobre la entrada acumulada hasta ese momento y emite un token, al darle más ciclos puede calcular más
    También puede usar estado. Es posible aunque el mecanismo para transmitir estado de un ciclo al siguiente sea muy limitado
    Esto también se parece a una extensión del viejo problema de que un perceptrón de una sola capa no puede calcular XOR. Aquí el “ciclo” es el avance de una capa a la siguiente
    Por supuesto, eso no significa que los detalles sean obvios. Decir que se pueden usar varios ticks de reloj no explica cuánto se puede hacer en un solo tick

  • Hay un tuit que podría ser una explicación relacionada con el milagro de la cadena de pensamiento, y más simple
    Si buscas la frase “¡Pensemos paso a paso!”, entre varios resultados aparece un sitio como http://geteasysolution.com, donde hay muchas soluciones matemáticas paso a paso. El hecho de que sea bastante común da para pensar
    https://twitter.com/yanaiela/status/1765077404043952516

    • Esa explicación justifica por qué funciona una frase específica, pero no entra en conflicto con una explicación general de por qué funciona la cadena de pensamiento
      Esa frase puede guiar al modelo hacia el espacio conceptual de sitios web con muchos ejemplos de cadena de pensamiento, pero si la cadena de pensamiento no ayudara realmente a pensar, no llevaría a obtener mejores resultados
  • Yo pensaba que esto ya era evidente. Todo es una cuestión de conciencia del contexto
    Si quieres mejorar, basta con agregar un término al prompt para abrir más consideraciones. Suponiendo que no hayas llegado al límite de la ventana de contexto, cada palabra nueva “desbloquea” un nuevo vector con más contexto, y el modelo de lenguaje lo suma a sus consideraciones
    La similitud con lo que parece ser la forma en que funciona el cerebro humano es tan marcada que no tendría sentido no usarla como analogía para usar mejor los modelos de lenguaje
    Si puedes obtener el mismo resultado manipulando un LLM y manipulando el cerebro humano, es decir, usando las palabras adecuadas, no sé por qué habría que creer que hay una diferencia
    Esto se aprende con el tiempo al usar e investigar modelos 3B. Parece que a mucha gente le incomoda, pero algunos modelos, como el “viejo” orca mini 3B, son muy potentes y yo todavía los uso
    Lo que se necesita es un mejor prompt, y este enfoque funciona muy bien
    El mayor obstáculo suele ser la ventana de contexto pequeña de estos modelos chicos, pero se puede sortear sin sacrificar mucho la calidad con una pequeña extensión de RoPE, resúmenes de texto, agregando palabras de contexto o incluso omitiendo letras de palabras en el prompt
    Si quieres mejorar los resultados de un modelo de lenguaje, tienes que convertirte en mentalista, estafador, mago e ingeniero social. Suena raro, pero funciona

    • Esta explicación no aborda los límites no evidentes de la cadena de pensamiento
      Merrill y Sabharwal demostraron que la cadena de pensamiento empieza a ayudar realmente solo cuando la cantidad de pasos intermedios crece en proporción al tamaño de la entrada, y que muchos problemas requieren que la cantidad de pasos intermedios crezca mucho más que eso
      También coincide con mi experiencia. GPT-4 solo puede descomponer problemas “simples” cuando se le pide una solución paso a paso. En particular, en casos con complejidad O(n²) donde los pasos reales mismos deben subdividirse más, divide la tarea en pasos, pero falla de forma confiable al dividir las subtareas otra vez en subpasos. Incluso si esas subtareas podrían resolverse con un prompt de cadena de pensamiento
      Los prompts de cadena de pensamiento funcionan para cálculos O(n) simples porque evitan que el LLM dé la respuesta como una conjetura a ciegas, pero creo que, tanto en teoría como en la práctica, no tienen la capacidad de dividir un problema O(n²) en O(n) subproblemas de O(n). Ni hablar de que los humanos son mucho más inteligentes que eso, y las ratas también
    • Interesante; ¿hay más detalles o recursos para profundizar? Incluso un solo ejemplo real ayudaría
  • La cadena de pensamiento me recuerda a “ir saliendo del paso” (muddling through), y encaja directamente con mi intuición de que es el enfoque correcto para aproximar la inteligencia
    https://studio.ribbonfarm.com/p/massed-muddler-intelligence#...