본문으로 건너뛰기

일반

wandb.init은 내 트레이닝 프로세스에 어떤 영향을 줍니까?

트레이닝 스크립트에서 wandb.init()가 호출되면, run 오브젝트를 서버에 생성하기 위해 API 호출이 이루어집니다. 새 프로세스가 시작되어 메트릭을 스트림하고 수집하며, 모든 스레드와 로직을 귀하의 주요 프로세스에서 분리합니다. 귀하의 스크립트는 정상적으로 실행되며 로컬 파일에 기록되는 동안, 별도의 프로세스가 시스템 메트릭과 함께 그것들을 서버로 스트림합니다. 스트리밍을 끄고 싶다면 트레이닝 디렉토리에서 wandb off를 실행하거나 WANDB_MODE 환경 변수를 offline으로 설정할 수 있습니다.

귀사의 툴은 트레이닝 데이터를 추적하거나 저장합니까?

wandb.config.update(...)에 SHA나 다른 고유 식별자를 전달하여 데이터셋을 트레이닝 run과 연결할 수 있습니다. W&B는 wandb.save가 로컬 파일 이름과 함께 호출되지 않는 한 어떠한 데이터도 저장하지 않습니다.

평활화 알고리즘에 사용하는 공식은 무엇입니까?

TensorBoard와 동일한 지수 이동 평균 공식을 사용합니다. 여기에서 설명을 찾을 수 있습니다.

스크립트에서 랜덤 run 이름을 어떻게 얻습니까?

wandb.run.save()를 호출한 다음 wandb.run.name으로 이름을 가져옵니다.

.log().summary의 차이점은 무엇입니까?

summary는 테이블에 표시되는 값이며, log는 나중에 플로팅하기 위해 모든 값을 저장합니다.

예를 들어, 정확도가 변경될 때마다 wandb.log를 호출하고 싶을 수 있습니다. 보통은 .log를 사용할 수 있습니다. wandb.log()는 해당 메트릭에 대해 수동으로 summary를 설정하지 않은 경우 기본적으로 summary 값을 업데이트합니다.

산점도 및 평행 좌표 플롯은 summary 값을 사용하는 반면 선 플롯은 .log에 의해 설정된 모든 값을 플롯합니다.

이 둘을 모두 가진 이유는 일부 사람들이 최적의 정확도 대신 마지막에 기록된 정확도를 반영하도록 summary를 수동으로 설정하고 싶어하기 때문입니다.

W&B는 TensorBoard와 어떻게 다릅니까?

TensorBoard 팀을 사랑하며, TensorBoard 통합을 가지고 있습니다! 우리는 모든 사람을 위한 실험 추적 툴을 개선하기 위해 영감을 받았습니다. 공동 창립자가 W&B 작업을 시작했을 때, 그들은 OpenAI에서 TensorBoard 사용자에게 좌절감을 느꼈던 툴을 만들겠다는 영감을 받았습니다. 여기 몇 가지 우리가 개선에 중점을 둔 사항이 있습니다:

  1. 모델 재현: W&B는 실험, 탐색 및 나중에 모델을 재현하기에 좋습니다. 메트릭뿐만 아니라 하이퍼파라미터와 코드의 버전도 캡처하며, 모델 체크포인트를 저장하여 프로젝트를 재현할 수 있습니다.
  2. 자동 조직: 프로젝트를 협업자에게 인계하거나 휴가를 간 경우, W&B는 시도한 모든 모델을 쉽게 볼 수 있어 오래된 실험을 다시 실행하는 데 시간을 낭비하지 않도록 합니다.
  3. 빠르고 유연한 통합: 5분 만에 프로젝트에 W&B를 추가하세요. 무료 오픈 소스 Python 패키지를 설치하고 코드에 몇 줄을 추가하세요, 그러면 모델을 실행할 때마다 멋진 기록된 메트릭과 기록이 생성됩니다.
  4. 지속적이고 중앙 집중식 대시보드: 로컬 머신, 연구실 클러스터 또는 클라우드의 스팟 인스턴스에서 모델을 트레이닝하는 곳이 어디든 동일한 중앙 집중식 대시보드를 제공합니다. 다른 기계에서 TensorBoard 파일을 복사하고 정리하는 데 시간을 소비할 필요가 없습니다.
  5. 강력한 테이블: 서로 다른 모델의 결과에서 검색, 필터링, 정렬 및 그룹화가 쉽습니다. 다양한 작업에 대한 최고 성능 모델을 찾기 위해 수천 가지 모델 버전을 쉽게 살펴볼 수 있습니다. TensorBoard는 대규모 프로젝트에서 잘 작동하도록 설계되지 않았습니다.
  6. 협업 도구: W&B를 사용하여 복잡한 기계학습 프로젝트를 조직하세요. W&B에 대한 링크를 공유하는 것이 쉽고, 프라이빗 팀을 사용하여 모든 사람이 공유 프로젝트에 결과를 보낼 수 있습니다. 또한 인터랙티브 시각화를 추가하고 마크다운으로 작업을 설명하여 협업을 지원합니다. 이것은 작업 로그를 유지하고, 상사와 발견 사항을 공유하거나, 연구실에 발견 사항을 발표하는 데 훌륭한 방법입니다.

