인프런 커뮤니티 질문&답변

sdt님의 프로필 이미지
sdt

작성한 질문수

모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기

Llama 2 Fine-Tuning 예제 1 - Llama 2를 KorQuad 데이터셋에 맞게 Fine-Tuning 하기

파인튜닝 중 학습 중지

작성

·

469

0

파인튜닝을 진행하다가 어떠한 이유로 서버가 꺼진다거나, 중간에 모델을 확인하고 싶어서 학습을 중단하고 싶을때, 현재까지 학습된 내용을 저장하려면 어떻게 해야할까요?

 

예를들어 학습도중 서버가 중단되어 학습이 멈춰버리면 현재까지 학습된 내용에서 이어서 학습을 하고싶으면 어떻게해야하는지 궁금합니다.

답변 2

0

AISchool님의 프로필 이미지
AISchool
지식공유자

안녕하세요~. 반갑습니다.

 

아래 답변 내용을 참고바랍니다.

 

https://www.inflearn.com/questions/1059175/fine-tuning-%ED%95%9C-model-%EC%9D%84-%EB%8B%A4%EC%8B%9C-fine-tuning-%ED%95%A0-%EC%88%98-%EC%9E%88%EB%82%98%EC%9A%94

 

좋은 하루되세요.

감사합니다.

sdt님의 프로필 이미지
sdt
질문자

autotrain llm --train \
    --project_name "llama2-korquad-finetuning-2" \
    --model "./llama2-korquad-finetuning" \
    --data_path "korquad_prompt" \
    --text_column "text" \
    --use_peft \
    --use_int4 \
    --learning_rate 2e-4 \
    --train_batch_size 4 \
    --num_train_epochs 100 \
    --trainer sft \
    --model_max_length 256

안녕하세요. 답변해주신것처럼 해당 링크를 참조하여 학습을 시켰습니다.

학습 된 모델에 추가 학습을 시키고 싶어서 위와 같은 명령어를 통해 추가 학습을 시키려고 하는데 다음과 같은 에러가 발생합니다:

./llama2-korquad-finetuning does not appear to have a file named config.json. Checkout 'https://huggingface.co/./llama2-korquad-finetuning/None' for available files.

혹시 이 에러에 대한 도움을 주실 수 있을까요? 어떻게 해야 학습한 모델에 이어서 추가로 학습할 수 있을까요?

AISchool님의 프로필 이미지
AISchool
지식공유자

안녕하세요.

추가 학습전에 처음 학습하는 과정에서 --merge-adapter 인자값을 추가해서 llama2-korquad-finetuning 폴더 안에 config.json 파일이 저장되어 있는지 확인해보시길 바랍니다. (처음 학습과정에서 --merge-adapter 인자값을 추가하지 않으면 config.json 파일이 저장되지 않습니다.)

좋은 하루되세요.

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다.

파인튜닝 중 학습을 중단하려면, 현재까지의 모델 상태를 저장하는 체크포인트를 활용할 수 있습니다. 대부분의 학습 환경에서는 정기적으로나 특정 조건에 의해 자동으로 체크포인트를 생성하는 기능을 제공하고 있습니다.

우선, 현재까지의 학습된 모델 상태를 저장하려면 model.save() 함수나 관련 API를 사용하여 모델을 저장하시면 됩니다. 저장할 때는 모델의 가중치, 학습률, 최적화기의 상태 등을 함께 저장해야 후에 이어서 학습할 때 동일한 조건으로 시작할 수 있습니다.

서버가 중단되어 학습이 멈추었을 경우, 이미 저장된 체크포인트가 있다면 해당 체크포인트를 로드하여 학습을 재개할 수 있습니다. model.load() 함수나 해당 프레임워크의 모델 로드 기능을 사용하여 체크포인트를 불러온 후, 학습을 계속해서 진행하시면 됩니다.

중간 체크포인트를 자동으로 생성하거나, 학습 중지 시에 체크포인트를 저장하는 방법 설정 등은 사용하고 계신 학습 도구나 프레임워크의 문서를 참고하여 설정할 수 있습니다.

코드를 살펴보지 않고서는 정확한 방법을 제시하기 어렵지만, 일반적인 접근 방식을 제시드린 것이니 참고하시어 환경에 맞게 적용하실 수 있기를 바랍니다.

추가적으로 궁금한 점이 있으시면, 사용하고 계신 프레임워크의 공식 문서를 참고하시거나 학습 도구에 제공되는 커뮤니티나 지원 채널을 통해 문의해보시기 바랍니다.

sdt님의 프로필 이미지
sdt

작성한 질문수

질문하기