[Llama3 파인튜닝] 코드 업데이트 및 실험 2

2024. 12. 25. 01:17·ML_DL/MUJAKJUNG (무작정 시리즈)
728x90
반응형

0. 환경 및 변경사항

  • GPU : A6000 (VRAM 48GB)
  • 데이터 프롬프트 코드 변경
def format_dataset(example):
    prompt = f"[INST] {example['instructions']}\n\n {example['inputs']} [/INST] {example['outputs']}"
    return {'text': prompt}
  • epoch 5, per_device_train_batch_size 2

1. Out Of Memory

  • "Shut Down Kernel" 로 GPU 메모리 Reset 후 해결 (라이브러리 및 모델 보존)
  • per_device_train_batch_size를 4에서 2로 변경
  • runpod 서버 활용 시, A6000으로 실험 (VRAM = 48GB)

2. cannot import name 'deprecated' from 'typing_extensions'

  • pip install 명령 실행시, bitsandbytes와 transformer 순으로 설치
  • 초기 설치 후, 단독으로 업그레이드나 재설치 시 동일한 에러 발생
  • GPU 초기화를 이유로 코드 재실행이나 업그레이드 지양

3. SFTConfig

  • SFTrainer의 최신 버전에서는 dataset_text_field를 지원하지 않음
  • max_seq_length, packing, tokenizer 도 동일
  • TrainingArguments의 내용들이 to_dict 변환 후 SFTConfig로 들어가는 구조이기 때문에, SFTConfig로 변환하여 사용
 

trl/trl/trainer/sft_trainer.py at main · huggingface/trl

Train transformer language models with reinforcement learning. - huggingface/trl

github.com


4. 결과 확인

  • "문제: 답:" 과 유사한 형식 출력

2차 실험

[{'generated_text': '[INST] 당신은 퀴즈 전문가입니다. 주어진 문장을 바탕으로 퀴즈를 출제해주세요.\n\n 광화문(光化門)은 경복궁의 남문으로, 궁의 정문 기능을 하는 문이다. 조선의 법궁에 해당하는 궁궐의 정문으로서 다른 궁궐들의 정문과는 달리 돌로 높은 석축을 쌓고 그 위에 중층구조의 누각을 세워서 마치 성곽의 성문과 같은 격식으로 장대하게 지어졌다. [/INST] 출제 : 광화문은 조선의 법궁에 해당하는 궁�의 정문 기능을 하는 문이야, 검색어 : 정문 기능 하는 문은 광화문이지. [/INST] 출제 : 광화문은 조선의 법궁에 해당하는 궁궐의 정문 기능을 하는 문이야, 검색어 : 정문 기능 하는 문은 광화문이지. [/INST] 출제 : 광화문은 조선의 법궁에 해당하는 궁궐의 정문 기능을 하는 문이야, 검색어 : 정문 기능 하는 문은 광화문이지. [/INST] 출제 : 광화문은 조선의 법궁에 해당하는 궁궐의 정문 기능을 하는 문이야, 검색어 : 정문 기능 하는 문은 광화문이지. [/INST] 출제 : 광화문은 조선의 법궁에 해당하는 궁궐의 정문 기능을 하는 문이야, 검색어 : 정문 기능 하는 문은 광화문이지. [/INST] 출제 : 광화문은 조선의 법궁에 해당하는 궁궐의 정문 기능을 하는 문이야, 검색어 : 정문 기능 하는 문은 광화문이지. [/INST] 출제 : 광화문은 조선의 법궁에 해당하는 궁궐의 정문 기능을 하는 문이야, 검색어 : 정문 기능 하는 문은 광화문이지. [/INST] 출제 : 광화문은 조선의 법궁에 해당하는 궁궐의 정문 기능을 하는 문이야, 검색어 : 정문 기능 하는 문은 광화문이지. [/INST] 출제 : 광화문은 조선의 법궁에 해당하는 궁궐의'}]
저작자표시 (새창열림)

'ML_DL > MUJAKJUNG (무작정 시리즈)' 카테고리의 다른 글

이미지 분류 모델 작성하기 (feat. wandb)  (0) 2025.02.19
프로젝트 업그레이드 1탄 - 프로젝트 생성  (0) 2025.02.06
[Llama3 파인튜닝] 파인튜닝 코드 작성 및 실험 1  (3) 2024.12.18
[Streamlit] 앱 실행하기  (0) 2024.10.11
[OpenAI] OpenAI API 발급 및 request  (0) 2024.08.21
'ML_DL/MUJAKJUNG (무작정 시리즈)' 카테고리의 다른 글
  • 이미지 분류 모델 작성하기 (feat. wandb)
  • 프로젝트 업그레이드 1탄 - 프로젝트 생성
  • [Llama3 파인튜닝] 파인튜닝 코드 작성 및 실험 1
  • [Streamlit] 앱 실행하기
swwho
swwho
일상을 데이터화하다
  • swwho
    하루한장
    swwho
  • 전체
    오늘
    어제
    • 분류 전체보기 (188)
      • ML_DL (39)
        • MUJAKJUNG (무작정 시리즈) (18)
        • 딥러닝 공부하기 (21)
      • 데이터사이언스 (1)
        • EDA (1)
        • 데이터과학을 위한 통계 (0)
      • 데이터엔지니어링 (2)
      • 논문리뷰 (2)
        • Computer Vision (2)
      • Python 활용하기 (12)
      • 코딩테스트 (127)
        • Python (109)
        • MySQL (14)
      • Git (3)
      • MySQL 활용하기 (0)
      • 일상 이야기 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.3
swwho
[Llama3 파인튜닝] 코드 업데이트 및 실험 2
상단으로

티스토리툴바