Athrun Data Intelligence


Procesamiento del jerigonza natural ha crecido rápidamente en los últimos primaveras. Mientras que los modelos privados han estado liderando el camino, los modelos de código destapado se han puesto al día. Olmo 2 es un gran paso delante en el mundo de código destapado, ofreciendo potencia y accesibilidad similar a los modelos privados. Este artículo proporciona una discusión detallada de Olmo 2, que cubre su entrenamiento, rendimiento y cómo usarlo localmente.

Objetivos de formación

  • Comprender la importancia de la fuente abierta LLMS y el papel de Olmo 2 en la investigación de IA.
  • Explore la cimentación de Olmo 2, la metodología de entrenamiento y los puntos de narración de rendimiento.
  • Diferenciar entre modelos de peso destapado, parcialmente destapado y completamente destapado.
  • Aprenda a ejecutar Olmo 2 localmente usando Gradio y Langchain.
  • Implementar OLMO 2 en una aplicación de chatbot con Pitón Ejemplos de código.

Este artículo fue publicado como parte del Blogathon de ciencias de datos.

Comprender la requisito de LLM de código destapado

El dominio original de las LLM propietarias creó preocupaciones sobre la accesibilidad, la transparencia y el control. Los investigadores y desarrolladores tenían una capacidad limitada para comprender el funcionamiento interno de estos modelos, lo que obstaculiza una longevo innovación y posiblemente perpetuos. Los LLM de código destapado han abordado estas preocupaciones al proporcionar un entorno de colaboración donde los investigadores pueden analizar, modificar y mejorar los modelos existentes. Un enfoque destapado es crucial para avanzar en el campo y avalar que los beneficios de los LLM estén ampliamente disponibles.

Olmoiniciado por el Instituto Allen para AI (AI2), ha estado a la vanguardia de este movimiento. Con el divulgación de OLMO 2, han solidificado su compromiso de rajar la ciencia al proporcionar no solo los pesos del maniquí, sino incluso los datos de capacitación, el código, las recetas, los puntos de control intermedios y los modelos ajustados a las instrucciones. Este divulgación completo permite a los investigadores y desarrolladores comprender y reproducir completamente el proceso de crecimiento del maniquí, allanando el camino para una longevo innovación. Pasar Olmo 2 localmente con Gradio y Langchain

Allen Ai

¿Qué es Olmo 2?

Olmo 2 marca una modernización significativa de su antepasado, el OLMO-0424. La novedosa comunidad de modelos de parámetros 7b y 13b muestran un rendimiento comparable o, a veces, los modelos totalmente abiertos de los similares, mientras compiten con una interpretación de peso destapado como Ardor 3.1 sobre puntos de narración académicos en inglés. Esto hace que el logro sea muy importante dada una cantidad total corta de fracasos de entrenamiento en relación con algunos modelos similares.

  • OLMO-2 muestra una mejoramiento significativa: Los modelos OLMO-2 (versiones de parámetros 7B y 13B) demuestran un brinco de rendimiento claro en comparación con los modelos OLMO anteriores (OLMO-7B, OLMO-7B-0424, OLMOE-1B-7B-0924). Esto sugiere un progreso sustancial en la cimentación, los datos de capacitación o la metodología de capacitación del maniquí.
  • Competitivo con map-neo-7b: Los modelos OLMO-2, especialmente la interpretación 13B, logran puntajes comparables a MAP-NEO-7B, que probablemente fue una ristra de saco más robusto entre los modelos completamente abiertos enumerados.

Romper el proceso de entrenamiento de Olmo 2

La cimentación de Olmo 2 se fundamento en la saco del OLMO llamativo, incorporando varios cambios esencia para mejorar la estabilidad y el rendimiento del entrenamiento.

