ChatGPT와 Gemini, Claude Code와 같은 AI는 이미 우리 일상뿐만 아니라 업무 영역에도 자리잡았습니다. 일상생활 중에 궁금한 점을 물어보는 것부터, 업무에서 반복 작업을 자동화하는 것까지 AI가 없는 세상은 이제 상상하기 어려울 것입니다.
근데 이런 AI가 PC나 스마트폰 속에서만 존재할까요? 당연히 아닙니다. 물류 운송 장치, 자동차, 그 외 다양한 목적의 로봇처럼 수많은 하드웨어에도 AI가 탑재됩니다.
(출처: https://embeddedcomputing.com/technology/ai-machine-learning/applications-and-benefits-of-edge-ai)
최근 점점 더 정밀한 자율주행을 목표로 발전하는 자동차에 대해 좀 더 살펴볼까요? 자율주행 차량은 긴급 상황이 발생할 때 1초도 안 되는 짧은 시간 내에 앞으로 어떤 행동을 해야 할지 AI가 결정을 내려야 합니다.
만약 이때 자율주행 차량이 저 멀리 중앙 서버에서 동작 중인 AI에게 이런 모든 결정을 의지한다면 어떻게 될까요? 인터넷 통신 상태나 주변 지형 등 다양한 요인으로 지연시간이 생길 경우, 차량은 AI의 결정을 제때 받지 못해 큰 사고가 발생할 수도 있습니다.
그래서 AI를 장치에 탑재하자는 아이디어가 등장했습니다. 현장에서 동작하는 단말기나 주변 노드, 그러니까 AI 네트워크 차원에서 봤을 때 가장 끝(Edge) 부분에서 AI가 작동하고 결정을 내리는 방식이죠.
이것이 바로 Edge AI입니다.
찰나의 순간에 너무 늦지 않도록
방금 전 살펴본 자율주행 차량을 Edge AI 측면에서 좀 더 자세히 살펴보겠습니다.
(출처: https://edition.cnn.com/2019/04/22/success/tesla-navigate-on-autopilot)
Tesla의 Autopilot이나 NVDIA의 Drive platform은 Edge AI를 사용해서 카메라, 레이더(전파로 주변 사물 식별), 라이다(LiDAR, 레이저로 주변 사물 식별) 센서로 받은 정보를 실시간으로 처리합니다.
그래서 중앙 서버 내 AI의 피드백을 기다리지 않고도 장애물을 감지하거나 신호등을 인식하고, 급제동이나 차선 조정처럼 촌각을 다투는 결정도 내릴 수 있는 거죠.
Edge AI가 탑재된 차량 내 단말기에서는 일반적으로 객체 탐지와 같은 작업에 특화된 신경망 네트워크가 동작하게 됩니다. 인터넷 통신이 잘 닿지 않는 곳에서도 차량이 안정성있게 주행하고, 네트워크 딜레이로 인한 위험을 줄이는 데에 큰 기여를 하죠.
이뿐만이 아닙니다. 차량에는 엔진 성능이나 타이어 압력, 배터리 수명처럼 다양한 센서로부터 대량의 데이터가 발생하는데요. 이런 데이터들을 Edge AI가 현장에서 바로 분석하고 부품 고장을 미리 예측할 수 있습니다.
자동차 제조업체 BMW에서는 전기차의 배터리 상태를 모니터링하고, 운전자에게 앞으로 발생할 수도 있는 문제를 미리 알려주는 데에 Edge AI 시스템을 사용하고 있습니다. 차량 자체나 근처 Edge 서버(서비스의 안정성을 위해 사용자와 가까운 곳에 미리 구축한 서버)에서 데이터를 처리하기 때문에, 비용이 절감되는 효과와 더불어 차량 진단을 더욱 신속하게 해낼 수 있죠.
Mercedes-Benz에서 개발한 MBUX 멀티미디어 시스템 역시 Edge AI를 활용한 기술입니다. 운전자의 자연어 명령어를 처리하거나 자동차 내부 기온 및 습도 조절 등을 차량에 내장된 AI가 중앙 서버와의 연결 없이 수행할 수 있는 것인데요.
운전자의 피로함을 감지하는 기능처럼 개인정보에 민감한 기능도 Edge AI의 도움을 받습니다. 운전자의 생체인식 정보를 로컬에만 저장해 보안 사고를 예방할 수 있기 때문입니다. 얼굴 인식을 위해 CNN 모델이 사용되는 Edge AI가 현장에서 동작하므로 네트워크 연결이 어려운 지역에서도 끊김 없는 사용자 경험을 보장할 수도 있습니다.
우리가 알고있던 AI와 Edge AI는 어떻게 다를까?
(출처: https://www.csem.ch/en/technical-focus/iot-and-vision/edge-ai-and-vision)
Edge AI는 현장의 단말기가 데이터를 모으고 분석하는 것에서 끝나는 것이 아니라, 내장된 머신러닝 모델을 통해 결정까지 내립니다. 즉, 단말기에 ‘지능’ 레이어가 추가된 개념이라고 보면 됩니다.
기존의 중앙 서버에서 동작하던 AI와 Edge AI의 목표는 사실 동일합니다. 컴퓨터가 데이터를 모아 처리하고, 사람의 지능과 비슷하게 결정을 내리는 것인데요.
하지만 Edge AI는 단말기 내에서 로컬로 작동하고 추론한다는 점에서 기존 AI와 다릅니다.
혹시 분산형 AI에 대해 들어보셨나요? 여러 장치에 내장된 AI가 작업을 나눠서 수행하는 걸 분산형 AI라고 하는데요. 얼핏 보면 Edge AI와 분산형 AI가 비슷해보이죠. 하지만 이 둘에는 중요한 차이가 있습니다.
Edge AI는 단말기 내에서 바로 알고리즘을 실행합니다. 반면 분산형 AI는 중앙 서버나 다른 AI 노드 및 장치가 서로 연결된 시스템에서 알고리즘을 실행하죠.
그리고 분산형 AI는 어떤 작업을 쪼갠 다음, 여러 AI 노드 및 장치가 함께 문제를 해결합니다. 이런 분산 처리 방식 덕분에 작업 처리량은 Edge AI보다 뛰어난데요.
다만, Edge AI보다 구조가 복잡하고, 지연 속도가 높으며, 개인정보 보호 측면에서 불리한 것이 분산형 AI의 단점입니다.
아무래도 현장에서 동작하는 단말기나 주변에 구축된 별도의 노드에 이식되어야 하다보니, Edge AI는 한정된 리소스를 가지고 정확도와 추론 속도간의 균형을 맞출 수밖에 없습니다. 그래서 Edge AI 엔지니어들은 TensorRT와 같은 프레임워크를 사용해서 모델 최적화를 수행하는데요.
이런 AI 모델 최적화 도구가 발전함으로써 Edge AI의 성능은 꾸준히 향상될 것이고, Edge AI가 적용될 수 있는 사례도 점차 많아질 것으로 기대합니다.
Edge AI가 몸집을 줄일 수 있었던 이유
방금 AI 모델 최적화 도구에 대해 잠깐 소개했으니, Edge AI가 제한된 리소스에서도 유효한 결과를 낼 수 있게 해주는 최적화 방법 2가지도 가볍게 살펴보겠습니다.
우리는 흔히 AI 모델의 성능을 파라미터 개수로 판단하곤 합니다. 파라미터가 많을수록 모델의 성능이 좋을 가능성은 높지만, 그렇다고 모델이 가진 모든 파라미터가 전부 유의미한 것은 아닙니다.
그래서 AI 모델의 최적화를 위해 파라미터를 ‘가지치기’하는 작업을 수행하는데요. 이를 ‘가지치기’란 뜻으로 Pruning 기법이라고 합니다.
(출처: https://towardsdatascience.com/pruning-neural-networks-1bb3ab5791f9)
즉, 학습된 모델의 파라미터 중 중요도가 낮은 것들을 제거함으로써 모델의 크기를 줄이고 연산을 보다 단순화하는 과정을 의미합니다. Pruning 과정을 거친 AI 모델은 메모리 사용량이 최적화되고 연산 효율성이 향상되어 전력 소비가 감소하는 효과를 얻습니다.
또 다른 최적화 기법으로 양자화(Quantization)가 있습니다. AI 신경망의 가중치와 활성화 함수 출력을 기존보다 더 낮은 Bit 수로 줄이는 기법인데요.
(출처: https://www.rinf.tech/5-reasons-why-machine-learning-quantization-is-important-for-ai-projects)
신경망을 통해 생성되는 결과값이 기존에는 소수점까지 표현되었다면, 양자화를 거친 이후에는 정수 범위로만 표현되어 정밀도를 낮추는 기법입니다. 이를 통해 AI 모델의 크기는 줄이면서 연산 속도를 높이고, 전력 소비량은 감소시킬 수 있습니다.
이렇게 AI 모델을 Pruning과 양자화 기법으로 최적화하면, 사용할 수 있는 리소스가 제한적인 단말기에서도 일정 수준의 성능을 내는 Edge AI 모델을 만들 수 있는 것입니다.
클라우드는 Edge AI의 든든한 서포터
지금까지 Edge AI가 어떻게 등장했고 사용되는지 알아봤습니다. 로컬에서 동작하는 Edge AI지만, 그렇다고 단말기에 내장된 이후부터 계속 혼자서 모든 걸 해낼 수는 없습니다.
특히 Edge AI를 개발, 배포, 관리, 유지할 때 필요한 인프라나 툴을 제공할 환경이 필요한데요. 클라우드가 그 역할을 톡톡히 해낸답니다.
우리가 살펴봤듯이, Edge AI는 학습에 필요한 컴퓨팅 파워나 대규모 데이터를 처리할 리소스가 태생적으로 제한됩니다. 만약 클라우드에 구축된 AI 관리 시스템과 Edge AI가 주기적으로 연동된다면 어떨까요?
Edge AI 단말기는 현장에서 수집한 데이터를 클라우드로 전송하고, 클라우드 시스템에서는 단말기로부터 자신에게 보내지는 데이터를 모아 처리하고 AI 모델을 학습 및 재배포할 수 있습니다.
게다가 Edge AI 모델은 최적화 작업이 필수입니다. 클라우드 시스템에서 AI 모델 최적화 도구 등으로 자동화 파이프라인을 구축한다면, 클라우드에서 단말기로 AI 모델을 재배포하는 데에 활용될 수 있겠습니다.
이렇게 현장에서 데이터를 수집하고, 수집된 데이터를 AI 모델이 더 나은 결정을 할 수 있도록 학습한 다음 다시 재배포하는 것을 지속적 학습(Continuous Learning)이라고 합니다. Edge AI와 클라우드가 서로 주기적으로 연동되면 Edge AI 모델의 지속적 학습을 달성할 수도 있죠.
Edge AI 단말기는 사용자와 가장 맞닿아있습니다. 그래서 단말기 유지보수 역시 중요하죠.
클라우드 환경에 구축한 시스템에서 단말기들을 실시간으로 모니터링할 수 있다면, 실제로 단말기 성능에 영향을 줄 이슈를 미리 인지하는, 예측 유지보수(Predictive Maintenance)가 가능해집니다.
게다가 클라우드 환경에선 확장이 비교적 자유롭기 때문에, 조직이 관리하는 단말기 규모에 따라 필요한 리소스를 유연하게 늘릴 수 있죠.
마무리
앞으로 AI 최적화 기술과 AI 내장 칩의 성능이 발전할수록, 우리 주변의 더 많은 사물에 AI가 들어올 것입니다. Edge AI 적용 대상이 점차 늘어난다는 것은 그 기술의 전망도 더욱 좋아진다는 뜻이죠?
Grand View Research의 보고서를 보면, 전세계 Edge AI 시장은 2024년 200억 달러를 기록했고, 2030년에는 약 660억 달러 규모로 증가할 것으로 예상된다고 하네요.
(출처: https://www.grandviewresearch.com/industry-analysis/edge-ai-market-report)
저는 DevOps 엔지니어로서 Edge AI에 꾸준히 관심을 가지고 공부하고 있는데요. 혹시 Edge AI나 MLOps 관련해서 더 궁금하신 점, 또는 제가 다뤘으면 하는 주제가 있다면 아래 피드백 폼으로 알려주세요. 추후 아티클 주제로 선정해서 다뤄보도록 하겠습니다.
이번 아티클도 읽어주셔서 감사합니다. 다음에 더 흥미로운 주제로 찾아뵙겠습니다.
감사합니다.
참고 자료
- https://milvus.io/ai-quick-reference/how-is-edge-ai-used-in-the-automotive-industry
- https://www.redhat.com/en/topics/edge-computing/what-is-edge-ai
- https://developer.nvidia.com/tensorrt
✨이번 아티클은 어떠셨나요?
이번 글의 주제에 대해 어떻게 생각하는지 알려주세요! 더 나은 아티클을 전달해드리기 위해 아래 폼에서 짧은 피드백을 받고 있어요.
여러분들의 소중한 의견은 Aiden’s Lab에 큰 힘이 됩니다!