English Русский 中文 Español 日本語 Português
preview
Integrieren Sie Ihr eigenes LLM in EA (Teil 2): Beispiel für den Einsatz in einer Umgebung

Integrieren Sie Ihr eigenes LLM in EA (Teil 2): Beispiel für den Einsatz in einer Umgebung

MetaTrader 5Handel | 6 Februar 2024, 10:00
239 0
Yuqiang Pan
Yuqiang Pan

Einführung

Im vorigen Artikel haben wir die grundlegenden Hardwarekenntnisse für die lokale Ausführung von LLMs vorgestellt und auch die Unterschiede zwischen den verschiedenen Umgebungen und ihre jeweiligen Vor- und Nachteile erwähnt. Daher wird in diesem Artikel nicht auf die Einrichtung der Umgebung anderer Systeme wie Windows, Linux und MacOS eingegangen, sondern nur auf die Konfiguration von Windows+WSL. Wir werden die Umgebung schrittweise konfigurieren und den Betrieb lokaler LLMs erreichen.

Inhaltsverzeichnis

  1. Einführung
  2. WSL2
  3. WSL2-Installation
  4. Konfiguration
  5. Die allgemeinen Befehle für WSL
  6. Software-Konfiguration
  7. Schlussfolgerung

WSL2

1. Über WSL2

WSL2 ist ein umfassendes Upgrade der ursprünglichen Version von WSL, die Microsoft bereits 2017 eingeführt hat. WSL2 ist nicht nur ein Versions-Upgrade, es ist schneller, universeller und verwendet einen echten Linux-Kernel. Bis heute glaube ich, dass viele Menschen nicht wissen, dass es WSL gibt, einschließlich einiger IT-Fachleute. Sie arbeiten immer noch mit Windows+VirtualMachine oder verwenden den Dualsystemmodus und wechseln von Windows zu Linux, wenn sie es brauchen.

Natürlich kann nicht geleugnet werden, dass manche Aufgaben eine komplette Linux-Umgebung erfordern, die WSL nicht ersetzen kann, daher sind diese Methoden nicht ohne Grund.

2. Warum WSL2 verwenden?

Für künstliche Intelligenz verwenden wir hauptsächlich die leistungsstarken Befehlszeilentools von Linux und GPU-beschleunigtes Rechnen, sodass die Konfiguration von Dualsystemen oder Windows+VirtualMachines etwas aufgebläht erscheint. WSL2 selbst verfügt über einen vollständigen Linux-Kernel, der der echten Linux-Umgebung näher kommt, und WSL2 kann nahtlos an das Windows-Dateisystem andocken. Sie können sein Dateisystem wie einen Ordner unter Windows verwalten. In weniger als einer Sekunde können Sie die Linux-Befehlszeile von Windows aus ausführen. Wenn Sie also Linux-Funktionen und -Tools effizient und bequem in der Windows-Umgebung nutzen möchten, werden Sie die Entscheidung für WSL2 nicht bereuen.


WSL2-Installation

1. Installationsanforderungen:

1). Bei der Windows-Version muss es sich um Windows 10 Version 2004 oder höher (interne Version 19041 oder höher) oder Windows 11 handeln, und das Update KB4566116 muss installiert sein. Wenn die Version älter ist, kann sie natürlich weiterhin verwendet werden, aber es ist eine manuelle Bedienung erforderlich. Darauf werden wir später eingehen.

2). WSL2 muss möglicherweise die „Virtual Machine Platform“-Funktion von Windows aktivieren. Warum „muss möglicherweise“"? Denn ich habe nicht ausprobiert, ob es ohne Aktivierung auf Windows 10 installiert werden kann, aber es kann auch ohne Aktivierung auf meinem Computer (Win11-22H2) installiert werden. Wenn die Installation fehlschlägt, suchen Sie bitte unter "Start" nach "Windows-Funktionen" und aktivieren Sie Hyper-V wie in der Abbildung unten dargestellt.

hyper

