-
카테고리
-
세부 분야
반도체
-
해결 여부
미해결
안녕하세요, 챕터6,7에 대한 질문입니다.
23.01.04 16:56 작성 조회수 313
1
안녕하세요, 좋은 강의 감사합니다.
1. MAC을 늘렸을 때 더 빠르게 연산이 된다고 하시면서 M(CO)에 동그라미 치셨는데 MAC과 M의 관계에 대해 직관적으로 연관짓기가 어려워서 어떤 관계인지에 대해 질문드립니다. 그리고 MAC은 연산량이라고 이해했는데, 연산량이 늘면 성능이 더 안좋아지는 것이 아닌가요?! 질문드립니다!
weight 개수를 CO+edge개수 라고 생각하면 될까요?
HW 설계에서 나눗셈이 resource가 왜 많이 드는지 궁금합니다. 단순하게 생각해보면 소수점 처리 때문일까 싶은데, 어떤 컨셉인지 궁금해서 질문드립니다.
알렉스넷처럼 batch가 2 이상인 모델은 병렬 연산을 요함으로 batch 1인 모델보다 많은 자원을 사용한다는 것이고, 이는 성능과 비용의 trade off 라고 이해하면 될까요?
설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
[AI HW 7장] 효율적인 NPU 설계를 위한 필수 지식, CNN Advanced (feat. TPU Architecture )
강의실 바로가기
답변을 작성해보세요.
0
설계독학맛비
지식공유자2023.01.04
안녕하세요 :)
A1. 하나의 layer 에서의 MAC 량 = OCH * ICH * KX * KY 임으로 (CO == OCH) 비례관계입니다.
그리고 MAC은 연산량이라고 이해했는데, 연산량이 늘면 성능이 더 안좋아지는 것이 아닌가요?! 질문드립니다!
말장난 답변을 드리면, MAC 을 소화할 수 있는 NPU 의 연산량 이라고 하면, 좋은거고요. MAC 이 늘어남으로 인해서 연산해야하는 양이 늘어난다면 더 많은 연산이 필요함으로, 동일 NPU 에서는 불리합니다.
(당연한거죠)
A2. weight 개수를 CO+edge개수 라고 생각하면 될까요?
하나의 layer 에서의 MAC 량 = OCH * ICH * KX * KY = 하나의 layer 에서의 weight 수 입니다.
A3. 나눗셈을 직접 HW 구현한다 생각해보시면 되겠습니다. ( 설마.. "/" 이 기호를 쓰시진 않겠지요?) 어떻게 구현될까를 고민해보시면 답이 될꺼에요. (구글링 추천드립니다.)
A4.
이는 성능과 비용의 trade off 라고 이해하면 될까요?
어찌보면 적어주신게 맞는 해석 같긴한데, 한번 더 적습니다. 같은 말일 수 있어요.
Batch 는 자원의 양 총 사용량 측면 보다는 동시 계산 (parallel) 에 초점을 두시면 됩니다.
10 이라는 연산량을 두개의 GPU 에서 계산할껀데, batch 가 1 이라면 10 의 시간이 필요하죠.
대신 network 의 dependency 를 끊고 5,5 절반으로 나누었다면 두개의 GPU 상에서 5 의 시간이 필요하죠.
위의 두 case 의 "총 자원 사용 량"은 동일합니다. (계산하기 쉽게 하면, 총 자원 사용량 = 시간*자원사용량)
즐공하세요 :)
답변 1