El proceso de pre -proyren para OLMO 2 se divide en dos etapas:

  • Etapa 1: Entrenamiento en la saco: esta etapa utiliza el conjunto de datos OLMO-MIX-1124, una colección masiva de aproximadamente 3.9 billones de tokens procedentes de varios conjuntos de datos abiertos. Esta etapa se centra en construir una saco sólida para las capacidades de comprensión del idioma del maniquí.
  • Etapa 2: Refinamiento y especialización: esta etapa emplea el conjunto de datos Dolmino-Mix-1124, una mezcla curada de datos web de reincorporación calidad y datos específicos de dominio, incluidos contenido purista, foros de preguntas y respuestas, datos de instrucciones y libros de trabajo matemático. Esta etapa refina el conocimiento y las habilidades del maniquí en áreas específicas. El uso de «soporte maniquí» para combinar múltiples modelos entrenados mejoramiento aún más el punto de control final.

Como OLMO-2 es un maniquí completamente destapado, veamos cuál es la diferencia entre modelos de peso destapado, modelos parcialmente abiertos y modelos completamente abiertos:

Modelos de peso destapado

Ardor-2-13b, Mistral-7B-V0.3, Ardor-3.1-8b, Mistral-Nemo-12b, Qwen-2.5-7b, Gemma-2-9B, Qwen-2.5-14b: Estos modelos comparten un nota esencia: sus pesos están disponibles públicamente. Esto permite a los desarrolladores usarlos para varias tareas de PNL. Sin secuestro, los detalles críticos sobre su proceso de capacitación, como la composición exacta del conjunto de datos, el código de capacitación y los hiperparámetros, no se revelan por completo. Esto los convierte en «peso destapado», pero no completamente transparentes.

Modelos parcialmente abiertos

Stablelm-2-128, Zamba-2-7b: Estos modelos caen en un ámbito sombrío. Ofrecen información adicional más allá de los pesos, pero no la imagen completa. Stablelm-2-128, por ejemplo, enumera flops de entrenamiento, lo que sugiere más transparencia que los modelos puramente abiertos. Sin secuestro, la desaparición de datos de capacitación y código completos lo colocan en la categoría «parcialmente abierta».

Modelos completamente abiertos

Amber-7b, Olmo-7b, MAP-Neo-7B, OLMO-0424-7B, DCLM-7B, OLMO-2-1124-7B, OLMO-2-1124-13B: Estos modelos se destacan conveniente a su integral comprensión. AI2 (Allen Institute for AI), la ordenamiento detrás de la serie OLMO, ha agresivo todo lo necesario para la transparencia total y la reproducibilidad: pesos, datos de capacitación (o descripciones detalladas de la misma), código de entrenamiento, la «prescripción» de entrenamiento completa (incluidos los hiperparametros) , puntos de control intermedios y versiones ajustadas a instrucciones. Esto permite a los investigadores analizar profundamente estos modelos, comprender sus fortalezas y debilidades, y construir sobre ellos.

Diferencias esencia

Característica Modelos de peso destapado Modelos parcialmente abiertos Modelos completamente abiertos
Mancuerna Libre Libre Libre
Datos de capacitación Normalmente no Parcialmente arreglado Totalmente arreglado
Código de entrenamiento Normalmente no Parcialmente arreglado Totalmente arreglado
Fórmula de entrenamiento Normalmente no Parcialmente arreglado Totalmente arreglado
Reproducibilidad Pequeño Más que peso destapado, menos que completamente destapado Saciado
Transparencia Bajo Medio Stop

Explore Olmo 2

Olmo 2 es un maniquí de jerigonza de código destapado renovador diseñado para conversaciones eficientes y potentes impulsadas por la IA. Se integra a la perfección con marcos como Langchain, lo que permite a los desarrolladores crear chatbots inteligentes y aplicaciones de IA. Explore sus capacidades, cimentación y cómo mejoramiento la comprensión del jerigonza natural en varios casos de uso.

  • Obtenga el maniquí y los datos: Descargar Aquí
  • Código de entrenamiento: Traza
  • Evaluación: Traza

Vamos a ejecutarlo localmente

Descargar Ollama aquí.

Para descargar OLMO-2 Open CMD y escriba

