AI Personal Learning
und praktische Anleitung
Sitzsack Marscode1

WeClone: Ausbildung von digitalen Doppelgängern mit WeChat-Chat-Protokollen und Stimmen

Allgemeine Einführung

WeClone ist ein Open-Source-Projekt, mit dem Nutzer personalisierte digitale Doppelgänger erstellen können, indem sie Chatprotokolle und Sprachnachrichten von WeChat mit großen Sprachmodellen und Sprachsynthesetechnologie kombinieren. Das Projekt kann die Chat-Gewohnheiten eines Nutzers analysieren, um das Modell zu trainieren, und kann außerdem mit einer kleinen Anzahl von Stimmproben realistische Stimmklone erzeugen. Schließlich kann der digitale Doppelgänger mit einem WeChat-Bot verbunden werden, der automatische Antworten auf Text und Sprache ermöglicht. Dieses Tool eignet sich für alle, die einen KI-Assistenten in WeChat nutzen oder KI-Technologie erlernen möchten. Der Code ist vollständig öffentlich und hat viele Technikbegeisterte und Entwickler zum Mitmachen angeregt.

WeClone: Ausbildung von digitalen Doppelgängern mit WeChat-Chats und Voice-1


 

Funktionsliste

  • Chat-Protokoll-SchulungFeinabstimmung großer Sprachmodelle zur Nachahmung von Benutzersprache mit Microsoft-Chat-Transkripten.
  • Klonen von Sprache in hoher QualitätGenerierung von Klängen mit einer Ähnlichkeit von bis zu 951 TP3T unter Verwendung eines parametrischen 0,5B-Modells und eines 5-Sekunden-Sprachbeispiels.
  • WeChat Roboter Bindung: Verbinden Sie den Digital Split mit WeChat, um automatische Text- und Sprachantworten zu unterstützen.
  • Tools für die DatenvorverarbeitungBereitstellung von Skripten zur Konvertierung von Chat-Protokollen in Trainingsdaten, wobei sensible Informationen standardmäßig gefiltert werden.
  • Optimierung der Personalisierung von ModellenUnterstützt die LoRA-Feinabstimmungstechnologie, um das Modell besser an die Sprache des Benutzers anzupassen.

 

Hilfe verwenden

WeClone erfordert einige technische Kenntnisse, wie z. B. Python und Git, aber hier finden Sie eine detaillierte Schritt-für-Schritt-Anleitung, die Ihnen den Einstieg von der Installation bis zur Nutzung erleichtert.

Einbauverfahren

  1. Klonprojekt
    Öffnen Sie ein Terminal und geben Sie ein:
git clone https://github.com/xming521/WeClone.git

Wechseln Sie dann in das Projektverzeichnis:

cd WeClone
  1. Einrichten der Umgebung
    Python 3.9 wird für dieses Projekt empfohlen. uv Verwaltungsumgebung lautet der Installationsbefehl wie folgt:
uv venv .venv --python=3.9
source .venv/bin/activate  # Linux/Mac
.venv\Scripts\activate     # Windows
  1. Installation von Abhängigkeiten
    Nachdem Sie die Umgebung aktiviert haben, führen Sie sie aus:
uv pip install --group main -e .

Hinweis: Dies umfasst nicht das Klonen der Stimme von xcodec Abhängigkeit, kann bei Bedarf separat installiert werden.

  1. Modelle herunterladen
    Das Modell ChatGLM3-6B wird standardmäßig verwendet. Es kann mit Hugging Face heruntergeladen werden:
git lfs install
git clone https://huggingface.co/THUDM/chatglm3-6b

Wenn der Download langsam ist, verwenden Sie die Magic Hitch Community:

export USE_MODELSCOPE_HUB=1  # Windows 用 set
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git

Das Modell Magic Match muss ersetzt werden modeling_chatglm.py für die Version "Hugging Face".

Vorbereitung der Daten

  1. Chat-Protokolle exportieren
  • Herunterladen von PyWxDumpdie Entschlüsselung der Microsoft-Datenbank.
  • Klicken Sie auf "Chat-Backup" und wählen Sie das CSV-Format, um Ihre Kontakte oder Gruppenchats zu exportieren.
  • Platzieren Sie die exportierte wxdump_tmp/export/csv Ordner in ./data/csv.
  • Die Beispieldaten befinden sich in der data/example_chat.csv.
  1. Verarbeitung von Daten
    Führen Sie das Skript im JSON-Format aus:
./make_dataset/csv_to_json.py

Standardmäßige Filterung von sensiblen Informationen wie Handynummern und Ausweisnummern. Sie finden sie in der Rubrik blocked_words.json Durch Hinzufügen eines verbotenen Wortes wird der gesamte Satz, der das verbotene Wort enthält, entfernt.

