2025-11-13T15:25:11.338171

Energy-Efficient FPGA Framework for Non-Quantized Convolutional Neural Networks

Athanasiadis, Tampouratzis, Papaefstathiou
The growing demand for real-time processing in artificial intelligence applications, particularly those involving Convolutional Neural Networks (CNNs), has highlighted the need for efficient computational solutions. Conventional processors, very often, fall short in balancing performance, power consumption, and latency, especially in embedded systems and edge computing platforms. Field-Programmable Gate Arrays (FPGAs) offer a promising alternative, combining high performance with energy efficiency and reconfigurability. The presented framework addresses the complex and demanding computations of CNNs on FPGAs maintaining full precision in all neural network parameters. Specifically, our framework is based on Darknet which is very widely used for the design of CNNs and allows the designer, by using a similar input to that given to Darknet, to efficiently implement a CNN in a heterogeneous system comprising of CPUs and FPGAs. When compared with the FPGA frameworks that support quantization, our solution aims to offer similar performance and/or energy efficiency without any degradation on the NN accuracy.
academic

๋น„์–‘์žํ™” ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง์„ ์œ„ํ•œ ์—๋„ˆ์ง€ ํšจ์œจ์  FPGA ํ”„๋ ˆ์ž„์›Œํฌ

๊ธฐ๋ณธ ์ •๋ณด

  • ๋…ผ๋ฌธ ID: 2510.13362
  • ์ œ๋ชฉ: Energy-Efficient FPGA Framework for Non-Quantized Convolutional Neural Networks
  • ์ €์ž: Angelos Athanasiadisยน, Nikolaos Tampouratzisยฒ, Ioannis Papaefstathiouยน
  • ์†Œ์† ๊ธฐ๊ด€: ยน์•„๋ฆฌ์Šคํ† ํ…”๋ ˆ์Šค ํ…Œ์‚ด๋กœ๋‹ˆํ‚ค ๋Œ€ํ•™๊ต, ยฒ๊ตญ์ œ ํ—ฌ๋ ˆ๋‹‰ ๋Œ€ํ•™๊ต
  • ๋ถ„๋ฅ˜: cs.AR (์ปดํ“จํ„ฐ ์•„ํ‚คํ…์ฒ˜)
  • ๋…ผ๋ฌธ ๋งํฌ: https://arxiv.org/abs/2510.13362

์ดˆ๋ก

์ธ๊ณต์ง€๋Šฅ ์‘์šฉ ๋ถ„์•ผ์—์„œ ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ ์š”๊ตฌ๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ํŠนํžˆ ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง(CNN)์„ ํฌํ•จํ•œ ์‘์šฉ ๋ถ„์•ผ์—์„œ ํšจ์œจ์ ์ธ ๊ณ„์‚ฐ ์†”๋ฃจ์…˜์˜ ํ•„์š”์„ฑ์ด ๋Œ€๋‘๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ํ”„๋กœ์„ธ์„œ๋Š” ์„ฑ๋Šฅ, ์ „๋ ฅ ์†Œ๋น„ ๋ฐ ์ง€์—ฐ ์‹œ๊ฐ„์˜ ๊ท ํ˜•์„ ๋งž์ถ”๋Š” ๋ฐ ์žˆ์–ด ๋ถ€์กฑํ•œ ์ ์ด ๋งŽ์œผ๋ฉฐ, ํŠนํžˆ ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ ๋ฐ ์—ฃ์ง€ ์ปดํ“จํŒ… ํ”Œ๋žซํผ์—์„œ ๊ทธ๋Ÿฌํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€๋Šฅ ๊ฒŒ์ดํŠธ ์–ด๋ ˆ์ด(FPGA)๋Š” ๊ณ ์„ฑ๋Šฅ, ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ ๋ฐ ์žฌ๊ตฌ์„ฑ ๊ฐ€๋Šฅ์„ฑ์„ ๊ฒฐํ•ฉํ•œ ์œ ๋งํ•œ ๋Œ€์•ˆ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ณธ ๋…ผ๋ฌธ์—์„œ ์ œ์•ˆํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋Š” FPGA์—์„œ CNN์˜ ๋ณต์žกํ•œ ๊ณ„์‚ฐ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ฒ˜๋ฆฌํ•˜๋ฉด์„œ ๋ชจ๋“  ์‹ ๊ฒฝ๋ง ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ „์ฒด ์ •๋ฐ€๋„๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” Darknet CNN ์„ค๊ณ„ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ์„ค๊ณ„์ž๊ฐ€ Darknet๊ณผ ์œ ์‚ฌํ•œ ์ž…๋ ฅ์„ ์‚ฌ์šฉํ•˜์—ฌ CPU์™€ FPGA๋ฅผ ํฌํ•จํ•˜๋Š” ์ด๊ธฐ์ข… ์‹œ์Šคํ…œ์—์„œ CNN์„ ํšจ์œจ์ ์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ์–‘์žํ™”๋ฅผ ์ง€์›ํ•˜๋Š” FPGA ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋น„๊ตํ•˜์—ฌ, ๋ณธ ์†”๋ฃจ์…˜์€ ์‹ ๊ฒฝ๋ง์˜ ์ •ํ™•๋„๋ฅผ ์ €ํ•˜์‹œํ‚ค์ง€ ์•Š์œผ๋ฉด์„œ ์œ ์‚ฌํ•œ ์„ฑ๋Šฅ ๋ฐ/๋˜๋Š” ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

