본문 바로가기
후기/세션 후기

NVIDIA AI 개발자 밋업 - 딥 러닝 모델 학습을 위한 End-to-End 가속화 기술

by beeny-ds 2022. 9. 1.

FESTA 에서 진행한 세션으로 학습 및 추론 시간 감소를 위한 기능 소개 목적으로 nvidia에서 발표 (22년 7월 12일)

출처: https://festa.io/events/2352


NVIDIA 세션에서 소개한 기능

AMP (Automatic Mixed Precision)

  • Training 가속화를 기대
  • [’O0’, ‘O1’, ‘O2’, ‘O3’]

 

APEX 분산 학습

  • DDP for model: model이 크면 gpu device에 model을 n 등분하여 올린 뒤 학습

 

ASP (Automatic SParsity)

  • inference 가속화를 기대하기 위한 pruning 을 적용하는 기법

https://github.com/NVIDIA/apex/tree/master/apex/contrib/sparsity

 

GitHub - NVIDIA/apex: A PyTorch Extension: Tools for easy mixed precision and distributed training in Pytorch

A PyTorch Extension: Tools for easy mixed precision and distributed training in Pytorch - GitHub - NVIDIA/apex: A PyTorch Extension: Tools for easy mixed precision and distributed training in Pyt...

github.com

 

Quantization

  • PTQ (Post Training Quantization) 추론 기능
  • QAT (Quantization Aware Training) 학습 기능

 

TensorRT

  • trtexec 사용한 engine 생성 및 사용 방법
  • 코드 구성(general한 방법)하여 engine 생성 및 사용 방법

 

DALI

  • gpu를 사용한 데이터 전처리
  • 큰 데이터를 전처리할 때 효과적
    • 작은 데이터를 전처리할 때는 효과적이지 않다고함

 


 

NVIDIA에서 제공 예정인 자료

세션 영상 & 샘플 코드 세션 발표할 때 공개한다고 했으니 이미 공개 되어 있을 것 같음


 

질의 응답 내용

굉장히 많은 QA가 있었음.
가치 있는 질문도 많았지만 전부 기록하지는 못함.
일부 기록한 QA 리스트 모음
  • Q: trtexec를 했을 경우, 초반 설정에서 gpu, cpu 셋팅하는 인자가 있는 걸로 아는데 그렇게 만들어진 trt 엔진은 초반 설정된 device만 사용 가능한 건가요? gpu로 설정해두고 cpu로 사용할 순 없는지요?
    • A: trtexec는 수행된 GPU device에서 최적화된 TensorRT 엔진을 만들어내는 툴입니다. CPU에서는 동작되지 않습니다.^^
  • Q: 아하 감사합니다 :) 하나 더 질문이 있는데 trtexec 초반 설정 시 int8 or float16 설정해두면 만들어진 엔진을 사용할 때 계산 방식을 변경하는 기능도 있을까요?
    • A: precision 설정에 따라서 호출되는 커널 (함수)가 날라지게 됩니다. 따라서 계산방식이 어떤걸 의미하는지는 모르겠지만 정확도와 속도차이가 발생할 수 있습니다.
  • Q: 계산 방식은 1. trtexec 사용 engine 만들 때 int8 설정해서 만든 engine을 A_engine 이라고 명명 2. A_enginge을 사용해서 float16 으로 inference (계산) 이렇게 사용이 가능한지 궁금해서 질문드렸습니다. !
    • A: 말씀해주신 방식은 지원되지 않습니다. int8과 fp16모두 TensorRT로 변환해서 사용하는걸 권장드립니다.
  • Q: tensorrt는 onnx말고 scripting된 torchscript도 conversion 가능한가요?
    • A: TensorRT는 기본적으로 ONNX 포맷을 통해서 변환하는 기능을 제공합니다. Torchscript도 마찬가지로 ONNX 포맷을 통해 변환 가능한 걸로 알고 있습니다.
  • Q: HF에서 data에 대해 tokenization 과정이 시간이 오래걸리고 CPU에서 주로 이뤄지고 있는걸로 아는데요.. 해당 부분을 GPU로 학습시키는 예시는 없을까요?
  • 추가 답변 사항
    1. ASP는 infernece 가속화를 기대하고 AMP는 Training 가속화를 기대하는 거라고 봐주시면 됩니다. 다만 ASP는 inference 가속화를 기대하기 위한 pruning 을 적용하는 기법입니다.
    2. nccl을 통한 multi-node ddp...? 환경 변수 셋팅, 토콜로지? 셋팅 이슈가 자주 생긴다고 함 (셋팅의 차이지 코드의 차이가 아님)

 

개발자 커뮤니티 홍보

개발자 커뮤니티 : https://join.slack.com/t/nv-ai-developer-kr/shared_invite/zt-1c4pix3vr-v2UxB22gvXzAvMzCGvlxMw

 

Slack

nav.top { position: relative; } #page_contents > h1 { width: 920px; margin-right: auto; margin-left: auto; } h2, .align_margin { padding-left: 50px; } .card { width: 920px; margin: 0 auto; .card { width: 880px; } } .linux_col { display: none; } .platform_i

nv-ai-developer-kr.slack.com

반응형

댓글