파인튜닝 하는 법

현재 내가 가지고 있는 재원은

  • 모델 ( Tulu3 )

  • Wiki(.md 파일 -> 정형화되지 않은 데이터)


추가적으로 필요한 것

  1. 데이터 정리 및 전처리

    1. .md 파일이 정형화되지 않은 상태라면, 파인튜닝에 적합한 형식으로 데이터를 정리

    2. 필요한 작업:

      1. 불필요한 정보 제거 : 헤더, 코드 블록, 불필요한 주석 등 파인튜닝에 불필요한 데이터를 제거

      2. 정형화 : 입력과 출력 형태를 정리

      3. CSV, JSON, 텍스트로 변환 : 데이터셋은 일반적으로 정형화된 파일 형식(CSV, JSON 등) 으로 준비됨.

  2. 하드웨어 환경

    1. GPU 가 필수적임. 만약 로컬 환경에 고성능 GPU가 없다면 클라우드 서비스를 고려해야함.(GCP)

    2. 적어도 16GB VRAM 이상 권장

  3. 학습 스크립트

    1. Hugging Face transformers 와 같은 라이브러리를 사용하여 파인튜닝 코드를 작성해야함.

    2. 스크립트의 주요 기능:

      1. 데이터 로드 및 전처리

      2. 모델 로드

      3. 학습 및 검증 루프 설정

      4. 결과 저장 및 평가

  4. 데이터셋 크기

    1. 모델이 충분히 학습되려면 데이터가 일정량 이상 필요함. 일반적으로:

      1. 수천 ~ 수만 샘플 의 데이터 권장

    2. .md 파일의 양이 적다면 OpenAI 나 Hugging Face 에서 공개된 유사한 데이터 셋을 가져와 합칠 수 있음.


필요한 지식

  1. 프로그래밍:

    1. Python 지식 필수(특히, PyTorch 또는 TensorFlow 기본 문법)

    2. 데이터 처리 관련 라이브러리:

      1. pandas : 데이터 전처리

      2. numpy : 수치 연산

      3. re : 정규 표현식으로 텍스트 정리

  2. NLP 및 머신러닝 기본:

    1. 언어 모델의 구조와 동작 원리 이해

    2. 과적합(Overfitting) 방지 방법

    3. 학습률(Learning Rate), 배치 크기(Batch Size) 같은 하이퍼파라미터 조정

  3. 데이터 전처리 기술:

    1. .md 파일에서 불필요한 정보를 제거하고, 학습 가능한 데이터셋 형태로 변환

    2. 텍스트 정제(특수 문자 제거, 공백 조정 등)

  4. Hugging Face 사용법:

    1. datasets 라이브러리로 데이터 로드 및 관리

    2. transformers 로 모델 불러오기 및 학습

    3. Trainer API 또는 커스텀 학습 루프 작성

  5. 평가 및 디버깅:

    1. 파인튜닝한 모델의 성능을 평가하기 위한 지표(F1, 정확도, BLEU 등) 이해

    2. 로그를 통해 학습 중 발생하는 문제 디버깅


권장 워크플로우

  1. 데이터 준비:

    1. .md 파일에서 텍스트 데이터를 추출하고, JSON 이나 CSV 로 변환.

  2. 스크립트 작성 및 학습 실행:

    1. Hugging Face transformers 라이브러리를 사용하여 Tulu3 모델 로드

    2. 데이터셋을 학습 가능한 포맷으로 전처리

    3. LoRA 나 기본 Trainer API 를 사용해 학습

  3. 결과 평가 및 테스트:

    1. 준비된 테스트 데이터셋으로 모델 성능 평가

  4. 모델 저장 및 배포:

    1. 학습된 모델을 저장하고, 필요하다면 API 로 배포

Last updated

Was this helpful?