🎈 여는 글 지난 2월 20일부터 24일까지 4박 5일 기간 동안 가속기 프로그래밍 겨울캠프에 다녀왔다. 평소 연구를 하면서 cuda 프로그래밍 및 GPU 아키텍처에 관해 갈증이 많았던 터라 모집 공지를 보자마자 꼭 참가해야겠다고 생각했다. 다만 수강료가 큰 부담이었는데, 랩에서 연구원으로 등록된 학생들은 연구비 지원을 받을 수 있었지만 나와 같이 회사에서 온 사람들은 과제를 할 수가 없기 때문에 연구원으로 등록할 수가 없고, 당연히 연구비 지원도 받을 수 없었다. 교수님께서는 지원해 줄 수 있는 방법이 없으시다며, 회사에서 교육 참가에 따른 비용을 지원해 줄 수 있는지 문의해 보라고 하셨다. 당연히 그런 것이 될 리가 없었고... 결국 나는 사비로 다녀왔다. 🎈 가속기 프로그래밍 겨울캠프 이 캠프는 서..
🎈 여는 글 언젠가부터 블로그에 글을 적는 일이 뜸해지기 시작했다. 바쁘기도 바빴지만, 방문 기록이나 인기 글과 같은 지표에 신경을 쓰기 시작하면서부터 포스팅이 점점 부담스러워지기 시작했다. 이 블로그를 주로 방문하는 사람들은 Verilog나 Digital 회로 설계 등에 관심이 있을 거라는 생각 때문에, 내가 올리고 싶은 글보다는 남이 찾아주는 글을 올려야 한다는 부담감이었을 지도 모른다. 아시다시피 이 블로그는 상업적인 이득을 취하기 위한 곳도 아니고, 애드센스와 같은 수익형 모델도 달려있지 않다. 그저 내가 원할 때 글을 쓸 수 있는 공간이었는데, 꼭 정보를 전달해야 한다는 마음에 주객전도가 되어버렸다. 다시 초심으로 돌아가서 그냥 내가 올리고 싶은 내용이라면 반응을 고려하지 않고 올려보려고 한다...
좋은 DNN Accelerator의 요건은 뭘까? 낮은 전력 소모와 적은 양의 메모리를 사용하면서도 적은 latency와 높은 throughput을 가지며 병렬화가 잘 되어 높은 수준의 Processing Element (PE) Utilization을 확보해야 한다. 어떻게 이러한 목표를 달성할 수 있을지 생각해 보면 아주 보편적인 접근 방법이 도출된다. 데이터의 재사용성을 높이고, 불필요한 연산은 하지 않고 넘긴다. (Sparsity를 최대한 활용한다.) 데이터를 처리하는 순서를 잘(?) 배치한다. 본 책에서는 기존의 연구 및 양산된 제품들이 앞서 서술한 목표를 달성하기 위해 고안한 아이디어와 방법에 대해서 친절하게 설명하고 있다. 병렬로 배치되어 있는 PE를 데이터가 지나가면서, 여러 번의 MAC (..
들어가며 느려 느려도 너무 느렸다. 서버에 GPU가 8개씩 달려있으면 뭐 하니, 제대로 쓰질 못하는데. 4K 이미지를 몇 천장을 128x128 사이즈로 잘라서 데이터셋을 만들고, 조금 무거운 모델에 올려서 돌리다 보니 속도가 너무 느렸다. 1 epoch를 도는데, 2시간 가까이 걸리는데 어느 세월에 학습을 다 끝내냔 말이다. 이제는 제대로 Multi GPU를 사용해야 할 때인가 싶어, 폭풍 구글링을 통해 nn.DataParallel을 검색하여 후딱 코드에 박아 넣었다. 좀 빨라지려나 생각했으나 결과는 Fail. 이유가 뭘까? 일단 무지성으로 PyTorch 한국 공식 페이지에 들어가서 Multi GPU 관련 튜토리얼을 쭉 돌려봤다. 인터넷에 돌아다니는 아티클과 테크 리포트 등을 훑어보니, nn.DataPa..
들어가며 이 책은 딥러닝 가속기를 연구하는 사람이나 이 분야를 업으로 삼고 있는 사람들에게는 바이블과 같은 책이다. 나도 아직 끝까지 다 읽지는 못했지만 방학(이라 읽고 연구 집중 기간이라 쓴다.) 동안 찬찬히 음미하며 읽어볼 예정. 읽으면서 블로그에 내용을 정리해보려 하는데, 업로드 순서는 책과는 다르게 중구난방이 될 수도 있다. 당장 하드웨어 설계에 필요한 부분부터 읽을 것이기 때문에, 양해를 부탁드리는 바이다. 내가 회사에서 하던 디지털 회로는 주로 filter 기반의 shallow ISP로 앞으로 연구 과정에서 설계해야 할 프로세서와는 결이 많이 다르다. 내가 설계한 IP로 입력되는 데이터는 sync 신호에 맞춰서 들어오기 때문에, 프로토콜에 맞춰서 잘(?) 설계만 하면 됐었다. 그래서 5년의 디..
여는 글 작년까지만 해도 딥러닝의 '딥' 자도 모르던 내가 이제는 논문과 github에 올라온 소스 코드를 보고 따라 해 볼 정도의 수준은 되었다. 어떻게 보면 회사에서 했던 일과는 연속성이 떨어지는 쪽으로 연구 주제를 정한 셈이고, 따라가기에 힘이 많이 부치지만 배우는 것도 그만큼 많다고 생각한다. 부족한 지식을 채우기 위해 딥러닝 스터디를 거의 1년 가까이 진행해 오고 있다. 책은 총 3권 독파했고, 현재는 파이썬 부트코스 100 days 스터디를 좋은 사람들과 함께 진행 중이다. 👇 스터디에 활용한 딥 러닝 도서가 궁금하다면 클릭 더보기 밑바닥부터 시작하는 딥러닝:파이썬으로 익히는 딥러닝 이론과 구현 - 한빛미디어 : 딥러닝 초보자에게 바이블과 같은 위상을 가진 책. 텐서플로나 파이토치와 같은 라이..