Maison > Périphériques technologiques > IA > Running Olmo-2 localement avec Gradio et Langchain

Running Olmo-2 localement avec Gradio et Langchain

William Shakespeare
Libérer: 2025-03-06 10:55:08
original
945 Les gens l'ont consulté

OLMO 2: Un puissant LLM open-source pour Ai accessible

Le domaine du traitement du langage naturel (PNL) a connu des progrès rapides, en particulier avec des modèles de langage grand (LLM). Alors que les modèles propriétaires ont historiquement dominé, les alternatives open source comblent rapidement l'écart. Olmo 2 représente un saut significatif en avant, offrant des performances comparables aux modèles de source fermée tout en maintenant une transparence et une accessibilité complètes. Cet article plonge dans OLMO 2, explorant sa formation, sa performance et son application pratique.

Points d'apprentissage clés:

  • Saisissez l'importance des LLMS open source et de la contribution d'Olmo 2 à la recherche sur l'IA.
  • Comprendre l'architecture d'Olmo 2, les méthodes de formation et les résultats de référence.
  • Différencier entre les architectures de modèle ouvertes, partiellement ouvertes et entièrement ouvertes.
  • Apprenez à exécuter OLMO 2 localement en utilisant Gradio et Langchain.
  • Créez une application de chatbot en utilisant OLMO 2 avec des exemples de code Python.

(Cet article fait partie du blogathon de la science des données.)

Table des matières:

  • La nécessité de LLMS open source
  • Présentation de Olmo 2
  • déconstruire la formation d'Olmo 2
  • Exploration des capacités d'Olmo 2
  • Construire un chatbot avec Olmo 2
  • Conclusion
  • Les questions fréquemment posées

La demande de LLMS open source

La domination initiale des LLM propriétaires a soulevé des préoccupations concernant l'accessibilité, la transparence et les biais. Les LLMS open-source abordent ces problèmes en favorisant la collaboration et en permettant un examen minutieux, une modification et une amélioration. Cette approche ouverte est vitale pour faire progresser le domaine et assurer un accès équitable à la technologie LLM.

Le projet OLMO de l'Allen Institute for AI (AI2) illustre cet engagement. Olmo 2 va au-delà de la simple libération des poids du modèle; Il fournit les données de formation, le code, les recettes de formation, les points de contrôle intermédiaires et les modèles réglés par l'instruction. Cette version complète favorise la reproductibilité et l'innovation supplémentaire.

Comprendre Olmo 2

OLMO 2 améliore considérablement son prédécesseur, OLMO-0424. Ses modèles de paramètres 7B et 13B démontrent des performances comparables ou dépassant, ou dépassant des modèles entièrement ouverts similaires, même rivalisant avec des modèles ouverts comme Llama 3.1 sur les références académiques anglaises - une réussite remarquable compte tenu de ses flops de formation réduits.

Running OLMo-2 Locally with Gradio and LangChain

Les améliorations clés comprennent:

  • Gains de performance substantiels: olmo-2 (7b et 13b) montre une amélioration marquée par rapport aux modèles OLMO antérieurs, indiquant les progrès de l'architecture, des données ou de la méthodologie de formation.
  • compétitif avec map-neo-7b: olmo-2, en particulier la version 13B, atteint des scores comparables à MAP-neo-7b, une solide ligne de base parmi les modèles entièrement ouverts.

Running OLMo-2 Locally with Gradio and LangChain

Méthodologie de formation d'Olmo 2

L'architecture d'Olmo 2 OLMO s'appuie sur l'OLMO d'origine, incorporant des raffinements pour une stabilité et des performances améliorées. Le processus de formation comprend deux étapes:

  1. Fondation Fondation: utilise l'ensemble de données OLMO-MIX-1124 (environ 3,9 billions de jetons provenant de diverses sources ouvertes) pour établir une base solide pour la compréhension du langage.
  2. Raffinement et spécialisation: utilise l'ensemble de données Dolmino-MIX-1124, un mélange organisé de données Web de haute qualité et de données spécifiques au domaine (contenu académique, forums de questions-réponses, données d'enseignement, manuels de mathématiques), pour affiner les connaissances et les compétences du modèle. "Modèle de soupe" améliore encore le point de contrôle final.

Running OLMo-2 Locally with Gradio and LangChain

Niveaux d'ouverture dans LLMS

Étant donné que Olmo-2 est un modèle entièrement ouvert, clarifions les distinctions entre les différents niveaux d'ouverture du modèle:

  • Modèles ouverts: Seuls les poids du modèle sont libérés.
  • Modèles partiellement ouverts: Libérez des informations supplémentaires au-delà des poids, mais pas une image complète du processus de formation.
  • Modèles entièrement ouverts: Fournir une transparence complète, y compris des poids, des données de formation, du code, des recettes et des points de contrôle. Cela permet une reproductibilité complète.
Un tableau résumant les différences clés est fourni ci-dessous.

Explorer et exécuter Olmo 2 localement

OLMO 2 est facilement accessible. Les instructions pour télécharger le modèle et les données, ainsi que le code de formation et les mesures d'évaluation, sont disponibles. Pour exécuter Olmo 2 localement, utilisez Olllama. Après l'installation, exécutez simplement ollama run olmo2:7b dans votre ligne de commande. Les bibliothèques nécessaires (Langchain et Gradio) peuvent être installées via Pip.

Construire un chatbot avec Olmo 2

Le code Python suivant montre la construction d'un chatbot utilisant Olmo 2, Gradio et Langchain:

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

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

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)

iface.launch()
Copier après la connexion

Ce code fournit une interface de chatbot de base. Des applications plus sophistiquées peuvent être construites sur cette fondation. Les exemples de sorties et d'invites sont affichés dans l'article d'origine.

Running OLMo-2 Locally with Gradio and LangChain Running OLMo-2 Locally with Gradio and LangChain Running OLMo-2 Locally with Gradio and LangChain Running OLMo-2 Locally with Gradio and LangChain

Conclusion

OLMO 2 représente une contribution significative à l'écosystème LLM open source. Ses fortes performances, combinées à sa transparence complète, en font un outil précieux pour les chercheurs et les développeurs. Bien qu'il ne soit pas universellement supérieur à toutes les tâches, sa nature ouverte favorise la collaboration et accélère les progrès dans le domaine de l'IA accessible et transparente

Prise des clés:

  • Le modèle de paramètre 13B d'Olmo-2 montre d'excellentes performances sur divers repères, surperformant d'autres modèles ouverts.
  • L'ouverture complète du modèle facilite le développement de modèles plus efficaces.
  • L'exemple de chatbot présente la facilité d'intégration avec Langchain et Gradio.

Les questions fréquemment posées (FAQ) (Les FAQ de l'article d'origine sont incluses ici.)

(Remarque: Les URL de l'image restent inchangées.)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal