Erstellen Sie Ihr eigenes Sprachmodell: Eine einfache Anleitung mit Python und NumPy

Patricia Arquette
Freigeben: 2024-10-19 08:10:30
Original
768 Leute haben es durchsucht

Build Your Own Language Model: A Simple Guide with Python and NumPy

Künstliche Intelligenz ist heutzutage allgegenwärtig, und Sprachmodelle spielen dabei eine große Rolle. Als ChatGPT eingeführt wurde, haben Sie sich vielleicht gefragt, wie die KI das nächste Wort in einem Satz vorhersagen oder sogar ganze Absätze schreiben konnte. In diesem Tutorial erstellen wir ein supereinfaches Sprachmodell, ohne auf ausgefallene Frameworks wie TensorFlow oder PyTorch angewiesen zu sein – einfach nur Python und NumPy.

Bevor ich mit dem Tutorial beginne, möchte ich erklären, was ein großes Sprachmodell (LLM) ist.

  • LLMs sind KI-Modelle, die auf riesigen Mengen an Textdaten trainiert werden, um menschliche Sprache zu verstehen und zu generieren.
  • Diese LLMs sind in der Lage, Aufgaben wie das Beantworten von Fragen, das Schreiben von Aufsätzen und sogar das Führen von Gesprächen zu übernehmen. Im Wesentlichen sagen LLMs das nächste Wort in einer Sequenz basierend auf den vorherigen Wörtern voraus.

In diesem Tutorial erstellen wir eine viel einfachere Version davon – ein Bigramm-Modell – um

Klingt cool? Fangen wir an!?

Was wir bauen:

Wir erstellen ein Bigramm-Modell, das Ihnen eine grundlegende Vorstellung davon vermittelt, wie Sprachmodelle funktionieren. Es sagt das nächste Wort in einem Satz basierend auf dem aktuellen Wort voraus. Wir halten es einfach und leicht verständlich, damit Sie lernen, wie die Dinge funktionieren, ohne sich zu sehr in Details zu vertiefen.??


Schritt 1: Einrichten

Bevor wir beginnen, stellen wir sicher, dass Sie Python und NumPy einsatzbereit haben. Wenn Sie NumPy nicht installiert haben, installieren Sie es schnell mit:

pip install numpy
Nach dem Login kopieren
Nach dem Login kopieren

Schritt 2: Die Grundlagen verstehen

Ein Sprachmodell sagt das nächste Wort in einem Satz voraus. Wir halten die Dinge einfach und erstellen ein Bigram-Modell. Das bedeutet lediglich, dass unser Modell das nächste Wort nur anhand des aktuellen Wortes vorhersagen wird.

Wir beginnen mit einem kurzen Text, um das Modell zu trainieren. Hier ist ein kleines Beispiel, das wir verwenden werden:

import numpy as np

# Sample dataset: A small text corpus
corpus = """Artificial Intelligence is the new electricity.
Machine learning is the future of AI.
AI is transforming industries and shaping the future."""
Nach dem Login kopieren
Nach dem Login kopieren

Schritt 3: Vorbereiten des Textes

Das Wichtigste zuerst: Wir müssen diesen Text in einzelne Wörter aufteilen und ein Vokabular erstellen (im Grunde eine Liste aller eindeutigen Wörter). Das gibt uns etwas, mit dem wir arbeiten können.

# Tokenize the corpus into words
words = corpus.lower().split()

# Create a vocabulary of unique words
vocab = list(set(words))
vocab_size = len(vocab)

print(f"Vocabulary: {vocab}")
print(f"Vocabulary size: {vocab_size}")
Nach dem Login kopieren
Nach dem Login kopieren

Hier wandeln wir den Text in Kleinbuchstaben um und teilen ihn in Wörter auf. Danach erstellen wir eine Liste einzigartiger Wörter, die als unser Vokabular dienen.

Schritt 4: Ordnen Sie Wörter Zahlen zu