3). Die Festplatte hat genügend reservierten Speicherplatz, wahrscheinlich mindestens 1 GB. Dies ist natürlich die Grundlage dafür, dass alles normal läuft. Die Standardinstallation wird auf Laufwerk C installiert, aber wenn Sie sich Sorgen um Ihren Platz auf Laufwerk C machen, können wir auch auf andere Partitionen migrieren, die später erwähnt werden.

2. Einrichtung

1). Wenn Sie keine Anforderungen an die Version der Linux-Distribution haben (wenn Sie spezielle Anforderungen an die Version haben, geben Sie den Befehl nicht überstürzt ein, sondern lesen Sie bitte den nächsten Inhalt), müssen Sie nur PowerShell als Administrator öffnen und Folgendes eingeben: wsl --install.

Installieren

2). Wenn Sie eine Version der Linux-Distribution angeben möchten, öffnen Sie PowerShell als Administrator und führen Sie dann den folgenden Befehl aus, um WSL2 so zu installieren, dass die Version der Linux-Distribution angegeben wird:

wsl --install -d <Name der Distribution> (ersetzen Sie <Name der Distribution> durch den Namen der Distribution, die Sie installieren möchten, z. B: Ubuntu-20.04).

Wenn Sie mehr Auswahl haben möchten, können Sie wsl --list --online (oder wsl -l -o) verwenden, um die verfügbaren Linux-Distributionen anzuzeigen. Die gute Nachricht ist, dass Sie mehrere verschiedene Linux-Versionen installieren können und nur während des Betriebs wechseln müssen.

Tipp: Wenn Sie eine Linux-Distribution installieren möchten, die nicht in der Liste der verfügbaren Distributionen aufgeführt ist, können Sie TAR-Dateien verwenden, um eine beliebige Linux-Distribution zu importieren; wir werden hier nicht darauf eingehen.

3). Es gibt mehrere Möglichkeiten, das Subsystem zu betreiben:

  •  Öffnen Sie die Distribution über das Menü „Start“ (standardmäßig Ubuntu).
  •  Geben Sie in der Windows-Eingabeaufforderung oder PowerShell direkt „wsl“ ein und drücken Sie die Eingabetaste.
  •  In der Windows-Eingabeaufforderung oder PowerShell können Sie den Namen der installierten Distribution eingeben. Zum Beispiel: ubuntu.
  •  Wenn Sie mehrere Linux-Versionen installiert haben, können Sie mit dem Befehl wsl -l -v die zugehörigen Informationen anzeigen und dann mit dem Befehl wsl [Name] auswählen, welche Version Sie starten möchten. Zum Beispiel: wsl ubuntu.

4). Wenn Sie das Programm zum ersten Mal ausführen, werden Sie aufgefordert, einen Nutzernamen und ein Passwort festzulegen. Bitte beachten Sie, dass das Passwort bei der Eingabe nicht angezeigt wird und sich der Cursor nicht bewegt. Sie müssen sich nur das Passwort merken und dann die Eingabetaste drücken. Das System wird Sie zur Eingabe auffordern, wenn Sie Administratorrechte benötigen (z. B. bei sudo-Vorgängen). Aber wenn Sie es versehentlich vergessen haben, keine Sorge, es gibt eine Möglichkeit, dieses Problem zu lösen, ohne das Subsystem neu zu installieren.

ins

5). Wenn Sie das Subsystem beenden wollen, geben Sie einfach "exit" in die Befehlszeile ein. Wenn Sie sich nicht sicher sind, ob das Subsystem läuft, können Sie "wsl -l -v" in der Eingabeaufforderung oder PowerShell verwenden, um die entsprechenden Informationen anzuzeigen, und "wsl --shutdown" verwenden, um alle Subsysteme herunterzufahren.

Tipp: Wenn Sie ein grafisches Subsystem verwenden möchten, können Sie sich auf den entsprechenden Inhalt der offiziellen Microsoft-Website beziehen, um es zu implementieren, aber der Autor rät dringend davon ab, dies zu tun!


Konfiguration

1. Migration zu anderen Partitionen

Wenn die Festplattenressourcen Ihres Systems relativ knapp sind, können Sie in Erwägung ziehen, das Subsystem auf andere Festplatten oder Partitionen zu verlagern. Die einzelnen Vorgänge sind wie folgt:

