메인 콘텐츠로 건너뛰기
이 페이지에서는 OpenAI GPT-3.5 또는 GPT-4 모델의 파인튜닝 메트릭과 설정을 W&B에 기록하는 방법을 보여줍니다. W&B를 OpenAI의 파인튜닝 API와 통합하면 파인튜닝 실험, 모델, 데이터셋을 한곳에서 추적하고 결과를 동료들과 공유할 수 있습니다. OpenAI 모델을 파인튜닝할 때 트레이닝 데이터와 결과 모델에 대한 중앙 집중식 실험 추적 및 버전 관리가 필요하다면 이 인테그레이션을 사용하세요.
파인튜닝할 수 있는 모델 목록은 OpenAI documentation을 참조하세요.
파인튜닝을 위해 OpenAI와 W&B를 통합하는 방법에 대한 추가 정보는 OpenAI documentation의 W&B Integration 섹션을 참조하세요.

OpenAI Python API 설치 또는 업데이트

파인튜닝 결과를 동기화하기 전에, 호환되는 버전의 OpenAI Python 클라이언트가 설치되어 있는지 확인하세요. W&B OpenAI 파인튜닝 인테그레이션은 OpenAI 버전 1.0 이상을 지원합니다. 최신 버전은 OpenAI Python API 라이브러리의 PyPI 문서를 참조하세요. OpenAI Python API를 설치하려면 다음을 실행하세요:
이미 OpenAI Python API가 설치되어 있다면, 다음 명령으로 업데이트하세요:

OpenAI 파인튜닝 결과 동기화하기

이 섹션에서는 OpenAI 파인튜닝 작업의 메트릭과 설정을 W&B로 전송해 다른 실험과 함께 검토하는 방법을 설명합니다. 이를 위해 wandb.integration.openai.fine_tuning 모듈의 WandbLogger 클래스를 사용하세요.
OpenAI 자동 스캔 기능

파인튜닝 결과 동기화하기

스크립트에서 결과를 동기화하세요. 다음 예시에서는 최소한의 한 줄 호출과, 동기화 방식을 제어하기 위해 전달할 수 있는 전체 선택 매개변수 목록을 모두 보여줍니다.

레퍼런스

다음 표에서는 WandbLogger.sync가 받는 각 인수를 설명합니다.

데이터셋 버전 관리 및 시각화

fine-tuning 작업을 동기화하면 W&B는 트레이닝 및 검증 데이터도 함께 수집하므로, 이를 버전 관리하고 대화형으로 탐색할 수 있습니다. 다음 하위 섹션에서는 W&B가 기록하는 내용과 이를 확인하는 방법을 설명합니다.

버전 관리

파인튜닝을 위해 OpenAI에 업로드한 트레이닝 및 검증 데이터는 더 쉽게 버전을 관리할 수 있도록 자동으로 W&B Artifacts에 로깅됩니다. 다음 이미지는 Artifacts에서 트레이닝 파일을 표시한 뷰를 보여줍니다. 이 파일을 로깅한 W&B run, 로깅된 시점, 이 데이터셋의 버전, 메타데이터, 그리고 트레이닝 데이터에서 학습된 모델까지의 DAG 리니지를 확인할 수 있습니다.
트레이닝 데이터셋이 있는 W&B Artifacts

시각화

W&B는 데이터셋을 W&B Tables로 시각화하며, 이를 통해 데이터셋을 탐색하고 검색하며 상호작용할 수 있습니다. 다음 이미지는 W&B Tables에서 시각화된 트레이닝 샘플을 보여줍니다.
OpenAI 데이터

파인튜닝된 모델과 모델 버전 관리

OpenAI는 파인튜닝된 모델의 기반 가중치를 노출하지 않으므로, W&B는 대신 메타데이터를 캡처해 모델을 추적합니다. OpenAI는 파인튜닝된 모델의 ID를 제공합니다. 모델 가중치에는 액세스할 수 없으므로 WandbLogger는 모델의 모든 세부 정보(하이퍼파라미터, 데이터 파일 ID 등)와 fine_tuned_model ID가 포함된 model_metadata.json 파일을 생성하고, 이를 W&B 아티팩트로 로깅합니다. 이 모델(메타데이터) 아티팩트를 W&B Registry의 모델에 연결할 수 있습니다.
OpenAI 모델 메타데이터

자주 묻는 질문

다음 섹션에서는 OpenAI에서 동기화된 fine-tuning run의 공유, 구성, 복구에 관한 일반적인 질문에 답합니다.

파인튜닝 결과를 팀과 공유하세요

다음을 사용해 파인튜닝 작업을 팀 계정에 기록하세요:

run 정리하기

W&B run은 자동으로 정리되며, 작업 유형, base model, 학습률, 트레이닝 파일 이름, 기타 하이퍼파라미터 등 모든 설정 파라미터를 기준으로 필터링하거나 정렬할 수 있습니다. 또한 run 이름을 바꾸고, notes를 추가하거나, tags를 만들어 그룹으로 묶을 수 있습니다. 원하는 대로 정리했다면 Workspace를 저장하고, 이를 사용해 run과 저장된 아티팩트(트레이닝/검증 파일)에서 데이터를 임포트하여 리포트를 만드세요.

파인튜닝된 모델에 액세스하기

W&B는 파인튜닝된 모델 ID를 아티팩트(model_metadata.json)와 설정에 기록합니다.
<version> 플레이스홀더는 다음 중 하나입니다:
  • v2와 같은 버전 번호
  • ft-xxxxxxxxx와 같은 파인튜닝 ID
  • latest처럼 자동으로 추가되거나 수동으로 추가한 별칭
그런 다음 다운로드한 model_metadata.json 파일을 읽어 fine_tuned_model ID에 액세스할 수 있습니다.

동기화되지 않은 파인튜닝 복구

파인튜닝이 W&B에 정상적으로 로깅되지 않았다면 overwrite=True를 사용하고 파인튜닝 작업 ID를 전달하세요:

W&B로 데이터셋과 모델 추적

W&B는 트레이닝 및 검증 데이터를 아티팩트 형태로 자동 로깅합니다. 파인튜닝된 모델의 ID를 포함한 메타데이터도 아티팩트로 로깅합니다. 언제든지 wandb.Artifact, wandb.Run.log 같은 저수준 wandb API를 사용해 파이프라인을 제어할 수 있습니다. 이를 통해 데이터와 모델을 완전히 추적할 수 있습니다.
OpenAI 추적 FAQ

리소스

더 깊이 있는 배경 설명과 엔드투엔드 예시를 보려면 다음 리소스를 참고하세요.