Das Rennen um die Dominanz in Code-fokussierten Sprachmodellen erhitzt sich und das Umarmungsgesicht ist mit einem starken Anwärter in die Enviornment eingetreten: Olympiccoder-7B, Teil seiner Open-R1-Initiative. Das Modell wurde entwickelt, um sich bei einer wettbewerbsfähigen Programmierung zu übertreffen, und wird mit einem kettengedanken Codeforces-Datensatz fein abgestimmt. Bemerkenswerterweise hat es bereits beeindruckende Ergebnisse gezeigt und übertrifft Claude 3.7 Sonett Auf der IOI -Benchmark. Aber Bedeutet das, dass das 7B -Modell von Face Claude 3.7 wirklich schlägt? In diesem Weblog werden wir die Benchmark-Werte von Olympiccoder-7b untersuchen, die Architektur hinter dem Modell untersuchen und zeigen, wie man sie benutzt.

Was ist Olympiccoder?

Umarmung findet ein Neighborhood-gesteuertes Projekt namens Open-R1-Initiative durch, das darauf abzielt, offene, hochwertige Argumentationsmodelle aufzubauen. Diese Initiative hat zur Entwicklung von zwei codesspezialisierten Modellen geführt:

  • Olympiccoder-7b
  • Olympiccoder-32b

Olympiccoder-7b basiert auf QWEN2.5-CODER-7B-ISTRUCTein Open-Supply-Modell aus Alibaba Cloud. Was es auszeichnet, ist die Feinabstimmung mithilfe des Codeforces-Cots-Datensatzes, der Tausende von Programmierproblemen aus Codeforces enthält. Durch die Zugabe des Denkens der Kette (COT) (COT) wird das Modell noch besser und ermöglicht es, komplexe Probleme in logische Schritte aufzuteilen. Dies hilft dem Modell, über die syntaktische Codegenerierung hinaus auf die tatsächliche logische Problemlösung hinauszugehen.

Der Codeforces-Cots-Datensatz

Durch die Erstellung des Codeforces-Datensatzes für OlymicCoder-7 B beinhaltete die Destillation von quick 100.000 hochwertigen Proben mit R1 (ein weiteres Initiativmodell). Jede Probe enthält eine Problemanweisung, einen Denkprozess und eine verifizierte Lösung sowohl in C ++ als auch in Python. Dieses Twin-Sprach-Setup gewährleistet die Modellrobustheit und die Anpassungsfähigkeit über die Codierungsumgebungen hinweg. Dieser Datensatz conflict nicht nur ein einfaches Scrape von Codeforces. Stattdessen sollte es widerspiegeln, wie erfahrene menschliche Codierer Code denken und schreiben.

Code Überprüfbarkeit

Ein wichtiges Downside bei der Schulung und Bewertung von Codemodellen ist die Überprüfung der Code. Viele vorhandene Datensätze enthalten einen überprüften oder falschen Code, der Modelle während des Trainings verwirren kann. Um dies zu bekämpfen, wendete das Umarmungsgesicht einen strengen Filterprozess in Codeforces-Cots an, um sicherzustellen, dass nur funktionierende, hochwertige Proben verwendet wurden.

Ioi Benchmark

Olymipiccoder-7b wurde am IOI-Benchmark bewertet. Inspiriert von der internationalen Olympiade in Informatics (IOI), testet dieser Benchmark die Fähigkeit des Modells, wettbewerbsfähige Programmeprobleme zu bewältigen. Es betont logisches Denken, Einschränkung Zufriedenheit und Optimalität.

Umarmung des Gesichts Open-R1 Olympiccoder-7b-Benchmarks

