728x90
반응형
Meta의 대규모 언어 모델인 LLAMA2를 Custom Data로 학습시키는 쉬운 방법이 있다고 해서 따라해봤다.
LLAMA2 fine tuning을 위한 패키지 다운로드
https://github.com/huggingface/autotrain-advanced
autotrain-advanced 패키지를 통해 딥러닝 모델을 쉽게 학습시킬 수 있다. 코드 한 줄로도 가능하다!
# 패키지 설치
!pip install -q autotrain-advanced
# local에서 진행하는 경우 !을 빼면된다.
Pytorch 업데이트
만약 나처럼 Colab에서 진행중이라면, Pytorch 업데이트가 필요하다.
!autotrain setup --update-torch
Fine-tuning하기
- 기본 모델: https://huggingface.co/TinyPixel/Llama-2-7B-bf16-sharded
- KoAlpaca 데이터셋(한국어): https://huggingface.co/datasets/royboy0416/ko-alpaca
- OpenAssistant 데이터셋(영어): https://huggingface.co/datasets/timdettmers/openassistant-guanaco
!autotrain llm --train \
--project_name "ko-llama2-finetune" \
--model "TinyPixel/Llama-2-7B-bf16-sharded" \
--data_path "royboy0416/ko-alpaca" \
--text_column "text" \
--use_peft \
--use_int4 \
--learning_rate 2e-4 \
--train_batch_size 2 \
--num_train_epochs 3 \
--trainer sft \
--model_max_length 2048
- project_name: checkpoint등 파일들의 저장 경로
- model: model 경로 (LLAMA2 2.7B 사용)
- data_path: 데이터 경로(ko-alpaca 데이터셋 사용)
- text_column: 데이터 중 사용할 칼럼 지정 ('text' 칼럼 사용)
- use_peft: parameter efficient fine tuning
- use_int4: integer 형태로
- learning_rate: 학습률 지정
- train_batch_size: 학습 배치사이즈
- A100의 경우 16, T4의 경우 2 추천
- num_train_epoch
- trainer: sft(supervised fine tuning)으로 지정
- model_max_length
더 자세한 parameter arguments의 설정값은 아래 링크를 참고하면 된다.
이제 시작을 눌러 학습을 시작하면 되는데, 주의할 점이 하나 있다.
바로 학습시간이 겁나게 오래 걸린다는 것이다.
무료 Colab의 GPU인 T4 기준 1epoch 당 예상시간이 무려 96시간이 뜬다...
일단 최대한 해 볼 생각이긴한데... 96시간 동안 컴퓨터를 켜놓을 수 있을 지 모르겠다... 추론은 다음 시간에 해보려고 한다.
728x90
'Minding's Programming > Knowledge' 카테고리의 다른 글
[Windows10/WSL2] Windows 환경에서 Linux 사용을 위한 WSL2 설치 (0) | 2024.06.18 |
---|---|
[Python] OpenCV를 이용해 자동 카톡 메시지 보내기 (0) | 2023.08.19 |
챗지피티 API (ChatGPT API) 사용 방법, 가격 알아보기 (0) | 2023.08.09 |
OpenAI 공식 ChatGPT 앱 출시, 사용방법, 기능, 유료버전(GPT4) (0) | 2023.07.31 |
[NYPC] 청소년들의 프로그래밍 축제, NYPC 알아보기 (0) | 2023.07.24 |