본문으로 건너뛰기
← 홈으로

2026·6개 회차

윤동주의 「서시」 - 전자레인지 안 392개의 숫자들

× LG 쿠킹선행연구팀

음식 종류를 99%의 정확도로 맞추는 모델 옆에서, 나는 392 Byte짜리 모델을 끝까지 파고들었다.

전자레인지의 작은 MCU에 음식의 종류와 용량을 알아내는 모델을 넣고 싶었다. 쓸 수 있는 메모리도, 1×8 IR 센서가 주는 정보도 넉넉하지 않았다. 회전판의 움직임을 입력에 반영하고, 커널의 학습 방식과 연산 하나까지 다시 살피며 모델을 줄여나갔다.

TinyMLDictConv시계열 분류INT8 양자화MCU

1 / 6화

🧠 머신러닝

드디어 모델을 만들 시간

SUMMARY

LG는 5개 후보 모델을 원했고, 나는 그중 현재의 전자레인지 사양에서도 돌아갈 초소형 모델을 파 보기로 했다.

데이터 수집이 끝나고 드디어 모델 훈련이 시작됐다. 한 달 넘게 음식을 사고, 나누고, 데우고, 버리던 시간이 지나고 나니 이제야 내가 익숙한 전장에 돌아온 느낌이었다.

하지만 여유가 많지는 않았다. 수집 기간이 조금 길어지면서 모델 훈련 시작도 자연스럽게 밀렸다. LG가 최종 산출물로 요구한 모델은 다섯 개였고, 우리에게 남은 시간은 한 달 정도였다.

LG가 모델 다섯 개를 요구한건 따로 설명해주진 않았지만 포팅을 염두에 둔 전략이 아닐까 추측했다. 컴퓨터에서 잘 돌아가는 모델과 가전제품 수준의 프로세서에서 잘 돌아가는 모델은 다르다. 정확도에 도움이 되는 특정 구조를 적용해도 그 구조 하나가 전자레인지가 사용하는 MCU에 맞지 않는다면 모델의 포팅이 아예 불가능할 수도 있다. 그러니 여러 후보를 만들어 두고 가능성을 넓히려는 의도였을 것이다.

예전에 Mouser에서 저렴한 Edge TPU 카드를 여러 장 구매해 놀아본 적이 있다. Cloud TPU에서는 당연히 돌아가던 연산이 Edge TPU에서는 CPU로 fallback되는 경우가 많았다. 그러니 전자레인지에 들어가는 저렴한 프로세서라면 제한이 더 많을 거라고 생각했다.

물론 8비트 덧셈기만으로도 32비트 곱셈기를 흉내 낼 수는 있다. 하지만 굳이 그런 식으로 버티게 만들고 싶지 않았고 또 오히려 내 강점을 더 잘 보여줄 수 있는 제약이라 생각해 도전해보고 싶었다. 애초에 MCU가 편하게 처리할 수 있는 연산만으로 모델을 만들 수 있다면, 그쪽이 답에 더 가깝다고 봤다.

LG 쿠킹선행연구팀은 인공신경망이 일반적인 로직 바이너리보다 더 많은 저장 공간과 메모리를 요구한다는 걸 이미 알고 있었다. 그래서 새로운 시스템으로 교체하는 상황까지 염두에 두고 ROM 32 KiB, RAM 16 KiB라는 기준을 제안했다. 원래 전자레인지에 들어가는 RAM과 ROM은 그 절반도 안 된다고 들었던 것 같다. 그러니까 32 KiB와 16 KiB도 가전제품 입장에서는 꽤 큰 마음을 먹고 열어 준 넓은 운동장이었다.

두번째 제약을 처음 들었을 때엔 MNIST 숫자 분류 모델이 떠올랐다. 저 정도의 리소스에서도 28×28의 손글씨 숫자를 맞추는 모델은 충분히 작동한다. 우리는 입력이 8×60로 더 작았기 때문에 모델 크기 조건이 그다지 우려되는 요소는 아니었다.

오히려 걱정은 다른 곳에 있었다. 480개의 온도값이 애초에 우리에게 충분한 정보를 담고 있을까? 겨우 0에서 9 사이의 숫자를 맞추는 단순한 목표도 784 픽셀의 풍부한 입력값으로부터 분석해내는데 우리는 초저해상도 히트맵에서 음식의 종류 뿐 아니라 양까지 맞춰야한다. 메모리 제한보다 Input의 정보량이 더 먼저 마음에 걸렸다.

나는 빠듯한 타임라인과 모델들이 만족해야하는 제약들의 특성상 여러 명이 한 모델의 각 구조를 함께 설계하는 것이 시너지를 이르키는 일은 아니라고 봤다. 반대로 각자에게 모델을 하나씩 맡겨서 끝까지 파게하고, 매주 회의를 통해 서로 참고할 구조는 배우고 너무 유사하게 수렴하는 모델들은 분화시키는 편이 맞다고 생각했다.

학부 연구생 중에는 모델 훈련을 처음 해보는 친구들도 있었다. 그래서 일부러 경쟁심도 조금 유발했다. 정확도를 공유하고, 지난주보다 나아졌는지 보고, 서로의 접근을 듣게 했다. 무겁게 압박하려는 건 아니었다. 그냥 “내 모델도 이겨보고 싶다”는 목표가 생기면 배우는 속도가 빨라진다.

결과

  • ▸LG 요구에 맞춰 5개 후보 모델을 나눠 개발하는 방식으로 운영
  • ▸ROM 32 KiB, RAM 16 KiB와 8×60 입력 정보량을 핵심 제약으로 설정
  • ▸현 MCU에 맞는 초소형 모델을 도전해보기로 결정

비슷한 프로젝트 5

EEDOFLEXML 시스템 엔지니어 · 문제마다 최적 구조를 직접 설계합니다

iljoon6@naver.com