1). Geben Sie in der Windows-Eingabeaufforderung oder in PowerShell Folgendes ein: "wsl -l -v --all", um das zu migrierende Subsystem anzuzeigen.

2). Geben Sie in die Windows-Eingabeaufforderung oder PowerShell ein: "wsl --shutdown", um sicherzustellen, dass alle Subsysteme geschlossen sind.

3). Geben Sie in der Windows-Eingabeaufforderung oder in der PowerShell Folgendes ein: "wsl --export <Name des Subsystems> <Pfad zum Speichern des komprimierten Subsystempakets>", zum Beispiel: "wsl --export ubuntu f:\wsl-ubuntu.tar".

4). Geben Sie in der Windows-Eingabeaufforderung oder in der PowerShell ein: "wsl --unregister <Subsystemname>", zum Beispiel: "wsl --unregister ubuntu".

5). Geben Sie in der Windows-Eingabeaufforderung oder in der PowerShell Folgendes ein: "wsl --import <Name des Subsystems> <Pfad des zu migrierenden Subsystems> <Pfad des ursprünglich exportierten, komprimierten Subsystems> --version 2", zum Beispiel: "wsl --import new_ubuntu F:\wsl\ubuntu_wsl f:\wsl-ubuntu.tar --version 2".

6). Das ursprünglich exportierte komprimierte Subsystempaket kann gelöscht oder als Sicherungsdatei verwendet werden.

Anmerkung: Wenn Sie eine Sicherungskopie Ihres Subsystems erstellen möchten, können Sie den Inhalt hier nachlesen.

2. Einstellung der Konfigurationsdateien

Es gibt zwei Arten von WSL2-Subsystem-Konfigurationsdateien: Eine ist die globale Konfiguration unter Windows und die andere ist die lokale Konfigurationsdatei unter dem Subsystem. Wir konfigurieren hauptsächlich die globale Konfigurationsdatei, der Pfad zu dieser Datei lautet 'C:\Users\<Nutzername>\.wslconfig'. Sie müssen sie mit einem Texteditor zur Bearbeitung öffnen. Die wichtigsten Optionen, die wir konfigurieren müssen, sind Speicher, Swap und Auslagerungsdatei. Vergewissern Sie sich vor der Einstellung, dass sich das Teilsystem in einem geschlossenen Zustand befindet, das ist sehr wichtig!

  • -memory: Konfigurieren Sie den maximalen Speicher, den wir dem Subsystem zuweisen.
  • -swap: Die Menge an Swap Space, die der WSL 2 VM hinzugefügt werden soll. 0 bedeutet keine Swap-Datei. Der Swap-Speicher ist ein festplattenbasierter Arbeitsspeicher, der verwendet wird, wenn der Speicherbedarf die Grenzen der Hardwaregeräte überschreitet.
  • -swapfile: Der absolute Windows-Pfad der virtuellen Swap-Festplatte. Dieser Weg kann entsprechend der eigenen Situation gewählt werden und kann überall sein.

Gehen Sie direkt in den Pfad der Konfigurationsdatei, öffnen Sie sie mit Notepad und fügen Sie die folgenden 4 Zeilen ein, beachten Sie, dass am Ende kein Satzzeichen steht:

[wsl2]

memory=8GB

swap=60GB

swapfile=G:\\wsl\\swap\\wsl-swap.vhdx

Sie müssen ‚G:\\wsl\swap\\wsl-swap.vhdx‘ durch Ihren eigenen Pfad ersetzen.

Anmerkung: Ein sehr wichtiger Punkt ist, dass Sie bei der Ausführung von LLM sicherstellen sollten, dass Ihr Speicher + Swap-Wert größer ist als die Modellgröße, da sonst Probleme beim Lesen des Modells auftreten.

3. Installation von WSL2 auf älteren Versionen von Windows 10

1). Stellen Sie sicher, dass die Systemversion 1903 oder höher und die interne Version 18362.1049 oder höher ist.

2). Öffnen Sie PowerShell als Administrator und führen Sie folgenden Befehl aus: "dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart", und starten Sie dann den Computer neu.

