서버 환경:
우분투 20.04, RTX 3090 24G, CUDA 11.7
이 기사는 시리즈입니다.
1부: 1단계 배포 및 SFT(감독 미세 조정)
DeepSpeed 실용 시리즈 1부: RTX 3090 서버 배포 및 교육 프로세스에 대한 자세한 설명_seaside2003의 블로그-CSDN 블로그
2부: step2 보상 모델 미세 조정
DeepSpeed 실용 시리즈 2부: RTX 3090 서버 보상 모델 Fine-Tuning_seaside2003's Blog-CSDN Blog
1. 가상 환경 만들기
conda create -n dsnew python=3.10
2. 파이토치 설치
conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
3. 딥스피드 설치
pip install deepspeed
4. DeepSpeedExamples를 다운로드 하고 종속 항목을 설치합니다.
https://github.com/microsoft/DeepSpeedExamples
git clone https://github.com/microsoft/DeepSpeedExamples.git
디렉토리로 이동:
cd /home/train/mycharm/dsnew/DeepSpeedExamples/applications/DeepSpeed-Chat
구현하다:
pip install -r requirements.txt
프록시를 열고(Google 등에 액세스할 수 있음) Hugging Face에서 패키지를 다운로드하는 것이 가장 좋습니다.
5. 배치를 수정합니다 . 그렇지 않으면 24G 비디오 메모리가 충분하지 않습니다.
run1.3b.sh 파일을 편집합니다:
cd /home/train/mycharm/dsnew/DeepSpeedExamples/applications/DeepSpeed-Chat/training/step1_supervised_finetuning/training_scripts/single_gpu/
vim run1.3b.sh
다음을 추가하세요.
--per_device_train_batch_size 4 \
--per_device_eval_batch_size 4 \
에포크가 1로 변경되었습니다.
--num_train_epochs 1
6. 훈련 시작
python3 train.py --step 1 --deployment-type single_gpu
이 명령을 처음 실행할 때 facebook-OPT 모델과 필요한 데이터를 다운로드해야 하는데 속도가 느립니다. 프록시를 여는 것이 가장 좋습니다. 그렇지 않으면 쉽게 중단됩니다. 많은 데이터와 모델이 Hugging Face에서 다운로드됩니다. .
로그를 보려면 새 창을 엽니다.
cd /home/train/mycharm/ds/DeepSpeedExamples20230415/applications/DeepSpeed-Chat
less output/actor-models/1.3b/training.log
Batch가 4인 경우 비디오 메모리는 기본적으로 가득 차서 ~20G로 82%를 차지합니다.
아래 그림과 같이 1 Epoch가 종료된 후:
로그를 보고 세부정보를 보려면 다음을 수행하세요.
DeepSpeed-Chat 디렉터리로 전환하고 다음을 실행합니다.
cd /home/train/mycharm/dsnew/DeepSpeedExamples/applications/DeepSpeed-Chat
작업 로그 보기:
less output/actor-models/1.3b/training.log
생성된 모델은 출력 디렉터리에 있습니다.
7. 평가 및 테스트
run_prompt.sh 파일을 열고 기준 모델과 미세 조정 후 모델을 추가합니다.
python prompt_eval.py \
--model_name_or_path_baseline facebook/opt-1.3b \
--model_name_or_path_finetune ../../output/actor-models/1.3b
평가 프로그램은 프롬프트_eval.py를 호출하여 기준 모델과 미세 조정 모델의 결과를 각각 출력합니다.
이 코드를 실행하려면 step1_supervised_finetuning 디렉터리로 전환해야 합니다.
cd training/step1_supervised_finetuning
bash evaluation_scripts/run_prompt.sh
하지만 오류가 발생합니다.
Evaluation_scripts/run_prompt.sh: 4행: $'\r': 명령을 찾을 수 없음
파일 형식 문제의 경우 형식을 변환하면 됩니다.
dos2unix evaluation_scripts/run_prompt.sh
다시 실행하세요:
bash evaluation_scripts/run_prompt.sh
성공적으로 실행:
……
대화 방식으로 상호 작용하려면 chat.py를 실행하십시오.
python chat.py --path output/actor-models/1.3b