Marco-o1: una versión de código abierto del modelo OpenAI o1 basado en Qwen2-7B-Instruye el ajuste fino para explorar modelos de inferencia abiertos para resolver problemas complejos.

Introducción general

Marco-o1 es un modelo de razonamiento abierto desarrollado por Alibaba International Digital Commerce Group (AIDC-AI) para resolver problemas complejos del mundo real. Marco-o1 no sólo se centra en disciplinas con respuestas estándar, como las matemáticas, la física y la programación, sino que también se esfuerza por generalizar a dominios en los que no existen criterios claros y en los que es difícil cuantificar las recompensas. El objetivo del proyecto es explorar el potencial de los modelos de inferencia a gran escala para aplicaciones multilingües y, mediante la optimización y mejora continuas, aumentar la capacidad de razonamiento de los modelos y su gama de aplicaciones.

Marco-o1:基于Qwen2-7B-Instruct微调的开源版OpenAI o1模型,探索开放式推理模型,解决复杂问题

 

Lista de funciones

  • Ajuste de la cadena de pensamiento (CoT)Mejorar la capacidad de inferencia del modelo afinando el modelo base con todos los parámetros, combinando conjuntos de datos CoT de código abierto y datos sintéticos de investigación propia.
  • Búsqueda en árbol Monte Carlo (MCTS)Utilizar la confianza de los resultados del modelo para guiar la búsqueda, ampliar el espacio de soluciones y optimizar la ruta de inferencia.
  • Razonamiento Estrategia de acciónImplementar estrategias de acción de razonamiento innovadoras y mecanismos reflexivos para explorar acciones a diferentes niveles de granularidad y mejorar la capacidad de los modelos para resolver problemas complejos.
  • Traducción multilingüeLa primera aplicación de un modelo de inferencia a gran escala a una tarea de traducción automática, explorando las leyes de escalado del tiempo de inferencia en dominios multilingües y de traducción.
  • Formación de modelos de recompensaDesarrollo de modelos de recompensa por resultados (ORM) y modelos de recompensa por procesos (PRM) para proporcionar señales de recompensa más precisas y reducir la aleatoriedad en los resultados de la búsqueda de árboles.
  • Formación intensivaOptimización del proceso de toma de decisiones del modelo mediante técnicas de aprendizaje por refuerzo para mejorar aún más su capacidad de resolución de problemas.

 

Utilizar la ayuda

Proceso de instalación

  1. Visite la página de GitHubIr aMarco-o1 Página GitHub.
  2. almacén de clonesUtilice el comandogit clone https://github.com/AIDC-AI/Marco-o1.gitClona el repositorio en local.
  3. Instalación de dependencias: Vaya al directorio del proyecto y ejecutepip install -r requirements.txtInstale las dependencias necesarias.

Normas de uso

  1. Modelos de cargaEn el entorno Python, utilice el siguiente código para cargar el modelo:
    from transformers import AutoModelForCausalLM, AutoTokenizer
    model_name = "AIDC-AI/Marco-o1"
    model = AutoModelForCausalLM.from_pretrained(model_name)
    tokenizer = AutoTokenizer.from_pretrained(model_name)
    
  2. Ejemplo de razonamiento: Razonamiento con modelos, he aquí un ejemplo sencillo: python
    input_text = "How many 'r' are in strawberry?"
    inputs = tokenizer(input_text, return_tensors="pt")
    outputs = model.generate(**inputs)
    print(tokenizer.decode(outputs[0], skip_special_tokens=True))
  3. traducción multilingüeMarco-o1: Marco-o1 rinde bien en tareas de traducción multilingüe, y el siguiente es un ejemplo de traducción: python
    input_text = "这个鞋拥有踩屎感"
    inputs = tokenizer(input_text, return_tensors="pt")
    outputs = model.generate(**inputs)
    print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Flujo detallado de funcionamiento de las funciones

  1. Ajuste de la cadena de pensamiento (CoT)::
    • Preparación de datos: Recopilar y cotejar conjuntos de datos de código abierto sobre CoT y datos sintéticos de autoinvestigación.
    • Ajuste de modelosUtiliza los datos anteriores para afinar el modelo base con todos los parámetros y mejorar su inferencia.
  2. Búsqueda en árbol Monte Carlo (MCTS)::
    • representación nodalEn el marco MCTS, cada nodo representa un estado de razonamiento en el proceso de resolución de problemas.
    • Salida de movimientoLas posibles acciones de un nodo son generadas por el LLM y representan pasos potenciales en la cadena de inferencia.
    • Retroceso y cálculo de bonificacionesDurante la fase de retroceso, el LLM continúa el proceso de razonamiento hasta el estado de terminación.
    • Búsqueda BootstrapUtiliza puntuaciones de recompensa para evaluar y seleccionar rutas prometedoras para dirigir la búsqueda hacia cadenas de inferencia más fiables.
  3. Razonamiento Estrategia de acción::
    • Granularidad de la acción: Explorar acciones en diferentes granularidades dentro del marco MCTS para mejorar la eficacia y la precisión de la búsqueda.
    • Mecanismos de reflexiónEl hecho de incitar a los modelos a la autorreflexión mejora significativamente su capacidad para resolver problemas complejos.
  4. Traducción multilingüe::
    • solicitud de misiónAplicación de grandes modelos de inferencia a tareas de traducción automática para explorar las leyes de escalado del tiempo de inferencia en dominios multilingües y de traducción.
    • Ejemplo de traducción: Demostrar el rendimiento superior del modelo en la traducción de expresiones de argot.
  5. Formación de modelos de recompensa::
    • Modelo de recompensa por resultados (ORM): Entrenar modelos para proporcionar señales de recompensa más precisas y reducir la aleatoriedad de los resultados de la búsqueda en árbol.
    • Modelización de la recompensa por procesos (PRM)Optimización adicional de las rutas de inferencia del modelo mediante la modelización de la recompensa del proceso.
  6. Formación intensiva::
    • Optimización de decisionesOptimización del proceso de toma de decisiones del modelo y mejora de su capacidad de resolución de problemas mediante técnicas de aprendizaje por refuerzo.
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...