# 6 - Cómo aprender cualquier cosa en 2023, y un paper científico - Skeleton-of-Thoughts ![Newsletter 6-1 - Skeleton of Thoughts infograph.png](Newsletter/2024/attachments/Newsletter%205%20-%20Eventos.md/Exported%20image%2020240705224452-0.png) Iba a escribir un post sobre un nuevo paper que explica la técnica del Skeleton of Thoughts. Pero el proceso de cómo he _entendido_ el paper me parece mucho más interesante que el paper en sí. Así que aquí os lo traigo: el paper y el proceso. El paper, no está mal. El proceso es espectacular. Además, es divertido. **Disclaimer totalmente innecesario** No me he leído el paper. Lo he _entendido_ (a falta de una palabra mejor), lo que significa que en realidad sólo tengo una idea del contenido, que podría estar incompleta o incluso equivocada en algún punto. Me da igual que mi entendimiento pudiera ser incompleto porque no me va la vida en ello, no es un documento legal, crítico ni nada. Es pura investigación por gusto. Pero esta vez, de forma muy visual y entretenida. Lo he _entendido_ por cómo me lo ha explicado máquina, de forma visual Allá van los capítulos de hoy: 1. Skeleton-of-Thoughts, el paper 2. El proceso de entenderlo <-- esto es lo que mola **Skeleton-of-Thoughts, el paper** Hay diversas técnicas de cómo preguntar a los modelos de lenguage, para obtener mejores respuestas. Hemos hablado bastante por aquí del tema. Normalmente yo manejo este diagrama para explicarlas: ![Newsletter 6-2 - diagrams.png](Newsletter/2024/attachments/Newsletter%205%20-%20Eventos.md/Exported%20image%2020240705224452-1.png) De forma ultra-simplificada: - **Prompt**: hacerle una pregunta al modelo y obtener una respuesta. - **Chain of Thoughts (CoT)**: hacerle una pregunta pidiendo un razonamiento paso a paso, forzando a que el modelo divida el problema en piezas más pequeñas. Pasos lineales, secuenciales. - **Tree of Thoughts (ToT)**: pedirle al modelo que explore varias vías de razonamientos distintos. Diferentes ramas de razonamiento en paralelo - **Algorithm of Thoughts (AoT)**: Similar al Árbol, pero tratando de eliminar el problema común a todos los métodos anteriores --> que se arrastren los erroes. En el Algoritmo se tratan de detectar erroes de razonamiento y "cortar" esas ramas. Y aquí viene el nuevo, el **Skeleton of Thoughts (SoT)** ( [https://arxiv.org/pdf/2307.15337.pdf](https://arxiv.org/pdf/2307.15337.pdf)). En el SoT, primero se mira si la pregunta es compleja. En caso positivo, primero se genera un esqueleto de las ideas a desarrolar. Luego, se desarrollan a partir del esqueleto. Cada idea se desarrolla en paralelo, y luego convergen, se construye la respuesta final y violà, la tenemos. ![Newsletter 6-3 - SoT official.png](Newsletter/2024/attachments/Newsletter%205%20-%20Eventos.md/Exported%20image%2020240705224452-2.png) Imagen del post del blog de research de Microsoft ( [https://www.microsoft.com/en-us/research/blog/skeleton-of-thought-parallel-decoding-speeds-up-and-improves-llm-output/](https://www.microsoft.com/en-us/research/blog/skeleton-of-thought-parallel-decoding-speeds-up-and-improves-llm-output/)) Según la explicación de Máquina, sería esto: 1. **Entrada de la pregunta**: Todo comienza con una pregunta que se introduce en el sistema. 2. **Decisión del Enrutador**: Cuando el sistema recibe la pregunta, primero decide si es adecuado usar el método del esqueleto de pensamientos. Si la pregunta es simple o el método no se considera necesario, puede optar por generar una respuesta de manera normal. 3. **Generación del Esqueleto**: Si el enrutador decide usar el método del esqueleto, el sistema comienza creando un esqueleto o contorno básico de la respuesta. Este esqueleto es una versión simplificada de lo que será la respuesta final, y destaca los puntos clave o las ideas principales que deben desarrollarse. 4. **Expansión Paralela**: Una vez que se tiene el esqueleto, el sistema trabaja en cada parte de este esqueleto simultáneamente, expandiendo cada punto clave para desarrollar una sección completa de la respuesta. Al hacer esto en paralelo, se ahorra tiempo en comparación con hacerlo de forma secuencial. 5. **Convergencia y Salida**: Finalmente, todas las partes expandidas se unen para formar la respuesta completa, que es entonces entregada como la salida del sistema. El método del esqueleto de pensamientos es útil porque puede hacer que la generación de respuestas sea más rápida y puede ayudar a mejorar la calidad de las respuestas, ya que permite al sistema concentrarse en desarrollar cada parte de la respuesta de manera más efectiva y eficiente. Lo interesante del Skeleton para mí es el modelo mental de, 1) primero el esqueleto y 2) luego desarrollo las ideas. Básicamente es lo que suelo hacer yo para, más o menos, todo :-) Por eso me gusta, supongo. **Entendimiento visual de un paper** Aquí viene la gracia de todo esto. Me encuentro el otro día con un nuevo paper que pinta interesante. Pero, sinceramente, no me apetecía ponerme a leerlo. No es que fuera algo importantísimo que requiera mi atención, era más por gusto. Y tenía otras cosas en mente, como aprender ya de una vez por todas a hacer infografías de forma extremadamente rápida y mental. Así que se me ocurrió lo siguiente: si ya tengo varios diagramas con los métodos anteriores, CoT, ToT y AoT, **¿por qué no le paso los datos a Máquina (el paper y mis diagramas) y le pido que me cree un diagrama del SoT explicado en el nuevo paper?** Le pasé a Máquina la imagen con los 4 diagramas previos, y el paper. Y le pedí un quinto diagrama explicando el paper con el estilo de los anteriores. El último lo generó él a partir de la imagen de los 4 y el paper (colores no incluidos). En formato Mermaid, que es lo que maneja bien mi app favorita de diagramas, Excalidraw. “Newspaper 6-4 - Diagrams.png” could not be found. Y aquí me encuentro interpretando el nuevo diagrama, de forma visual como me gusta a mí, y comparándolo con los diagramas míos anteriores. ![Newsletter 6-5 - Skeleton of Thoughts E.png](Exported%20image%2020240705224452-3.png) A partir de ahí el proceso continúa manteniendo una conversación con Máquina sobre el tema. Preguntas, detalles, explicaciones, etc. Pero he aquí la cuestión: El proceso de empezaro por el diagrama ir haciendo preguntas y leyendo partes concretas del paper me resulta muchísimo más efectivo que simplemente leer o incluso hacer yo el diagrama según voy leyendo. Os dejo algún pantallazo más, de cómo funciona el enrutador, o de cómo puede hacerse un desarrollo de ideas por separado, en paralelo. Me encanta el concepto de "paralelismo controlado" :-) ![Newsletter 6-6 - Process 1.png](Exported%20image%2020240705224452-4.png) y otra. Importante, el proceso de preguntas y respuestas requiere cuestionar lo que dice Máquina. _Pensamiento crítico_, se perfila como la única habilidad esencial en el futuro. ![Newsletter 6-7 - Process 2.png](Exported%20image%2020240705224452-5.png) Tip: si por el tipo de documento que es, no puedes permitirte erroes, bastaría con que le pidas a tu copiloto o asistente favorito que en las explicaciones utilice citas literales de la fuente. Con eso basta para forzarle a repasar mejor el contenido y ser más específico. Bonus: yo uso Máquina, un GPT de GPT-4 especialmente instruido para que me explique cosas, que no sea muy pesado y que no invente (sin avisar). Bonus 2: la infografía. Esto merece otro apartado **Infografías** El vídeo de cómo hacer presentaciones mejor y más rápido está funcionando muy bien (vídeo aquí [https://payhip.com/b/7HCEt](https://payhip.com/b/7HCEt), explicación aquí [https://www.linkedin.com/posts/davidhurtadotoran_extra-c%C3%B3mo-hacer-presentaciones-mejores-activity-7126980775090040832-cXH3?utm_source=share&utm_medium=member_desktop](https://www.linkedin.com/posts/davidhurtadotoran_extra-c%C3%B3mo-hacer-presentaciones-mejores-activity-7126980775090040832-cXH3?utm_source=share&utm_medium=member_desktop)), parece que os gusta. Pero en 2024 creo que esto ya no será suficiente. En 2024 empieza la era en que las presentaciones las va a hacer todas el Copiloto (o Asistente o como lo llames tú). La primera consecuencia de esto será que todas las presentaciones estarán muy bien estructuradas. Seguro que, incluso aunque el contenido base sea malo, el copiloto de turno será capaz de hacer una buena estructura de ideas para presentar. La segunda consecuencia, me temo, es que las presentaciones van a ser todas aburridas. Potencialmente, más aburridas de lo que lo son ahora. Así que tengo que aprender algún método rápido y efectivo para crear presentaciones visuales y distintas. Y estoy con las infografías. **Infografía de prueba de Skeleton-of-Thoughts** Se me ocurrió pedirle a Máquina que hiciera una infografía del Skeleton Of Thoughts, y el resultado es bastante bueno. Sólo he editado los textos. No es perfecta, pero no está nada mal. ![Newsletter 6-1 - Skeleton of Thoughts infograph.png](Exported%20image%2020240705224452-6.png) Poco a poco vamos avanzando hacia el "método definitivo para hacer infografías de forma súper rápida y efectiva". Os sorprenderá la herramienta :-) ![Newsletter 6-x.png](Exported%20image%2020240705224452-7.png) ![Newsletter 6-y.png](Exported%20image%2020240705224452-8.png)