์—ฐ๊ตฌ ๋ฐฐ๊ฒฝ ๋ฐ ๋™๊ธฐ

๋ฌธ์ œ ์ •์˜

๋ณธ ์—ฐ๊ตฌ๊ฐ€ ํ•ด๊ฒฐํ•˜๊ณ ์ž ํ•˜๋Š” ํ•ต์‹ฌ ๋ฌธ์ œ๋Š” ์ „์ฒด ์ •๋ฐ€๋„ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ FPGA์—์„œ ๋น„์–‘์žํ™” ํ•ฉ์„ฑ๊ณฑ ์‹ ๊ฒฝ๋ง์„ ํšจ์œจ์ ์œผ๋กœ ๊ตฌํ˜„ํ•˜์—ฌ ๊ณ ์„ฑ๋Šฅ ๋ฐ ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ์„ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

๋ฌธ์ œ์˜ ์ค‘์š”์„ฑ

  1. ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ ์š”๊ตฌ ์ฆ๊ฐ€: AI ์‘์šฉ ๋ถ„์•ผ, ํŠนํžˆ CNN ์‘์šฉ ๋ถ„์•ผ์—์„œ ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ์— ๋Œ€ํ•œ ์š”๊ตฌ๊ฐ€ ์ง€์†์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ๊ธฐ์กด ํ”„๋กœ์„ธ์„œ์˜ ํ•œ๊ณ„: ๊ธฐ์กด CPU๋Š” ์„ฑ๋Šฅ, ์ „๋ ฅ ์†Œ๋น„ ๋ฐ ์ง€์—ฐ ์‹œ๊ฐ„์˜ ๊ท ํ˜• ์ธก๋ฉด์—์„œ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค.
  3. ์ž„๋ฒ ๋””๋“œ ๋ฐ ์—ฃ์ง€ ์ปดํ“จํŒ… ๊ณผ์ œ: ๋ฆฌ์†Œ์Šค๊ฐ€ ์ œํ•œ๋œ ์žฅ์น˜๋Š” ๋”์šฑ ํšจ์œจ์ ์ธ ๊ณ„์‚ฐ ์†”๋ฃจ์…˜์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์กด ๋ฐฉ๋ฒ•์˜ ํ•œ๊ณ„

  1. ์–‘์žํ™” ๋ฐฉ๋ฒ•์˜ ์ •ํ™•๋„ ์†์‹ค: ๊ธฐ์กด FPGA ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ฃผ๋กœ ์–‘์žํ™” ๋ชจ๋ธ์— ์ค‘์ ์„ ๋‘๊ณ  ์žˆ์œผ๋ฉฐ, ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ ๋ฐ ์ „๋ ฅ ์†Œ๋น„๋ฅผ ์ค„์ด์ง€๋งŒ ์ข…์ข… ์ •ํ™•๋„๋ฅผ ํฌ์ƒํ•ฉ๋‹ˆ๋‹ค.
  2. ์„ค๊ณ„ ๋ณต์žก์„ฑ: ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ณ  ํšจ์œจ์ ์ธ ์„ค๊ณ„ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค.
  3. ์„ฑ๋Šฅ๊ณผ ์ •๋ฐ€๋„์˜ ํŠธ๋ ˆ์ด๋“œ์˜คํ”„: ์ „์ฒด ์ •๋ฐ€๋„๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ๊ณ ์„ฑ๋Šฅ ๋ฐ ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

์—ฐ๊ตฌ ๋™๊ธฐ

FPGA์—์„œ ๋น„์–‘์žํ™” CNN์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ฐœ๋ฐœํ•˜์—ฌ ๋ชจ๋ธ์˜ ๋†’์€ ์ •ํ™•๋„๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ ๋ฐ ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ์„ ๋‹ฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ๊ธฐ์—ฌ

  1. ์ •ํ™•๋„ ์œ ์ง€: ์–‘์žํ™”๋ฅผ ํ”ผํ•˜๊ณ  ์ „์ฒด ์ •๋ฐ€๋„๋ฅผ ์œ ์ง€ํ•จ์œผ๋กœ์จ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” CNN ๋ชจ๋ธ์˜ ์ •ํ™•๋„๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
  2. ๋†’์€ ์„ค๊ณ„ ์ƒ์‚ฐ์„ฑ ๋ฐ ์œ ์—ฐ์„ฑ: ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” DarkNet CNN ์„ค๊ณ„ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋ฉฐ, ์ˆœ์ˆ˜ C/C++ ๊ตฌํ˜„์œผ๋กœ ์†Œํ˜•์—์„œ ๋Œ€ํ˜•๊นŒ์ง€์˜ ์ „์ฒด FPGA ์‹œ๋ฆฌ์ฆˆ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  3. ๊ณ ์„ฑ๋Šฅ: ๋ชจ๋“  FPGA์˜ ๋ณ‘๋ ฌ์„ฑ์„ ์ถฉ๋ถ„ํžˆ ํ™œ์šฉํ•˜์—ฌ CNN ์ถ”๋ก  ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ€์†ํ™”ํ•˜๊ณ  ์ ์‹œ์— ํšจ์œจ์ ์ธ ์ฒ˜๋ฆฌ๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
  4. ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ ์ตœ์ ํ™”: FPGA์—์„œ์˜ CNN ์ถ”๋ก  ์ „๋ ฅ ํšจ์œจ์„ฑ์„ ์ตœ์ ํ™”ํ•˜์—ฌ ์ „๋ ฅ ๋ฏผ๊ฐํ•œ ์‘์šฉ ๋ถ„์•ผ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

