Vor kurzem wurden verschiedene Basismodelle veröffentlicht, die als Gehirn der generativen KI dienen, und viele Unternehmen prüfen oder entwickeln Anwendungen, die Basismodelle nutzen. Es ist jedoch nicht einfach, groß angelegte Modelle auf einer einzelnen GPU abzuleiten, und es ist nicht einfach, sie für die Produktion bereitzustellen oder zu optimieren.
Dieses praktische Handbuch richtet sich an diejenigen, die sich schnell mit generativer KI befassen und diese auf die Produktion anwenden möchten. Es bietet eine Schritt-für-Schritt-Anleitung zur effizienten Bereitstellung und Feinabstimmung großer koreanischer Modelle auf der AWS-Infrastruktur.
1_prepare-dataset-alpaca-method.ipynb
: Bereiten Sie einen Trainingsdatensatz aus dem Anweisungsdatensatz vor. Diese Methode tokenisiert jede Probe.1_prepare-dataset-chunk-method.ipynb
: Bereiten Sie einen Trainingsdatensatz aus dem Anweisungsdatensatz vor. Diese Methode verkettet alle Samples und teilt sie entsprechend der Chunk-Größe auf.2_local-train-debug-lora.ipynb
: Debuggen Sie mit einigen Beispieldaten in der Entwicklungsumgebung, bevor Sie ernsthaft Trainingsinstanzen durchführen. Wenn Sie bereits mit der Feinabstimmung vertraut sind, überspringen Sie diese praktische Übung bitte und fahren Sie mit 3_sm-train-lora.ipynb fort.3_sm-train-lora.ipynb
: Führt eine Feinabstimmung der SageMaker-Trainingsinstanzen durch. 1_local-inference.ipynb
: Lädt das Modell von Hugging Face Hub und führt eine einfache Inferenz durch. Obwohl dies nicht erforderlich ist, empfehlen wir Ihnen, mit diesem Kurs zu beginnen, wenn Sie das Modell ausprobieren möchten.2_local-inference-deepspeed.py
& 2_run.sh
: Experimentieren Sie mit der verteilten DeepSpeed-Inferenz. Empfohlen wird eine Instanz oder ein Server mit mehreren GPUs. (z. B. ml.g5.12xlarge
)3_sm-serving-djl-deepspeed-from-hub.ipynb
: Führt die SageMaker-Modellbereitstellung mithilfe des SageMaker DJL-Bereitstellungscontainers (DeepSpeed verteilte Inferenz) durch. Der Hosting-Server lädt Modelle direkt vom Hugging Face Hub herunter.3_sm-serving-djl-deepspeed-from-hub.ipynb
: Führt die SageMaker-Modellbereitstellung mithilfe des SageMaker DJL-Bereitstellungscontainers (DeepSpeed verteilte Inferenz) durch. Der Hosting-Server lädt das Modell von S3 herunter. Die Download-Geschwindigkeit ist sehr hoch, da Dateien intern von s5cmd parallel heruntergeladen werden.3_sm-serving-tgi-from-hub.ipynb
: Führt die SageMaker-Modellbereitstellung mithilfe des SageMaker TGI-Bereitstellungscontainers (Text Generation Inferface) durch. TGI ist ein von Hugging Face entwickelter verteilter Inferenzserver, der eine sehr hohe Inferenzgeschwindigkeit aufweist.3_sm-serving-djl-fastertransformer-nocode.ipynb
: Führt die SageMaker-Modellbereitstellung mithilfe des SageMaker DJL-Bereitstellungscontainers (Deep Java Library) durch (verteilte NVIDIA FasterTransformer-Inferenz). Es zeigt nur für unterstützte Modelle höhere Geschwindigkeiten als DeepSpeed an. Um dies praktisch durchzuführen, empfehlen wir die Vorbereitung einer Instanz mit den folgenden Spezifikationen.
Alternativ können Sie SageMaker Studio Lab oder SageMaker Studio verwenden.
ml.t3.medium
(Mindestspezifikation)ml.m5.xlarge
(empfohlen)ml.g5.2xlarge
(Mindestspezifikation)ml.g5.12xlarge
(empfohlen)ml.g5.2xlarge
: Modell mit 7B-Parametern oder wenigerml.g5.12xlarge
(empfohlen) Dieser Beispielcode wird unter der MIT-0-Lizenz bereitgestellt. Bitte beachten Sie die Lizenzdatei.