GPU 서버에 SSH로 연결해서 파인튜닝을 진행하는 과정은 크게 다음 과정을 따른다.
[서버접속] - [환경설정] - [데이터업로드] - [모델 훈련실행]
1. SSH로 GPU 서버에 접속한다. 22번 포트 사용을 디폴트로 생각한다.
ssh 사용자이름@서버주소
// ssh user@gpu-server.com
2. 파인튜닝에 필요한 환경을 준비한다.
필요한 소프트 웨어를 확인한다.
ㄴ gpu 드라이버를 설치한다. ex) nvidia 드라이버
ㄴ 딥러닝 라이브러리 설치 ( CUDA, CUDNN )
CUDA - CUDA Toolkit Archive | NVIDIA Developer
CUDNN - cuDNN 9.6.0 Downloads | NVIDIA Developer
이후에 C:\Program Files\NVIDIA GPU Computing Toolkit/CUDA/v11.2 를 찾아서 위에 bin, include, lib를 덮어쓰기
이후에 명령 프롬프트를 열어서 nvcc -V 를 실행했을 때 결과나오면 정상 설치된 것
(copyright 뭐시기)
가상 환경을 생성한다. 프로젝트 간 의존성 충돌을 방지하기 위함
python3 -m venv myenv
source myenv/bin/activate
필요한 라이브러리를 설치한다.
뭐 torch나 transformers 같은
3. 데이터를 업로드한다.
서버에서 파인튜닝에 사용할 데이터를 업로드 한다.
3-1. scp로 파일 전송
ㄴ 로컬 컴퓨터에서 서버로 데이터를 전송한다.
scp 파일경로 사용자이름@서버주소:서버저장경로
// scp dataset.csv user@gpu-server.com:/home/user/
3-2. 데이터를 업로드한 경로를 기억해야 파인튜닝 코드에서 사용할 수 있다.
4. 파인튜닝을 진행한다. 다음은 transformers 모델을 사용한 예시
from transformers import Trainer, TrainingArguments, AutoModelForSequenceClassification, AutoTokenizer
model = AutoModelForSequenceClassification.from_pretrained("bert-base-uncased", num_labels=2)
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
# 데이터셋 로드
from datasets import load_dataset
dataset = load_dataset("csv", data_files="dataset.csv")
# 토크나이저 적용
def preprocess_function(examples):
return tokenizer(examples["text"], truncation=True)
tokenized_datasets = dataset.map(preprocess_function, batched=True)
# 훈련 설정
training_args = TrainingArguments(
output_dir="./results",
evaluation_strategy="epoch",
learning_rate=2e-5,
per_device_train_batch_size=8,
num_train_epochs=3,
weight_decay=0.01,
)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=tokenized_datasets["train"],
eval_dataset=tokenized_datasets["test"]
)
trainer.train()
'AI > 라마 파인튜닝' 카테고리의 다른 글
학습 방법론 (1) | 2024.12.05 |
---|---|
(a) 데이터셋 (0) | 2024.12.05 |
(5) 학습진행 - 2 (0) | 2024.12.05 |
(4) 학습진행 - 1 (0) | 2024.12.05 |
(2) 필요한 라이브러리 세팅 (0) | 2024.12.05 |