๋ฐฉ๋ฒ•๋ก  ์ƒ์„ธ ์„ค๋ช…

์ž‘์—… ์ •์˜

๋ณธ ๋…ผ๋ฌธ์—์„œ ์—ฐ๊ตฌํ•˜๋Š” ์ž‘์—…์€ FPGA์—์„œ ํšจ์œจ์ ์ธ ๋น„์–‘์žํ™” CNN ์ถ”๋ก ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋ฉฐ, ์ž…๋ ฅ์€ CNN ๋ชจ๋ธ ๊ตฌ์„ฑ ํŒŒ์ผ(Darknet ํ˜•์‹๊ณผ ์œ ์‚ฌ)์ด๊ณ , ์ถœ๋ ฅ์€ CPU-FPGA ์ด๊ธฐ์ข… ์‹œ์Šคํ…œ์—์„œ์˜ ๊ณ ์„ฑ๋Šฅ CNN ๊ตฌํ˜„์ž…๋‹ˆ๋‹ค.

ํ”„๋ ˆ์ž„์›Œํฌ ์•„ํ‚คํ…์ฒ˜

๊ทธ๋ฆผ 1์— ๋‚˜ํƒ€๋‚œ ๋ฐ”์™€ ๊ฐ™์ด, ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„๋ฅผ ์ฑ„ํƒํ•ฉ๋‹ˆ๋‹ค:

  1. ์ž…๋ ฅ ์ฒ˜๋ฆฌ: ์ƒˆ๋กœ์šด cfg ํŒŒ์ผ์„ ๋„๊ตฌ๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ
  2. ์ „์ฒ˜๋ฆฌ: OpenMP๋ฅผ ์‚ฌ์šฉํ•œ ๋ณ‘๋ ฌ ์ „์ฒ˜๋ฆฌ
  3. ํŒŒ์„œ: ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ ํŒŒ์‹ฑ, ํ•ฉ์„ฑ๊ณฑ ๊ณ„์ธต, ์—ญํ•ฉ์„ฑ๊ณฑ ๊ณ„์ธต ๋ฐ ๊ธฐํƒ€ ๊ณ„์ธต ์‹๋ณ„
  4. ๊ณ„์‚ฐ ์—”์ง„: ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ๋กœ์„œ์˜ ํ˜์‹ ์ ์ธ HLS ๊ณ„์‚ฐ ์—”์ง„
  5. ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ: OpenMP๋ฅผ ์‚ฌ์šฉํ•œ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ
  6. FPGA ๊ตฌํ˜„: FPGA์—์„œ์˜ ์ตœ์ข… ์‹ ๊ฒฝ๋ง ๊ตฌํ˜„

ํ˜์‹ ์ ์ธ HLS ๊ณ„์‚ฐ ์—”์ง„

ํ•ต์‹ฌ ์„ค๊ณ„ ๊ฐœ๋…

ํ˜์‹ ์ ์ธ ๊ณ„์‚ฐ ์—”์ง„์€ ๊ณ ์ˆ˜์ค€ ํ•ฉ์„ฑ(HLS) ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹จ์ผ ํด๋ก ์‚ฌ์ดํด ๋‚ด์— ์—ฌ๋Ÿฌ ์ˆ˜ํ•™ ์—ฐ์‚ฐ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ƒ๋Œ€์ ์œผ๋กœ ๋†’์€ ์ฒ˜๋ฆฌ๋Ÿ‰๊ณผ ์„ฑ๋Šฅ์„ ๋‹ฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์ˆ  ๊ตฌํ˜„ ์„ธ๋ถ€์‚ฌํ•ญ

๊ทธ๋ฆผ 2์— ๋‚˜ํƒ€๋‚œ ๋ฐ”์™€ ๊ฐ™์ด, HLS FPGA ์ปค๋„์€ ์ฃผ๋กœ ํ–‰๋ ฌ ๊ณฑ์…ˆ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ์ด๋Š” ๊ฑฐ์˜ ๋ชจ๋“  CNN ๊ตฌํ˜„์˜ ๊ธฐ์ดˆ์ž…๋‹ˆ๋‹ค:

  1. ๋ฉ”๋ชจ๋ฆฌ ์ตœ์ ํ™”: ๋‚ด๋ถ€ BRAM๊ณผ HLS ์ŠคํŠธ๋ฆผ์„ ํ™œ์šฉํ•˜์—ฌ ์˜จ์นฉ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ํŒจํ„ด ์ตœ์ ํ™”
  2. ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜:
    • ์ฒ˜๋ฆฌ ์š”์†Œ ๊ฐ„์— ์—ฐ์† ๋ฐ์ดํ„ฐ ํ๋ฆ„ ๊ตฌํ˜„, BRAM์˜ ์ค‘๊ฐ„ ์ €์žฅ ๋ถˆํ•„์š”
    • ์ง€์—ฐ ์‹œ๊ฐ„ ๋ฐ ๋ฆฌ์†Œ์Šค ์˜ค๋ฒ„ํ—ค๋“œ ๊ฐ์†Œ
    • ํŒŒ์ดํ”„๋ผ์ธ ์‹คํ–‰ ์ง€์› ๋ฐ ๋ณ‘๋ ฌ์„ฑ ํ–ฅ์ƒ
    • ์ƒ์‚ฐ์ž ๋ฐ ์†Œ๋น„์ž ํ”„๋กœ์„ธ์Šค ๊ฐ„ ์ง์ ‘ ๋ฐ์ดํ„ฐ ์ „์†ก
  3. ๋‹ค์ค‘ ๋ฉ”๋ชจ๋ฆฌ ์ฑ„๋„ ํ™œ์šฉ:
    • ํ˜„๋Œ€ FPGA์— ์—ฐ๊ฒฐ๋œ ์—ฌ๋Ÿฌ ๋ฉ”๋ชจ๋ฆฌ ๋ฑ…ํฌ ๋ฐ ์ „์šฉ ์ฑ„๋„ ํ™œ์šฉ
    • ์ ์ ˆํ•œ HLS ์ง€์‹œ๋ฌธ ์‚ฝ์ž…, ๋ฐ์ดํ„ฐ ์ „์†ก์„ ๋งค๊ฐœ๋ณ€์ˆ˜ํ™” ๊ฐ€๋Šฅํ•œ ์ˆ˜์˜ ๋ฉ”๋ชจ๋ฆฌ ๋ฑ…ํฌ/์ฑ„๋„๋กœ ํ• ๋‹น
    • ๊ฐ ๋ฉ”๋ชจ๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋Œ€์—ญํญ ์ถฉ๋ถ„ํžˆ ํ™œ์šฉ
  4. ๊ณ ๋Œ€์—ญํญ ๋ฐ์ดํ„ฐ ์ „์†ก: CPU์™€ FPGA ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ์ „์†ก์€ ์ „์ฒด ๋ฐ์ดํ„ฐ ํญ(512๋น„ํŠธ)์œผ๋กœ ํด๋ก ์‚ฌ์ดํด๋‹น ์ˆ˜ํ–‰๋˜์–ด ์ฒ˜๋ฆฌ ์š”์†Œ์™€ ๋ฉ”๋ชจ๋ฆฌ ์„œ๋ธŒ์‹œ์Šคํ…œ ๊ฐ„์˜ ๋†’์€ ์ฒ˜๋ฆฌ๋Ÿ‰ ํ†ต์‹ ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์ˆ  ํ˜์‹  ํฌ์ธํŠธ

  1. ์ „์ฒด ์ •๋ฐ€๋„ ์œ ์ง€: ๊ธฐ์กด ์–‘์žํ™” ๋ฐฉ๋ฒ•๊ณผ ๋‹ฌ๋ฆฌ, ๋ณธ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋ชจ๋“  ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ „์ฒด ์ •๋ฐ€๋„๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  2. ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ ์ตœ์ ํ™”: ํ˜์‹ ์ ์ธ ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ BRAM์— ๋Œ€ํ•œ ์˜์กด์„ฑ์„ ์ค„์ด๊ณ  ๋ฆฌ์†Œ์Šค ํ™œ์šฉ ํšจ์œจ์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.
  3. ๋‹ค์ค‘ ์ฑ„๋„ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ: ํ˜„๋Œ€ FPGA์˜ ๋‹ค์ค‘ ๋ฉ”๋ชจ๋ฆฌ ์ฑ„๋„ ํŠน์„ฑ์„ ์ถฉ๋ถ„ํžˆ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.
  4. Darknet ๊ธฐ๋ฐ˜ ์„ค๊ณ„ ํ”„๋กœ์„ธ์Šค: ์นœ์ˆ™ํ•˜๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฌ์šด ์„ค๊ณ„ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์‹คํ—˜ ์„ค์ •

ํ•˜๋“œ์›จ์–ด ํ”Œ๋žซํผ

  • ๊ณ ๊ธ‰ FPGA: AMD Alveo U55C
  • ์ž„๋ฒ ๋””๋“œ FPGA: Kria KR260
  • ๋น„๊ต CPU: Intel Xeon E5-2620 v4 (8์ฝ”์–ด) ๋ฐ ARM Cortex-A53 (4์ฝ”์–ด)
  • ๋น„๊ต GPU: NVIDIA T4

ํ…Œ์ŠคํŠธ ๊ตฌ์„ฑ

  • ํ–‰๋ ฌ ์ฐจ์›: M=2048, K=4096, N=16384
  • ๋ฐ์ดํ„ฐ ์œ ํ˜•: FP32 (32๋น„ํŠธ ๋ถ€๋™์†Œ์ˆ˜์ )
  • ํ…Œ์ŠคํŠธ ๋ชฉ์ : ํ”ผํฌ ์„ฑ๋Šฅ์ด ์•„๋‹Œ ํ–‰๋ ฌ ์ฐจ์›์„ ์„ ํƒํ•˜์—ฌ ๋ฐฉ๋ฒ•์˜ ์œ ์—ฐ์„ฑ์„ ์‹œ์—ฐํ•ฉ๋‹ˆ๋‹ค.

ํ‰๊ฐ€ ์ง€ํ‘œ

  1. ์„ฑ๋Šฅ: GFLOPS (์ดˆ๋‹น 10์–ต ๋ถ€๋™์†Œ์ˆ˜์  ์—ฐ์‚ฐ)
  2. ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ: GFLOPS/Watt
  3. ๊ฐ€์† ๋น„์œจ: ์ฐธ์กฐ ๊ตฌํ˜„ ๋ฐ CPU ๋ณ‘๋ ฌ ๊ตฌํ˜„์— ๋Œ€ํ•œ ์„ฑ๋Šฅ ํ–ฅ์ƒ

์‹คํ—˜ ๊ฒฐ๊ณผ

์ฃผ์š” ์„ฑ๋Šฅ ๊ฒฐ๊ณผ

์ž„๋ฒ ๋””๋“œ FPGA (Kria KR260)

  • ์ฐธ์กฐ ๊ตฌํ˜„ ๋Œ€๋น„: 2์ž๋ฆฌ ์ˆ˜์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ
  • ARM 4์ฝ”์–ด CPU ๋Œ€๋น„: 9๋ฐฐ ์„ฑ๋Šฅ ํ–ฅ์ƒ
  • ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ ํ–ฅ์ƒ: ์ตœ๊ณ  ์„ฑ๋Šฅ CPU ๋ณ‘๋ ฌ ๊ตฌํ˜„ ๋Œ€๋น„ 9๋ฐฐ ํ–ฅ์ƒ

๊ณ ๊ธ‰ FPGA (Alveo U55C)

  • ์ฐธ์กฐ ๊ตฌํ˜„ ๋Œ€๋น„: ์•ฝ 3์ž๋ฆฌ ์ˆ˜์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ
  • Intel Xeon CPU ๋Œ€๋น„: 10๋ฐฐ ์„ฑ๋Šฅ ํ–ฅ์ƒ
  • ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ ํ–ฅ์ƒ: ์ตœ๊ณ  ์„ฑ๋Šฅ CPU ๋ณ‘๋ ฌ ๊ตฌํ˜„ ๋Œ€๋น„ 34๋ฐฐ ํ–ฅ์ƒ
  • NVIDIA T4 GPU ๋Œ€๋น„: 3๋ฐฐ ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ ํ–ฅ์ƒ (T4๋Š” ๋” ์ง„๋ณด๋œ 12nm ๊ณต์ •์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ U55C๋Š” 16nm)

์ฃผ์š” ๋ฐœ๊ฒฌ ์‚ฌํ•ญ

  1. ํ˜„์ €ํ•œ ์„ฑ๋Šฅ ํ–ฅ์ƒ: ๋ชจ๋“  ํ…Œ์ŠคํŠธ ํ”Œ๋žซํผ์—์„œ ์ž๋ฆฟ์ˆ˜ ๋‹จ์œ„์˜ ์„ฑ๋Šฅ ๊ฐœ์„  ๋‹ฌ์„ฑ
  2. ์šฐ์ˆ˜ํ•œ ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ: ํŠนํžˆ Alveo U55C์—์„œ 34๋ฐฐ์˜ ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ ํ–ฅ์ƒ ๋‹ฌ์„ฑ
  3. ๊ธฐ์ˆ ์  ์šฐ์œ„: ๊ณต์ • ๊ธฐ์ˆ  ์—ด์„ธ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  GPU์˜ ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ์„ ์ดˆ๊ณผ
  4. ์ผ๊ด€์„ฑ ๊ฒ€์ฆ: ๋‹ค์–‘ํ•œ ํ–‰๋ ฌ ์ฐจ์›์˜ ์‹คํ—˜ ๊ฒฐ๊ณผ๊ฐ€ ๊ทธ๋ฆผ 3์— ํ‘œ์‹œ๋œ ๊ฒฐ๊ณผ์™€ ์™„์ „ํžˆ ์ผ์น˜

๊ด€๋ จ ์—ฐ๊ตฌ

๋…ผ๋ฌธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ด€๋ จ ์—ฐ๊ตฌ๋ฅผ ์ธ์šฉํ•ฉ๋‹ˆ๋‹ค:

  1. Xu ๋“ฑ(2024): FLARE - ์žฌ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ–์ถ˜ FPGA ๊ธฐ๋ฐ˜ ์ „์ฒด ์ •๋ฐ€๋„ ์ €์ „๋ ฅ CNN ๊ฐ€์†๊ธฐ
  2. Chen ๋“ฑ(2021): FPGA ์ง€ํ–ฅ n๋น„ํŠธ ์–‘์žํ™” ์‹ ๊ฒฝ๋ง ํ•™์Šต ํ”„๋ ˆ์ž„์›Œํฌ
  3. Latotzke ๋“ฑ(2022): FPGA์—์„œ์˜ ๊ณ ์ฒ˜๋ฆฌ๋Ÿ‰ ํ˜ผํ•ฉ ์ •๋ฐ€๋„ CNN ๊ฐ€์†๊ธฐ ์„ค๊ณ„

