OpenAI Fine-Tuning
4 minute read
OpenAI GPT-3.5 또는 GPT-4 모델의 파인튜닝 메트릭 및 설정을 W&B에 기록하세요. W&B 에코시스템을 활용하여 파인튜닝 Experiments, Models, Datasets을 추적하고 동료와 결과를 공유하세요.
OpenAI와 W&B를 파인튜닝과 통합하는 방법에 대한 추가 정보는 OpenAI 문서의 Weights and Biases Integration 섹션을 참조하세요.
OpenAI Python API 설치 또는 업데이트
W&B OpenAI 파인튜닝 통합은 OpenAI 버전 1.0 이상에서 작동합니다. OpenAI Python API 라이브러리의 최신 버전은 PyPI 문서를 참조하세요.
OpenAI Python API를 설치하려면 다음을 실행하세요:
pip install openai
OpenAI Python API가 이미 설치되어 있는 경우 다음을 사용하여 업데이트할 수 있습니다:
pip install -U openai
OpenAI 파인튜닝 결과 동기화
W&B를 OpenAI의 파인튜닝 API와 통합하여 파인튜닝 메트릭과 설정을 W&B에 기록합니다. 이를 위해 wandb.integration.openai.fine_tuning
모듈의 WandbLogger
클래스를 사용합니다.
from wandb.integration.openai.fine_tuning import WandbLogger
# Finetuning logic
WandbLogger.sync(fine_tune_job_id=FINETUNE_JOB_ID)

파인튜닝 동기화
스크립트에서 결과를 동기화합니다.
from wandb.integration.openai.fine_tuning import WandbLogger
# 한 줄 코맨드
WandbLogger.sync()
# 옵션 파라미터 전달
WandbLogger.sync(
fine_tune_job_id=None,
num_fine_tunes=None,
project="OpenAI-Fine-Tune",
entity=None,
overwrite=False,
model_artifact_name="model-metadata",
model_artifact_type="model",
**kwargs_wandb_init
)
참조
인수 | 설명 |
---|---|
fine_tune_job_id | 이는 client.fine_tuning.jobs.create 를 사용하여 파인튜닝 job을 생성할 때 얻는 OpenAI Fine-Tune ID입니다. 이 인수가 None(기본값)인 경우, 아직 동기화되지 않은 모든 OpenAI 파인튜닝 job이 W&B에 동기화됩니다. |
openai_client | 초기화된 OpenAI 클라이언트를 sync 에 전달합니다. 클라이언트가 제공되지 않으면 로거 자체에서 초기화됩니다. 기본적으로 None입니다. |
num_fine_tunes | ID가 제공되지 않으면 동기화되지 않은 모든 파인튜닝이 W&B에 기록됩니다. 이 인수를 사용하면 동기화할 최근 파인튜닝 수를 선택할 수 있습니다. num_fine_tunes가 5이면 가장 최근의 파인튜닝 5개를 선택합니다. |
project | 파인튜닝 메트릭, Models, Data 등이 기록될 Weights & Biases 프로젝트 이름입니다. 기본적으로 프로젝트 이름은 “OpenAI-Fine-Tune"입니다. |
entity | Runs을 보낼 W&B 사용자 이름 또는 팀 이름입니다. 기본적으로 기본 엔터티가 사용되며, 이는 일반적으로 사용자 이름입니다. |
overwrite | 동일한 파인튜닝 job의 기존 wandb run을 강제로 로깅하고 덮어씁니다. 기본적으로 False입니다. |
wait_for_job_success | OpenAI 파인튜닝 job이 시작되면 일반적으로 시간이 좀 걸립니다. 파인튜닝 job이 완료되는 즉시 메트릭이 W&B에 기록되도록 하려면 이 설정을 통해 파인튜닝 job 상태가 succeeded 로 변경되는지 60초마다 확인합니다. 파인튜닝 job이 성공한 것으로 감지되면 메트릭이 자동으로 W&B에 동기화됩니다. 기본적으로 True로 설정됩니다. |
model_artifact_name | 기록되는 Model 아티팩트의 이름입니다. 기본값은 "model-metadata" 입니다. |
model_artifact_type | 기록되는 Model 아티팩트의 유형입니다. 기본값은 "model" 입니다. |
**kwargs_wandb_init | wandb.init() 에 직접 전달되는 추가 인수입니다. |
데이터셋 버전 관리 및 시각화
버전 관리
파인튜닝을 위해 OpenAI에 업로드하는 트레이닝 및 검증 데이터는 더 쉬운 버전 관리를 위해 자동으로 W&B Artifacts로 기록됩니다. 아래는 Artifacts의 트레이닝 파일 보기입니다. 여기서 이 파일을 기록한 W&B run, 기록된 시기, 이 데이터셋의 버전, 메타데이터 및 트레이닝 Data에서 트레이닝된 Model까지의 DAG 계보를 확인할 수 있습니다.

