Verarbeitung natürlicher Sprache ist in den letzten Jahren schnell gewachsen. Während personal Modelle die Führung haben, haben Open-Supply-Modelle aufgenommen. Olmo 2 ist ein großer Schritt nach vorne in der Open-Supply-Welt und bietet Macht und Zugänglichkeit ähnlich wie personal Modelle. Dieser Artikel enthält eine detaillierte Diskussion von OLMO 2, die seine Ausbildung, Leistung und die Verwendung vor Ort behandelt.

Lernziele

  • Verstehen Sie die Bedeutung von Open-Supply Llms und die Rolle von Olmo 2 in der KI -Forschung.
  • Erkunden Sie die Architektur, Trainingsmethodik und Leistungsbenchmarks von Olmo 2.
  • Unterscheiden Sie zwischen offenen, teilweise offenen und vollständig geöffneten Modellen.
  • Erfahren Sie, wie Sie OLMO 2 lokal mit Gradio und ausführen Langchain.
  • Implementieren Sie OLMO 2 in einer Chatbot -Anwendung mit Python Codebeispiele.

Dieser Artikel wurde als Teil der veröffentlicht Knowledge Science Blogathon.

Verständnis der Notwendigkeit von Open-Supply-LLMs

Die anfängliche Dominanz von proprietären LLMs führte zu Bedenken hinsichtlich Zugänglichkeit, Transparenz und Kontrolle. Forscher und Entwickler waren begrenzt in ihrer Fähigkeit, die inneren Funktionsweise dieser Modelle zu verstehen, wodurch weitere Innovationen behindert und möglicherweise Vorurteile aufrechterhalten werden. Open-Supply LLMs haben diese Bedenken berücksichtigt, indem sie ein kollaboratives Umfeld bereitstellen, in dem Forscher vorhandene Modelle prüfen, modifizieren und verbessern können. Ein offener Ansatz ist entscheidend, um das Feld voranzutreiben und sicherzustellen, dass die Vorteile von LLMs weit verbreitet sind.

Olmoinitiiert vom Allen Institute for AI (AI2), warfare an der Spitze dieser Bewegung. Mit der Veröffentlichung von OLMO 2 haben sie ihr Engagement für die Öffnung der Wissenschaft festgenommen, indem sie nicht nur die Modellgewichte, sondern auch die Schulungsdaten, Code, Rezepte, Zwischenkontrollpunkte und Anweisungsmodelle bereitstellen. Diese umfassende Veröffentlichung ermöglicht es Forschern und Entwicklern, den Entwicklungsprozess des Modells vollständig zu verstehen und zu reproduzieren und den Weg für weitere Innovationen zu ebnen. Laufen Olmo 2 vor Ort mit Gradio und Langchain

Allen Ai

Was ist Olmo 2?

Olmo 2 markiert ein erhebliches Improve des Vorsterbens, dem Olmo-0424. Die neuartige Familie der Parametermodelle 7B und 13B zeigt vergleichbare Leistung oder manchmal besser als ähnlich offene Modelle, während sie mit einer Open-Gewicht-Model wie Lama 3.1 über englische akademische Benchmarks konkurrieren. Dies macht die Leistung angesichts einer verringerten Gesamtmenge an Trainingsflops in Bezug auf einige ähnliche Modelle sehr bemerkenswert.

  • OLMO-2 zeigt eine signifikante Verbesserung: Die Olmo-2-Modelle (sowohl 7B- als auch 13B-Parameterversionen) zeigen einen klaren Leistungssprung im Vergleich zu den früheren Olmo-Modellen (OLMO-7B, OLMO-7B-0424, OLMOE-1B-7B-0924). Dies deutet auf erhebliche Fortschritte in der Architektur, Schulungsdaten oder Schulungsmethoden des Modells hin.
  • Wettbewerbsfähig mit Map-Neo-7b: Die Olmo-2-Modelle, insbesondere die 13B-Model, erzielen mit MAP-Neo-7B vergleichbar, was wahrscheinlich eine stärkere Grundlinie unter den aufgeführten vollständig geöffneten Modellen warfare.

Brechen Sie den Trainingsprozess von Olmo 2 ab

Die Architektur von Olmo 2 baut auf der Grundlage des ursprünglichen Olmo auf und enthält mehrere wichtige Änderungen, um die Trainingsstabilität und -leistung zu verbessern.