Feinabstimmung der Modelle

  1. Konfigurationsparameter
  • Compiler settings.jsongeben Sie den Modellpfad an.
  • anpassen per_device_train_batch_size im Gesang antworten gradient_accumulation_steps Anpassung des Videospeichers.
  • Anpassung an das Datenvolumen num_train_epochs(Runden) und lora_rankum eine Überanpassung zu vermeiden.
  1. Ein-Karten-Ausbildung
python src/train_sft.py

Die Autoren trainierten mit 20.000 Daten und der Verlust sank auf 3,5 mit guten Ergebnissen.

  1. Doka-Ausbildung
    Installieren Sie DeepSpeed:
uv pip install deepspeed

Führen Sie ein Multikartentraining durch (ersetzen Sie "Anzahl der verwendeten Grafikkarten"):

deepspeed --num_gpus=使用显卡数量 src/train_sft.py

Sprachklonen

  • Bereiten Sie eine mehr als 5 Sekunden lange WeChat-Sprachnachricht vor, die Sie in WeClone-audio Mappe.
  • Führen Sie die entsprechenden Skripte aus (Installation erforderlich) xcodec), wird der erzeugte Ton in diesem Ordner gespeichert.
  • Die Stimme behält Intonation und Emotion, mit einer Ähnlichkeit von bis zu 951 TP3T.

WeChat Roboter binden

  1. Einsatz von AstrBot
  • AstrBot herunterladen und installieren (unterstützt WeChat, QQ und andere Plattformen).
  • Konfigurieren Sie die Messaging-Plattform (z. B. WeChat).
  1. Starten des API-Dienstes
python src/api_service.py

Die Standardadresse lautet http://172.17.0.1:8005/v1.

  1. AstrBot konfigurieren
  • Fügen Sie einen Dienstanbieter hinzu und wählen Sie OpenAI als Typ.
  • API Base URL für lokale Adresse, Modell für gpt-3.5-turbo.
  • Werkzeugaufruf schließen: Befehl senden /tool off reminder.
  • Stellen Sie ein System-Eingabeaufforderungswort ein, das mit dem für die Feinabstimmung verwendeten Wort übereinstimmt.

Hardware-Voraussetzung

  • Die Standard-Feinabstimmung mit ChatGLM3-6B und LoRA erfordert 16 GB Videospeicher.
  • Andere Optionen:
  • QLoRA (4-Bit-Präzision): 6 GB (Modell 7B) bis 48 GB (Modell 70B).
  • Vollparametrischer Abgleich (16 Bit): 60 GB (7B) bis 600 GB (70B).
  • GPU wird empfohlen, mangelnder Videospeicher kann auf niedrigere Präzision eingestellt werden oder eine Multikarte verwenden.

Tipps und Tricks

  • Die Datenmenge beträgt mindestens 2.000 Einträge, je höher die Qualität, desto besser.
  • Die Sprachsamples sollten klar und ohne Hintergrundgeräusche sein.
  • Testmodell verfügbar web_demo.py vielleicht test_model.py.

Sobald dies geschehen ist, kann Ihr digitaler Doppelgänger automatisch chatten und auf WeChat mit Ergebnissen antworten, die der Person sehr nahe kommen.

 

Anwendungsszenario

  1. Täglicher Assistent
    Die digitale Aufteilung kann Ihnen helfen, auf WeChat-Nachrichten zu reagieren, z. B. automatisch auf die Begrüßung eines Freundes zu antworten, wenn Sie gerade beschäftigt sind.
  2. Technologie Praxis
    Entwickler können damit große Sprachmodelle und Techniken zum Klonen von Sprache erlernen, und der Code ist quelloffen, um praktische Experimente durchzuführen.
  3. Spaß Interaktiv
    Lassen Sie den digitalen Doppelgänger mit Ihren Freunden in Ihrer Stimme und Ihrem Tonfall plaudern und sorgen Sie so für zusätzliche Unterhaltung.

 

QA

  1. Was passiert, wenn die Datenmenge gering ist?
    Weniger als 2000 Daten können zu ungenauen Modellen führen; es wird empfohlen, mehr Dialoge und klare Sprache vorzubereiten.
  2. Kann ein normaler Computer das Programm ausführen?
    Erfordert einen Grafikprozessor mit 16 GB Videospeicher, was auf einem normalen Computer möglicherweise nicht möglich ist, also versuchen Sie es im Niedrigpräzisionsmodus.
  3. Wie ähnlich sind sich die Klangklone?
    Die mit den 5-Sekunden-Samples erzeugten Stimmen hatten eine Ähnlichkeit von 951 TP3T, mit natürlicher Intonation und Emotion.
Darf nicht ohne Genehmigung vervielfältigt werden:Leiter des AI-Austauschkreises " WeClone: Ausbildung von digitalen Doppelgängern mit WeChat-Chat-Protokollen und Stimmen
de_DEDeutsch