시각화
Datasets은 W&B Tables로 시각화되어 데이터셋을 탐색, 검색 및 상호 작용할 수 있습니다. 아래에서 W&B Tables를 사용하여 시각화된 트레이닝 샘플을 확인하세요.

파인튜닝된 Model 및 Model 버전 관리
OpenAI는 파인튜닝된 Model의 ID를 제공합니다. Model 가중치에 엑세스할 수 없으므로 WandbLogger
는 Model의 모든 세부 정보 (하이퍼파라미터, Data 파일 ID 등)와 fine_tuned_model
ID가 포함된 model_metadata.json
파일을 생성하고 W&B Artifacts로 기록합니다.
이 Model (메타데이터) 아티팩트는 W&B Registry의 Model에 추가로 연결될 수 있습니다.

자주 묻는 질문
W&B에서 팀과 파인튜닝 결과를 공유하려면 어떻게 해야 하나요?
다음을 사용하여 팀 계정에 파인튜닝 job을 기록합니다:
WandbLogger.sync(entity="YOUR_TEAM_NAME")
Runs을 어떻게 구성할 수 있나요?
W&B Runs은 자동으로 구성되며 job 유형, 기본 Model, 학습률, 트레이닝 파일 이름 및 기타 하이퍼파라미터와 같은 모든 구성 파라미터를 기반으로 필터링/정렬할 수 있습니다.
또한 Runs 이름을 바꾸거나 메모를 추가하거나 태그를 만들어 그룹화할 수 있습니다.
만족스러우면 워크스페이스를 저장하고 이를 사용하여 리포트를 생성하고 Runs 및 저장된 Artifacts (트레이닝/검증 파일)에서 Data를 가져올 수 있습니다.
파인튜닝된 Model에 어떻게 엑세스할 수 있나요?
파인튜닝된 Model ID는 Artifacts(model_metadata.json
) 및 구성으로 W&B에 기록됩니다.
import wandb
ft_artifact = wandb.run.use_artifact("ENTITY/PROJECT/model_metadata:VERSION")
artifact_dir = artifact.download()
여기서 VERSION
은 다음 중 하나입니다.
v2
와 같은 버전 번호ft-xxxxxxxxx
와 같은 파인튜닝 IDlatest
또는 수동으로 추가된 에일리어스
그런 다음 다운로드한 model_metadata.json
파일을 읽어 fine_tuned_model
ID에 엑세스할 수 있습니다.
파인튜닝이 성공적으로 동기화되지 않으면 어떻게 해야 하나요?
파인튜닝이 W&B에 성공적으로 기록되지 않은 경우 overwrite=True
를 사용하고 파인튜닝 job ID를 전달할 수 있습니다.
WandbLogger.sync(
fine_tune_job_id="FINE_TUNE_JOB_ID",
overwrite=True,
)
W&B로 Datasets과 Models을 추적할 수 있나요?
트레이닝 및 검증 Data는 자동으로 W&B에 Artifacts로 기록됩니다. 파인튜닝된 Model의 ID를 포함한 메타데이터도 Artifacts로 기록됩니다.
wandb.Artifact
, wandb.log
등과 같은 하위 레벨 wandb API를 사용하여 항상 파이프라인을 제어할 수 있습니다. 이렇게 하면 Data 및 Models을 완벽하게 추적할 수 있습니다.

참고 자료
- OpenAI 파인튜닝 문서는 매우 철저하며 유용한 팁이 많이 포함되어 있습니다.
- 데모 Colab
- W&B로 OpenAI GPT-3.5 및 GPT-4 Models을 파인튜닝하는 방법 리포트
[i18n] feedback_title
[i18n] feedback_question
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.