Der Vorbereitungsverfahren für OLMO 2 ist in zwei Stufen unterteilt:

  • Stufe 1: Basis-Coaching: In dieser Part wird der Dataset Olmo-Combine-1124 verwendet, eine huge Sammlung von ungefähr 3,9 Billionen Tokens aus verschiedenen offenen Datensätzen. Diese Part konzentriert sich auf den Aufbau einer starken Grundlage für die Funktionen des Sprachverständnisses des Modells.
  • Stufe 2: Verfeinerung und Spezialisierung: In dieser Part wird der Datensatz von Dolmino-Combine-1124 verwendet, eine kuratierte Mischung aus hochwertigen Webdaten und domänenspezifischen Daten, einschließlich akademischer Inhalte, Q & A-Foren, Anweisungsdaten und Mathematik-Arbeitsmappen. Diese Part verfeinert das Wissen und die Fähigkeiten des Modells in bestimmten Bereichen. Die Verwendung von „Modellsuppen“ zum Kombinieren mehrerer geschulter Modelle verbessert den endgültigen Kontrollpunkt weiter.

Da OLMO-2 ein vollständig geöffnetes Modell ist, sehen wir uns an, was der Unterschied zwischen offenen Gewichtsmodellen, teilweise offenen Modellen und vollständig geöffneten Modellen ist:

Modelle mit offenem Gewicht

LLAMA-2-13B, MISTRAL-7B-V0.3, LAMA-3.1-8B, MISTRAL-TRAL-NEMO-12B, QWEN-2.5-7B, GEMMA-2-9B, QWEN-2.5-14B: Diese Modelle haben ein Schlüsselmerkmal: Ihre Gewichte sind öffentlich verfügbar. Auf diese Weise können Entwickler sie für verschiedene NLP -Aufgaben verwenden. Kritische Particulars zu ihrem Schulungsprozess, wie der genauen Datensatzzusammensetzung, dem Trainingscode und den Hyperparametern, werden jedoch nicht vollständig offengelegt. Dies macht sie zu „offenem Gewicht“, aber nicht vollständig clear.

Teilweise offene Modelle

Stablelm-2-128, Zamba-2-7b: Diese Modelle fallen in eine Grauzone. Sie bieten einige zusätzliche Informationen, die über die Gewichte hinausgehen, aber nicht das vollständige Bild. Stablelm-2-128 listet beispielsweise Trainingsflops auf, was auf mehr Transparenz als rein offene Modelle hinweist. Das Fehlen vollständiger Trainingsdaten und Code stellt sie jedoch in die Kategorie „teilweise offen“ ein.

Voll offene Modelle

Amber-7b, Olmo-7b, Map-Neo-7b, Olmo-0424-7b, DCLM-7b, Olmo-2-1124-7b, Olmo-2-1124-13b: Diese Modelle sind aufgrund ihrer umfassenden Offenheit hervorgehoben. AI2 (Allen Institute for AI), die Organisation hinter der Olmo -Serie, hat alles veröffentlicht, was für die vollständige Transparenz und Reproduzierbarkeit erforderlich ist: Gewichte, Trainingsdaten (oder detaillierte Beschreibungen davon), Trainingscode, das vollständige Coaching „Rezept“ (einschließlich Hyperparameter) , Intermediate Checkpoints und Anleitungsversionen. Dies ermöglicht es Forschern, diese Modelle tief zu analysieren, ihre Stärken und Schwächen zu verstehen und auf ihnen aufzubauen.

Schlüsselunterschiede

Besonderheit Modelle mit offenem Gewicht Teilweise offene Modelle Voll offene Modelle
Gewichte Freigegeben Freigegeben Freigegeben
Trainingsdaten Normalerweise nicht Teilweise verfügbar Voll verfügbar
Trainingscode Normalerweise nicht Teilweise verfügbar Voll verfügbar
Trainingsrezept Normalerweise nicht Teilweise verfügbar Voll verfügbar
Reproduzierbarkeit Beschränkt Mehr als offenes Gewicht, weniger als vollständig offen Voll
Transparenz Niedrig Medium Hoch

Erforschen Sie Olmo 2

OLMO 2 ist ein fortschrittliches Open-Supply-Sprachmodell für effiziente und leistungsstarke KI-gesteuerte Gespräche. Es integriert sich nahtlos in Frameworks wie Langchain, sodass Entwickler intelligente Chatbots und AI -Anwendungen erstellen können. Erforschen Sie seine Fähigkeiten, Architektur und die Verständnis der natürlichen Sprache in verschiedenen Anwendungsfällen.

  • Holen Sie sich das Modell und die Daten: Herunterladen Hier
  • Trainingscode: Sicht
  • Auswertung: Sicht

Lassen Sie es uns lokal laufen lassen

Obtain Ollama Hier.

So herunterladen OLMO-2 Open CMD und Typ