3). Laden Sie das Linux-Kernel-Paket herunter, Download-Link: 'https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi'.

4). Doppelklicken Sie darauf, um das heruntergeladene Kernelpaket auszuführen und die Installation abzuschließen.

5). Öffnen Sie PowerShell als Administrator und führen Sie den Befehl "wsl --set-default-version 2" aus.

6). Öffnen Sie den Microsoft Store, wählen Sie Ihre bevorzugte Linux-Distribution und klicken Sie auf das Symbol, um sie zu installieren.

Wie in der Abbildung dargestellt:

store

Anmerkung: Nachdem Sie das Subsystem eine Zeit lang nutzt haben, können Sie einige nicht mehr benötigte Inhalte löschen, um Speicherplatz freizugeben (z. B. Cache). Obwohl der Inhalt gelöscht wurde, ist der von der virtuellen Festplatte des Subsystems belegte Platz nicht kleiner geworden. Zu diesem Zeitpunkt können wir die Eingabeaufforderung oder PowerShell mit Administratorrechten ausführen und den Verwaltungsbefehl für virtuelle Festplatten "vdisk" im Datenträgerteil verwenden, um die virtuelle Festplatte zu komprimieren.


Die allgemeinen Befehle für WSL

Verwendung: wsl.exe [Argument] [Optionen...] [Befehlszeile]

1. Argumente für die Ausführung von Linux-Binärdateien

    Wenn keine Befehlszeile angegeben wird, startet wsl.exe die Standardshell.

    --exec, -e <Befehlszeile>

        Führt den angegebenen Befehl aus, ohne die Standard-Linux-Shell zu verwenden.

    --shell-type <Typ>

        Führt den angegebenen Befehl unter Verwendung des angegebenen Shell-Typs aus.

        Typen:

    • standard

                Führt den angegebenen Befehl mit der Standard-Linux-Shell aus.

    • login

                Führt den angegebenen Befehl unter Verwendung der Standard-Linux-Shell als Login-Shell aus.

  • none

                Führt den angegebenen Befehl aus, ohne die Standard-Linux-Shell zu verwenden.

    --

        Übergeben Sie den restlichen Teil der Befehlszeile unverändert.

2. Optionen

    --cd <Verzeichnis>

        Legt das angegebene Verzeichnis als aktuelles Arbeitsverzeichnis fest.

        Wenn ~ verwendet wird, wird der Hauptpfad des Linux-Nutzers verwendet. Wenn der Pfad mit einem Zeichen beginnt, wird er als absoluter Linux-Pfad interpretiert.

        Andernfalls muss dieser Wert ein absoluter Windows-Pfad sein.

    --distribution, -d <Distro>

        Führen Sie die angegebene Distribution aus.

    --user, -u <Nutzername>

        Als ein bestimmter Nutzer ausführen.

    -System

        Starten Sie eine Shell für die Systemdistribution.

