트랜스포머·PEFT 2일 과정환경설정← 이전목차다음 →MetaContents

시작 전에

환경설정

Windows PC 에 Anaconda 로 Python 3.10 가상환경을 만들고, NVIDIA GPU 용 PyTorch 와 Hugging Face 도구(transformers, peft, trl, datasets)를 설치한 뒤, GPU 가 보이는지 확인합니다. 코드는 VS Code 의 Jupyter 노트북에서 실행합니다.

이사 갈 때 짐을 상자 하나에 모아 두는 것과 같습니다. 가상환경은 이 과정에 쓰는 패키지만 담은 상자입니다. 다른 과정의 패키지와 섞이지 않습니다.

어떤 컴퓨터가 필요한가

구분1일차2일차
GPU없어도 된다(CPU 로 실행)NVIDIA GPU, VRAM 8GB 이상 권장
GPU 가 없을 때그대로 실행한다. 4장 번역기 학습만 오래 걸린다Google Colab 의 T4 GPU 에서 노트북을 연다
메모리(RAM)8GB 이상16GB 이상 권장
디스크패키지와 모델을 합쳐 10GB 안팎의 빈 곳
  • VRAM(Video RAM)은 그래픽 카드 안의 메모리입니다. 모델의 가중치와 학습 중 계산 값이 여기에 올라갑니다. 작업대 넓이로 생각하면 됩니다. 작업대가 좁으면 큰 가구(모델)를 펼칠 수 없습니다.
  • 교안의 실행 결과는 NVIDIA GeForce RTX 3080(VRAM 10GB)에서 얻었습니다.

설치하기

  1. Anaconda 를 설치합니다. anaconda.com 의 다운로드 쪽에서 Windows 설치 파일을 받습니다.
  2. VS Code 를 설치합니다. 확장(Extensions)에서 마이크로소프트가 만든 "Python" 과 "Jupyter" 를 설치합니다.
  3. 실습 폴더를 준비합니다. 예: C:\workspace\peft
    • 강사자료의 노트북(1일차.ipynb, 2일차.ipynb), requirements.txt, data 폴더를 이 안에 넣습니다. 교안의 코드는 원본처럼 data/파일이름 으로 읽습니다.
  4. NVIDIA 그래픽 드라이버를 최신으로 올립니다(GPU 가 있을 때). PyTorch 가 CUDA 12.1 을 쓰므로 드라이버가 너무 오래되면 GPU 를 찾지 못합니다.

가상환경 만들고 패키지 설치하기

"Anaconda Prompt" 를 열고 한 줄씩 실행합니다.

터미널
conda create -n transformer_peft python=3.10     # create = 만들기, -n = name, 파이썬 3.10 상자를 만든다
conda activate transformer_peft                  # 상자를 켠다. 줄 앞에 (transformer_peft) 가 붙는다
cd C:\workspace\peft                             # cd = change directory, 실습 폴더로 옮긴다
pip install -r requirements.txt                  # -r = requirement file, 적힌 패키지를 한꺼번에 설치한다
pip check                                        # 설치된 패키지끼리 버전이 맞물리는지 검사한다
명령과 옵션원래 말뜻
conda create -n 이름 python=3.10create, name이름 붙인 파이썬 상자를 만든다
conda activate 이름activate(켜다)이 창에서 상자 안의 파이썬을 쓰게 한다
-r 파일requirement file파일에 적힌 목록을 한꺼번에 설치한다
--extra-index-url추가 저장소 주소requirements.txt 첫 줄. CUDA 용 PyTorch 를 받을 곳을 더한다
  • requirements.txt 는 NVIDIA GPU(CUDA 12.1)용 PyTorch 를 설치하도록 적혀 있습니다. 파일이 크므로(2GB 넘음) 설치에 시간이 걸립니다.
  • transformers, peft, trl 은 판에 따라 인자 이름이 달라집니다. 교안과 똑같이 맞추려면 적힌 판을 그대로 설치합니다.

이 과정의 패키지