ollama run olmo2:7b

Esto descargará OLMO2 en su sistema

Instalar bibliotecas

pip install langchain-ollama
pip install gradio

Construyendo un chatbot con olmo 2

Aproveche el poder de Olmo 2 para construir un chatbot inteligente con capacidades de peso destapado LLM. Aprenda a integrarlo con Python, Gradio y Langchain para interacciones sin problemas.

Paso 1: Importar bibliotecas requeridas

Cargue bibliotecas esenciales, incluidos Gradio para UI, Langchain para el manejo rápido y Ollamallm para servirse el maniquí OLMO 2 en las respuestas de chatbot.

import gradio as gr
from langchain_core.prompts import ChatPromptTemplate
from langchain_ollama.llms import OllamaLLM

Paso 2: Definición de la función de concepción de respuesta

Cree una función que tome el historial de chat y la entrada del legatario, formatea el mensaje, invoca el maniquí OLMO 2 y actualiza el historial de conversación con respuestas generadas por IA.

def generate_response(history, question):
    template = """Question: {question}

    Answer: Let's think step by step."""
    prompt = ChatPromptTemplate.from_template(template)
    model = OllamaLLM(model="olmo2")
    chain = prompt | model
    answer = chain.invoke({"question": question})
    history.append({"role": "user", "content": question})
    history.append({"role": "assistant", "content": answer})
    return history

La función Generate_Response toma un historial de chat y una pregunta del legatario como entrada. Define una plantilla de aviso donde la pregunta se inserta dinámicamente, instruyendo a la IA que piense paso a paso. Luego, la función crea un chatPromptTemplate e inicializa el maniquí Ollamallm (OLMO2). Usando la tubería de Langchain (maniquí | maniquí), genera una respuesta invocando el maniquí con la pregunta proporcionada. El historial de conversación se actualiza, agregando la pregunta del legatario y la respuesta de IA. Devuelve el historial actualizado para más interacciones.

Paso 3: Creación de la interfaz de Gradio

Use Gradio’s Blocks, Chatboty Textbox Componentes para diseñar una interfaz de chat interactiva, lo que permite a los usuarios ingresar preguntas y acoger respuestas dinámicamente.

with gr.Blocks() as iface:
    chatbot = gr.Chatbot(type="messages")
    with gr.Row():
        with gr.Column():
            txt = gr.Textbox(show_label=False, placeholder="Type your question here...")
    txt.submit(generate_response, (chatbot, txt), chatbot)
  • Usa gr.chatbot () para mostrar conversaciones.
  • Usa gr.textbox () para la entrada del legatario.

Paso 4: Impulso de la aplicación

Ejecute la aplicación Gradio usando iface.launch()implementando el chatbot como una interfaz basada en la web para interacciones en tiempo verdadero.

iface.launch()

Esto inicia la interfaz de Gradio y ejecuta el chatbot como una aplicación web.

Obtener código de GitHub Aquí.

Producción

producción

Inmediato

Escriba una función de Python que devuelva verdadera si un número donado es un poder de 2 sin usar bucles o recursión.

Respuesta

Respuesta: Ejecutar OLMO-2 localmente con Gradio y Langchain
Salida: ejecutar OLMO-2 localmente con Gradio y Langchain
Salida: ejecutar OLMO-2 localmente con Gradio y Langchain

Conclusión

Por lo tanto, OLMO-2 se destaca como una de las mayores contribuciones al ecosistema LLM de código destapado. Es uno de los artistas más poderosos en el ámbito de la transparencia total, con enfoque en la eficiencia de entrenamiento. Refleja la creciente importancia de la colaboración abierta en el mundo de la IA y allanará el camino para el progreso futuro en modelos de idiomas accesibles y transparentes.