In diesem Diagramm visualisiert die Leistung von zehn verschiedenen Modellen im 2024 IOI -Benchmark. Die Endergebnis spiegelt wider, wie intestine jedes Modell bei 50 wettbewerbsfähigen Programmieraufgaben ausgeführt wurde. Hier erfahren Sie, wie intestine Olympiccoder an diesem Benchmark durchgeführt wurde:

  • Olympiccoder-7b bewertet 129,0 und platziert es vor Claude 3.7 Sonett (93,0) und anderen offenen Modellen wie Lama-3 Und Mistral-Massive-Struktur.
  • Im Vergleich zu Deepseek-R1der 137,0 erzielt, ist Olympiccoder-7b (129,0) leicht hinter sich, bleibt jedoch wettbewerbsfähig, insbesondere angesichts der kleineren Parameterzahl und der offenen Zugänglichkeit.
  • Es übertrifft auch QWQ-32B (144.0) Übereinstimmung mit Klarheit, obwohl sie weniger Parameter und Rechenressourcen haben.
  • Während es nicht die obere Stufe erreicht, die von geschlossenen Modellen wie besetzt ist GPT-4 Varianten, es zeigt beeindruckende Ergebnisse für ein vollständig Open-Supply 7B-Modell.

Diese Leistung bestätigt die Fähigkeit von Olympiccoder-7b als starkes Argumentationsmodell im Open-Supply-Bereich.

Rennen von Olympiccoder-7b mit Huggingface

Jetzt, da wir mit dem Olympiccoder von Face -Face vertraut sind, testen wir es auf Google Colab.

Wie man den Olympiccoder von Face’s Face zugreift

Bevor wir anfangen, müssen wir ein umarmendes Gesichts -Zugangs -Token haben. Hier erfahren Sie, wie man einen bekommt.

  1. Gehen Sie zur Seite „Entry Tokens“ auf dem Umarmungsface: https://huggingface.co/Setings/tokens
  2. Erstellen Sie ein neues Zugriffstoken oder ändern Sie ein altes Token, um diese Berechtigungen zu erhalten.
  3. Kopieren Sie das Zugangstoken und halten Sie es griffbereit.
Umarme Gesicht Open-R1 Olympiccoder-7b-Zugang

Wie man Olympiccoder-7b betreibt

Jetzt, da wir das Zugangstoken haben, lassen Sie uns eine Jupyter -Umgebung öffnen und loslegen. Stellen Sie sicher, dass Sie den Laufzeittyp auf T4 GPU einstellen.

1. Installationen

Zunächst müssen Sie die Transformers und die Beschleunigung von Bibliotheken von PYPI (Python Bundle Index) installieren.

! PIP Installieren Sie Transformers Beschleunigen

2.. Verbinden Sie sich mit dem umarmten Gesicht

Fügen Sie Ihr Zugriffstoken zu Colab -Geheimnissen hinzu oder führen Sie diesen Befehl aus, um Ihr Zugriffstoken hinzuzufügen.

!huggingface-cli login
Umarmung des Gesichts Anmeldung

3.. Importieren und laden Sie das Modell

Importieren Sie die erforderlichen Bibliotheken.

import torch

from transformers import pipeline

Das Modell wird in 4 Scherben heruntergeladen und hat eine Größe von ungefähr 15 GB.

pipe = pipeline("text-generation", mannequin="open-r1/OlympicCoder-7B", torch_dtype=torch.bfloat16, device_map="auto")

4. Rennen Sie Inferenz

Lassen Sie uns das Modell auffordern, Primzahlen bis zu 100 zu generieren, indem wir die Eingabeaufforderung in die Meldungsliste mit der auf „Benutzer“ festgelegten Rolle einbeziehen. Darüber hinaus können Sie eine Systemaufforderung hinzufügen, z. B. „Sie sind ein C ++ – Entwickler“, um das Verhalten des Modells zu leiten.

