DL&ML

    pytorch Distributed DataParallel 설명 (multi-gpu 하는 법)

    pytorch Distributed DataParallel 설명 (multi-gpu 하는 법)

    from torch.utils.data.distributed import DistributedSampler train_dataset = datasets.ImageFolder(traindir, ...) train_sampler = DistributedSampler(train_dataset) train_loader = torch.utils.data.DataLoader( train_dataset, batch_size=args.batch_size, shuffle=False, num_workers=args.workers, pin_memory=True, sampler=train_sampler) pytorch에서 모델을 학습시킬 때 multi-gpu를 사용하려면 DataParallel이나 DistributedData..

    Moving average란? (이동평균선)

    Moving average란? (이동평균선)

    주식을 좀 하는 사람은 들어봤던 이평선(20일 평균선, 60일 평균선 등)이다. ML에선 noisy한 time-series data를 smoothing하는 용도로 사용한다.

    Deep learning에서 Collapse (Collapsing)란?

    Deep learning 논문을 읽다보면 model collapse에 대한 얘기가 많이 나온다. 간단히 얘기하자면, 모든 입력에 대해 동일한 embedding을 출력하는 현상이다. 두 가지 예가 있는데, GAN의 경우, generator와 discriminator를 균형있게 학습시켜야 하는데, discriminator가 학습속도가 너무 빨라져 버리는 경우가 있다. 이 경우에, GAN은 '진짜'같은 이미지를 생성하는 본 목적을 잃어버리고, discriminator가 가장 헷갈려하는 똑같은 그림만 생성하게 된다. 이 경우를 Mode Collapse라고 한다. 또 representation learning의 경우, contrastive learning으로 학습하는 경우가 많다. contrastive learn..

    ViT 모델 사이즈 별 parameter 수 (feat.GFLOPs)

    ViT 모델 사이즈 별 parameter 수 (feat.GFLOPs)

    요즘 CLIP 관련해서 논문을 쓰고 있어서 ViT/B-32 , ViT/B-16, ViT/L-14 등의 parameter 수를 검색하는데, 통 안나왔다. 보니까 ViT/B , ViT/L, ViT/H의 차이는 있지만, ViT/B-32와 ViT/B-16의 parameter수는 차이가 안난다는 것을 알아내었다. 따라서 모델의 계산량을 따지는 게 맞다. GFLOPS 자료 출처 : https://chowdera.com/2021/06/20210620230815101l.html GFLOPs로 비교하는 경우 model size라는 단어보다 model compute를 사용한다. (CLIP paper figure caption 참고)