3. Argumente für die Verwaltung von Windows Subsystem für Linux

    --help

        Anzeige von Nutzungsinformationen.

    --debug-shell

        Öffnen Sie die WSL2-Debug-Shell zur Diagnose.

    --event-viewer

        Öffnen Sie die Anwendungsansicht der Windows Ereignisanzeige.

    --install [Distro] [Optionen...]

        Installieren einer Distribution von Windows Subsystem für Linux.

        Um eine Liste der verfügbaren Distributionen anzuzeigen, verwenden Sie 'wsl.exe --list --online'.

        Optionen:

            --no-launch, -n

                Starten Sie die Distribution nicht nach der Installation.

            --web-download

                Download der Distribution aus dem Internet statt aus dem Microsoft Store.

    -mount <Festplatte>

        Anhängen und Einhängen von physischen oder virtuellen Festplatten in allen WSL 2-Distributionen.

        Optionen:

            --vhd

                Geben Sie an, dass <Festplatte> eine virtuelle Festplatte darstellt.

            --Bare

                Binden Sie die Festplatte an WSL2, aber mounten Sie sie nicht.

            --name <Name>

                Einhängen des Datenträgers unter Verwendung eines eigenen Namens für den Einhängepunkt.

            --Typ <Typ>

                Dateisystem, das beim Einhängen der Festplatte verwendet wird; wenn nicht angegeben, wird standardmäßig ext4 verwendet.

            --options <Optionen>

                Andere Möglichkeiten für das Einhängen.

            --partition <Index>

                Der Partitionsindex, der eingehängt werden soll; wenn er nicht angegeben wird, wird standardmäßig der gesamte Datenträger verwendet.

    --release-notes

        Öffnen Sie einen Webbrowser, um die Seite mit den WSL-Versionshinweisen anzuzeigen.

    --set-default-version <Version>

        Ändert die Standardinstallationsversion für neue Distributionen.

    --shutdown

        Beenden Sie sofort alle laufenden Distributionen und die leichtgewichtige virtuelle Maschine WSL 2.

    --status

        Anzeige des Status von Windows Subsystem für Linux.

    --unmount [Festplatte]

        Aushängen und Trennen eines Datenträgers von allen WSL2-Distributionen. Bei einem Aufruf ohne Argumente werden alle Festplatten ausgehängt und getrennt.

    --update

        Update-Paket von Windows Subsystem für Linux.

        Optionen:

            --web-download

                Laden Sie Updates aus dem Internet statt aus dem Microsoft Store herunter.

            --pre-release

                Laden Sie eine Vorabversion herunter, falls verfügbar. Zeigt die Verwendung von --web-download an.

    --version, -v

        Anzeige von Versionsinformationen.

4. Argumente für die Verwaltung von Distributionen in Windows Subsystem für Linux

    --export <Distro> <Dateiname> [Optionen]

        Distribution als tar-Datei exportieren.

        Bei der Standardausgabe kann der Dateiname "-" sein.

        Optionen:

            --vhd

                Geben Sie die Distribution an, die als .vhdx-Datei exportiert werden soll.                

    --import <Distro> <Installationsort> <Dateiname> [Optionen]

        Importiert das angegebene tar als neue Distribution. Bei der Standardeingabe kann der Dateiname "-" sein.

        Optionen:

            --version <Version>

                Geben Sie die Version an, die für die neue Distribution verwendet werden soll.                

            --vhd

                Geben Sie an, dass es sich bei der bereitgestellten Datei um eine .vhdx-Datei und nicht um eine tar-Datei handelt.

                Dieser Vorgang erzeugt eine Kopie der .vhdx-Datei am angegebenen Installationsort.                

    --import-in-place <Distro> <Dateiname>

        Importieren Sie die angegebene .vhdx-Datei als neue Distribution.

        Diese virtuelle Festplatte muss mit dem Dateisystemtyp ext4 formatiert sein.        

    --list, -l [Optionen]

        Auflistung der Distributionen.        

        Optionen:

            --all

                Alle Distributionen auflisten, auch die, die gerade installiert oder deinstalliert werden.                

            --running

                Nur aktuell laufende Distributionen auflisten.                

            --quiet, -q

                Nur den Distributionsnamen anzeigen.                

            --verbose, -v

                Detaillierte Informationen über alle Distributionen anzeigen.                

            --online, -o

                Verwenden Sie 'wsl.exe -install', um die Liste der verfügbaren Distributionen anzuzeigen, die installiert werden können.                

    --set-default, -s <Distro>

         Distribution als Standardverteilung festlegen.         

     --set-version <Distro> <Version>

         Version der angegebenen Distribution ändern.         

     --terminate, -t <Distro>

         Beenden Sie die angegebene Distribution.         

     --unregister <Distro>

         Deregistrierung der Distribution und Löschen des Root-Dateisystems.


Software-Konfiguration

Als Nächstes werden wir verwandte Software in WSL einsetzen, einschließlich Software zur Umgebungsverwaltung, Software zur Codebearbeitung usw., und ein Beispiel zeigen, wie LLMs in WSL2 ausgeführt werden können.

1. Verwaltung der Python-Bibliothek

