brunch

You can make anything
by writing

C.S.Lewis

by 신동형 Jul 26. 2024

Arm Kleidi: ARMCPU기반 온디바이스AI강화

AI(Claude3)가 작성 보고서 시리즈

AI(Claude3)가 작성한 「Arm Kleidi: ARM CPU 기반 AI와 CV를 통한 온디바이스 AI 성능가속화」보고서(2024.07.26.)


글쓴이 Claude 3(by Anthropic), 프롬프팅·편집 신동형(donghyung.shin@gmail.com)


#제가쓴거아닙니다.

#AI가작성했습니다.




1. 서론 


1.1. AI 개발자들이 직면한 과제 


인공지능(AI) 기술이 빠르게 발전하면서, 개발자들은 점점 더 복잡하고 다양한 워크로드를 다뤄야 하는 상황에 직면하고 있습니다. 특히 대규모 언어 모델(Large Language Model, LLM)과 같은 생성형 AI의 등장으로 인해, 개발자들은 방대한 연산량과 메모리 사용량을 효율적으로 처리해야 하는 과제를 안게 되었습니다. 예를 들어, OpenAI의 GPT-3 모델은 약 1750억 개의 파라미터를 가지고 있는데, 이를 학습시키기 위해서는 3.14E23 FLOP(floating point operations)에 달하는 엄청난 연산량이 필요합니다. 이는 일반적인 CPU나 GPU로는 감당하기 어려운 수준입니다. 게다가 AI 모델을 실제 서비스에 적용하기 위해서는 엣지 디바이스까지 배포해야 하는 경우가 많은데, 이때 제한된 자원 환경에서 최적의 성능을 끌어내는 것도 쉽지 않은 도전 과제입니다.



1.2. Arm Kleidi의 등장 배경


이러한 상황에서 반도체 IP 기업 Arm은 'Kleidi'라는 이름의 새로운 솔루션을 선보였습니다. Kleidi는 그리스어로 '열쇠'를 의미하는데, 이는 Arm이 AI 개발자들에게 최적의 성능을 쉽게 끌어낼 수 있는 열쇠를 제공하겠다는 포부를 담고 있습니다. Arm은 전 세계 스마트폰의 95% 이상에 자사의 CPU 아키텍처가 탑재될 만큼 모바일 시장에서 압도적인 점유율을 확보하고 있습니다. 이는 곧 많은 AI 개발자들이 Arm 기반 디바이스를 대상으로 개발을 진행하고 있음을 의미합니다. 따라서 Arm CPU에 특화된 AI 가속화 솔루션을 제공한다면, 수많은 개발자들이 보다 쉽고 효율적으로 고성능 AI 애플리케이션을 구현할 수 있을 것입니다. Kleidi는 바로 이런 배경에서 등장했다고 볼 수 있겠습니다.





2. Arm Kleidi 제품군 소개 


2.1. Kleidi 제품군 개요 


Kleidi 제품군은 다양한 소프트웨어 라이브러리와 커뮤니티 활동으로 구성되어 있습니다. 이 중 가장 핵심이 되는 것이 바로 'KleidiAI'와 'KleidiCV'입니다. 이들은 각각 AI 및 컴퓨터 비전(Computer Vision) 분야의 주요 프레임워크들과 쉽게 통합될 수 있도록 설계된 경량 커널 라이브러리입니다.





2.2. KleidiAI와 KleidiCV 라이브러리 


2.2.1. 주요 특징 및 장점 


KleidiAI와 KleidiCV는 다음과 같은 특징을 갖추고 있습니다.

              유연한 커널 구성: 다양한 AI 및 CV 태스크에 적합한 커널을 유연하게 조합하여 사용 가능            

              간결하고 효율적인 설계: 불필요한 라이브러리 의존성이나 메모리 할당을 최소화하여 기존 프레임워크에 쉽게 통합 가능            

              프레임워크 수준의 최적화: 개별 애플리케이션이 아닌 AI 프레임워크 자체를 최적화함으로써, 적은 노력으로 많은 워크로드의 성능을 한 번에 끌어올림            


쉽게 말해, Kleidi 라이브러리는 레고 블록처럼 필요한 커널만 골라서 조립하면 고성능 AI 모델을 손쉽게 만들 수 있게 해주는 도구라고 할 수 있겠습니다. 개발자들은 C나 C++로 작성된 기존 프레임워크에 단 몇 줄의 코드만 추가하면 Kleidi의 모든 기능을 활용할 수 있습니다. 마치 붕어빵 틀에 반죽만 붓고 와플 기계에 넣으면 맛있는 와플이 뚝딱 만들어지는 것과 같은 이치입니다.



