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

¿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.
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
, Chatbot
y 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

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



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
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.
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.
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.
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.
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.