Wir verwenden miniconda hauptsächlich zur Verwaltung von Python-Bibliotheken.

  1. Zunächst starten wir die WSL-Befehlszeile und geben in die Befehlszeile ein: wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh.
  2. Nachdem wir gewartet haben, bis der Download abgeschlossen ist, müssen wir dieser Datei höhere Berechtigungen geben: sudo chmod 777 Miniconda3-latest-Linux-x86_64.sh, zu diesem Zeitpunkt wird das System Sie auffordern, ein Passwort einzugeben, dieses Passwort ist das Passwort, das wir bei der Erstellung von WSL2 eingegeben haben.
  3. Geben Sie in die Befehlszeile ein: ./Miniconda3-latest-Linux-x86_64.sh. Nachdem die Installation abgeschlossen ist, enthält Ihre Befehlszeile mehr (Basis-)Wörter am vorderen Ende, wie in der Abbildung gezeigt:

Basis

2. Code-Editor

  • Wenn Sie bereits Code-Editoren wie Pycharm oder vscode in der Windows-Umgebung installiert haben, können Sie die Python-Umgebung von WSL2 über die Einstellungen finden.
  • Wenn nicht, brauchen Sie nur „code .“ in die WSL2-Eingabeaufforderung einzugeben und zu warten, bis es automatisch installiert wird. Dann wird vscode direkt gestartet. Nach dem Start finden Sie in der linken unteren Ecke das Wort WSL, das anzeigt, dass vscode mit WSL verbunden ist (siehe Abbildung):
vscode

Tipp: Verwenden Sie in der Befehlszeile des wsl2-Subsystems den cd-Befehl, um direkt zu dem Ort zu gelangen, an dem Sie den Code bearbeiten müssen, und dann wird „code .“ direkt vscode starten und diesen Ordner finden, was sehr praktisch ist.

3. GPU-beschleunigte Inferenz

Hier geht es nur um die NVIDIA-Grafikkartenbeschleunigung. Wenn Sie andere Karten verwenden, suchen Sie bitte nach entsprechenden Konfigurationsmethoden. Wir werden sie nicht einzeln auflisten.

1). Einrichten der NVIDIA CUDA-Beschleunigung mit Docker

  • Installieren Sie die Docker-Unterstützung: Führen Sie „curl https://get.docker.com | sh" in der Befehlszeile aus, und führen Sie dann „sudo service docker start“ aus. Dadurch wird der Docker-Dienst gestartet.
  • Richten Sie ein stabiles Repository für das NVIDIA Container-Toolkit ein: Führen Sie die folgenden Befehle nacheinander in der Befehlszeile aus: 
    1. distribution=$(. /etc/os-release;echo $ID$VERSION_ID);
    2. curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-docker-keyring.gpg;
    3. curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-docker-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-docker.list.
  • Installieren Sie das NVIDIA-Laufzeitpaket und die Abhängigkeiten: Führen Sie die folgenden Befehle nacheinander in der Befehlszeile aus: sudo apt-get update; sudo apt-get install -y nvidia-docker2.
  • Starten Sie den Container: Führen Sie „docker run --gpus all -it --shm-size=1g --ulimit memlock=-1 --ulimit stack=67108864 nvcr.io/nvidia/tensorflow:20.03-tf2-py3“ in der Befehlszeile aus. Nach der Fertigstellung werden wir einen Docker-Container mit CUDA-Beschleunigungsfunktion eingeben. Wie in der Abbildung dargestellt:

docker

2). Manuelle Installation der NVIDIA CUDA-Beschleunigung

  • - Holen des Installationspakets: Führen Sie „wget https://developer.download.nvidia.com/compute/cuda/12.2.2/local_installers/cuda_12.2.2_535.104.05_linux.run“ in der Befehlszeile aus.
  • - Ausführen des Installationspaket: Führen Sie „sudo sh cuda_12.2.2_535.104.05_linux.run“ in der Befehlszeile aus. Wenn ein Fehler auftritt, hängen Sie „--override“ an den Befehl an, zum Beispiel: sudo sh cuda_12.2.2_535.104.05_linux.run --override.
  • - Hinzufügen der entsprechenden Umgebungsvariablen: Führen Sie „sudo vim ~/.bashrc“ in der Befehlszeile aus, und fügen Sie den folgenden Inhalt am Ende der Datei hinzu: 

