Für die Ausführung von Vicuna-7B sind RAM > 30 GB oder 14 GB Videospeicher erforderlich.
Für die Ausführung von Vicuna-13B sind RAM > 60 GB oder 28 GB Videospeicher erforderlich
Wenn Sie nicht über die oben genannte Hardwarekonfiguration verfügen, gehen Sie bitte herum. Mein Notebook verfügt über 64 GB Speicher. Ich habe ausgeführt, um beide zu sehen. Zum Ausführen habe ich Python 3.9. G verwendet
Laden Sie das Lama-Originalmodell herunter
nyanko7/LLaMA-7B at main Wir sind auf der Reise, künstliche Intelligenz durch Open Source und Open Science voranzutreiben und zu demokratisieren. https://huggingface.co/nyanko7/LLaMA-7B/tree/main humggyllama/llama-13b at main Wir sind auf der Reise, künstliche Intelligenz durch Open Source und Open Science voranzutreiben und zu demokratisieren. https://huggingface.co/huggyllama/llama-13b/tree/main Sie können Thunder auch verwenden, um den untenstehenden Link herunterzuladen. Bitte beachten Sie die Länge wie 7b, 13b das war's
Magnetischer Link : magnet:?xt=urn:btih:b8287ebfa04f879b048d4d4404108cf3e8014352&dn=LLaMA
Die heruntergeladenen Dateien lauten wie folgt:
Laden Sie Vicuna-7b-delta-v1.1 und Vicuna-13b-delta-v1.1 herunter
https://huggingface.co/lmsys/vicuna-7b-delta-v1.1/tree/main Wir sind auf der Reise, künstliche Intelligenz durch Open Source und Open Science voranzutreiben und zu demokratisieren. https://huggingface.co/lmsys/vicuna-7b-delta-v1.1/tree/main lmsys/vicuna-13b-delta-v1.1 at main Wir sind auf dem Weg, künstliche Intelligenz durch Offenheit voranzutreiben und zu demokratisieren Quelle und offene Wissenschaft. https://huggingface.co/lmsys/vicuna-13b-delta-v1.1/tree/main
Installieren Sie zugehörige Software
pip install fschat
pip install protobuf==3.20.0
git clone https://github.com/huggingface/transformers.git
cd transformers
python setup.py install
Konvertieren Sie das llaMA-Modell
7b
python transformers/src/transformers/models/llama/convert_llama_weights_to_hf.py --input_dir LLaMA/ --model_size 7B --output_dir ./output/llama-7b
13b
python transformers/src/transformers/models/llama/convert_llama_weights_to_hf.py --input_dir LLaMA/ --model_size 13B --output_dir ./output/llama-13b
In Kombination zur Generierung des Vicuna-Modells kann der 64-g-Speicher von 13b dies nicht abdecken. Daher reicht es aus, den virtuellen Speicher auf etwa 16-64 G einzustellen
python -m fastchat.model.apply_delta --base ./output/llama-7b --target ./vicuna-7b --delta ./vicuna-7b-delta-v1.1
python -m fastchat.model.apply_delta --base ./output/llama-13b --target ./vicuna-13b --delta ./vicuna-13b-delta-v1.1
Parametereinführung:
Base | Der Pfad nach der Konvertierung des llaMA-Modells |
---|---|
Ziel | Der Speicherpfad nach der Zusammenführung wird generiert |
Delta | Heruntergeladener Vicuna-7b-delta-v1.1-Pfad |
Um das Modell auszuführen, verwenden Sie Half-Float 16-Bit
python -m fastchat.serve.cli --model-path ./vicuna-7b --device cpu
python -m fastchat.serve.cli --model-path ./vicuna-13b --device cpu
7b belegt etwa 26 GB Speicher. Auf 64 GB Speicher läuft der i9 12900h und reagiert gut.
13b belegt etwa 50 GB Speicher, auf 64 GB Speicher läuft der i9 12900h langsam
Die Verwendung der quantisierten Version besteht darin, die 32-Bit-Gleitkommaparameter in 8-Bit zu komprimieren, die Geschwindigkeit ist höher, die Speichernutzung ist geringer und der IQ sinkt
python -m fastchat.serve.cli --model-path ./vicuna-7b --device cpu --load-8bit
python -m fastchat.serve.cli --model-path ./vicuna-13b --device cpu --load-8bit
7B belegt 7 G
13B belegt 13 G
Fazit: Auch wenn das kleinere Modell lauffähig ist, muss man, wenn man es selbst verfeinern möchte, dennoch auf eine GPU zurückgreifen. Empfehlenswert ist eine A100-Grafikkarte oder eine A800. Wer nicht vorab in Hardware investiert, kann diese mieten Erstens : Chiyun ist ein GPU-Cloud-Dienstleister, der sich auf den Bereich der künstlichen Intelligenz konzentriert. Stellen Sie einen stabilen Cloud-Server für künstliche Intelligenz, eine Lehr- und Schulungsumgebung für künstliche Intelligenz, Hochgeschwindigkeits-Netzwerkfestplatten und andere Dienste bereit und unterstützen Sie professionelle Lösungen für künstliche Intelligenz wie öffentliche Cloud, private Cloud, dedizierte Cloud und Hardware-Direktbeschaffung. https://matpool.com/
Allerdings läuft die CPU auf der oben genannten Maschine sehr langsam, daher möchte ich die GPU-Version ausprobieren. Ich habe nur eine 1080ti mit 11g Speicher, daher kann ich die 6B-Version mit Quantisierung kaum ausführen. Wie wird es bereitgestellt?
Lokal starten | PyTorch https://pytorch.org/get-started/locally/
Da das vorherige NVIDIA GPU Computing Toolkit für diesen Computer Version 10.0 ist, erfordert dieser Pytorch 2.0.1 11.8. Aktualisieren Sie daher das CUDA Toolkit-Archiv | NVIDIA Developer https://developer.nvidia.com/cuda-toolkit-archive
Um ein Konto zum Herunterladen zu registrieren, Version 11.8
Nach dem Herunterladen und Installieren haben sich auch die Umgebungsvariablen geändert.
Anschließend müssen Sie cuDNN erneut herunterladen und auch die entsprechende Version herunterladen
cuDNN-Archiv | NVIDIA-Entwickler https://developer.nvidia.com/rdp/cudnn-archive
Das rote Kästchen im Bild oben ist in Ordnung. Nachdem der Download abgeschlossen ist, entpacken Sie ihn,
Kopieren Sie dann alles in dieses Verzeichnis nach
C:\Programme\NVIDIA GPU Computing Toolkit\CUDA\v11.8
Die Verzeichnisse überlappen sich, sodass die Umgebungsvariable nicht erneut konfiguriert werden muss.
Nach der Installation dieser beiden Anwendungen gehen wir nach oben, um die Pytorch-GPU-Version herunterzuladen
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
Schreiben Sie dann einen Code testgpu.py, um zu sehen, ob Gup wirksam ist
import torch
print(torch.cuda.is_available())
print(torch.cuda.get_device_name(0))
Wenn die Ausgabe wahr ist, bedeutet dies, dass sie verwendet werden kann
Führen Sie die GPU-Ausführung aus, da mein 1080ti nur 11G hat und nur --load-8bit verwendet werden kann
python -m fastchat.serve.cli --model-path ./vicuna-7b --load-8bit
Wenn mehr als 12 GB Videospeicher zur Ausführung vorhanden sind
python -m fastchat.serve.cli --model-path ./vicuna-7b
Modellbegründung (Web-UI-Modus)
Wenn Sie Dienste im Web-UI-Modus bereitstellen möchten, müssen Sie drei Teile konfigurieren.
Webserver, die
Modellarbeiter der Benutzeroberfläche, hosten den Modellcontroller
, um den Webserver und den Modellarbeiter zu koordinieren
, um den Controller zu starten
python -m fastchat.serve.controller --host 0.0.0.0
Model Worker starten, CPU verwenden
python -m fastchat.serve.model_worker --model-path ./vicuna-7b --model-name vicuna-7b --host 0.0.0.0 --device cpu --load-8bit
GPU verwenden
python -m fastchat.serve.model_worker --model-path ./vicuna-7b --model-name vicuna-7b --host 0.0.0.0 --load-8bit
Warten Sie, bis der Prozess das Laden des Modells abgeschlossen hat und Sie die Meldung „Uvicorn läuft …“ sehen. Der Modellarbeiter registriert sich beim Controller.
Um sicherzustellen, dass Ihr Model Worker richtig mit dem Controller verbunden ist, senden Sie eine Testnachricht mit:
python -m fastchat.serve.test_message --model-name vicuna-7b
Die Ausgabe von l ist wie folgt
Dann starten Sie einen Webserver
python -m fastchat.serve.gradio_web_server --port 8809
Geben Sie dann im Browser ein
http://localhost:8809
Es ist gebrauchsfertig! Es scheint, dass die Verwendung von GPU den parallelen Besuch mehrerer Benutzer unterstützen kann! Die beiden Anfragen in der Abbildung unten werden gleichzeitig gesendet