딥러닝

    [인공지능 단어장] 인공지능 공부, 단어공부가 필수인 3가지 이유!

    [인공지능 단어장] 인공지능 공부, 단어공부가 필수인 3가지 이유!

    바야흐로 인공지능 전성시대라고 할 수 있는 때가 되었습니다. 23년 chatGPT를 시작으로 Stable diffusion 등 인공지능이 일반 제품의 영역으로 본격적으로 등장하기 시작했습니다. 시대에 뒤쳐지지 않기 위해선 이제 인공지능 공부가 필수라고 할 수 있죠. 전공자나 비전공자 모두 인공지능 공부를 처음 시작하는 사람이라면 간과하는 것이 하나 있는데요. 바로 단어 입니다. 영어나 프랑스어 일본어든 새로운 외국어를 배울 때 가장 많이 하는 것이 무엇일까요? 바로 단어 암기입니다. 인공지능 공부도 마찬가지 입니다. 한글로 쓰여있지만 전혀 다른 언어를 하고 있다고 생각하면 이해가 쉽습니다. 다른 언어이기 때문에 단어를 몰라 이해를 못하는 경우가 아주 많습니다. 하지만 대부분은 단어를 찾아보지 않고 공부하..

    010. [대학원생의 좌충우돌 GPU 클러스터 구축기] 2. GPU 클러스터 만들기(Kubernetes)!

    이전 글에서 만든 GPU 모니터링으로 수동분배가 쉬워지긴 했지만, 늘어나는 서버, 사용자를 하나씩 할당하는건 너무나.. 빡센일이었다.. 그래서 GPU를 자동으로 할당하고 사용할 수 있는 방법이 없을까 고민하고 검색하다가 GPU 클러스터를 만들기로 했다! 처음 찾아본것은 기존 HPC(Hight Performance Computing)에서 많이 사용하던 SLURM 이었는데 서버 별로 모든 환경을 동일하게 해주어야 하는 문제점이 하나 있었다. 하지만 사람마다 사용해야하는 파이썬 버전, 패키지 버전이 다를 경우가 흔해서 파이썬 가상환경이나 도커를 많이 사용하고있는데 이것도 하나씩 세팅을 해주어야하니 불편할 수 밖에 없다고 판단했다. 다음으로 찾아본것은 조금더 최근에 나오고 많이 사용되고 있는 Kubernetes..

    006. [대학원생의 좌충우돌 GPU 클러스터 구축기] 0. 맨땅에 헤딩하기

    2020년부터 석사를 시작해서 이제 3기에 접어들었지만 연구실생활은 4학년인 2019년 부터 시작했다. 새로 부임하신 교수님연구실에 들어갔었고 정말 아무것도 없는 무에서부터 시작했다. 처음엔 시행착오도 많이 격고 정말 힘들었지만 덕분에 클라우드, 인프라, 딥러닝연구 모두 재미있게 할 수 있었다. 오늘부터 우리연구실의 인프라 발전과정을 적어보려고한다. 2018년 여름방학. 정말 아무것도 없는 허허벌판, 화성을 탐사하듯 그때 연구실은 정말 아.무.것.도 없었다. 교수님 한 분만 믿고 들어간 연구실이라 아직 연구실 방 배정도 못받았었다. 그래서 건물에 남는 스터디공간인 이노갤러리 책상하나를 작은 연구실처럼 사용했는데 다행히 얼마 지나지 않아 학과 공동연구실에 자리를 얻을 수 있었다. 이노갤러리는 공간이 넓긴했..

    002. 모델 계산량, FLOPs vs MAC, FLOPs vs FLOPS

    딥러닝에서 계산량은 파라미터와 함께 모델이 얼마나 큰지, 효율적인지를 나타내는 지표이다. 계산량은 보통 FLOPs(FLoating point OPerations) 혹은 MAC(Multiply–ACcumulate)으로 나타낸다. 대부분의 현대 하드웨어는 tensor를 다루는 연산을 할때 FMA라고 하는 명령어 셋을 사용한다. FMA는 a*x+b를 하나의 연산(operation)으로 처리를 하고 이 연산이 몇번 실행되었는지를 세는 것이 MAC이다. FLOPs는 덧셈, 곱셈을 하나 하나의 연산으로 보기 때문에 일반적으로 MACs : FLOPs = 1 : 2(덧셈 1회, 곱셈 1회)가 된다. 따라서 MAC을 FLOPs로 변환할 때는 2를 곱하면 되고, 반대의 경우엔 2로 나눠주면 된다. 100 MACs = 2*..

    001. Torchvision 0.8, GPU에서 돌아가는 Scriptable Transforms 사용해서 데이터 로딩 속도 개선하기

    Torchvision 0.8 에서 새롭게 나온 기능중 가장 유용하고 기다려왔던 기능입니다. 바로 Transform이 Tensor, Batch computation, GPU and TorchScript를 지원합니다! 상세한 릴리즈 노트는 여기를 확인해 주세요. 이 포스트에서는 해당 기능을 이용해서 CIFAR, ImageNet을 Loading 하는 코드를 작성하고, 실제로 얼마나 빨라지는지 실험을 해보겠습니다.본 포스트에서 사용한 모든 코드는 여기에서 확인하세요. Star도 꾹 눌러주세요 ^^사용법기존의 Transform은 transform.compose를 이용해서 dataset의 transform 파라미터에 넣어주었습니다.original_transforms = transforms.Compose([ tran..