Serie práctica de DeepSpeed Parte 1: Explicación detallada de la implementación del servidor RTX 3090 y el proceso de capacitación

Entorno del servidor:

Ubuntu 20.04, RTX 3090 24G, CUDA 11.7

Este artículo es una serie:

Parte 1: implementación del paso 1 y ajuste supervisado (SFT)

Serie práctica de DeepSpeed ​​​​Parte 1: Explicación detallada del proceso de capacitación e implementación del servidor RTX 3090_Blog-CSDN de seaside2003

 Parte 2: paso 2: ajuste del modelo de recompensa

Serie práctica de DeepSpeed, parte 2: Modelo de recompensa del servidor RTX 3090 Fine-Tuning_seaside2003's Blog-CSDN Blog

1. Establecer un entorno virtual

conda create -n dsnew python=3.10

2. Instale pytorch

conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia

3. Instalar velocidad profunda

pip install deepspeed

4. Descargue DeepSpeedExamples e instale las dependencias

https://github.com/microsoft/DeepSpeedExamples

​git clone https://github.com/microsoft/DeepSpeedExamples.git

Ingrese al directorio:

cd /home/train/mycharm/dsnew/DeepSpeedExamples/applications/DeepSpeed-Chat

implementar:

pip install -r requirements.txt

Lo mejor es abrir un proxy (puede acceder a Google, etc.) y descargar el paquete desde Hugging Face

5. Modifique el lote ; de ​​lo contrario, la memoria de video de 24G no será suficiente

Edite el archivo run1.3b.sh:

cd /home/train/mycharm/dsnew/DeepSpeedExamples/applications/DeepSpeed-Chat/training/step1_supervised_finetuning/training_scripts/single_gpu/
vim run1.3b.sh

Agregue lo siguiente:

--per_device_train_batch_size 4 \
--per_device_eval_batch_size 4 \

La época cambió a 1

--num_train_epochs 1

6. Empieza a entrenar

python3 train.py --step 1 --deployment-type single_gpu

La primera vez que ejecuta este comando, necesita descargar el modelo facebook-OPT y los datos requeridos, lo cual será lento. Es mejor abrir un proxy, de lo contrario se bloqueará fácilmente. Muchos datos y modelos se descargan de Hugging Face .

Abra una nueva ventana y vea el Registro:

cd /home/train/mycharm/ds/DeepSpeedExamples20230415/applications/DeepSpeed-Chat
less output/actor-models/1.3b/training.log

Cuando el lote es 4, la memoria de video está básicamente llena, ~20G, lo que representa el 82%

Después de que finalice 1 época, como se muestra en la siguiente figura:

Si desea ver el Registro para ver los detalles:

Cambie al directorio DeepSpeed-Chat y ejecute:

cd /home/train/mycharm/dsnew/DeepSpeedExamples/applications/DeepSpeed-Chat

Ver el registro de operaciones:

less output/actor-models/1.3b/training.log

El modelo generado está en el directorio de salida:

7. Evaluación y pruebas

Abra el archivo run_prompt.sh y agregue el modelo de línea base y el modelo después del ajuste:

python prompt_eval.py \
    --model_name_or_path_baseline facebook/opt-1.3b \
    --model_name_or_path_finetune ../../output/actor-models/1.3b

El programa de evaluación llamará a Prompt_eval.py para generar los resultados de los modelos de referencia y de ajuste, respectivamente.

Para ejecutar este código, debe cambiar al directorio step1_supervised_finetuning:

cd training/step1_supervised_finetuning
bash evaluation_scripts/run_prompt.sh

Pero ocurre un error:

evaluación_scripts/run_prompt.sh: línea 4: $'\r': comando no encontrado

Para problemas de formato de archivo, simplemente convierta el formato:

dos2unix evaluation_scripts/run_prompt.sh

Ejecutar nuevamente:

bash evaluation_scripts/run_prompt.sh

Ejecutar con éxito:

……

Ejecute chat.py para interactuar de forma conversacional:

python chat.py --path output/actor-models/1.3b

Supongo que te gusta

Origin blog.csdn.net/qq_18256855/article/details/131798412
Recomendado
Clasificación