2 puntos por GN⁺ 2024-09-17 | 1 comentarios | Compartir por WhatsApp
  • g1 es un prototipo inicial que usa estrategias de prompting para mejorar la capacidad de razonamiento de los LLM
  • Esto permite que los LLM resuelvan problemas lógicos y abordar problemas que a los modelos existentes les cuesta resolver
  • g1 se publicó como open source para inspirar a la comunidad de código abierto a desarrollar nuevas estrategias

Cómo funciona

  • g1 usa Llama3.1-70b para generar una Chain of Thought dinámica.
  • En cada paso, el LLM puede avanzar al siguiente paso de razonamiento o entregar una respuesta final.
  • El system prompt incluye consejos para el LLM.
  • Por ejemplo, incluye instrucciones como "explorar respuestas alternativas" y "usar al menos 3 métodos para llegar a la respuesta".
  • Estos métodos mejoran la capacidad de razonamiento del LLM.

Ejemplos

  • g1 puede resolver problemas lógicos simples con una precisión de 60-80%.
  • Ejemplo: ante la pregunta "¿cuántas R hay en strawberry?", g1 muestra una precisión del 70%.

Inicio rápido

  • Cómo usar la UI de Streamlit:

    python3 -m venv venv  
    source venv/bin/activate  
    pip3 install -r requirements.txt  
    export GROQ_API_KEY=gsk...  
    streamlit run app.py  
    
  • Cómo usar la UI de Gradio:

    cd gradio  
    pip3 install -r requirements.txt  
    python3 app.py  
    

Estrategias de prompting

  • Ejemplo de prompt:

    {  
      "title": "Identifying Key Information",  
      "content": "To begin solving this problem, we need to carefully examine the given information and identify the crucial elements that will guide our solution process. This involves...",  
      "next_action": "continue"  
    }  
    
  • Estructura del prompt:

    • Asignar el rol de asistente experto en IA
    • Proporcionar un título y contenido en cada paso
    • Responder en formato JSON
    • Usar al menos 3 pasos de razonamiento
    • Reconocer las limitaciones del LLM e incluir exploración de respuestas alternativas
    • Al revisar, usar realmente un enfoque distinto

Forks principales

  • Mult1: genera una cadena de razonamiento similar a o1 usando varios proveedores de IA (repositorio de GitHub)

Créditos

  • Esta app fue desarrollada por Benjamin Klieger

Resumen de GN⁺

  • g1 es un prototipo inicial que usa estrategias de prompting para mejorar la capacidad de razonamiento de los LLM.
  • Se publicó como open source para inspirar a la comunidad de código abierto a desarrollar nuevas estrategias.
  • g1 muestra una mayor precisión que los modelos existentes para resolver problemas lógicos simples.
  • Este artículo es útil para explorar distintos métodos para mejorar la capacidad de razonamiento de los LLM.
  • Otro proyecto con funciones similares es o1 de OpenAI.

1 comentarios

 
GN⁺ 2024-09-17
Opinión de Hacker News
  • El método ChainOfThought es simple, y TreeOfThoughts es un método más sofisticado
    • Las pistas relacionadas con OpenAI tienen que ver con la exploración de árboles
    • Lo importante es construir CoT como un árbol y encontrar la solución óptima
  • Es curioso enfatizar las instrucciones en MAYÚSCULAS
    • La primera persona que logre AGI encontrará una forma de aumentar la confiabilidad de los LLM
  • La innovación de o1 no es Chain-of-Thought, sino enseñar al modelo a ejecutar bien CoT
    • No se puede obtener el rendimiento de o1 solo con prompt engineering
  • Un LLM puede resolver problemas "ampliando" la entrada de distintas maneras
    • Se pueden ingresar textos letra por letra o convertirlos en imágenes para revisar los detalles
  • Hace un trabajo similar al proyecto optillm
    • Se pueden mejorar los LLM usando varias técnicas de optimización
  • Lo cambié para que se ejecute 100% local usando ollama:8b
    • El Readme todavía no está actualizado
  • Es importante encontrar una definición de "razonamiento"
    • Los problemas de razonamiento de los LLM pueden resolverse combinándolos con algoritmos clásicos
    • Hay que dividir el proceso de pensamiento en dos partes y ejecutarlo en el modelo adecuado
  • En un prompt que pregunta cuál es mayor entre .9 y .11, responde que .9 es mayor
    • Este es un prompt de sistema simple
  • Por diversión, hice un fork del proyecto para ejecutar localmente el modelo Llama-3.1 7B
    • No puede resolver el problema de la fresa, pero sí descubre que 0.9 es mayor