나는 Macbook M2를 사용중인데, CPU로 학습해서 시간이 오래걸렸다.
GPU로 학습하기 위해선 별도의 설정이 필요하고, 바꿔야 할 설정이 많았다 ㅠㅠ
kohya 는 macos 에서 너무 별로 인듯 하다..
자료도 많이 없고 ;ㅅ;
설정할것도 디게 많다....
여러번의 삽질을 통해서 결국 GPU로 학습할 수 있었다....
열일중인 GPU 선생님..
30개의 사진을 1500번 학습하는데에 40분정도가 걸렸다.
흠 .. 근디 빠른거 맞나요?
느린거같은데..ㅠㅠ 뉴비라 잘모름.
일단 가상환경을 activate
해준 상태에서 모든 설치를 시작해야된다.
sorce venv/bin/activate
파이토치 설치를 위해 아나콘다를 설치해주자.
conda install -n base conda=23.1.0
파이토치를 설치해주자.
# 최신버전 자동 설치
conda install -c pytorch pytorch
설치되었다면,
1. 파이토치가 잘 설치되었는지
2. mps가 현재 환경에서 지원되는지 확인해보자.
>>> python
>>> import pytorch
>>> print(torch.backends.mps.is_built())
>>> True
>>> print(torch.backends.mps.is_available())
>>> True
이렇게 둘 다 True 가 나오면 1,2번 조건을 만족하여 GPU를 사용 가능하다.
파이토치 설치했다고 냅다 학습시키면 그냥 CPU로 학습하는걸 볼 수 있다.
답답해죽음
이유는 기본설정이 CPU로 되어있기 때문에 ㅎ_ㅎ!
설정을 MPS로 바꾸어줘야한다.
accelerate config
여기서 나오는 물음에 차례대로 이렇게 선택해주자.
1. this machine
2. MPS
3. NO
4. NO
자 근데!!!!!!
여기서 두번째 물음에서 MPS 옵션 자체가 없는 경우가 있다.
그게 바로 나 ㅠㅠ
No distributed training
multi-CPU
multi-GPU
TPU
이렇게만 나오는 경우가 있다.
이럴때는 직접 설정 파일을 찾아서 수정해주자.
/.cache/huggingface/accelerate/default_config.yaml
파일을 찾아서 들어가준다.
아래는 내 설정인데, 이렇게 바꿔주면 된다.
distributed_type: "MPS"
로 바꾸는게 뽀인트
command_file: null
commands: null
compute_environment: LOCAL_MACHINE
deepspeed_config: {}
distributed_type: "MPS"
downcast_bf16: "no"
dynamo_backend: "no"
fsdp_config: {}
gpu_ids: all
machine_rank: 0
main_process_ip: null
main_process_port: null
main_training_function: main
megatron_lm_config: {}
mixed_precision: "no"
num_machines: 1
num_processes: 1
rdzv_backend: static
same_network: true
tpu_name: null
tpu_zone: null
use_cpu: false
이제 학습해보러 갈 시간~ Kohya_ss 를 띄워주자.
./gui.sh
근데 기본 설정으로 돌리면 이거안된다 저거안된다 에러 엄청뜬다.
그래서 M2 환경에 맞게 트레이닝 세팅을 좀 바꿔주어야함
다음편에...
안녕하세요. 저도 M1MAX 유저라서 학습하기에 애를 좀 먹고 있는데 이거 모델 폴더안에 다른 로라나 체크포인트 같은게 있어야 돌아가는건가요? 드림부스로 셋팅 완료후 스타트 버튼을 눌러도 에러만 뜨고 학습시작을 안하네요...;