Skip to content
Yehyeok Bang edited this page Sep 26, 2024 · 7 revisions

๊ฐœ๋ฐœ ์ค‘ ์ง๋ฉดํ–ˆ๋˜ ๋ฌธ์ œ(์šฐ๋ ค)์™€ ์ด๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•œ ๋„์ „

1. Go์–ธ์–ด์˜ ๊ณ ๋ฃจํ‹ด์„ ํ™œ์šฉํ•œ ๋น„๋™๊ธฐ ๋ถ„์„ ์ฒ˜๋ฆฌ

๋ฌธ์ œ : BARO ์•ฑ์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์ดฌ์˜ํ•œ ์˜์ƒ์„ AI ์„œ๋ฒ„๋กœ ์ „์†กํ•ด ์ž์„ธ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๊ณผ์ •์—์„œ, ๊ธด ๋ถ„์„ ์‹œ๊ฐ„์ด ์†Œ์š”๋˜์–ด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์ด ์ €ํ•˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์ดˆ๊ธฐ ํ”„๋กœํ† ํƒ€์ž…์—์„œ๋Š” ๋ถ„์„์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์–ด ๋ถˆํŽธ์„ ์ดˆ๋ž˜ํ–ˆ์Šต๋‹ˆ๋‹ค

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

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

image

2. ์˜์ƒ ์—…๋กœ๋“œ ์ตœ์ ํ™”

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

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• : ์˜์ƒ ํŒŒ์ผ์„ ์••์ถ•(ํ’ˆ์งˆ ๋‚ฎ์ถ”๊ธฐ, ์˜ค๋””์˜ค ์ œ๊ฑฐ ํฌํ•จ)ํ•˜์—ฌ ์—…๋กœ๋“œํ•˜๋Š” ๋ฐฉ์‹์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๊ธด ์ธก์ • ์‹œ๊ฐ„์— ๋”ฐ๋ฅธ ํŒŒ์ผ ํฌ๊ธฐ ์ฆ๊ฐ€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ , ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์••์ถ• ์ž‘์—…์„ ์ฒ˜ ๋ฆฌํ•จ์œผ๋กœ์จ ์‚ฌ์šฉ์ž๊ฐ€ ์•ฑ์„ ๊ณ„์† ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ตœ๋Œ€ ์ธก์ • ์‹œ๊ฐ„์„ ์„ค์ •ํ•ด ๊ณผ๋„ํ•˜๊ฒŒ ๊ธด ์ธก์ •์„ ๋ฐฉ์ง€ํ•˜๊ณ , ๊ณผ๋„ํ•œ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ์„ ์ตœ์†Œํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.

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

3. ๊ฐ€์ด๋“œ๋ผ์ธ ์ œ๊ณต

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

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• : ์ดฌ์˜ ์ „ ์นด๋ฉ”๋ผ ํ™”๋ฉด์„ ํ†ตํ•ด ์ž์„ธ ์ธก์ • ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์ œ๊ณตํ•จ์œผ๋กœ์จ, ์ด๋ฏธ์ง€ ๋ถ„์„์—์„œ ์‚ฌ์šฉํ•  ๊ธฐ์ค€ ์ ์„ ์žก์„ ์ˆ˜ ์žˆ์—ˆ๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ์ดฌ์˜ ๊ณผ์ •์—์„œ ์˜ฌ๋ฐ”๋ฅธ ์ž์„ธ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๊ณ , ์ ์€ ์ž์›์œผ๋กœ๋„ ์ตœ์ ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ธก์ • ์ •ํ™•๋„๋ฅผ ๋†’์ด๊ณ , ์‚ฌ์šฉ์ž ํ˜ผ๋ž€์„ ์ค„์˜€์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์—์„œ ์ง์ ‘ ์ดฌ์˜ํ•œ ์˜์ƒ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ถ”๊ฐ€์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•๋ณดํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์ˆ ์  ๊ทผ๊ฑฐ : ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์ „์— ์ •ํ™•ํ•œ ์ดฌ์˜ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ์ œ๊ณต๋ฐ›์œผ๋ฉด, ์ธก์ • ์˜ค๋ฅ˜๋ฅผ ์ค„์ด๊ณ  ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ์˜ ๋น„ํšจ์œจ์„ฑ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ฆฌ์†Œ์Šค๊ฐ€ ์ œํ•œ์ ์ธ ์ƒํ™ฉ์—์„œ ์ตœ์ ์˜ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.

image

4. ๊ณผ๋„ํ•œ ๋ฐœ์—ด ๋ฐ ๋ฐฐํ„ฐ๋ฆฌ ์†Œ๋ชจ ๋ฌธ์ œ ๋ณด์™„

๋ฌธ์ œ : TensorFlow Lite๋ฅผ ์‚ฌ์šฉํ•ด ์‹ค์‹œ๊ฐ„ ์ž์„ธ ํํŠธ๋Ÿฌ์ง ๊ฒฝ๊ณ  ์•Œ๋ฆผ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ–ˆ์ง€๋งŒ, ์ธก์ •(์ดฌ์˜)๊ณผ ํ•จ๊ป˜ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋งŽ์€ ์ปดํ“จํŒ… ์ž์›์„ ์†Œ๋ชจํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ณผ๋„ํ•œ ๋ฐœ์—ด๊ณผ ๋ฐฐํ„ฐ๋ฆฌ ์†Œ๋ชจ ๋ฌธ์ œ์— ๋Œ€ํ•œ ์šฐ๋ ค๊ฐ€ ์กด์žฌํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• : ์‹ค์‹œ๊ฐ„ ์ดฌ์˜ ์ค‘ ๋ฐœ์—ด๊ณผ ๋ฐฐํ„ฐ๋ฆฌ ์†Œ๋ชจ๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด, ๊ธฐ๊ธฐ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ์„ ์ตœ์ ํ™”ํ•˜๋Š” ์—ฌ๋Ÿฌ ๋ฐฉ์•ˆ์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. TensorFlow Lite ๋Œ€๋ฆฌ์ž๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์˜์ƒ ์ถ”๋ก  ํ”„๋กœ์„ธ์Šค๋ฅผ CPU๊ฐ€ ์•„๋‹Œ GPU๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝํ•˜๊ณ , ์ด๋ฏธ์ง€ ๋ณ€ํ™˜ ๊ณผ์ •์„ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€์ ์œผ๋กœ ํ•ด์ƒ๋„์™€ ๋ฐ๊ธฐ ๊ฐ™์€ ํ’ˆ์งˆ์„ ๋‚ฎ์ถฐ ํšจ์œจ์ ์œผ๋กœ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์ˆ ์  ๊ทผ๊ฑฐ : Tensorflow Lite๋Š” ๊ฒฝ๋Ÿ‰ํ™”๋œ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ์ œ๊ณตํ•˜์ง€๋งŒ, ๊ธฐ๊ธฐ์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ์ดฌ์˜ ๊ณผ์ •์—์„œ ๋ถˆํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค ์‚ฌ์šฉ์„ ์–ต์ œํ•˜๊ณ , ์ „๋ ฅ ์†Œ๋ชจ๋ฅผ ์ค„์—ฌ๋ณด๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ปดํ“จํŒ… ์ž์›์ด๋‚˜ ์˜จ๋„๋ฅผ ์ถ”์ ํ•˜๋ฉฐ ํ…Œ์ŠคํŠธํ•˜์ง€๋Š” ๋ชปํ–ˆ์ง€๋งŒ, ํ•™๊ต์—์„œ ๋ฐฐ์› ๋˜ ์ด๋ก ์œผ๋กœ ์ตœ์„ ์„ ๋‹คํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

image