PyTorch Lightning 0.9 — 동기화 된 BatchNorm, DataModules 및 최종 API!

최신 PyTorch Lightning 릴리스에는 더 나은 데이터 디커플링, 더 짧은 로깅 구문 및 수많은 버그 수정이 포함 된 최종 API가 포함되어 있습니다.

오늘 PyTorch Lightning 0.9.0 을 출시하게되어 기쁩니다 . 여기에는 많은 새로운 기능과 우리가 가진 어떤 릴리스보다 더 많은 버그 수정이 포함되어 있지만 가장 중요한 것은 대부분 최종 API 변경 사항을 도입했습니다!

Lightning은 전 세계 최고의 연구원과 AI 연구소 에서 채택하고 있으며 모든 최신 모범 사례에 대한 원활한 경험과 지원을 제공하기 위해 열심히 노력하고 있습니다.

이 릴리스에서는 두 가지 새로운 주요 (및 마지막) API 변경 사항을 소개합니다.

LightningDataModules

여기에 전체 비디오

Lightning은 코드를 더 읽기 쉽고 구조화하는 것입니다.

우리는 엔지니어링에서 모델 아키텍처를 분리하고 데이터에 대해서도 동일한 작업을 계속합니다. 프로젝트간에 데이터 분할 및 변환을 공유하고 재사용하기 위해 LightningDataModules 를 만들었습니다 .

LightningDataModule은 교육에 필요한 모든 단계를 캡슐화하는 공유 가능하고 재사용 가능한 클래스입니다.

  1. 다운로드 / 토큰 화 / 처리.
  2. 재사용을 위해 정리하고 디스크에 저장하십시오.
  3. 메모리 또는 Just-In-Time의 데이터 세트 내부 에서 로드 합니다.
  4. 변환을 적용합니다 (회전, 토큰 화 등).
  5. DataLoader 내부에 래핑합니다 .

이 비디오에서는 PyTorch Lightning의 DL 연구 엔지니어 인 Nate Raw가 단계별로 안내합니다.

여기 에서 새로운 데이터 모듈에 대한 문서를 확인할 수 있습니다 .

단계 결과

Lightning에 TrainResultEvalResult의 두 가지 새로운 결과 개체를 추가했습니다 . 훈련 / 평가 / 테스트 단계의 출력을 보관하는 멋진 사전 객체입니다. 이는 기록 할 위치와시기 및 가속기에서 동기화가 수행되는 방법을 제어하기위한 것입니다.

TrainResult 를 사용하여 training_step 에서 자동 기록 :

TrainResult에 추가 한 'train_loss'는 자동 텐서 보드 로그를 생성합니다 ( 지원 하는 다른 로거를 사용할 수도 있음 ).

TrainResult 기본값은 모든 학습 단계기록하는 것입니다 .

EvalResult 를 사용 하여 validation_step 또는 test_step 에서 자동 로그 :

EvalResult 기본값은 모든 epoch 종료 를 기록 하는 것 입니다.

장치 간 동기화

여러 GPU / CPU / TPU 코어에서 훈련 할 때 다음과 같이 로깅 된 지표의 전역 평균을 계산할 수 있습니다.

result.log('train_loss', loss, sync_dist=True)

0.9의 몇 가지 다른 하이라이트는 다음과 같습니다.

  • PyTorch 1.6 지원
  • 여러 GPU에 테스트 예측 저장 추가
  • 모델을 ONNX 형식으로 내보내는 지원 추가
  • 더 많은 sklearn 메트릭, SSIM, BLEU
  • DDP 용 SyncBN 추가
  • gfile을 통한 원격 디렉토리 지원

또한 몇 초 만에 핵심 Lightning 기능을 설명하는 비디오로 문서 를 업그레이드 했습니다! 그들을 확인하고 다음에보고 싶은 것이 무엇인지 알려주세요!

열심히 일한 모든 헌신적 인 기여자들과 여러분의 모든 도움에 대해 커뮤니티에 감사드립니다. 우리는 당신 없이는 여기에 올 수 없습니다. 사용해보고, #slack 에서 프로젝트를 공유 하고, 다음 릴리스 인 1.0을 기대해주세요!

Suggested posts

IBM Watson Studio의 AutoAI 노트북으로 마술사 코드 깨기

IBM Watson Studio의 AutoAI 노트북으로 마술사 코드 깨기

가장 유명한 행동 강령 중 하나입니다. "마술사는 절대 비밀을 밝히지 않습니다." 그러나 청중이 너무나 놀라워 서 '방금 일어난 일'이라는 느낌에 놀라서 비밀을 밝히지 않는 것이 거의 잔인한 순간이 있습니다.

Python 코드 한 줄로 여러 시계열 예측 모델 학습

Auto-TS 라이브러리를 사용하여 ARIMA, SARIMAX, FB Prophet, VAR 및 ML 모델 개발

Python 코드 한 줄로 여러 시계열 예측 모델 학습

Automated Machine Learning (AutoML)은 기계 학습 파이프 라인의 일부 구성 요소를 자동화하는 것을 말합니다. AutoML은 일부 모델 개발 프로세스를 자동화하여 데이터 과학자의 워크 플로를 가속화합니다.