ollama run olmo2:7b

Dadurch wird OLMO2 in Ihr System heruntergeladen

Bibliotheken installieren

pip set up langchain-ollama
pip set up gradio

Erstellen eines Chatbots mit Olmo 2

Nutzen Sie die Leistung von OLMO 2, um einen intelligenten Chatbot mit Open-Gewicht-LLM-Funktionen aufzubauen. Erfahren Sie, wie Sie es in Python, Gradio und Langchain integrieren können, um nahtlose Interaktionen zu erhalten.

Schritt 1: Importieren der erforderlichen Bibliotheken

Laden Sie essentielle Bibliotheken, einschließlich Gradio für UI, Langchain für die schnelle Handhabung und Ollamallm zur Nutzung des Olmo 2 -Modells in Chatbot -Antworten.

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

Schritt 2: Definieren der Reaktionsgenerierungsfunktion

Erstellen Sie eine Funktion, die den Chat-Verlauf und die Benutzereingabe nimmt, die Eingabeaufforderung format, das OLMO 2-Modell aufruft und den Gesprächsverlauf mit AI-generierten Antworten aktualisiert.

def generate_response(historical past, query):
    template = """Query: {query}

    Reply: Let's suppose step-by-step."""
    immediate = ChatPromptTemplate.from_template(template)
    mannequin = OllamaLLM(mannequin="olmo2")
    chain = immediate | mannequin
    reply = chain.invoke({"query": query})
    historical past.append({"function": "consumer", "content material": query})
    historical past.append({"function": "assistant", "content material": reply})
    return historical past

Die Funktion generate_response nimmt einen Chat -Verlauf und eine Benutzerfrage als Eingabe an. Es definiert eine schnelle Vorlage, bei der die Frage dynamisch eingefügt wird, wobei die KI schrittweise nachdenkt. Die Funktion erstellt dann eine ChatpromptTemplate und initialisiert das Ollamallm -Modell (OLMO2). Mit Langchains Pipeline (Eingabeaufforderung | Modell) generiert es eine Antwort, indem das Modell mit der angegebenen Frage aufgerufen wird. Der Gesprächsverlauf wird aktualisiert und erhält die Frage des Benutzers und die Antwort der KI. Es gibt die aktualisierte Geschichte für weitere Interaktionen zurück.

Schritt 3: Erstellen der Gradio -Schnittstelle

Verwenden Sie Gradio BlocksAnwesend ChatbotUnd Textbox Komponenten zum Entwerfen einer interaktiven Chat -Oberfläche, mit der Benutzer Fragen eingeben und Antworten dynamisch empfangen können.

with gr.Blocks() as iface:
    chatbot = gr.Chatbot(sort="messages")
    with gr.Row():
        with gr.Column():
            txt = gr.Textbox(show_label=False, placeholder="Kind your query right here...")
    txt.submit(generate_response, (chatbot, txt), chatbot)
  • Verwendet gr.chatbot () zum Anzeigen von Gesprächen.
  • Verwendet Gr.TextBox () für die Benutzereingabe.

Schritt 4: Starten der Anwendung

Führen Sie die Gradio -App mit iface.launch()Bereitstellung des Chatbot als webbasierte Schnittstelle für Echtzeit-Interaktionen.

iface.launch()

Dadurch startet die Gradio -Schnittstelle und führt den Chatbot als Internet -App aus.

Holen Sie sich Code von GitHub Hier.

Ausgabe

Ausgabe

Immediate

Schreiben Sie eine Python -Funktion, die true zurückgibt, wenn eine bestimmte Zahl eine Leistung von 2 ist, ohne Schleifen oder Rekursion zu verwenden.

Antwort

Antwort: OLMO-2 lokal mit Gradio und Langchain ausführen
Ausgabe: OLMO-2 lokal mit Gradio und Langchain ausführen
Ausgabe: OLMO-2 lokal mit Gradio und Langchain ausführen

Abschluss

Daher ist OLMO-2 als einer der größten Beiträge zum Open-Supply LLM-Ökosystem heraus. Es ist einer der mächtigsten Performer in der Enviornment der vollständigen Transparenz mit Schwerpunkt auf Trainingseffizienz. Es spiegelt die wachsende Bedeutung einer offenen Zusammenarbeit in der Welt der KI wider und wird den Weg für zukünftige Fortschritte in zugänglichen und transparenten Sprachmodellen ebnen.

