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

로보카압투님의 프로필 이미지
로보카압투

작성한 질문수

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

fine-tuning 관련 질문

작성

·

405

·

수정됨

0

안녕하세요!

강의 잘 보고 있습니다.

llama2 fine-tuning 시 label이 붙은 데이터에 대한 fine-tuning을 하는 내용만 있는데 (supervised learning)

label이 없는 text 데이터에 대해 unsupervised learning 방식으로 fine-tuning 하는 방법이 있을까요?

또한 fine-tuning 이후 checkpoint를 기존 pretrained LLM에 통합해서 나만의 LLM을 생성하는 방법에 대해서도 궁금합니다.

새해 복 많이 받으세요.

감사합니다.

답변 2

0

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

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

먼저 강의를 잘 보고 계시다니 기쁘네요^^.

 

  1. llama2 fine-tuning 시 label이 붙은 데이터에 대한 fine-tuning을 하는 내용만 있는데 (supervised learning)

    label이 없는 text 데이터에 대해 unsupervised learning 방식으로 fine-tuning 하는 방법이 있을까요?

     

    -> 

    autotrain llm 실행시에 trainer를 sft(Supervised Fine-Tuning의 약자입니다.)으로 설정하는 옵션을 끄고 학습하면 Unsupervised Learning 형태로 학습을 진행할 수 있습니다.

즉, 원래 아래와 같이 학습하던 학습 명령어를

!autotrain llm --train \
    --project-name "llama2-korquad-finetuning-da" \
    --model "TinyPixel/Llama-2-7B-bf16-sharded" \
    --data-path "korquad_prompt_da" \
    --text-column "text" \
    --peft \
    --quantization "int4" \
    --lr 2e-4 \
    --batch-size 8 \
    --epochs 40 \
    --trainer sft \
    --model_max_length 256

아래와 같이 변경해서 학습시키시면 됩니다.(--trainer sft 제거)

!autotrain llm --train \
    --project-name "llama2-korquad-finetuning-da" \
    --model "TinyPixel/Llama-2-7B-bf16-sharded" \
    --data-path "korquad_prompt_da" \
    --text-column "text" \
    --peft \
    --quantization "int4" \
    --lr 2e-4 \
    --batch-size 8 \
    --epochs 40 \
    --model_max_length 256

 

  1. 또한 fine-tuning 이후 checkpoint를 기존 pretrained LLM에 통합해서 나만의 LLM을 생성하는 방법에 대해서도 궁금합니다.

-> 이 부분은 무슨 말씀이신지 정확히 이해하지 못했습니다. fine-tuning된 checkpoint 자체가 pretrained LLM을 기반으로 새로운 지식을 추가한 나만의 LLM이라고 생각하시면 됩니다.

 

로보카압투 님도 새해 복 많이 받으세요.

좋은 하루되세요.

감사합니다.

 

0

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

질문주신 내용에 대해 답변드리겠습니다.

라벨이 없는 텍스트 데이터에 대한 unsupervised learning 방식으로 fine-tuning을 하는 방법에 대해서는, 해당 강의에서는 자세히 다루어지지 않은 내용입니다.

일반적으로, unsupervised fine-tuning을 위해서는 self-supervised learning 기술이 사용됩니다. 예를 들어, 텍스트 데이터의 일부를 마스킹하고 모델이 마스킹된 부분을 예측하게 하여 학습하는 방식으로 진행될 수 있습니다.

fine-tuning 이후에 생성된 checkpoint를 기존 pretrained LLM에 통합하여 나만의 LLM을 생성하는 과정에 대해서는 모델의 인자를 새롭게 업데이트하는 과정을 포함합니다. 일반적으로는 fine-tuning을 거친 모델을 별도로 저장하여 사용하지만, 이를 기존의 pretrained 모델과 통합하는 것은 모델의 아키텍처나 저장 포맷에 따라 상이할 수 있으므로, 해당 라이브러리의 문서를 참고해야 할 필요가 있습니다.

더 궁금한 점이 있다면 강의 페이지 내 수강 전 문의 게시판이나 해당 강의의 지식공유자님께 직접 질문할 수도 있습니다.

감사합니다.

로보카압투님의 프로필 이미지
로보카압투

작성한 질문수

질문하기