๋ณธ ๋…ผ๋ฌธ๊ณผ ๊ด€๋ จ ์—ฐ๊ตฌ์˜ ์ฃผ์š” ์ฐจ์ด์ ์€ ๋น„์–‘์žํ™” ๊ตฌํ˜„์— ์ค‘์ ์„ ๋‘๊ณ  ์žˆ์œผ๋ฉฐ, ์ „์ฒด ์ •๋ฐ€๋„๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ๊ณ ์„ฑ๋Šฅ ๋ฐ ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ์„ ๋‹ฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก  ๋ฐ ํ† ๋ก 

์ฃผ์š” ๊ฒฐ๋ก 

  1. ํ•ต์‹ฌ ์š”๊ตฌ์‚ฌํ•ญ ์„ฑ๊ณต์  ํ•ด๊ฒฐ: ๋ณธ ์—ฐ๊ตฌ๋Š” ์ „๋ ฅ ์ œ์•ฝ ํ™˜๊ฒฝ์—์„œ ํšจ์œจ์ ์ธ CNN ๊ตฌํ˜„์˜ ํ•ต์‹ฌ ์š”๊ตฌ์‚ฌํ•ญ์„ ์„ฑ๊ณต์ ์œผ๋กœ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.
  2. ์„ฑ๋Šฅ๊ณผ ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ ๋ณ‘ํ–‰: ์ œ์•ˆ๋œ ๋น„์–‘์žํ™” FPGA CNN ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ณ ์„ฑ๋Šฅ๊ณผ ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ์„ ์„ฑ๊ณต์ ์œผ๋กœ ๊ฒฐํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค.
  3. ์ •ํ™•๋„ ๋ณด์žฅ: ๋„คํŠธ์›Œํฌ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ „์ฒด ์ •๋ฐ€๋„๋ฅผ ์œ ์ง€ํ•จ์œผ๋กœ์จ ๋†’์€ ์ •ํ™•๋„๋ฅผ ๋‹ฌ์„ฑํ•˜๋ฉด์„œ ๋ฆฌ์†Œ์Šค ํ™œ์šฉ ๋˜๋Š” ์ „๋ ฅ ์†Œ๋น„๋ฅผ ๋ฐฉํ•ดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  4. ์‹คํ—˜ ๊ฒ€์ฆ ์œ ํšจ์„ฑ: ์‹คํ—˜ ๊ฒฐ๊ณผ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์œ ํšจ์„ฑ์„ ๊ฒ€์ฆํ•˜์—ฌ ์ถ”๋ก  ์ฒ˜๋ฆฌ์˜ ํ˜„์ €ํ•œ ๊ฐ€์†ํ™” ๋ฐ ์ „๋ ฅ ์‚ฌ์šฉ์˜ ๋Œ€ํญ์ ์ธ ๊ฐ์†Œ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

ํ•œ๊ณ„

  1. ํ…Œ์ŠคํŠธ ๋ฒ”์œ„: ์‹คํ—˜์€ ์ฃผ๋กœ ํ–‰๋ ฌ ๊ณฑ์…ˆ ์—ฐ์‚ฐ์— ์ง‘์ค‘๋˜์–ด ์žˆ์œผ๋ฉฐ, ์™„์ „ํ•œ CNN ๋„คํŠธ์›Œํฌ์˜ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋Š” ์ƒ์„ธํžˆ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  2. ์ •ํ™•๋„ ๊ฒ€์ฆ: ์ •ํ™•๋„ ์œ ์ง€๋ฅผ ์ฃผ์žฅํ•˜์ง€๋งŒ ๊ตฌ์ฒด์ ์ธ ์ •ํ™•๋„ ๋น„๊ต ๋ฐ์ดํ„ฐ๊ฐ€ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค.
  3. ์ ์šฉ ๋ฒ”์œ„: ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ ์šฉ ๊ฐ€๋Šฅ์„ฑ์€ FPGA ๋ฆฌ์†Œ์Šค ๋ฐ ํŠน์ • ์‘์šฉ ์š”๊ตฌ์‚ฌํ•ญ์— ์˜ํ•ด ์ œํ•œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ–ฅํ›„ ๋ฐฉํ–ฅ

๋…ผ๋ฌธ์€ ๊ตฌ์ฒด์ ์ธ ํ–ฅํ›„ ์—ฐ๊ตฌ ๋ฐฉํ–ฅ์„ ๋ช…์‹œํ•˜์ง€ ์•Š์•˜์ง€๋งŒ, ๋‹ค์Œ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  1. ๋” ๊ด‘๋ฒ”์œ„ํ•œ CNN ๋„คํŠธ์›Œํฌ ํ…Œ์ŠคํŠธ ๋ฐ ๊ฒ€์ฆ
  2. ์ถ”๊ฐ€ ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ ์ตœ์ ํ™”
  3. ๋” ๋งŽ์€ ์œ ํ˜•์˜ ์‹ ๊ฒฝ๋ง ๊ณ„์ธต ์ง€์›

์‹ฌ์ธต ํ‰๊ฐ€

