인프런 커뮤니티 질문&답변

osia0921님의 프로필 이미지
osia0921

작성한 질문수

설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)

[AI HW Lab4] 곱셈수를 마법처럼 줄일 수 있는 Winograd Convolution (C Code)

CNN Core 모듈 질문

작성

·

517

1

안녕하세요 맛비님 항상 좋은 강의 잘 듣고 있습니다.

질문 두 가지만 드리겠습니다!

  1. CNN 연산 모듈의 latency가 4 cycle인데, throughput은 몇인가요? 수업에서 했던 시뮬레이션은 입력 데이터를 여러 번 넣는 과정이 아닌 한 번만 넣고 하나의 결과가 나온 시뮬레이션이지만, 사실 이 모듈은 파이프라인 구조로 되어있는 모듈이기 때문에, 입력데이터를 여러 번 넣는 과정을 진행한다면 throughtput은 1이라고 봐도 무방한가요?

  2. 기존 CNN 연산 모듈 말고, Winograd convolution 연산을 구현한 모듈로 얼마만큼의 resources(LUT, slices)들이 줄었는지 발전시켜보혀고 하는데 맛비님 생각이 궁금합니다!

 

 

 

=================

  1. 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)

  2. 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)

    1. 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..

  3. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)

    1. 서로 예의를 지키며 존중하는 문화를 만들어가요.

    2. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )

  4. 먼저 유사한 질문이 있었는지 검색해보세요.

  5. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

==================

답변 1

0

설계독학맛비님의 프로필 이미지
설계독학맛비
지식공유자

안녕하세요 :)

A1. 네, 맞습니다. Throughput 은 1 입니다.

A2. Winograd 연산을 FPGA 에서 구현한다하면, 곱셈수가 줄어드는 것은 맞으나, 정확도를 유지하기 위한 Adder 의 Bit 가 늘어서 오히려 Resource 가 늘어날 가능성도 있어요. Quantization 을 통해서 정확도를 어느정도 희생하면 Winograd 가 더 좋은 결과를 얻을 수 있을 것 같기도 하네요.

결론

어떻게 구현하느냐에 따라서 오히려 Resource 가 늘어날 수 있다. 하지만 이 부분을 연산 구현전 필요 bit 수를 미리 인지하고 구현하시면, 실제로 Resource 를 줄게 만드는 결과를 만들 수 있다.

강의에서 배운 내용 (Quantization, Winograd) 을 조합해서 새로운 무언가를 해보려는 시도는 너무 훌륭합니다.

저 또한 어떤 결과를 도출해 내실지 궁금하네요. 주제(idea)가 너무 좋고요. 고민과정과 결과들이 잘 정리되어서, 이력서에 이런거 한줄있으면... 저는 50%이상 뽑을겁니다.

즐공하세요 :)

osia0921님의 프로필 이미지
osia0921
질문자

좋은 답변 감사합니다!

osia0921님의 프로필 이미지
osia0921

작성한 질문수

질문하기