Si aceptablemente OLMO-2-138 es un maniquí muy robusto, no es claramente dominante en todas las tareas. Algunos modelos parcialmente abiertos y QWEN-2.5-14B, por ejemplo, obtienen puntajes más altos en algunos puntos de narración (por ejemplo, QWEN-2.5-14B supera significativamente en ARC/C y Winog). Encima, OLMO-2 se queda significativamente detrás de los mejores modelos en tareas desafiantes particulares como GSM8K (matemáticas de la escuela primaria) y probablemente agieval.

A diferencia de muchos otros LLM, OLMO-2 está completamente destapado, proporcionando no solo los pesos del maniquí sino incluso los datos de entrenamiento, el código, las recetas y los puntos de control intermedios. Este nivel de transparencia es crucial para la investigación, la reproducibilidad y el crecimiento impulsado por la comunidad. Permite a los investigadores comprender a fondo las fortalezas, debilidades y posibles sesgos del maniquí.

Para tolerar

  • Los modelos OLMO-2, especialmente la interpretación de parámetros 13B, muestran excelentes resultados de rendimiento en una serie de puntos de narración, superando a otras arquitecturas de peso destapado e incluso parcialmente abiertas. Parece que la comprensión completa es una de las formas de hacer potentes LLM.
  • Los modelos completamente abiertos (particularmente Olmo) tienden a funcionar aceptablemente. Esto respalda el argumento de que tener comunicación al proceso de capacitación completo (datos, código, etc.) facilita el crecimiento de modelos más efectivos.
  • El chatbot mantiene el historial de conversación, asegurando que las respuestas consideren las interacciones anteriores.
  • Las actualizaciones de UI basadas en eventos de Gradio (txt.submit) en tiempo verdadero, haciendo que el chatbot sea sensible y obediente de usar.
  • Ollamallm integra modelos AI en la tubería, lo que permite una funcionalidad de respuesta de pregunta perfecta.

Preguntas frecuentes

Q1. ¿Qué son los fracasos y por qué son importantes?

A. Flops representan operaciones de puntos flotantes. Representan la cantidad de cálculo que realiza un maniquí durante el entrenamiento. Se utilizaron floos más altos en genérico significan más posibles computacionales. Son un indicador importante, aunque no único, de la capacidad potencial del maniquí. Sin secuestro, la eficiencia arquitectónica y la calidad de los datos de capacitación incluso juegan enormes roles.

Q2. ¿Cuál es la diferencia entre «pesos abiertos», modelos «parcialmente abiertos» y «completamente abiertos»?

A. Esto se refiere al nivel de comunicación a los componentes del maniquí. «Pesos abiertos» solo proporciona los parámetros capacitados. «Parcialmente destapado» proporciona información adicional (por ejemplo, algunos datos de capacitación o detalles de capacitación de detención nivel). «Completamente destapado» proporciona todo: pesos, datos de capacitación, código, recetas, etc., lo que permite la transparencia total y la reproducibilidad.

Q3. ¿Por qué se usa la plantilla de inmediato de chat?

A. La plantilla de solicitud de chat permite la inserción dinámica de las consultas de los usuarios en un formato de inmediato predefinido, asegurando que la IA responda de modo estructurada y deducción.

Q4. ¿Cómo administración de Gradio la interfaz de legatario de chatbot?

El componente Gr.Chatbot de A. Gradio muestra visualmente la conversación. El Gr.TextBox permite a los usuarios ingresar preguntas, y al dirigir, el chatbot se actualiza con nuevas respuestas dinámicamente.

Q5. ¿Puede este chatbot reconocer diferentes modelos de IA?

R. Sí, cambiando el maniquí = ”olmo2 ″ ristra a otro maniquí arreglado en OllamaEl chatbot puede usar diferentes modelos de IA para la concepción de respuesta.

Los medios que se muestran en este artículo no son propiedad de Analytics Vidhya y se usan a discreción del autor.

Hola, soy Gourav, entusiasta de la ciencia de datos con una saco media en prospección estadístico, formación forzoso y visualización de datos. Mi delirio al mundo de los datos comenzó con una curiosidad por despanzurrar los conocimientos de los conjuntos de datos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *