프로젝트 소개

PyTorch Lightning은 모든 규모의 AI 모델을 사전 훈련(pre-train)하고 미세 조정(fine-tune)하도록 설계된 딥러닝 프레임워크로, 최소한의 코드 변경으로 단일 CPU에서 수천 개의 GPU까지 확장할 수 있습니다. PyTorch 코드를 구성하여 과학적 모델 로직과 엔지니어링 인프라를 분리하고, 역전파(backpropagation), 혼합 정밀도(mixed precision), 멀티 GPU 및 분산 훈련을 자동화합니다. 이 프로젝트는 두 가지 핵심 패키지를 제공합니다: 고수준의 Trainer 및 LightningModule 추상화를 제공하는 PyTorch Lightning과, LLM, 확산 모델(diffusion model), 트랜스포머(transformer)와 같은 복잡한 모델을 위한 훈련 루프 및 확장 전략에 대한 전문가 수준의 제어를 제공하는 Lightning Fabric입니다. 사용자는 필요한 추상화 수준을 선택할 수 있습니다. 주요 기능으로는 CPU, GPU, TPU 및 멀티 노드 설정을 아우르는 하드웨어 독립적 훈련, DDP, FSDP 및 DeepSpeed와 같은 분산 전략 지원, 혼합 정밀도, 실험 로깅 통합, 조기 종료(early stopping), 체크포인트(checkpointing), TorchScript 또는 ONNX로의 내보내기가 있습니다. README는 순수 PyTorch 대비 실행 속도 오버헤드가 최소화되었음을 언급합니다. 설치는 pip 또는 conda를 통해 이루어집니다. 저장소에는 이미지 분류, 분할(segmentation), 객체 감지, 텍스트 분류, 요약, 오디오 생성, LLM 미세 조정, 이미지 생성, 추천 시스템 및 시계열 예측을 다루는 수많은 예제가 포함되어 있습니다. Apache 2.0 라이선스로 제공되며, 다양한 Python 및 PyTorch 버전, 운영 체제 및 하드웨어 가속기에서 엄격하게 테스트됩니다.