์žฅ์ 

  1. ๊ธฐ์ˆ  ํ˜์‹ ์„ฑ:
    • ์ „์ฒด ์ •๋ฐ€๋„๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ๊ณ ์„ฑ๋Šฅ FPGA CNN ๊ตฌํ˜„ ๋‹ฌ์„ฑ
    • ํ˜์‹ ์ ์ธ HLS ๊ณ„์‚ฐ ์—”์ง„ ์„ค๊ณ„๋กœ ์ŠคํŠธ๋ฆผ ์ฒ˜๋ฆฌ ๋ฐ ๋‹ค์ค‘ ๋ฉ”๋ชจ๋ฆฌ ์ฑ„๋„์„ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉ
  2. ์‹คํ—˜์˜ ์ถฉ๋ถ„์„ฑ:
    • ์—ฌ๋Ÿฌ ํ•˜๋“œ์›จ์–ด ํ”Œ๋žซํผ์—์„œ ํฌ๊ด„์ ์ธ ํ…Œ์ŠคํŠธ ์ˆ˜ํ–‰
    • CPU ๋ฐ GPU์™€์˜ ๋น„๊ต ์‹คํ—˜ ํฌํ•จ
    • ์„ฑ๋Šฅ ๋ฐ ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ ์ง€ํ‘œ์— ๋Œ€ํ•œ ์ƒ์„ธํ•œ ์ธก์ •
  3. ์‹ค์šฉ์  ๊ฐ€์น˜:
    • ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” Darknet ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜์—ฌ ์ฑ„ํƒ์ด ์šฉ์ดํ•จ
    • ์†Œํ˜•์—์„œ ๋Œ€ํ˜•๊นŒ์ง€์˜ ์ „์ฒด FPGA ์‹œ๋ฆฌ์ฆˆ ์ง€์›
    • ์ „๋ ฅ ๋ฏผ๊ฐํ•œ ์‘์šฉ ๋ถ„์•ผ์— ์ ํ•ฉ
  4. ๊ฒฐ๊ณผ์˜ ์„ค๋“๋ ฅ:
    • ์ž๋ฆฟ์ˆ˜ ๋‹จ์œ„์˜ ์„ฑ๋Šฅ ํ–ฅ์ƒ ๋‹ฌ์„ฑ
    • ์—ฌ๋Ÿฌ ์ง€ํ‘œ์—์„œ ์šฐ์ˆ˜ํ•œ ์„ฑ๋Šฅ
    • ๊ณต์ • ๊ธฐ์ˆ  ์—ด์„ธ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  GPU ์—๋„ˆ์ง€ ํšจ์œจ์„ฑ ์ดˆ๊ณผ

๋ถ€์กฑํ•œ ์ 

  1. ์™„์ „์„ฑ ๊ฒ€์ฆ ๋ถ€์กฑ:
    • ์™„์ „ํ•œ CNN ๋„คํŠธ์›Œํฌ์˜ ์—”๋“œ-ํˆฌ-์—”๋“œ ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ ๋ถ€์žฌ
    • ๊ตฌ์ฒด์ ์ธ ์ •ํ™•๋„ ์œ ์ง€ ๊ฒ€์ฆ ๋ฐ์ดํ„ฐ ์ œ๊ณต ์•ˆ ํ•จ
    • ์ฃผ์š” ํ…Œ์ŠคํŠธ๊ฐ€ ํ–‰๋ ฌ ๊ณฑ์…ˆ ์ˆ˜์ค€์— ์ง‘์ค‘
  2. ๋น„๊ต ๊ธฐ์ค€ ์„ ํƒ:
    • ์ฐธ์กฐ ๊ตฌํ˜„์ด ์ถฉ๋ถ„ํžˆ ์ตœ์ ํ™”๋˜์ง€ ์•Š์•˜์„ ๊ฐ€๋Šฅ์„ฑ
    • ๋‹ค๋ฅธ ๊ณ ๊ธ‰ FPGA CNN ํ”„๋ ˆ์ž„์›Œํฌ์™€์˜ ๋น„๊ต ๋ถ€์žฌ
  3. ๊ธฐ์ˆ  ์„ธ๋ถ€์‚ฌํ•ญ ๋ถ€์กฑ:
    • HLS ๊ตฌํ˜„์˜ ๊ตฌ์ฒด์ ์ธ ์ตœ์ ํ™” ์ „๋žต ์„ค๋ช… ๋ถ€์กฑ
    • ๋ฆฌ์†Œ์Šค ํ™œ์šฉ๋ฅ  ๋ฐ์ดํ„ฐ ๋ˆ„๋ฝ
    • ๋ฉ”๋ชจ๋ฆฌ ๋Œ€์—ญํญ ํ™œ์šฉ ํšจ์œจ์„ฑ ๋ถ„์„ ๋ฏธํก
  4. ์ ์šฉ ๊ฐ€๋Šฅ์„ฑ ๋ถ„์„:
    • ๋ฐฉ๋ฒ•์˜ ํ•œ๊ณ„ ๋ฐ ์ ์šฉ ๋ฒ”์œ„์— ๋Œ€ํ•œ ์ถฉ๋ถ„ํ•œ ๋…ผ์˜ ๋ถ€์กฑ
    • ๋‹ค์–‘ํ•œ ๊ทœ๋ชจ CNN์˜ ํ™•์žฅ์„ฑ ๋ถ„์„ ๋ฏธํก

