AI VIDEO BRIEFING

임베디드 PyTorch 사례: 100KB 모델로 코스타리카 우림의 새소리를 실시간 탐지하다

전력망도 기지국도 없는 코스타리카 국립공원에서 멸종위기 새를 추적한 사례. 라즈베리 파이와 BirdNet 대신 신호처리와 100KB 모델을 택해 배터리 수명과 오탐 문제를 함께 푼 과정을 정리했다.

GPU 대신 신호처리로: 100KB 모델로 열대우림의 멸종위기 새를 찾는 법 영상 대표 이미지

핵심 메시지

  • 코스타리카 남부 라 아미스타드 국립공원에는 전력망도 기지국도 없어, 멸종위기종인 세줄기목수염새(three-wattled bellbird)를 추적하려면 기기 자체에서 추론이 끝나야 한다.
  • 발표자들은 이를 전력·연산·통신의 '삼체 문제'로 정리했다. 클라우드 없이 엣지에서 모델을 돌리고, 배터리를 몇 주에서 몇 달까지 유지하며, 탐지 결과를 생물학자에게 전달하는 세 가지를 동시에 풀어야 한다.
  • 통신은 LoRa 기반 저전력 장거리 메시 네트워크로 해결했다. 모든 기기가 위성에 붙을 필요 없이, 노드에서 노드로 신호를 넘겨 게이트웨이 한 대만 위성에 연결하면 된다.
  • 1단계에서는 코넬 조류연구소의 BirdNet을 PyTorch로 전이학습·양자화해 라즈베리 파이에 올렸다. 탐지와 전달은 성공했지만 오탐이 있었고 배터리가 사흘밖에 가지 않았다.
  • 2단계에서는 디지털 신호처리(DSP)를 머신러닝 앞단의 필터로 두고 특징을 20개 남짓으로 줄인 뒤 랜덤 포레스트나 경량 신경망을 썼다. 결과는 100KB 모델과 추론 1초 미만, F1 점수는 비슷하게 유지하면서 크기와 전력 소비를 크게 낮춘 것이다.

쉽게 이해하기

이 영상은 PyTorch 콘퍼런스의 라이트닝 토크로, Owl Integrations의 타라쿠르 라만과 오언 오도널이 발표했다. 두 사람은 LLM이 아니라 중앙아메리카 열대우림 같은 오지에 딥러닝을 배치하는 일을 하고 있으며, 피닉스 동물원·현지 단체·애리조나 주립대와 함께 프로젝트를 진행 중이다. 발표는 새소리를 들려주고 새인지 맞히게 하는 짧은 게임으로 시작하는데, 대상 종인 세줄기목수염새는 세계에서 가장 시끄러운 새 가운데 하나이자 생태계 균형에 중요한 핵심종이며 멸종위기종이다.

현장 조건이 설계의 모든 것을 결정한다. 라 아미스타드는 전력망도 기지국도 없고 위성 연결은 가능하지만 비싸기 때문에, 문제는 클라우드도 서버도 없이 엣지에서 돌아가는 머신러닝, 몇 주에서 몇 달을 버티는 배터리, 탐지 결과를 생물학자 손에 전달하는 통신 세 갈래로 갈린다. 통신은 '덕(duck)'이라 부르는 IoT 기기들로 풀었는데, LoRa 무선 프로토콜로 저전력·장거리 통신을 하며 서로 메시 네트워크를 이룬다. 한 기기가 새를 탐지하면 그 정보가 노드에서 노드로 건너뛰어 게이트웨이 노드에 닿고 거기서만 위성으로 올라가므로, 모든 기기를 위성에 연결할 필요가 없다는 것이 핵심이다.

1단계(2024년 10~12월)는 코넬 조류연구소가 만든 BirdNet을 썼다. 오디오를 스펙트로그램으로 바꾼 뒤 합성곱을 돌려 탐지하는 모델로, PyTorch로 전이학습해 이 용도에 맞추고 양자화했다. 다만 마이크로컨트롤러만으로는 감당이 안 돼 라즈베리 파이와 마이크, 그리고 통신용 LilyGo T-Beam 조합을 썼다. 배치 결과 탐지와 중계는 작동했지만 오탐이 발생했고 배터리는 사흘 만에 바닥났다.

2단계의 개선은 전력과 모델 양쪽을 겨냥했다. 라즈베리 파이가 전력을 많이 먹은 이유는 BirdNet을 돌리기 위해 큰 보드가 필요했기 때문이므로, 모델을 가볍게 바꾸면 보드도 바꿀 수 있다는 발상이다. 그래서 새 울음의 스펙트로그램에서 가장 강한 배음대의 주파수 같은 특징을 수학적으로 뽑아내는 DSP를 머신러닝 앞단의 필터로 두었는데, DSP가 배경 소음을 먼저 걸러주니 오탐이 줄고 머신러닝이 도는 시간도 줄며 DSP 자체가 머신러닝보다 전력 효율이 좋다. 특징 선택으로 약 20개만 남기자 대부분 정수나 부동소수점 값이 되어 엣지에서 돌릴 수 있는 랜덤 포레스트나 경량 신경망이 적합해졌고, 보드도 DSP에 최적화된 Teensy 4.1로 교체했다.

결과는 추론 시간 1초 미만으로 실시간을 지키면서 F1 점수는 서로 비슷하게 유지하고, 모델 크기와 전력 소비만 크게 낮춘 것이었다. 발표자들은 처음엔 '데이터를 더 넣고 더 오래 학습하고 더 좋은 GPU를 사자'는 흔한 생각을 했다고 털어놓는다. 하지만 음향 전문가와 논의하며 원점으로 돌아간 끝에, 자신들의 제약에는 100KB 모델이 BirdNet보다 더 맞는 답이었다고 정리한다.

주요 인사이트

  • 이 사례의 교훈은 '더 큰 모델'이 아니라 '문제에 맞는 모델'이다. 발표자들은 비슷한 문제를 만나면 GPU를 집어 들거나 파라미터를 늘리기 전에 원점으로 돌아가 조정해보라고 권하며, 연산을 쏟아부어 얻는 예측 가능하고 지루한 개선에서 벗어날 수 있다는 사라 후커의 논문 문장을 인용한다.
  • 제약이 아키텍처를 결정한 순서가 흥미롭다. 모델을 가볍게 만든 것이 목적 자체가 아니라, 큰 보드를 쓸 수밖에 없던 이유를 없애 보드를 바꾸고 결국 배터리 수명을 늘리기 위한 수단이었다.
  • 고전적 신호처리를 버리지 않고 머신러닝 앞단의 게이트로 쓴 것이 절전의 핵심이다. 값비싼 추론을 상시 돌리는 대신, 싼 필터가 후보를 걸러낸 뒤에만 모델을 깨우는 구조다.
  • 통신 설계도 같은 철학을 따른다. 모든 노드에 위성 링크를 다는 대신 메시로 신호를 넘겨 게이트웨이 하나만 위성에 연결함으로써, 기지국을 세우는 것과 정반대인 '자연을 건드리지 않는다'는 제약을 지켰다.
  • 정확도 지표만 보면 두 접근의 F1 점수는 비슷했다. 현장 배치에서 진짜 승부가 갈린 지표는 정확도가 아니라 모델 크기, 추론 지연, 그리고 전력 소비였다.

자주 묻는 질문

왜 클라우드로 소리를 보내 분석하지 않나요?

배치 장소인 코스타리카 라 아미스타드 국립공원에는 전력망도 기지국도 없기 때문입니다. 위성 연결은 기술적으로 가능하지만 비용이 많이 들어, 기기에서 직접 추론을 끝내고 탐지 결과만 내보내는 구조를 택했습니다.

1단계에서 쓴 BirdNet을 왜 바꿨나요?

발표자들은 BirdNet 자체를 훌륭한 모델이라고 평가하며 모든 새를 탐지해냈다고 말합니다. 문제는 이 모델을 돌리려면 라즈베리 파이 같은 큰 보드가 필요했고, 그 결과 배터리가 사흘밖에 가지 않았다는 점입니다. 오탐도 있었습니다. 현장의 제약에 맞지 않았을 뿐 성능이 나빠서가 아닙니다.

DSP를 앞에 두면 무엇이 좋아지나요?

DSP는 새 울음 같은 오디오 신호를 수학적으로 다뤄 가장 강한 배음대의 주파수 같은 특징을 뽑아냅니다. 이를 머신러닝 앞단의 필터로 쓰면 배경 소음이 모델까지 가지 않아 오탐 가능성이 줄고, 머신러닝이 돌아가는 시간도 줄어듭니다. DSP가 머신러닝보다 전력 효율이 좋기 때문에 전체 소비 전력도 내려갑니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식