```

export PATH=/usr/local/cuda-12.2.2/bin${PATH:+:${PATH}}

export LD_LIBRARY_PATH=/usr/local/cuda-12.2.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

export CUDA_HOME=/usr/local/cuda-12.2.2${CUDA_HOME:+:${CUDA_HOME}}

```

  • - Aktualisieren der Umgebungsvariablen: Führen Sie „source ~/.bashrc“ in der Befehlszeile aus.

Anmerkung: Wenn Sie „sudo vim ~/.bashrc“ ausführen und feststellen, dass Sie mit vim nicht vertraut sind, können Sie diese Datei auch finden und in die Windows-Umgebung kopieren, um einen Texteditor zum Bearbeiten und Hinzufügen relevanter Inhalte zu verwenden, und sie dann nach Abschluss der Bearbeitung zurückkopieren. Dies hat den Vorteil, dass auch die Datei '.bashrc' gesichert wird.

4. LLM ausführen

1). Erstellen einer virtuellen Umgebung von conda: Geben Sie „conda create -n llm python=3.10“ in die Befehlszeile ein.

Anmerkung:

  1. „llm“ ist der Name der virtuellen Umgebung, die wir erstellen wollen, der beliebig geändert werden kann.
  2. „-python=3.10“ gibt die Python-Version an, die von der virtuellen Umgebung verwendet wird. Obwohl „conda create -n llm“ auch möglich ist, wird dringend empfohlen, die Version anzugeben!

2). Wechseln in die virtuelle Umgebung: Geben Sie „conda activate llm“ in die Befehlszeile ein, um unsere virtuelle Umgebung zu aktivieren.

Das „(base)“ am vorderen Ende der Eingabeaufforderung wird zu „(llm)“. Wenn Sie die virtuelle Umgebung verlassen wollen, verwenden Sie 'conda deactivate'.

3). Finden Sie das LLM, das Sie verwenden möchten, auf huggingface: https://huggingface.co.

Da es zu viele Modelle gibt, können Sie die Rangliste der Open-Source-Modelle unter https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard einsehen. Es wird empfohlen, das von llama.cpp unterstützte Format zu verwenden. Wenn Ihr Land (Ihre Region) keinen Zugang zu huggingface hat, nutzen Sie bitte einen Zauber, um die Magie zu besiegen!

4). Laden Sie das Modell herunter: Zuerst müssen Sie die Unterstützung für große Dateien in Git aktivieren, indem Sie „git lfs install“ in die Befehlszeile eingeben.

Nach der Ausführung geben Sie „git clone https://huggingface.co/<Bibliotheksname>“ ein, wobei Sie „<Bibliotheksname>“ durch den Namen des Modells ersetzen, das Sie herunterladen möchten. Zum Beispiel: „git clone https://huggingface.co/Phind/Phind-CodeLlama-34B-v2“, warten Sie, bis der Download abgeschlossen ist.

5). Installieren Sie die Python-Version von llama.cpp: llama-cpp-python: Geben Sie 'CMAKE_ARGS="-DLLAMA_CUBLAS=on" pip install llama-cpp-python' in die Befehlszeile ein und warten Sie, bis die Installation abgeschlossen ist. Nach der Installation unterstützt llama.cpp sowohl CPU- als auch GPU-Beschleunigung (natürlich werden auch Grafikkarten anderer Hersteller unterstützt, siehe: https://github.com/abetlen/llama-cpp-python).

Anmerkung: Wenn Sie keine Grafikkarte haben oder keine Unterstützung für GPU-Beschleunigung installiert haben, verwenden Sie bitte „pip install llama-cpp-python“ für die Installation. Obwohl die Inferenz langsamer ist, ist sie nicht unbrauchbar.

6). Inferenz ausführen: Erstellen Sie eine py-Datei, nennen wir sie test.py. Kopieren Sie den folgenden Inhalt in die Datei:

from llama_cpp import Llama

llm = Llama(model_path="./models/7B/llama-model.gguf")

output = llm("Q: Name the planets in the solar system? A: ", max_tokens=32, stop=["Q:", "\n"], echo=True)

print(output)