무료 개인 계정으로 시작하세요 →

wandb는 로그를 어떻게 스트림하고 디스크에 기록합니까?

W&B는 메모리에 큐를 생성하지만 실패를 처리하고 WANDB_MODE=offline 경우 데이터가 기록된 후 동기화할 수 있도록 비동기적으로 디스크에 이벤트를 기록합니다.

터미널에서 로컬 run 디렉토리로의 경로를 볼 수 있습니다. 이 디렉토리는 위에서 언급한 데이터 저장소인 .wandb 파일을 포함할 것입니다. 이미지도 기록하는 경우, 클라우드 스토리지에 업로드하기 전에 해당 디렉토리의 media/images에 씁니다.

다른 선택된 run으로 여러 차트를 어떻게 얻습니까?

wandb 리포트를 사용하는 절차는 다음과 같습니다:

  • 여러 패널 그리드를 가지고 있습니다.
  • 각 패널 그리드의 run 집합을 필터링하기 위해 필터를 추가합니다. 이것은 각각의 패널에서 표현하고 싶은 run을 선택하는 데 도움이 됩니다.
  • 패널 그리드에 원하는 차트를 생성합니다.

API 엑세스는 어떻게 제어됩니까?

간단하게 하기 위해, W&B는 API 엑세스 시 권한 부여에 API 키를 사용합니다. 설정에서 API 키를 찾을 수 있습니다. API 키는 안전하게 저장되어야 하며 버전 제어에 체크인해서는 안 됩니다. 개인 API 키 외에도 서비스 계정 사용자를 팀에 추가할 수 있습니다.

W&B는 SaaS에 대한 SSO를 지원합니까?

네, W&B는 Auth0을 통해 SaaS 제공에 대한 Single Sign-On(SSO) 설정을 지원합니다. W&B는 OIDC 호환 ID 제공자(ex: Okta, AzureAD 등)와의 SSO 통합을 지원합니다. OIDC 제공자가 있는 경우 아래 단계를 따르세요:

  • ID 제공자에 Single Page Application (SPA)을 생성합니다.
  • grant_typeimplicit 흐름으로 설정합니다.
  • 콜백 URI를 https://wandb.auth0.com/login/callback으로 설정합니다.

W&B에 필요한 것은 무엇입니까?

위 설정을 마치고 나면, 고객 성공 관리자(CSM)에게 연락하여 애플리케이션과 관련된 Client IDIssuer URL을 알려주세요.

그러면 위의 세부 정보로 Auth0 연결을 설정하고 SSO를 활성화합니다.

서비스 계정이란 무엇이며 어떤 점에서 유용합니까?

서비스 계정(Enterprise 전용 기능)은 특정 사용자와 연결되지 않은 팀에 쓰기 권한이 있는 API 키입니다. 서비스 계정은 주기적인 재트레이닝, 야간 빌드 등과 같은 wandb에 기록된 자동화된 작업을 추적하는 데 유용합니다. 원한다면 이러한 기계가 시작한 run에 사용자 이름을 연결할 수도 있습니다. 환경 변수 WANDB_USERNAME을 사용하세요.

팀 서비스 계정 행동에서 자세한 정보를 참조하세요.

새 팀 멤버를 초대하는 /teams/<your-team-name>에서 팀 설정 페이지에서 API 키를 얻을 수 있습니다. 서비스를 선택하고 생성을 클릭하여 서비스 계정을 추가합니다.

자동화된 작업을 위한 팀 설정 페이지에서 서비스 계정 생성

엑세스를 어떻게 회전하거나 취소합니까?

개인 및 서비스 계정 키는 회전하거나 취소할 수 있습니다. 새로운 API 키 또는 서비스 계정 사용자를 생성하고 스크립트를 새 키를 사용하도록 다시 구성하세요. 모든 프로세스가 다시 구성되면, 프로필이나 팀에서 오래된 API 키를 제거할 수 있습니다.

동일한 기계에서 계정 간에 전환하는 방법은 무엇입니까?

동일한 기계에서 두 개의 W&B 계정을 사용하는 경우, 다른 API 키 간에 전환하는 좋은 방법이 필요합니다. 기계에 두 API 키를 파일로 저장한 다음 리포지토리에 다음과 같은 코드를 추가할 수 있습니다. 이는 소스 제어 시스템에 비밀 키를 체크인하는 것은 위험할 수 있으므로 피해야 합니다.

if os.path.exists("~/keys.json"):
os.environ["WANDB_API_KEY"] = json.loads("~/keys.json")["work_account"]

다크 모드가 있습니까?

네. 다크 모드를 활성화하려면:

  1. https://wandb.ai/settings에서 계정 설정으로 이동하세요.
  2. Beta Features 섹션으로 스크롤하세요.
  3. Night mode 옵션을 토글하세요.

코드를 테스트할 때 wandb를 비활성화할 수 있습니까?

wandb.init(mode="disabled")을 사용하거나 WANDB_MODE=disabled을 설정함으로써 wandb를 NOOP처럼 작동시켜 코드를 테스트하기에 완벽하게 만들 수 있습니다.

참고: wandb.init(mode=“disabled”)을 설정해도 WANDB_CACHE_DIR에 아티팩트를 저장하는 것을 방지하지 않습니다

Was this page helpful?👍👎