본문 바로가기

TECH

[2021.10.28] Large-scale language modeling tutorials with PyTorch

Parallelformers (https://github.com/tunib-ai/parallelformers)의 저자 고현웅 님이 10월 28일 오후 한국과학기술정보연구원(KISTi)들을 대상으로 온라인 강연을 했습니다. 본 강연은 Large Scale의 데이터 병렬처리 컴퓨팅에 대한 소개와 튜토리얼로 진행되었는데요, 아래에 발표 내용이 요약되어 있습니다. 발표자료는 여기(https://github.com/tunib-ai/large-scale-lm-tutorials)서 보실 수 있습니다.

 

GitHub - tunib-ai/large-scale-lm-tutorials: Large-scale language modeling tutorials with PyTorch

Large-scale language modeling tutorials with PyTorch - GitHub - tunib-ai/large-scale-lm-tutorials: Large-scale language modeling tutorials with PyTorch

github.com

 

GitHub - tunib-ai/parallelformers: Parallelformers: An Efficient Model Parallelization Toolkit for Deployment

Parallelformers: An Efficient Model Parallelization Toolkit for Deployment - GitHub - tunib-ai/parallelformers: Parallelformers: An Efficient Model Parallelization Toolkit for Deployment

github.com

 

요약:

최근 인류 역사상 최고의 언어모델이라는 평가를 받고 있는 GPT3를 필두로 딥러닝 언어모델의 크기가 점점 커지고 있는 추세입니다. 이러한 초대형 언어모델을 실제로 만들고 다루기 위해서는 여러가지 엔지니어링 기술들이 필요힙니다. 그러나 이러한 기술을 접해보지 않은 모델 사이언티스트에게는 다소 어렵거나 익숙치 않은 것이 대부분입니다. 따라서 본 세미나에서는 이러한 초대형 언어모델을 잘 다룰 수 있도록 도와주는 기술들을 살펴보고 튜토리얼을 진행하겠습니다. 가장 먼저 분산처리의 기본연산들과 Pytorch의 분산처리 모듈인 `torch.distributed`의 사용법에 대해 살펴보겠습니다. 두번째로 데이터 병렬화, 모델 병렬화, 파이프라인 병렬화 등 다양한 병렬화 기법의 개념에 대해서 알아보고 DeepSpeed, Megatron-LM 등의 오픈소스를 통해 튜토리얼을 진행합니다. 마지막으로 GPU 연산 효율성을 개선할 수 있는 다양한 엔지니어링 테크닉(Kernel fusion, Blocksparse, Gradient checkpointing 등)의 개념을 간단히 알아보고 튜토리얼을 진행하겠습니다.