Während Olmo-2-138 ein sehr starkes Modell ist, dominiert es bei allen Aufgaben nicht deutlich. Einige teilweise geöffnete Modelle und QWEN-2.5-14B erhalten beispielsweise höhere Ergebnisse für einige Benchmarks (z. B. QWEN-2.5-14B übertrifft signifikant bei Arc/C und WinOG). Außerdem bleibt OLMO-2 bei bestimmten herausfordernden Aufgaben wie GSM8K (Mathematik der Grundschule) und wahrscheinlich agieval ein deutlich hinter den besten Modellen hinter den besten Modellen.

Im Gegensatz zu vielen anderen LLMs ist OLMO-2 vollständig geöffnet und bietet nicht nur die Modellgewichte, sondern auch die Trainingsdaten, Code, Rezepte und Zwischenkontrollpunkte. Dieses Transparenzniveau ist entscheidend für die Forschung, Reproduzierbarkeit und gemeindenahe Entwicklung. Es ermöglicht den Forschern, die Stärken, Schwächen und möglichen Verzerrungen des Modells gründlich zu verstehen.

Schlüssel zum Mitnehmen

  • Die OLMO-2-Modelle, insbesondere die 13B-Parameterversion, zeigen großartige Leistungsergebnisse bei einer Vielzahl von Benchmarks und schlagen andere offene und sogar teilweise offene Architekturen. Es scheint, dass die volle Offenheit in der Tat eine der Möglichkeiten ist, leistungsfähige LLMs zu machen.
  • Die vollständig offenen Modelle (insbesondere OLMO) leisten in der Regel intestine. Dies unterstützt das Argument, dass der Zugriff auf den vollständigen Trainingsprozess (Daten, Code usw.) die Entwicklung effektiverer Modelle erleichtert.
  • Der Chatbot behält den Gesprächsgeschichte bei und stellt sicher, dass Antworten frühere Interaktionen berücksichtigen.
  • Die ereignisbasierte UI (TXT.Submit) von Gradio in Echtzeit aktualisiert die Chatbot reaktionsschnell und benutzerfreundlich.
  • Ollamallm integriert KI-Modelle in die Pipeline und ermöglicht eine nahtlose Frage-Beantwortungsfunktionalität.

Häufig gestellte Fragen

Q1. Was sind Flops und warum sind sie wichtig?

A. Flops stehen für Gleitkommaoperationen. Sie repräsentieren die Berechnung, die ein Modell während des Trainings durchführt. Höhere Flops bedeuten im Allgemeinen mehr Rechenressourcen. Sie sind ein wichtiger Indikator für potenzielle Modellfunktionen. Architekture Effizienz und Trainingsdatenqualität spielen jedoch auch große Rollen.

Q2. Was ist der Unterschied zwischen „offenen Gewichten“, „teilweise offenen“ und „vollständig offenen“ Modellen?

A. Dies bezieht sich auf den Zugang zu den Komponenten des Modells. „Offene Gewichte“ liefert nur die geschulten Parameter. „Teilweise offen“ liefert einige zusätzliche Informationen (z. B. einige Schulungsdaten oder Schulungsdetails auf hoher Ebene). „Vollständiger“ bietet alles: Gewichte, Trainingsdaten, Code, Rezepte usw., die vollständige Transparenz und Reproduzierbarkeit ermöglichen.

Q3. Warum wird Chat -Eingabeaufforderungsvorlage verwendet?

A. Die Chat -Eingabeaufforderung -Vorlage ermöglicht die dynamische Insertion von Benutzeranfragen in ein vordefiniertes Eingabeaufforderungsformat, um sicherzustellen, dass die KI strukturiert und logisch reagiert.

This fall. Wie verwaltet Gradio die Chatbot -Benutzeroberfläche?

A. Gr.Chatbot -Komponente von Gradio zeigt die Konversation visuell an. Mit der Gr.TextBox können Benutzer Fragen eingeben, und bei der Einreichung aktualisieren die Chatbot -Aktualisierungen mit neuen Antworten dynamisch.

Q5. Kann dieser Chatbot verschiedene KI -Modelle unterstützen?

A. Ja, durch Ändern der Modell = ”Olmo2 ″ Linie zu einem anderen verfügbaren Modell in OllamaDer Chatbot kann verschiedene KI -Modelle zur Reaktionsgenerierung verwenden.

Die in diesem Artikel gezeigten Medien sind nicht im Besitz von Analytics Vidhya und werden nach Ermessen des Autors verwendet.

Hallo, ich bin Gourav, ein Knowledge Science -Fanatic mit einer mittleren Grundlage für statistische Analyse, maschinelles Lernen und Datenvisualisierung. Meine Reise in die Daten der Daten begann mit einer Neugier, um Einblicke aus Datensätzen zu entfernen.

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert