강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của wwww22
wwww22

câu hỏi đã được viết

Tự học thiết kế Kinh thánh của Matbi về thiết kế AI CTNH thực tế, chinh phục hoàn toàn phép tính CNN (thực hành tăng tốc sử dụng Verilog HDL + FPGA)

[AI HW Lab2] CNN Verilog HDL Practice 3 (Mô phỏng) - Giải quyết vấn đề

Data형태에 따른 AI가속기 구현 질문

Viết

·

214

1

안녕하세요, 강의를 수강하다가 궁금한 점이 있어서 질문드립니다.

강의에서 사용한 Data는 기본 integer를 사용하여 MAC연산을 rtl로 구현 시 +, * 연산자들을 이용하여 구현을 하셨는데 만약 입력으로 들어오는 feature, 학습이 완료된 weight들이 Floating point 32, Brain Floating16 등의 형태를 가지고 있다면 해당 데이터형에 알맞은 ALU 를 따로 설계 후 instance해오는 방식으로 Core를 설계하는지, 그리고 실제 일반적인 AI 가속기 구현 시 주로 어떤 형태의 Data형을 더 많이 사용하는지 궁금합니다!

 

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

verilog-hdlfpga임베디드cnn

Câu trả lời 1

0

semisgdh님의 프로필 이미지
semisgdh
Người chia sẻ kiến thức

안녕하세요 🙂

입력 데이터가 FP32, BP16 등과 같은 부동소수점 데이터일 경우, 해당 데이터형을 지원하는 연산 장치(ALU)를 설계하거나 외부에서 가져와 사용하게 됩니다. 설계 방안은 다음과 같습니다:

  • 부동소수점 데이터의 경우 IEEE 754 표준에 따라 덧셈/곱셈 연산기를 설계해야 합니다.

  • 이를 위해 정밀도와 연산 속도 요구 사항에 맞는 가감산기 및 곱셈기 등을 RTL로 직접 설계하거나, 오픈소스 IP 또는 상용 IP를 사용하는 방식을 고려합니다.

  • 예를 들어, BF16을 사용하는 경우 FP32보다 간소화된 연산기를 설계할 수 있어 전력과 면적을 절감할 수 있습니다.

 

말씀해주신 full FP 를 쓰는 방법도 있지만, 정확도를 최대한 유지하면서 Int 를 가져가는게 PPA 측면에서 유리하기 때문에, Mixed precision 방식을 많이 사용하는 것 같습니다.

즐공하세요 🙂

Hình ảnh hồ sơ của wwww22
wwww22

câu hỏi đã được viết

Đặt câu hỏi