[LLAMA2] LLAMA2 Custom Data로 학습시켜보기 (무료 Colab 사용)

2023. 8. 14. 14:38·Minding's Programming/Knowledge
728x90
반응형

Meta의 대규모 언어 모델인 LLAMA2를 Custom Data로 학습시키는 쉬운 방법이 있다고 해서 따라해봤다.

 

 

LLAMA2 fine tuning을 위한 패키지 다운로드

https://github.com/huggingface/autotrain-advanced

 

GitHub - huggingface/autotrain-advanced: 🤗 AutoTrain Advanced

🤗 AutoTrain Advanced. Contribute to huggingface/autotrain-advanced development by creating an account on GitHub.

github.com

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의 설정값은 아래 링크를 참고하면 된다.

https://github.com/huggingface/autotrain-advanced/blob/f1367b590dfc53d240e9684779991da540590386/src/autotrain/cli/run_llm.py#L21

 

이제 시작을 눌러 학습을 시작하면 되는데, 주의할 점이 하나 있다.

바로 학습시간이 겁나게 오래 걸린다는 것이다.

무료 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
'Minding's Programming/Knowledge' 카테고리의 다른 글
  • [Windows10/WSL2] Windows 환경에서 Linux 사용을 위한 WSL2 설치
  • [Python] OpenCV를 이용해 자동 카톡 메시지 보내기
  • 챗지피티 API (ChatGPT API) 사용 방법, 가격 알아보기
  • OpenAI 공식 ChatGPT 앱 출시, 사용방법, 기능, 유료버전(GPT4)
Minding
Minding
  • Minding
    Today's Minding
    Minding
  • 전체
    오늘
    어제
    • 울고넘는 딥러닝 (278)
      • Minding's Baseball (57)
        • MLB Statcast (29)
        • 머신러닝으로 홈런왕 예측하기 (3)
        • 야구칼럼 (12)
        • 야구 규칙, 용어 (1)
        • 2022-23 질롱 코리아 (8)
        • 류현진 등판경기 (4)
      • Minding's Programming (185)
        • 프로그래머스 코딩테스트 (21)
        • Knowledge (44)
        • Numpy & Pandas (6)
        • Excel (3)
        • Git (1)
        • Pygame (11)
        • CV (3)
        • Tensorflow tutorial (4)
        • Kaggle and Dacon (4)
        • 에러 코드 (8)
        • FastAPI (8)
        • Airflow (29)
        • Crawling (6)
        • Django (14)
        • AWS (18)
        • Spark (5)
      • Minding's Reading (30)
        • 머신러닝 딥러닝에 필요한 기초 수학 with 파이.. (2)
        • 칼만필터는 어렵지 않아 (11)
        • 밑바닥부터 시작하는 딥러닝 (6)
        • 메이저리그 야구 통계학 2e (8)
        • 논문읽기 (2)
        • 빅데이터를 지탱하는 기술 (1)
      • Minding's Life (5)
        • 주식 (4)
        • 각종 소식 (1)
  • 블로그 메뉴

    • 홈
    • Baseball
    • Programming
    • Reading
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Python
    에어플로우
    칼만필터는어렵지않아파이썬
    게임개발
    딥러닝
    KalmanFilter
    칼만필터
    데이터 엔지니어
    프로그래머스
    pygame
    넘파이
    MLB
    django
    야구
    메이저리그
    KBO
    AWS
    칼만필터는어렵지않아
    FastAPI
    django python
    Airflow
    칼만필터는어렵지않아python
    파이게임
    질롱코리아
    mlb stats api
    코딩테스트
    머신러닝
    파이썬
    데이터분석
    파이썬게임개발
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Minding
[LLAMA2] LLAMA2 Custom Data로 학습시켜보기 (무료 Colab 사용)
상단으로

티스토리툴바