Führen Sie dann "python test.py" in der Befehlszeile aus, und Sie können die Ausgabe sehen:

{
  "id": "cmpl-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "object": "text_completion",
  "created": 1679561337,
  "model": "./models/7B/llama-model.gguf",
  "choices": [
    {
      "text": "Q: Name the planets in the solar system? A: Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, Neptune and Pluto.",
      "index": 0,
      "logprobs": None,
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 14,
    "completion_tokens": 28,
    "total_tokens": 42
  }
}

Anmerkung:

1. "model_path" gibt an, wo Sie die Modelldateien heruntergeladen haben;

2. Der Inhalt nach Q in „Q: Name the planets in the solar system? A:“ ist die Frage, die Sie stellen möchten und die in eine beliebige Frage geändert werden kann.

3. Der Inhalt nach A in „Q: Name the planets in the solar system? A:“ ist die Antwort des LLM.


Schlussfolgerung

In diesem Artikel haben wir Schritt für Schritt untersucht, wie man eine WSL2-Umgebung erstellt, in der LLM ausgeführt werden kann, und haben die verschiedenen Details von WSL2 im Einsatz detailliert beschrieben. Dann haben wir ein einfaches Beispiel für die LLM-Inferenz mit möglichst wenig Code vorgestellt, und wir glauben, dass auch Sie die Einfachheit und Leistungsfähigkeit von llama.cpp kennengelernt haben. Im nächsten Artikel werden wir erörtern, wie man aus vielen LLMs ein geeignetes Modell auswählt, um es für unseren Zweck der Integration in den algorithmischen Handel anzupassen.

Bleiben Sie dran!



Übersetzt aus dem Englischen von MetaQuotes Ltd.
Originalartikel: https://www.mql5.com/en/articles/13496

MQL5-Assistenz-Techniken, die Sie kennen sollten (Teil 07): Dendrogramme MQL5-Assistenz-Techniken, die Sie kennen sollten (Teil 07): Dendrogramme
Die Klassifizierung von Daten zu Analyse- und Prognosezwecken ist ein sehr vielfältiger Bereich des maschinellen Lernens, der eine große Anzahl von Ansätzen und Methoden umfasst. Dieser Beitrag befasst sich mit einem solchen Ansatz, der Agglomerativen Hierarchischen Klassifikation.
Permutieren von Preisbalken in MQL5 Permutieren von Preisbalken in MQL5
In diesem Artikel stellen wir einen Algorithmus zur Permutation von Preisbalken vor und erläutern, wie Permutationstests verwendet werden können, um Fälle zu erkennen, in denen die Leistung einer Strategie gefälscht wurde, um potenzielle Käufer von Expert Advisors zu täuschen.
Fertige Vorlagen für die Einbindung von Indikatoren in Expert Advisors (Teil 2): Volumen- und Bill-Williams-Indikatoren Fertige Vorlagen für die Einbindung von Indikatoren in Expert Advisors (Teil 2): Volumen- und Bill-Williams-Indikatoren
In diesem Artikel werden wir uns mit den Standardindikatoren der Kategorie Volumen und den Indikatoren von Bill Williams beschäftigen. Wir werden gebrauchsfertige Vorlagen für die Verwendung von Indikatoren in EAs erstellen - Deklaration und Einstellung von Parametern, Initialisierung und Deinitialisierung von Indikatoren sowie Empfang von Daten und Signalen aus Indikatorpuffern in EAs.
Lernen Sie, wie man mit Datum und Uhrzeit in MQL5 umgeht Lernen Sie, wie man mit Datum und Uhrzeit in MQL5 umgeht
Ein neuer Artikel über ein neues wichtiges Thema, das sich mit Datum und Zeit beschäftigt. Als Händler oder Programmierer von Handelsinstrumenten ist es sehr wichtig zu verstehen, wie man mit diesen beiden Aspekten Datum und Zeit sehr gut und effektiv umgehen kann. Ich werde also einige wichtige Informationen darüber weitergeben, wie wir mit Datum und Zeit umgehen können, um effektive Handelsinstrumente reibungslos und einfach zu erstellen, ohne dass es zu Komplikationen kommt.