Computer arbeiten mit Zahlen, nicht mit Wörtern. Also ordnen wir jedes Wort einem Index zu und erstellen auch eine umgekehrte Zuordnung (dies hilft, wenn wir sie später wieder in Wörter umwandeln).

word_to_idx = {word: idx for idx, word in enumerate(vocab)}
idx_to_word = {idx: word for word, idx in word_to_idx.items()}

# Convert the words in the corpus to indices
corpus_indices = [word_to_idx[word] for word in words]
Nach dem Login kopieren

Im Grunde wandeln wir Wörter nur in Zahlen um, die unser Modell verstehen kann. Jedes Wort erhält eine eigene Nummer, zum Beispiel könnte „AI“ je nach Reihenfolge zu 0 und „Lernen“ zu 1 werden.

Schritt 5: Erstellen des Modells

Kommen wir nun zum Kern der Sache: dem Aufbau des Bigram-Modells. Wir wollen die Wahrscheinlichkeit ermitteln, dass ein Wort auf das andere folgt. Dazu zählen wir, wie oft jedes Wortpaar (Bigramm) in unserem Datensatz vorkommt.

pip install numpy
Nach dem Login kopieren
Nach dem Login kopieren

Hier ist, was passiert:

Wir zählen, wie oft jedes Wort auf ein anderes folgt (das ist das Bigram).
Dann wandeln wir diese Zählungen in Wahrscheinlichkeiten um, indem wir sie normalisieren.
Vereinfacht ausgedrückt bedeutet dies, dass die Wahrscheinlichkeit für dieses Paar höher ist, wenn auf „AI“ häufig ein „ist“ folgt.

Schritt 6: Das nächste Wort vorhersagen

Jetzt testen wir unser Modell, indem wir es das nächste Wort basierend auf einem bestimmten Wort vorhersagen lassen. Wir tun dies, indem wir Stichproben aus der Wahrscheinlichkeitsverteilung des nächsten Wortes ziehen.

import numpy as np

# Sample dataset: A small text corpus
corpus = """Artificial Intelligence is the new electricity.
Machine learning is the future of AI.
AI is transforming industries and shaping the future."""
Nach dem Login kopieren
Nach dem Login kopieren

Diese Funktion nimmt ein Wort, sucht nach seinen Wahrscheinlichkeiten und wählt basierend auf diesen Wahrscheinlichkeiten zufällig das nächste Wort aus. Wenn Sie „KI“ übergeben, könnte das Modell als nächstes Wort etwas wie „ist“ vorhersagen.

Schritt 7: Generieren Sie einen Satz

Lassen Sie uns zum Schluss einen ganzen Satz generieren! Wir beginnen mit einem Wort und sagen das nächste Wort ein paar Mal voraus.

# Tokenize the corpus into words
words = corpus.lower().split()

# Create a vocabulary of unique words
vocab = list(set(words))
vocab_size = len(vocab)

print(f"Vocabulary: {vocab}")
print(f"Vocabulary size: {vocab_size}")
Nach dem Login kopieren
Nach dem Login kopieren

Diese Funktion nimmt ein erstes Wort und sagt das nächste voraus, verwendet dann dieses Wort, um das folgende vorherzusagen, und so weiter. Bevor Sie es wissen, haben Sie einen vollständigen Satz!

Zusammenfassung

Da haben Sie es – ein einfaches Bigramm-Sprachmodell, das von Grund auf nur mit Python und NumPy erstellt wurde. Wir haben keine ausgefallenen Bibliotheken verwendet und Sie haben jetzt ein grundlegendes Verständnis dafür, wie KI Text vorhersagen kann. Sie können mit diesem Code herumspielen, ihn mit anderem Text füttern oder ihn sogar durch die Verwendung fortgeschrittenerer Modelle erweitern.

Probieren Sie es aus und lassen Sie mich wissen, wie es läuft. Viel Spaß beim Codieren!

Das obige ist der detaillierte Inhalt vonErstellen Sie Ihr eigenes Sprachmodell: Eine einfache Anleitung mit Python und NumPy. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!