์˜ํ–ฅ๋ ฅ ํ‰๊ฐ€

  1. ํ•™์ˆ ์  ๊ธฐ์—ฌ:
    • ๋น„์–‘์žํ™” FPGA CNN ๊ตฌํ˜„์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ์†”๋ฃจ์…˜ ์ œ๊ณต
    • ์ •ํ™•๋„๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ๊ณ ์„ฑ๋Šฅ ๋‹ฌ์„ฑ์œผ๋กœ ์ค‘์š”ํ•œ ์ด๋ก ์  ๊ฐ€์น˜ ๋ณด์œ 
  2. ์‹ค์šฉ์  ๊ฐ€์น˜:
    • ์„ฑ์ˆ™ํ•œ ๋„๊ตฌ ์ฒด์ธ ๊ธฐ๋ฐ˜์œผ๋กœ ์—”์ง€๋‹ˆ์–ด๋ง ๊ตฌํ˜„ ์šฉ์ด
    • ์—ฃ์ง€ ์ปดํ“จํŒ… ๋ฐ ์ž„๋ฒ ๋””๋“œ AI ์‘์šฉ ๋ถ„์•ผ์— ์ ์šฉ ๊ฐ€๋Šฅ
  3. ์žฌํ˜„ ๊ฐ€๋Šฅ์„ฑ:
    • ํ‘œ์ค€ HLS ๋„๊ตฌ ๋ฐ ์˜คํ”ˆ์†Œ์Šค Darknet ํ”„๋ ˆ์ž„์›Œํฌ ๊ธฐ๋ฐ˜
    • ๊ธฐ์ˆ  ๊ฒฝ๋กœ๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ๋ช…ํ™•ํ•˜์—ฌ ์ผ์ • ์ˆ˜์ค€์˜ ์žฌํ˜„ ๊ฐ€๋Šฅ์„ฑ ๋ณด์œ 

์ ์šฉ ์‹œ๋‚˜๋ฆฌ์˜ค

  1. ์—ฃ์ง€ AI ์‘์šฉ ๋ถ„์•ผ: ์ „๋ ฅ ๋ฏผ๊ฐํ•˜๋ฉด์„œ ์ •ํ™•๋„ ์š”๊ตฌ์‚ฌํ•ญ์ด ๋†’์€ ์‹œ๋‚˜๋ฆฌ์˜ค
  2. ์‹ค์‹œ๊ฐ„ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ: ๋‚ฎ์€ ์ง€์—ฐ ์‹œ๊ฐ„๊ณผ ๊ณ ์„ฑ๋Šฅ์ด ํ•„์š”ํ•œ ์‹œ๊ฐ ์ฒ˜๋ฆฌ ์ž‘์—…
  3. ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ: ๋ฆฌ์†Œ์Šค๊ฐ€ ์ œํ•œ๋˜์ง€๋งŒ AI ๋Šฅ๋ ฅ์ด ํ•„์š”ํ•œ ์žฅ์น˜
  4. ์‚ฐ์—… ์ž๋™ํ™”: ์‹ ๋ขฐ์„ฑ ๋ฐ ์ •ํ™•๋„ ์š”๊ตฌ์‚ฌํ•ญ์ด ๋†’์€ ์‚ฐ์—… AI ์‘์šฉ ๋ถ„์•ผ

์ฐธ๊ณ ๋ฌธํ—Œ

1 Xu, Y.; Luo, J.; Sun, W. Flare: An FPGA-Based Full Precision Low Power CNN Accelerator with Reconfigurable Structure. Sensors 2024, 24

2 Chen, J.; Liu, L.; Liu, Y.; Zeng, X. A Learning Framework for n-Bit Quantized Neural Networks Toward FPGAs. IEEE Transactions on Neural Networks and Learning Systems 2021, 32, 1067โ€“1081.

3 Latotzke, C.; Ciesielski, T.; Gemmeke, T. Design of High-Throughput Mixed-Precision CNN Accelerators on FPGA. In Proceedings of the 2022 32nd International Conference on Field-Programmable Logic and Applications (FPL), 2022, pp. 358โ€“365.


์ข…ํ•ฉ ํ‰๊ฐ€: ๋ณธ ๋…ผ๋ฌธ์€ FPGA CNN ๊ฐ€์†๊ธฐ ๋ถ„์•ผ์—์„œ ์‹ค์šฉ์  ๊ฐ€์น˜๋ฅผ ์ง€๋‹Œ ๋…ผ๋ฌธ์œผ๋กœ, ์ „์ฒด ์ •๋ฐ€๋„๋ฅผ ์œ ์ง€ํ•˜๋Š” ํ˜์‹ ์ ์ธ ์†”๋ฃจ์…˜์„ ์ œ์‹œํ•˜๋ฉฐ ์ธ์ƒ์ ์ธ ์‹คํ—˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์™„์ „์„ฑ ๊ฒ€์ฆ ๋ฐ ๊ธฐ์ˆ  ์„ธ๋ถ€์‚ฌํ•ญ ์„ค๋ช… ์ธก๋ฉด์—์„œ ๊ฐœ์„ ์˜ ์—ฌ์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋†’์€ ์ •ํ™•๋„๊ฐ€ ํ•„์š”ํ•œ AI ์‘์šฉ ๋ถ„์•ผ์— ์žˆ์–ด ๋ณธ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ค‘์š”ํ•œ ์‘์šฉ ์ „๋ง์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.