messages = (
   {"position": "person", "content material": "Write a Python program 
   that prints prime numbers upto 100"})

immediate = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)

outputs = pipe(immediate, max_new_tokens=8000, do_sample=True, temperature=0.7, top_k=50, top_p=0.95)

print(outputs(0)("generated_text"))
Open-R1-Eingabescode
Ausprobieren Sie Olympiccoder auf dem Umarmungsgesicht aus

Ich habe gerade den vom Modell generierten Python-Code kopiert und alle Primzahlen als Ausgabe erhalten.

Es ist erwähnenswert, dass es eine Weile dauert, um die Ausgänge zu erhalten. Leider konnte ich das Modell nicht mit mehr Eingabeaufforderungen testen, da es viel Zeit braucht, um Ausgänge in Colab zu generieren.

Various Möglichkeit, auf Olympiccoder zuzugreifen

Wenn Sie leistungsstarke {Hardware} und GPU auf Ihrem Pc haben, können Sie versuchen, Olympiccoder-7b in der LM Studio-Anwendung auszuführen. LM Studio ist eine Anwendung, mit der Sie LLMs lokal auf Ihrem Pc ausführen können. Befolgen wir zuerst diese Schritte und laden Sie LM Studio herunter, um diese Modelle zu verwenden.

1. Gehen Sie zur LM Studio -Web site: https://lmstudio.ai/

2. Laden Sie die Anwendung gemäß Ihrem Betriebssystem herunter.

LM Studio

3. Suchen Sie nach dem Olympiccoder-7b und laden Sie das Modell lokal herunter. (4,68 GB)

Umarmung des Gesichts Olympiccoder-7b im LM Studio

HINWEIS: Aufgrund von {Hardware} -Einschränkungen auf meinem Pc werde ich mit LM Studio Inferenz nicht ausführen.

Lektionen aus dem Coaching Olympiccoder

Das Umarmungsgesicht hat mehrere Lektionen aus der Ausbildung des Olympiccoders geteilt, der der breiteren AI -Neighborhood zugute kommt:

  • Die Probenverpackung wirkt sich auf die Argumentation aus: Das Verpacken von Trainingsproben verbessert effizienter die Argumentationstiefe, indem längere COT -Sequenzen ermöglicht werden.
  • Hohe Lernraten helfen: Im Gegensatz zu traditionellen Setups halfen die Verwendung größerer Lernraten bei der Stabilisierung des Trainings.
  • Editorials verbessern die Leistung: Die Einbeziehung von Codeforces-Editorialen in Schulungsdaten hat den Problemlösungsstil des Modells angereichert.
  • Voraber mit Tags: Dieser Trick ermutigt das Modell, längere, kohärentere Gedankenketten zu generieren.
  • 8-Bit-Optimierer: Die Verwendung dieser Optimierer half bei der effizienten Ausbildung großer Modelle, insbesondere bei Langzeitaufgaben.

Diese Erkenntnisse sind für alle, die sich für die Erstellung von Modellen für Code-Argumentationsmodelle interessieren, wertvoll sind.

Aktuelle Updates aus dem Open-R1-Projekt

Das Umarmungsgesicht hat auch das Open-R1-Ökosystem mit aufregenden Entwicklungen vorangetrieben:

  • Gruppierte relative Richtlinienoptimierung (GRPO): Eine neue Verstärkungslernmethode zur effizienten Feinabstimmung von Argumentations-LLMs.
  • Öffnen Sie den R1 -Mathematikdatensatz: Dies konzentriert sich auf mathematisches Denken und ergänzt den Code-fokussierten Olympiccoder.
  • Argumentationskurs: Ein Lehrplan, der LLMs mit strukturierten Argumentationsübungen über mehrere Domänen hinweg trainiert.
  • Neighborhood -Beiträge: Von verbesserten Datensätzen bis hin zu Integrationen mit IDEs erweitert die Neighborhood die Nützlichkeit von Olympiccoder schnell.

Anwendungen von Olympiccoder-7b

Hier sind einige praktische Szenarien, in denen sich Olympiccoder-7B auszeichnet:

  • Wettbewerbsprogrammierungstraining: Mit der Feinabstimmung der Kette der Kette kann Olympiccoder den Benutzern helfen, nicht nur den richtigen Code zu generieren, sondern auch die logischen Schritte zu verstehen, die zur Lösung algorithmischer Herausforderungen erforderlich sind.
  • Code Evaluation mit Argumentation: Im Gegensatz zu einfachen Code -Completion -Modellen bietet Olympiccoder neben seinen Vorschlägen Erklärungen. Dies macht es als Assistent für die Überprüfung von Code, das Erkennen von Logikfehler oder die Empfehlung besserer Praktiken wertvoll.
  • Erklärungen im editorischen Stil generieren: Das Modell kann die Struktur und den Ton von wettbewerbsfähigen Programmierdeditus simulieren. Auf diese Weise hilft es Benutzern, intuitiver Problemlösungsansätze zu erfassen.
  • Bauen benutzerdefinierten Codierungs -Tutoren: Entwickler und Pädagogen können Olympiccoder verwenden, um intelligente Nachhilfesysteme aufzubauen, die Konzepte erklären, Code bewerten und die Lernenden durch iterative Problemlösung leiten.
  • Bildungsanwendungen für Algorithmen und Datenstrukturen: Olympiccoder kann Beispiele erstellen, die Schritt-für-Schritt-Logik visualisieren und theoretische Fragen beantworten. Dies macht es zu einem großartigen Werkzeug für das Unterrichten von Kern -CS -Fächern.

Meine Erfahrung in der Arbeit mit dem Modell

Die Arbeit mit Olympiccoder-7b conflict eine aufschlussreiche Erfahrung. Die Einrichtung über Google Colab conflict unkompliziert, obwohl die Inferenzgeschwindigkeit durch {Hardware} -Einschränkungen begrenzt conflict. Das Modell generierte intestine angelegte, genaue Code, die häufig von Kommentaren oder Erklärungen begleitet wird. Die Verwendung einer Denkkette conflict in der Artwork und Weise, wie das Modell die Problemaussagen Schritt für Schritt anging, sichtbar. Ich fand seine Fähigkeit, sowohl Funktionscode als auch logische Aufschlüsse zu erzeugen, die besonders hilfreich sind, wenn ich an algorithmischen Aufforderungen arbeite.

Ich habe auch die lokale Bereitstellung über LM Studio untersucht, obwohl {Hardware} -Einschränkungen für meine Maschine vollständige Assessments verhinderten. Die Erfahrung bestätigte jedoch, dass Olympiccoder für lokale Experimente und Integration in fortschrittliche Workflows für diejenigen mit der richtigen {Hardware} bereit ist.

Abschluss

Olympiccoder-7b ist im Rahmen der Open-R1-Initiative von Hugging Face einen wichtigen Schritt in Richtung offener, leistungsstarker Code-Argumentationsmodelle. Die starke Darstellung des IOI-Benchmarks, das robuste Datensatztraining unter Verwendung von COT-Strategien und die reale Anwendbarkeit machen es zu einem wertvollen Instrument für Entwickler, Forscher, Pädagogen und Wettbewerbsprogrammierer.

Es überbrückt die Lücke zwischen Codegenerierung und Problemlösung und bietet nicht nur Ausgaben, sondern Einblicke. Mit weiteren Unterstützung der Gemeinschaft und weiteren Aktualisierungen hat Olympiccoder das Potenzial, ein grundlegendes Modell für das Code-Argumentieren im Open-Supply-AI-Ökosystem zu werden.

Olympiccoder-7b ist im Rahmen der Open-R1-Initiative von Hugging Face einen wichtigen Schritt in Richtung offener, leistungsstarker Code-Argumentationsmodelle. Die Leistung von IOI -Benchmarks, innovativen Datensatzdesign und Deep -Cot -Argumentation macht es zu einem überzeugenden Instrument für Entwickler, Studenten und Forscher.

Häufig gestellte Fragen

Q1. Was ist der IOI -Benchmark?

A. Die IOI -Benchmark misst die Fähigkeit eines Modells, wettbewerbsfähige Programmierprobleme zu lösen, die häufig zur Bewertung von Argumentations- und Codierungsfunktionen verwendet werden.

Q2. Was ist Qwen?

A. Qwen ist eine Reihe von großsprachigen Modellen, die von Alibaba Cloud entwickelt wurden, einschließlich spezialisierter Versionen für Codierung, Mathematik und andere Aufgaben.

Q3. Aus welchem ​​Basismodell wurde Olympiccoder-32b fein abgestimmt?

A. Olympiccoder-32b wurde von QWEN/QWEN2.5-CODER-32B-ISTRUCT abgestimmt.

This fall. Was sind Open-R1/Codeforces-Cots?

A

Leidenschaft für Technologie und Innovation, Absolvent des Vellore Institute of Know-how. Derzeit arbeitet er als Information Science Trainee und konzentriert sich auf die Datenwissenschaft. Es ist sehr interessiert an tiefem Lernen und generativen KI, bestrebt, modernste Techniken zu erforschen, um komplexe Probleme zu lösen und wirkungsvolle Lösungen zu schaffen.

Melden Sie sich an, um weiter zu lesen und Experten-Kuratinhalte zu genießen.

Von admin

Schreibe einen Kommentar

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