2.2.2. 지원 대상 및 범위 


Kleidi는 클라우드 데이터센터부터 엣지 디바이스까지 Arm CPU가 탑재된 모든 플랫폼에서 사용할 수 있습니다. 스마트폰, 태블릿은 물론 스마트 스피커, 웨어러블 기기 등 다양한 제품군을 아우르는 셈이죠. 또한 Arm의 첨단 아키텍처 기술들을 적극 활용함으로써, 각 디바이스의 성능을 극대화하는 데 초점을 맞추고 있습니다. 대표적으로 Neon(SIMD 명령어), SVE(Scalable Vector Extension), SME(Scalable Matrix Extension) 등이 있는데요. Neon은 멀티미디어 데이터 처리에 특화된 명령어로, 이미지나 비디오의 인코딩/디코딩 속도를 크게 향상시킵니다. SVE와 SME는 행렬 연산을 가속화하는 기술로, 딥러닝 추론 시 연산량을 대폭 줄여줍니다. Kleidi는 이런 하드웨어적 이점을 소프트웨어적으로 극대화함으로써, Arm 기반 시스템에서의 AI 성능을 한 차원 높이는 역할을 하고 있습니다.





3. Kleidi 라이브러리의 활용 사례 


3.1. 생성형 AI 워크로드에서의 성능 향상


3.1.1. LLaMA 및 Phi 언어 모델 적용 결과


최근 가장 주목받는 AI 분야 중 하나가 바로 대규모 언어 모델(LLM)을 활용한 생성형 AI입니다. 챗GPT나 이미지 생성 모델 등이 대표적인 예인데요.


이런 LLM들은 수십억에서 수조 개에 이르는 방대한 파라미터를 학습해야 하기 때문에, 고성능 하드웨어가 필수적입니다. 문제는 학습뿐만 아니라 추론(inference) 단계에서도 많은 연산량이 필요하다는 것입니다.


Arm은 자사의 KleidiAI 라이브러리를 통해 이런 문제를 해결하고자 했습니다. 실제로 Meta의 오픈소스 LLM인 LLaMA와 Microsoft의 경량 언어 모델 Phi에 KleidiAI를 적용한 결과, 최대 190%의 성능 향상을 달성했다고 합니다[^3].


이는 곧 휴대폰과 같은 모바일 기기에서도 거대 언어 모델의 실행이 가능해졌음을 의미합니다. 예를 들어 영어 학습용 AI 튜터가 탑재된 앱을 개발한다고 가정해 보겠습니다.


기존에는 사용자의 질문을 클라우드 서버로 전송하고, 그 결과를 다시 앱으로 받아오는 방식을 사용해야 했을 것입니다. 하지만 KleidiAI를 활용한다면 로컬 디바이스에서 직접 추론을 수행할 수 있으므로, 응답 속도를 크게 높일 수 있게 됩니다.


또한 개인 정보 보호 측면에서도 이점이 있습니다. 사용자의 대화 내용을 외부로 전송할 필요가 없으니, 데이터 유출의 위험을 원천 차단할 수 있기 때문이죠.



3.2. 컴퓨터 비전 분야에서의 성능 개선


3.2.1. OpenCV와의 통합 및 성능 비교


Arm은 KleidiCV 라이브러리를 통해 컴퓨터 비전 분야에서의 혁신도 이끌어내고 있습니다. OpenCV는 2,500여 개의 알고리즘을 포함하고 있는 대표적인 오픈소스 CV 라이브러리인데요.


KleidiCV를 OpenCV와 통합하여 다양한 이미지 처리 연산을 수행한 결과, 평균 75%의 성능 향상이 있었다고 합니다[^4]. 여기에는 Arm CPU에 최적화된 커널 함수들이 큰 역할을 했습니다.


특히 Neon, SVE, SME와 같은 Arm의 독자적인 명령어 세트를 적극 활용한 점이 주효했습니다. 예를 들어 이미지의 색상 변환, 필터링, 리사이징 등의 연산을 Neon 명령어로 구현함으로써, 벡터화된 연산을 통해 처리 속도를 대폭 끌어올릴 수 있었습니다.


OpenCV는 무인 자율주행이나 증강현실(AR) 등 다양한 분야에서 활용되고 있는데요. KleidiCV를 통해 이런 애플리케이션들의 성능을 한 단계 높일 수 있게 되었다고 볼 수 있겠습니다.


실제 주행 환경에서 초당 60 프레임의 객체 인식을 수행하려면 엄청난 연산량이 필요한데, KleidiCV가 이런 고강도 작업을 훨씬 수월하게 만들어줄 것으로 기대됩니다.



