WhiteLightning ist ein Open-Source-Befehlszeilen-Tool, das Entwicklern helfen soll, mit einer einzigen Befehlszeile schnell leichtgewichtige Textklassifizierungsmodelle zu erstellen. Das Tool generiert synthetische Daten mit großen Sprachmodellen, trainiert ONNX-Modelle von weniger als 1 MB durch Fakultätsstudenten-Destillationstechniken und unterstützt den vollständigen Offline-Betrieb für Edge-Geräte wie Raspberry Pi, Mobiltelefone oder Geräte mit geringem Stromverbrauch.WhiteLightning wurde von dem ukrainischen Unternehmen Inoxoft im Laufe eines Jahres entwickelt und unterstützt die Programmierung in mehreren Sprachen, wobei der Schwerpunkt auf dem Schutz der Privatsphäre und der kostengünstigen Bereitstellung liegt. Die Benutzer können Modelle erstellen, ohne reale Daten vorzubereiten, was sich für Szenarien wie Stimmungsanalyse und Spam-Filterung eignet. Das Projekt ist unter der GPL-3.0-Lizenz lizenziert, das Modell steht unter der MIT-Lizenz, und die Unterstützung der Community ist über GitHub und Discord verfügbar.
Funktionsliste
- Erzeugen Sie mit einem Klick ein ONNX-Textklassifizierungsmodell mit weniger als 1 MB, das die Klassifizierung in mehreren Klassen unterstützt, z. B. Stimmungsanalyse und Spam-Erkennung.
- Generieren Sie synthetische Trainingsdaten mit großen Sprachmodellen (z.B. Grok-3-beta, GPT-4o-mini) ohne reale Daten.
- Unterstützt vollständigen Offline-Betrieb, keine Cloud-API nach der Modellbereitstellung erforderlich, schützt den Datenschutz.
- Kompatibel mit Python, Rust, Swift, Node.js, Dart und anderen Programmiersprachen, angepasst an eine Vielzahl von Entwicklungsumgebungen.
- Bietet Docker-Container mit Unterstützung für macOS, Linux und Windows, um Installation und Betrieb zu vereinfachen.
- Integration mit GitHub Actions zur Unterstützung cloudbasierter Modellschulungen und CI/CD-Automatisierungsprozesse.
- Bietet einen interaktiven Befehlsgenerator zur Vereinfachung der Konfiguration komplexer Parameter.
- Die Erzeugung von Randfällen wird unterstützt, um eine stabile Modellleistung in komplexen Eingangsszenarien zu gewährleisten.
- Der Prozess der Modellschulung ist transparent, mit Protokollen, die den Fortschritt, die Genauigkeit und die Verlustwerte anzeigen.
Hilfe verwenden
Einbauverfahren
WhiteLightning wird über Docker-Container verteilt, um plattformübergreifende Konsistenz und Einfachheit zu gewährleisten. Hier sind die detaillierten Installationsschritte:
- Installation von Docker
Stellen Sie sicher, dass Docker auf dem Gerät installiert ist. macOS- und Linux-Benutzer können das Installationspaket von der Docker-Website herunterladen. Windows-Benutzern wird empfohlen, den Befehl mit PowerShell auszuführen. Überprüfen Sie die Docker-Installation:docker --version
Falls noch nicht installiert, lesen Sie bitte in der offiziellen Anleitung nach, um die Installation abzuschließen.
- WhiteLightning-Spiegel abziehen
Ziehen Sie das neueste Image von Docker Hub:docker pull ghcr.io/inoxoft/whitelightning:latest
Der Mirror hat alle Abhängigkeiten eingebaut, so dass es nicht notwendig ist, zusätzliche Python- oder andere Umgebungen zu konfigurieren.
- Einstellen des API-Schlüssels
WhiteLightning muss große Sprachmodelle (wie die von OpenRouter) aufrufen, um während der Trainingsphase synthetische Daten zu erzeugen, und muss daher API-Schlüssel konfigurieren. Zum Beispiel:export OPEN_ROUTER_API_KEY="sk-..."
Oberbefehlshaber (Militär)
"sk-..."
Ersetzen Sie ihn durch den tatsächlichen Schlüssel, den Sie von der OpenRouter-Website erhalten. Der Schlüssel wird nur für das Training verwendet, und das generierte Modell läuft ohne Internetverbindung. - Laufende Container
Führen Sie WhiteLightning mit Docker aus, um ein Klassifizierungsmodell zu erstellen. Kategorisieren Sie zum Beispiel Kundenrezensionen als positiv, neutral oder negativ:docker run --rm -e OPEN_ROUTER_API_KEY="sk-..." -v "$(pwd)":/app/models ghcr.io/inoxoft/whitelightning:latest python -m text_classifier.agent -p "Categorize customer reviews as positive, neutral, or negative"
Befehl Beschreibung:
--rm
Container nach der Ausführung automatisch löschen, um Platz zu sparen.-e
Setzen Sie die Umgebungsvariable API-Schlüssel.-v "$(pwd)":/app/models
Hängen Sie das aktuelle Verzeichnis in den Container ein und speichern Sie das erstellte Modell.-p
Die Zuweisung einer kategorisierten Aufgabe erfordert eine knappe Beschreibung der Ziele der Aufgabe.
Windows-Benutzer werden$(pwd)
Ersetzen durch${PWD}
.
- Überprüfen der Installation
Nach der Ausführung des Befehls erzeugt das Tool das ONNX-Modell in etwa 10 Minuten und speichert es im Mount-Verzeichnis (z. B.models_multiclass/customer_review_classifier/customer_review_classifier.onnx
). Prüfen Sie das Protokoll, um zu bestätigen, dass die Schulung abgeschlossen ist, Beispielprotokoll:✅ - INFO - Test set evaluation - Loss: 0.0006, Accuracy: 1.0000
Stellen Sie sicher, dass das Ausgabeverzeichnis die Modelldateien enthält.
Verwendung der Hauptfunktionen
Die Hauptfunktion von WhiteLightning ist die Erstellung und der Einsatz von leichtgewichtigen Textklassifizierungsmodellen mit einem Klick. Hier ist der detaillierte Ablauf der Operation:
Generierung eines Textklassifizierungsmodells
Die Nutzer erhalten folgende Informationen-p
Die Parameter spezifizieren die Klassifizierungsaufgabe, und das Tool führt automatisch die Generierung synthetischer Daten und das Modelltraining durch. Zum Beispiel wird ein Spam-Klassifikator erstellt:
docker run --rm -e OPEN_ROUTER_API_KEY="sk-..." -v "$(pwd)":/app/models ghcr.io/inoxoft/whitelightning:latest python -m text_classifier.agent -p "Classify emails as spam or not spam"
- Arbeitsabläufe::
- Tools rufen große Sprachmodelle auf (wie z. B.
x-ai/grok-3-beta
vielleichtopenai/gpt-4o-mini
) Generieren Sie synthetische Daten mit einem Standardwert von 50 Einträgen pro Kategorie, einschließlich Randfällen. - Training leichtgewichtiger ONNX-Modelle auf der Grundlage synthetischer Daten unter Verwendung der Destillation von Dozenten und Studenten.
- Nach Abschluss des Trainings wird das Modell in das angegebene Verzeichnis exportiert und das Protokoll zeigt den Trainingsfortschritt an (z. B.
Epoch 20/20 - accuracy: 1.0000
).
- Tools rufen große Sprachmodelle auf (wie z. B.
- AusfuhrenModelldateien (z.B.
customer_review_classifier.onnx
) und Protokolle, die Details zur Datenerzeugung und zum Training aufzeichnen.
Bereitstellungs- und Betriebsmodelle
Das generierte ONNX-Modell kann in mehreren Sprachen ausgeführt werden, hat einen geringen Platzbedarf und ist für Edge-Geräte geeignet. Im Folgenden wird ein Beispiel für Python gezeigt:
- Installieren Sie die ONNX-Laufzeitumgebung:
pip install onnxruntime
- Laden Sie das Modell und führen Sie es aus:
import onnxruntime as ort import numpy as np session = ort.InferenceSession("models_multiclass/customer_review_classifier/customer_review_classifier.onnx") input_data = np.array(["This product is amazing!"], dtype=np.object_) outputs = session.run(None, {"input": input_data}) print(outputs) # 输出结果,如 ['positive']
- Für andere Sprachen (z.B. Rust, Swift) lesen Sie die Laufzeitdokumentation auf der offiziellen ONNX-Website.
Erweiterte Konfiguration
WhiteLightning bietet eine flexible Parameterkonfiguration zur Optimierung der Modellleistung:
- Cue-Optimierungsschleife: durch
-r
Der Parameter legt die Anzahl der Optimierungen fest, Standardwert 1. Beispiel:-r 3
Das Hinzufügen von Zyklen verbessert die Datenqualität, verlängert aber die Trainingszeit.
- Generierung von Randfällen: durch
--generate-edge-cases
Aktivieren Sie diese Option (standardmäßig aktiviert), um 50 Randfälle pro Kategorie zu erzeugen:--generate-edge-cases True
Sicherstellen, dass sich das Modell bei der Verarbeitung komplexer Eingaben konsistent verhält.
- Auswahl des Modells: unterstützt eine Vielzahl von großen Sprachmodellen, die in der Konfigurationsdatei angegeben werden können (z.B.
x-ai/grok-3-beta
). - Anpassung des Datenvolumens: durch
--target-volume-per-class
Legen Sie die Menge der Daten pro Kategorie fest, standardmäßig 50 Einträge. Beispiel:--target-volume-per-class 100
Online-Spielplatz
WhiteLightning bietet einen Online-Playground, mit dem Benutzer die Modellerstellung testen können, ohne das Programm installieren zu müssen. Besuchen Sie den Playground, geben Sie eine Aufgabenbeschreibung ein (z. B. "Klassifizieren Sie Tweets als fröhlich oder traurig"), klicken Sie auf "Generieren" und sehen Sie sich die Modellausgabe an. Der Playground ist ideal, um die Effektivität einer Aufgabe schnell zu überprüfen.
Gemeinschaftliche Unterstützung und Auftragsvergabe
- GitHub-AktionenUm Cloud-Training zu unterstützen, gehen Sie auf die Seite "Actions" im GitHub-Repository, wählen Sie "Test Model Training", konfigurieren Sie die Parameter und führen Sie es aus.
- Komponenten während der Prüfung anpassen::
- Wenn der Docker-Befehl fehlschlägt, überprüfen Sie, ob der Docker-Dienst läuft und bestätigen Sie die Berechtigungen.
- Wenn der API-Schlüssel ungültig ist, fordern Sie ihn erneut von OpenRouter an.
- Die Protokolldatei befindet sich im Ausgabeverzeichnis und zeichnet detaillierte Fehlermeldungen auf.
- Unterstützung der Gemeinschaft: Treten Sie dem Discord-Server bei, um mit den Entwicklern zu kommunizieren, oder senden Sie Probleme an GitHub.
caveat
- In der Trainingsphase wird die Netzwerkverbindung stabilisiert, um die API zur Datengenerierung aufrufen zu können.
- Das Modell läuft vollständig offline und ist für datenschutzsensible Szenarien geeignet.
- Stellen Sie sicher, dass das Ausgabeverzeichnis über Schreibrechte verfügt und dass Windows-Benutzer auf das Pfadformat achten.
- Die Dauer des Modelltrainings hängt von der Komplexität der Aufgabe und der Datenmenge ab und beträgt in der Regel 10-15 Minuten.
Anwendungsszenario
- Entwicklung mobiler Anwendungen
WhiteLightning erzeugt leichtgewichtige Modelle, die sich für die Integration in mobile Anwendungen wie Chatsoftware zur Stimmungsanalyse eignen. Die Modelle haben einen geringen Platzbedarf, laufen effizient und sind für Geräte mit geringem Stromverbrauch geeignet. - Einsatz von Edge-Geräten
Führen Sie Textklassifizierungsmodelle auf einem Raspberry Pi oder einer industriellen Steuerung aus, um Echtzeitprotokolle oder Benutzereingaben zu verarbeiten. Offline ausführen, um Datenverluste zu vermeiden, geeignet für industrielle Szenarien. - Datenschutzsensible Szenarien
Bei der Verarbeitung sensibler Textdaten in den Bereichen Medizin und Finanzen sorgt das Offline-Modell von WhiteLightning dafür, dass die Daten nicht in die Cloud hochgeladen werden, um die Privatsphäre zu schützen. - Schnelles Prototyping
Entwickler können schnell Klassifizierungsmodelle erstellen, die Auswirkungen verschiedener Aufgaben testen und den Entwicklungszyklus verkürzen, was sich für Startups oder Forschungsteams eignet.
QA
- Erfordert WhiteLightning eine ständige Vernetzung?
Nur in der Trainingsphase muss die API zur Generierung synthetischer Daten aufgerufen werden, und das generierte Modell läuft komplett offline. - Welche Größe hat das Modell?
Die Modelle sind in der Regel kleiner als 1 MB, abhängig von der Komplexität der Aufgabe und dem Datenvolumen, und viel kleiner als herkömmliche große Modelle. - Welche Programmiersprachen werden unterstützt?
Das ONNX-Modell unterstützt Python, Rust, Swift, Node.js, Dart, C++, usw. Siehe die ONNX-Laufzeitdokumentation. - Wie gehen Sie mit Misserfolgen in der Ausbildung um?
Überprüfen Sie API-Schlüssel, Netzwerkverbindungen oder Docker-Berechtigungen. In den Protokolldateien werden detaillierte Fehler aufgezeichnet, und die Community kann auf GitHub oder Discord um Hilfe gebeten werden. - Ist es notwendig, echte Daten vorzubereiten?
Nein. WhiteLightning verwendet große Sprachmodelle, um synthetische Daten zu erzeugen, und unterstützt die Modellierung von Szenen ohne Daten.