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

kimrlatkdgus님의 프로필 이미지

작성한 질문수

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

[AI HW Lab3] CNN Verilog HDL Practice 4 (FPGA)

CNN layer별 연산

24.07.07 18:52 작성

·

93

·

수정됨

1

안녕하세요 맛비님 강의수강중 궁금한점이 생겨 질문드립니다

강의시간에 다양한 CNN모델을 배웠는데 대부분 layer가 달라질수록 CI, CO, 각 feature map의 크기가 계속 달라지는데
실습에서 설계한 모듈은 고정된 파라미터에 대한 1 layer의 CNN연산인것 같아서요

실제 모델을 추론할 때는 각 layer에 맞는 파라미터를 적용시킨 CNNcore를 별도로 제작한 뒤 이를 cascade해야 하나요?

[1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요.

[2. 질문 내용] : eg) 질문 내용을 자유롭게 작성해주시면 되겠습니다 🙂

[3. 시도했던 내용, 그렇게 생각하는 이유] : eg) 설치영상은 이렇게 시도했는데 안되더라 or 본인의 생각을 적어주세요. (실습 내용 중에 이해가 안되거나 잘못된 내용이 있는데, 이러 이러한 근거로 나는 이렇게 생각합니다.)

 

================ 다음 내용은 읽어보시고 지우시면 됩니다.=================

질문 내용을 작성해주실 때, 위의 3단계로 제가 이해할 수 있게 작성해주시면 정확한 답변을 드릴 수 있을 것 같아요!!

현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)

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

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

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

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

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

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

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

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

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

답변 2

0

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

2024. 07. 09. 20:43

안녕하세요 🙂

"Architecture 에 따라 다르다."

라고 답을 드리고 싶어요.

Cascade 하는 구조를 택하면, 출력을 다음 layer HW 의 입력으로 연결할 수 있고요.

Reues 하는 구조를 선택하면, 여러번 반복하는 방법을 사용할 수 있을 것 같습니다.

따라서 "실제 모델" 의 정의는 모르겠지만, 설계하시려고하는 NPU 의 Architecture 에 따라 다를 것 같아요.

즐공하세요 🙂

0

인프런 AI 인턴님의 프로필 이미지

2024. 07. 09. 18:56

안녕하세요, 인프런 AI 인턴입니다.

김맛비님의 “설계독학맛비’s 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)” 강의에 대한 궁금증을 해소해 드리고자 합니다.

질문해주신 내용은 강의에서 직접적으로 다뤄지지 않은 내용일 수 있습니다. 각 CNN 레이어별로 달라지는 CI, CO, feature map의 크기에 따라 파라미터를 어떻게 적용해야 하는지, 그리고 실제 모델 추론 시 CNN core를 각 레이어별로 별도로 제작하여 cascade해야 하는지에 대한 부분은 매우 중요한 질문입니다.

하지만, 이에 대한 해답은 강의 컨텐츠 내에서 직접적으로 제공되지 않으며, CNN의 구조적 설계와 FPGA를 이용한 가속기 실습의 복잡성을 고려할 때, 복수의 레이어를 통합하거나 각기 다른 파라미터를 적용하는 방법에 대한 구체적인 가이드라인은 전문적인 지식과 경험을 요하게 됩니다.

실제 모델을 추론할 때 각 레이어에 맞는 파라미터를 적용한 CNN core를 제작하고, 이를 cascade하는 방식은 하드웨어 가속기 설계에서 흔히 사용되는 접근 중 하나입니다. 그러나, 이 과정에서 고려해야 할 요소들은 다양하며, 특히 FPGA를 활용하는 경우에는 자원 할당, 처리 속도, 전력 소모 등 많은 기술적 결정을 필요로 합니다.

질문하신 내용이 강의 내용을 넘어선 보다 깊은 이해와 적용에 대한 부분으로 보여 집니다. 추가적인 학습 자료나 전문적인 컨설팅이 필요할 수 있으며, 더 구체적인 도움을 원하신다면 관련 분야의 전문가나 커뮤니티에 직접 문의를 해보시는 것도 좋은 방법일 것입니다.

CNN의 연산과 FPGA를 이용한 HW 설계에 대한 이해를 더 넓힐 수 있도록 관련 연구 자료나 전문 서적을 참고하시는 것을 권장드립니다. 또한, 복잡한 구조의 CNN 모델을 FPGA에서 구현하기 위한 전략을 수립할 때는, 해당 하드웨어의 특성과 한계를 고려하면서 설계해 나가야 합니다.

항상 궁금증을 해결하기 위한 자세는 학습에 있어 매우 중요합니다. 도움이 필요하시면 추가적인 자료를 찾거나, 질문을 구체화하여 다시 문의해 보시는 것도 좋은 방법입니다. 궁금하신 점이 해결되길 바라며, 성공적인 학습 과정이 되시길 응원합니다.