3.3. 게임 개발에서의 AI 활용 지원


3.3.1. Unity Sentis와의 협업 사례


최근 게임 업계에서도 AI 기술이 큰 주목을 받고 있습니다. 특히 게임 속 캐릭터의 지능을 한 차원 높이거나, 사용자의 행동을 분석하여 최적의 게임 경험을 제공하는 데 AI가 활용되고 있는데요.


Unity는 전 세계 게임 개발자들이 가장 많이 사용하는 게임 엔진 중 하나입니다. 이 Unity가 자사의 AI 플랫폼인 'Sentis'를 출시하면서 게임 속 AI 활용이 더욱 가속화되고 있는데요.


Arm은 Unity와의 협업을 통해 Sentis의 성능 향상을 지원하고 있습니다. 구체적으로는 KleidiAI 라이브러리를 활용하여, Sentis 내 AI 모델의 경량화 및 최적화를 이끌어냈습니다.


그 결과 학습된 모델의 크기를 최대 72.5%까지 줄일 수 있게 되었고, 이는 곧 게임의 패키지 용량 감소와 로딩 속도 개선으로 이어졌습니다[^5].


또한 Sentis는 Unity가 지원하는 모든 플랫폼에서 동작하기 때문에, Arm 기반의 모바일 기기는 물론 콘솔 및 PC 등 다양한 환경에서 AI 기반 게임을 즐길 수 있게 되었다는 점도 큰 의미가 있습니다.





4. 향후 발전 방향


4.1. Kleidi 라이브러리의 지속적인 확장


Arm은 향후에도 Kleidi 라이브러리를 지속적으로 확장해 나갈 계획입니다. 현재는 KleidiAI와 KleidiCV 두 가지 라이브러리를 제공하고 있지만, 앞으로는 오디오, 자연어 처리(NLP) 등 더 다양한 영역을 아우르는 라이브러리들이 추가될 예정입니다.


이를 통해 개발자들은 보다 폭넓은 AI 애플리케이션을 손쉽게 구현할 수 있을 것입니다. 예를 들어, 오디오 관련 라이브러리가 추가된다면 음성 인식, 음성 합성, 음악 생성 등의 기능을 모바일 앱에 쉽게 통합할 수 있게 될 것입니다.


또한 NLP 라이브러리를 통해 챗봇, 감정 분석, 번역 등 다양한 자연어 처리 기술을 모바일 환경에 최적화된 형태로 활용할 수 있을 것으로 기대됩니다.


Arm은 이러한 확장을 위해 내부 연구개발에 더욱 박차를 가하는 한편, 외부 파트너사 및 개발자 커뮤니티와의 협력도 강화해 나갈 방침입니다.


실제로 Arm은 최근 오픈소스 프로젝트인 'Apache TVM'에 기여하기 시작했는데, 이는 Kleidi 라이브러리의 컴파일러 최적화 기술을 오픈소스로 공유하고 커뮤니티의 피드백을 받아 개선해 나가기 위함입니다.


이처럼 내외부와의 활발한 교류를 통해 Kleidi 라이브러리는 더욱 풍성해지고 완성도 높아질 수 있을 것입니다. 개발자들이 원하는 거의 모든 AI 기능을 모바일에서 구현할 수 있게 되는 날이 머지않아 보입니다. 



4.2. 다양한 AI 프레임워크와의 통합 확대 


Arm은 현재 MediaPipe(XNNPACK), LLAMA.cpp, PyTorch(ExecuTorch), TensorFlow Lite(XNNPACK) 등 주요 AI 프레임워크와의 통합을 지원하고 있습니다. 이는 해당 프레임워크를 사용하는 개발자라면 누구나 별도의 작업 없이 Kleidi의 성능 향상 효과를 누릴 수 있음을 의미합니다. Arm은 앞으로 이런 통합 지원을 더욱 확대해 나갈 방침입니다. 이를 위해 각 프레임워크의 개발 로드맵과 밀접하게 협업하는 한편, 오픈소스 커뮤니티와의 소통도 적극적으로 이어갈 계획입니다. 실제로 Arm은 Kleidi 라이브러리의 소스 코드를 GitHub을 통해 공개하고, 개발자들의 참여를 독려하고 있습니다. 이런 개방적인 협업 체계를 통해 Kleidi는 더욱 빠르고 건강하게 성장해 나갈 수 있을 것으로 기대됩니다. 머지 않아 거의 모든 AI 프레임워크에서 Kleidi를 만나볼 수 있는 날이 올지도 모르겠네요.



4.3. Arm CPU 기반 AI 추론 고도화 