패키지교안의 판하는 일쓰는 장
torch2.5.1 (CUDA 12.1)텐서 계산과 신경망 학습의 바탕. GPU 계산을 맡는다2~9장
transformers4.57.6이미 학습된 모델과 토크나이저를 이름 하나로 불러오는 도구2~9장
tokenizers0.22.2글을 토큰으로 빠르게 나누는 도구2~9장
huggingface-hub0.36.2Hugging Face 에서 모델과 데이터를 내려받는 창구2~9장
datasets4.8.4학습 데이터를 표처럼 다루는 도구(Dataset, DatasetDict)4장, 7~9장
peft0.20.0LoRA 같은 PEFT 를 모델에 붙이는 도구8~9장
trl0.25.1SFT 학습을 맡는 SFTTrainer, SFTConfig8~9장
accelerate1.14.0모델을 CPU·GPU 에 알맞게 나눠 올리는 도구5~9장
bitsandbytes0.50.2모델을 4비트로 줄여 올리는 양자화 도구(QLoRA)9장
sentencepiece0.2.1일부 토크나이저가 쓰는 글 조각 나누기 도구4장
safetensors가중치를 안전하게 저장하는 파일 꼴8~9장
numpy1.26.4벡터와 행렬 계산전부
pandas2.3.3표 데이터7~9장
matplotlib, koreanize-matplotlib3.10.8, 0.1.1그래프와 한글 글꼴8장
ipykernel, ipywidgetsVS Code 노트북이 이 상자를 쓰게 하고, 진행 막대를 보여 주는 도구전부

GPU 확인하기

설치가 끝나면 노트북에서 아래 셀을 실행해 PyTorch 가 GPU 를 찾는지 봅니다.

Python
import torch  # 텐서 계산 라이브러리 PyTorch 를 불러온다

print(torch.__version__)                 # 설치된 PyTorch 판. 결과: 2.5.1+cu121 (cu121 = CUDA 12.1 용)
print(torch.cuda.is_available())         # GPU 를 쓸 수 있으면 True
print(torch.cuda.get_device_name(0))     # 0번 GPU 의 이름. 예: NVIDIA GeForce RTX 3080
print(torch.cuda.is_bf16_supported())    # BF16 정밀도를 지원하면 True(RTX 30 계열 이상)
  • torch.cuda.is_available() 이 False 면 GPU 용 PyTorch 가 아니라 CPU 용이 설치된 것입니다. 상자를 켠 상태에서 pip install -r requirements.txt 를 다시 실행하거나 드라이버를 올립니다.
  • BF16 을 지원하지 않는 GPU(Colab T4 등)는 2일차 노트북이 스스로 FP16 을 고릅니다.

Google Colab 에서 실행하기 (GPU 가 없을 때)

  1. colab.research.google.com 에서 노트북 파일을 올립니다.
  2. 메뉴의 "런타임 → 런타임 유형 변경"에서 T4 GPU 를 고릅니다.
  3. 첫 셀에서 패키지를 설치하고, 왼쪽 파일 창에 data 폴더와 CSV 파일을 올립니다.
  • Colab 의 T4 는 BF16 을 지원하지 않아 FP16 으로 학습합니다. 손실 값과 답변이 교안과 조금 다를 수 있습니다.
  • Colab 은 세션이 끝나면 outputs/ 폴더가 사라집니다. 어댑터를 남기려면 내려받아 둡니다.

노트북 실행하기

  • VS Code 에서 실습 폴더를 열고(code .) 노트북을 연 뒤, 오른쪽 위 "커널 선택"에서 transformer_peft 환경을 고릅니다.
  • 노트북의 작업 폴더가 실습 폴더여야 data/... 경로가 맞습니다.
  • 모델과 데이터는 처음 실행할 때 Hugging Face 에서 내려받습니다(Qwen 약 1GB). 인터넷이 되어야 하고, 가입이나 토큰은 필요 없습니다.

주의할 점

  • 2일차에는 큰 모델을 여러 번 불러옵니다. "CUDA out of memory" 가 나면 다른 노트북의 커널을 끄고, 커널을 다시 시작한 뒤 처음부터 실행합니다.
  • Windows 에서 Hugging Face 캐시가 "symlinks(바로가기)를 쓸 수 없다"는 경고를 낼 수 있습니다. 내려받기는 그대로 되고 디스크를 조금 더 쓸 뿐입니다.
← 이전트랜스포머 이해와 LLM 효율적 파인튜닝(PEFT) 2일 과정다음 →과정 로드맵