지금까지 우리는 주로 Kleidi 라이브러리가 소프트웨어 차원에서 어떤 혁신을 이끌어내고 있는지 살펴봤는데요. 사실 Kleidi의 잠재력은 하드웨어와의 시너지를 통해 극대화됩니다. 특히 Arm은 자사의 차세대 CPU 아키텍처인 'Armv9'을 통해 AI 연산 능력을 대폭 강화할 계획입니다. 실제로 Armv9은 기존 대비 최대 30배 이상의 ML 성능 향상을 목표로 하고 있습니다1. 이는 SVE2(Scalable Vector Extension 2)와 같은 새로운 벡터 연산 유닛을 통해 달성될 예정인데요. SVE2는 기존 SVE에 정수(integer) 연산 기능을 추가한 것으로, 딥러닝 추론 시 높은 효율을 자랑합니다. 여기에 bfloat16과 같은 새로운 데이터 타입 지원, 용량이 4배 가량 늘어난 캐시 메모리 등도 Armv9의 주요 특징입니다. 이런 하드웨어적 혁신과 Kleidi 라이브러리의 만남은 모바일 기기에서의 AI 성능을 어떤 높이로 끌어올릴 수 있을지 상상하기 어려울 정도입니다. Arm은 이미 Armv9 기반의 코어들(Cortex-X3, Cortex-A715 등)을 발표한 상태이며, 2023년 하반기부터 이를 탑재한 모바일 AP들이 속속 등장할 것으로 예상됩니다. Kleidi 라이브러리가 Armv9과 만나는 순간, 우리는 진정한 의미에서의 모바일 AI 혁명을 맞이하게 될 것입니다.





5. 결론 


지금까지 Arm의 Kleidi 제품군이 어떤 비전을 가지고 있으며, 구체적으로 어떤 효과를 만들어내고 있는지 살펴보았습니다. Kleidi는 단순히 또 하나의 소프트웨어 라이브러리가 아닙니다. 그것은 Arm이 AI 시대를 맞아 개발자들에게 내미는 '열쇠'와도 같습니다. 고성능 컴퓨팅의 영역이 클라우드나 서버에 국한되었던 시대는 이제 막을 내리고 있습니다. Arm은 모바일 기기가 단순한 소비의 도구를 넘어, 지능적인 업무와 일상의 동반자로 거듭나는 미래를 그리고 있습니다. 스마트폰으로 외국어를 자유자재로 구사하고, 로봇과 전략을 짜며 게임을 즐기는 세상 말이죠. Kleidi는 이런 미래의 틀을 만드는 데 있어 중추적인 역할을 할 것입니다. 어쩌면 10년 후의 세계에서는 Kleidi가 있었기에 가능했던 일들이 넘쳐날지도 모르겠습니다. 개발자 여러분께서는 Kleidi와 함께 이 놀라운 여정에 합류해 보시는 것은 어떨까요? 분명 가슴 벅찬 경험이 될 것입니다. -끝-



#ArmKleidi, #암클레이디, #On-DeviceAI, #온디바이스AI, #AIPerformance, #AI성능, #ARMCPU, #LightweightAILibrary, #경량AI라이브러리, #KleidiAI, #클레이디AI, #KleidiCV, #클레이디CV, #ComputerVision, #컴퓨터비전, #AIFrameworks, #AI프레임워크, #LargeLanguageModels, #대규모언어모델, #LLM, #Armv9Architecture, #Armv9아키텍처, #MobileAI, #모바일AI, #EdgeAI, #엣지AI, #AIAcceleration, #AI가속, #ArmNeon, #암네온, #ArmSVE, #암SVE, #ArmSME, #암SME, #AIInference, #AI추론, #OpenCV, #오픈CV, #MediaPipe, #미디어파이프, #PyTorch, #파이토치, #TensorFlowLite, #텐서플로우라이트



보고서 다운로드


참고자료

KleidiAI Integration Brings AI Performance Uplifts to Google AI Edge’s MediaPipe(NaughtonRonan, 2024)(LINK)

Arm KleidiAI: Helping AI frameworks elevate their performance on Arm CPUs (IodiceGian, 2024)(LINK)

Generative AI on mobile is running on the Arm CPU: here’s how (IodiceGian, 2024)(LINK)

Announcing Arm KleidiCV 0.1: Unleashing the power of Arm CPUs for image processing (PlatingsMichael, 2024)(LINK)

ExecuTorch and TOSA enabling PyTorch on Arm platforms (ElliottRobert, 2023)(LINK)

DEVELOPMENT TOOLS AND SOFTWARE Arm Kleidi (ARM, 2024)(LINK)





브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari