"마침내 약속 지켰다" MS, '엔드투엔드' ARM 개발 환경 공개 - ITWorld Korea

 
오래 걸리긴 했지만 마이크로소프트가 마침내 ARM 기반 윈도우를 위한 일체의 개발자 툴 모음을 제공한다는 약속을 지켰다. 하드웨어부터 소프트웨어까지, ARM 전용 플랫폼 기능에 대한 지원도 포함된다. 시기적으로도 딱 맞다. 최신 세대의 서피스(Surface) 기기에서는 인텔 i7과 같은 하드웨어에 마이크로소프트의 퀄컴 기반 SQ3 프로세서가 탑재되기 때문이다.
notion imagenotion image
ⓒ Getty Images Bank
ARM에 초점을 둔 마이크로소프트 전략에서 가장 흥미로운 부분은 윈도우에 들어가는 머신러닝 기반 애플리케이션과의 연동이다. 마이크로소프트는 서피스를 발표하면서 SQ3의 신경망 처리 장치(NPU)를 사용한 실시간 오디오 및 비주얼 처리, 사전 학습된 모델을 사용한 배경 흐림 및 잡음 제거 기능을 시연했다. 마이크로소프트에 따르면 SQ3 NPU는 초당 15조 번의 연산을 실행할 수 있다고 하니, 개발자가 코드에서 활용할 수 있는 여지도 그만큼 풍부하다. CPU에서 모델을 실행하는 경우에 비해 80~90배, GPU보다는 20배 더 빠른 속도다.

신경망 처리로 AI 가속화

NPU는 윈도우에서 보면 새롭지만 하이퍼스케일 클라우드에서는 핵심적인 요소다. 자체 NPU를 탑재한 ARM 시스템 온 칩은 마이크로소프트 CEO 사티아 나델라가 말하는 “인텔리전트 엣지”의 중요한 부분이다. 마이크로소프트는 인텔 NPU 하드웨어와 NXP ARM 프로세서를 사용하는 애저 퍼셉트(Azure Percept) IoT 어플라이언스에서 이미 이와 같은 구성을 실현했다. 클라우드에서 머신러닝 모델을 구축, 학습한 다음 표준 형식으로 내보내고 NPU 하드웨어를 활용하는 로컬 런타임에서 실행하는 방식이다.
마이크로소프트의 자체 모델은 그렇다 치고, 우리가 직접 모델을 만들려면 어떻게 해야 할까? 아직 확실치 않은 부분도 남아 있지만 전체적인 그림은 대부분 드러났다.
먼저 비용 부담이 낮은 개발자 하드웨어로 시작해야 한다. ARM 기반 서피스 프로 9와 그 전의 서피스 프로 X는 우수한 하드웨어지만 고급형 개인용 기기로 만들어졌기 때문에 개발자 하드웨어로는 썩 적합하지 않다. 마이크로소프트도 이 부분을 인식하고 올해 초 빌드(Build)에서 ARM 기반 개발자 하드웨어인 '프로젝트 볼테라(Volterra)'를 발표했다.
프로젝트 볼테라 ⓒ Microsoft
notion imagenotion image
notion imagenotion image
이 하드웨어는 몇 차례의 공급망 관련 지연 이후 현재 599달러의 저렴한 가격에 윈도우 데브 키트(Dev Kit) 2023이라는 이름으로 판매되고 있다. 스냅드래곤 8cx Gen 3 프로세서와 32GB RAM, 512GB 스토리지를 탑재했다. 5G 연결은 없지만 ARM 기반 윈도우 디바이스에 사용되는 모바일 하드웨어의 변형을 사용한 ARM 기반 NUC라고 생각하면 된다.
이 제품은 적층이 가능하게 디자인됐으므로 개발자는 책상에 두 대 이상의 기기를 두고 더 쉽게 코딩, 빌드, 테스트할 수 있다. 성능과 저장 용량은 비주얼 스튜디오 인스턴스와 테스트를 실행하기에 충분하다. 더 복잡한 작업은 애저에서 실행되는 암페어 알트라(Ampere Altra) 서버에 맡기면 된다.

윈도우의 NPU

마이크로소프트는 NPU를 윈도우의 미래로 제시하는 만큼 이와 같은 ARM 기반 시스템과 같은 NPU 중심의 개발 플랫폼이 필요하다. 퀄컴은 AI 엔진 NPU에 대해 29 TOPS를 주장하며, “얇고 가벼운 노트북에서 실행되는 클라우드급 모델”을 지원한다고 말한다. 이러한 작업을 CPU에서 NPU로 넘기면 8개의 ARM 코어와 GPU에서 NPU 출력을 사용하고 렌더링해서 애플리케이션의 응답성을 유지할 수 있다. 마이크로소프트가 최근 서피스 발표 행사에서 시연한 샘플 애플리케이션은 이 방식이 실제로 어떻게 작동하는지를 보여줬다. SQ3의 NPU가 복잡한 오디오와 비디오 작업을 관리하고, 결과는 기존 카메라 애플리케이션을 통해 합성되어 팀스(Teams)와 같은 툴에 표시된다.
마이크로소프트 NPU 지원의 중심은 이식 가능한 신경망 형식인 ONNX(Open Neural Network Exchange)다. ONNX를 사용하면 애저 머신러닝 플랫폼의 컴퓨팅 역량을 활용해 모델을 구축하고 학습시킨 다음 내보내 윈도우 기기에서 윈도우 ML 또는 ML.NET API를 통하거나 퀄컴 뉴럴 프로세싱 SDK를 사용해 직접 로컬로 실행할 수 있다.
현재 윈도우 ARM 기기는 NPU에 액세스하려면 퀄컴 툴을 사용해야 한다. 마이크로소프트와 퀄컴이 AI 엔진 API를 위한 다이렉트컴퓨트(DirectCompute) 래퍼에서 손을 잡는다면 윈도우 ML과 ML.NET을 지원할 가능성이 높지만, 현재로서는 퀄컴 기반 ARM 기기 또는 인텔 하드웨어에서 ONNX를 실행하려면 별도의 애플리케이션 버전을 빌드해야 한다. 퀄컴에 최적화된 .NET ONNX 런타임 라이브러리 버전은 이미 있으므로 고수준 툴에서 비교적 쉽게 구현할 수 있을 것이다.
마이크로소프트와 퀄컴은 윈도우 데브 키트 2023 하드웨어에서 NPU 애플리케이션을 만들 수 있는 일체의 툴체인을 제공한다. 비주얼 스튜디오 2022의 ARM 빌드가 프리뷰 버전으로 제공되고 ARM에 최적화된 .NET 7 릴리스도 예정돼 있다. 또한 스냅드래곤 뉴럴 프로세싱 엔진(SNPE)이라는 예전 이름으로 자주 언급되는, AI용 퀄컴 뉴럴 프로세싱 SDK의 비공개 윈도우 릴리스에 등록할 수 있다.

윈도우 데브 키트 하드웨어에서 NPU 애플리케이션 만들기

8cx AI 엔진 NPU에서 모델을 실행하는 방법은 간단하지는 않다. 최적화된 사전 학습된 모델에서 ONNX 파일을 생성하려면 퀄컴 NPU 툴의 리눅스와 윈도우 버전이 모두 필요하다. 윈도우 11과 WSL2가 ARM 바이너리를 지원하므로 데브 키트 시스템에서 이런 작업을 할 수 있다. 먼저 우분투 WSL 환경을 설정한 다음 퀄컴 툴을 설치하고 리눅스 환경에서 이를 사용하도록 구성하면 된다. 물론 아무 우분투 시스템이나 사용하면 된다. 복잡한 모델의 경우 애저 ARM 인스턴스를 사용해 모델을 처리하는 편이 나을 수 있다.
먼저 리눅스 시스템에 파이썬 3를 설치한 다음 깃허브에 나온 안내에 따라 pip를 사용해 ONNX 툴을 설치한다. 이제 SNPE 툴을 설치할 수 있다. 먼저 압축된 배포 파일을 디렉터리에 풀고 SNPE의 종속성 검사기를 실행해 SDK를 실행하는 데 필요한 모든 요소가 준비되었는지 확인한다. 모든 사전 요건을 갖췄다면 구성 스크립트를 사용해 ONNX와 함께 사용하기 위한 환경 변수를 설정한다.
이제 퀄컴 NPU와 함께 사용하기 위한 기존 ONNX 모델을 처리할 준비가 됐다. 모델과 샘플 파일을 레이블 데이터와 함께 다운로드한다. 마이크로소프트가 사용하는 예제는 이미지 인식기이므로 ONNX 모델을 SNPE의 내부 DLC 형식으로 변환하기 전에 샘플 이미지를 전처리하기 위한 SNPE 툴이 필요하다. 이 프로세스가 완료되면 SNPE를 사용해 모델을 양자화한 다음 코드에서 사용할 준비가 된 ONNX로 래핑된 DLC 파일을 내보낸다.
WSL에서 윈도우로 ONNX 파일을 복사한다. 이제 누겟(Nuget)에서 Microsoft.ML.OnnxRuntime.Snpe 패키지를 설치할 수 있다. 기존 마이크로소프트 ONNX 런타임 툴의 최적화된 버전이므로 비교적 간단히 기존 코드에 추가하거나 새 앱에 빌드해 넣을 수 있다. 필요하다면 예제 윈도우 SNPE 리포지토리의 이 C# 코드는 기본적인 콘솔 애플리케이션에서 샘플 ONNX 모델을 사용하는 데도 도움이 될 것이다.
퀄컴의 머신 러닝 툴과 마이크로소프트 ARM 플랫폼 조합은 1세대 윈도우 NPU 하드웨어를 위한 코드를 빌드하는 데 충분하다. 윈도우 11에 포함된 마이크로소프트의 자체 NPU 기반 비디오 및 오디오 기능에서 코딩을 위한 아이디어를 얻을 수 있겠지만 하드웨어 신경망 가속기로 할 수 있는 일은 많다. 예를 들어 어도비 크리에이티브 툴에 사용되는 것과 같은 이미지 처리 툴의 속도를 높이거나, 네트워크 엣지의 윈도우 11 IoT 엔터프라이즈에서 실행되는 NPU 가속 ARM 하드웨어를 사용해 데이터를 애저 IoT 허브로 보내기 전에 전처리할 수 있다.
지금은 새로운 방향의 윈도우에 있어 초기 단계다. 마이크로소프트가 상단 기간 내부적으로 사용해온 툴이 이제 완전히 공개된 만큼 책상 위와 엣지, 클라우드에서 새로운 세대의 ARM 기반 윈도우 시스템을 활용할 수 있다. editor@itworld.co.kr
notion imagenotion image
ⓒ Getty Images Bank 대중 교통 시스템, 의료 시설, 금융 서비스 기업의 공통점은 무엇일까? 바로 랜섬웨어 공격을 받았다는 것이다. 랜섬웨어는 사이버 범죄자가 개인과 기업기밀 시스템 및 파일 액세스를 차단한 후 해제하는 대가로 금전을 요구하는 악성 소프트웨어를 말한다. 전 세계 모든 업계의 기업 상당수가 랜섬웨어 경험이 있다. 사이버 보안 위험은 많지만 그 중에서도 랜섬웨어는 가장 심각한 사안이다. 랜섬웨어 공격을 받으면 기업 운영 중단을 넘어 데이터 유출과 평판 손상 같은 문제가 발생하기 때문이다. 사이버 보안 소프트웨어 기업 소포스(Sophos)가 전 세계적으로 실시한 설문 조사에 따르면, 2021년 조사에 참여한 기업의 66%가 랜섬웨어 공격을 받은 것으로 나타났다. 소포스는 “랜섬웨어로 인한 손해와 장애 복구에 평균 1개월이 걸렸다”라고 덧붙였다. 랜섬웨어의 심각성을 고려할 때, 내부 감사자는 전반적인 사이버 보안 위험과 랜섬웨어 위협을 함께 제거할 수 있도록 지원하는 목표를 세워야 한다. IT/사이버 보안 감사를 수행하고, 내부 감사 관리 소프트웨어 등의 기술로 내부 통제와 협업을 개선하는 조치를 수행하는 것이 한 방법이다. 더욱 자세히 살펴보자. IT 관행 및 통제 수단 검토 일반적으로 내부 감사자는 사이버 보안 소프트웨어를 선택하고 랜섬웨어 위험 인지에 대한 직원 교육을 실시할 책임자는 아니지만, IT 감사 같은 IT 관행과 통제 수단에 대한 확신을 제공할 수는 있다. IT 팀이 랜섬웨어 이메일 사기를 당한 직원이 있는지를 확인하는 피싱 테스트를 수행한다면, 그 후 내부 감사자가 결과를 검토하고 사회 공학적 공격 방지 기준을 충족하는지를 확인할 수 있다. 랜섬웨어나 다른 사이버 보안 위험에 대한 기업의 대비 상태가 미흡하다고 판단될 경우, 내부 감사자는 이사회와 고위 경영진 같은 다른 이해 관계자에게 위험을 알려야 한다. 내부 감사 리더는 또한, 원격 근무 정책을 검토하여 IT 팀이 재택 근무 환경에 필요한 기능에만 집중하지 않고 랜섬웨어 위험을 염두에 두고 적절하게 관리하는지를 확인할 수도 있다. 보통은 IT 부서장의 지침에 의존하지만, 내부 감사자가 액세스 로그 같은 영역을 감사하고 적절한 위협 인텔리전스와 데이터 보호 기술을 갖춘 승인된 장치만 네트워크에 연결되도록 지원하는 것도 가능하다. 주요 이해 관계자의 연결 필요 랜섬웨어 방어 역량을 향상하려면, 내부 감사자가 단순히 IT 부서와 협업하는 것이 아니라 주요 이해 관계자를 연결해야 한다. 모든 사람이 같은 목표를 위해 협력할 수 있도록 여러 부서의 정보를 취합해야 한다는 의미다. 내부 감사자는 랜섬웨어 공격 대응에 필요한 비용 계산 방식을 재무 팀에게 확인한 다음, 이사회와 고위 경영진 등 다른 주요 이해관계자가 접근 방식을 이해하고 동의하도록 설득한다. 그렇지 않으면 랜섬웨어 공격 후 복구 예산이 충분하지 않아 문제가 발생할 것이다. 가트너 감사 및 위험 관행 연구 책임자인 재커리 긴즈버그는 보도 자료에서 "기업은 규모나 매출에 관계없이 모두 랜섬웨어의 표적이 될 수 있다고 가정하고, 예방, 탐지, 방어, 대응 및 복구 조치를 검토해야 한다”라고 설명했다. 내부 감사 관리 소프트웨어 활용 내부 감사자는 내부 감사 관리 소프트웨어를 활용하여 랜섬웨어 위험을 제거할 수 있다. 사이버 보안 위험 관리를 지원할 기술은 많지만, 감사 관점에서 볼 때 가장 확신할 수 있는 솔루션은 내부 감사 관리 소프트웨어다. 팀메이트+(TeamMate+)는 일반적인 감사 작업을 자동화하고 협업을 개선하며, 내부 감사 팀이 연례 감사만 수행하면서 랜섬웨어 위험을 도외시하지 않고, 지속적인 감사를 활용하도록 지원한다. 우수한 내부 감사 관리 소프트웨어는 대규모 데이터 세트와 보고서 결과를 쉽게 테스트할 수 있으므로 직관적인 프레젠테이션을 만들어 많은 경영진의 이해를 돕는다. 내부 감사팀은 랜섬웨어 위험 관리를 혁신할 도구를 보유해야 한다. 공격 발생 전에 미리 계획하고 내부 연결에 집중하면 랜섬웨어 공격과 그 외 많은 사이버 보안 위험을 줄일 수 있다. 팀메이트+ 오딧(TeamMate+ Audit) 팀메이트는 업계에 혁신을 불러왔으며 모든 규모의 감사 부서에 필요한 역량을 제공하는 감사 관리 소프트웨어다. 문의와 데모 체험을 통해 감사 혁신을 담당하는 팀메이트+ 오딧의 특징과 이점을 직접 확인할 수 있다.
ⓒ Getty Images Bank 사이버 사기 공격 위험이 점차 증가하는 현대 환경에서 내부 감사자는 어떤 조치를 취할 수 있을까? IT 부서라면 이미 사이버 사기를 겨냥한 내부 통제와 탐지 툴을 사용하고 있겠지만, 내부 감사 부서의 담당자도 사이버 사기 리스크 관리를 지원할 수 있다. 국제 감사 재단(Internal Audit Foundation, IIA)과 미국 컨설팅 업체 크롤(Kroll)이 공동으로 실시한 설문조사에 따르면, 사기 리스크가 증가하면서 내부 감사자의 36%는 내부 관리에, 29%는 데이터 분석에 더 많은 자원을 투입한 것으로 나타났다. IIA CEO 앤서니 퍼글리시는 보도 자료를 통해 "기업이 신기술 투자를 늘리고 있는 상황에서 독립적 내부 감사 기능으로 내부 통제와 리스크 관리 체계를 보장할 경우 사이버 사기 위험이 줄어든다는 사실이 명확하게 나타났다”라고 밝혔다. 내부 감사 부서가 사이버 사기 위험을 줄이는 몇 가지 단계를 상세히 살펴보자. 다른 부서와의 협력을 통한 사기 리스크 평가에서 전체 데이터 세트를 테스트하는 데이터 분석 툴 활용에 이르기까지 내부 감사자의 역할은 매우 다양하다. 리스크 환경 평가 사기 행위에 대한 내부 통제를 개선하고 전반적인 리스크를 줄이고자 하는 내부 감사자가 거쳐야 하는 첫 번째 단계 중 하나는 어떤 위협이 존재하는지를 이해하는 것이다. 식별된 주요 위협 요소와 취약한 영역에 따라 실행 계획은 달라진다. 기업 리스크 관리 팀 등 다른 부서와 협력하고 IT 감사 활동을 수행하면, 기업이 피싱 공격에 얼마나 많이 노출되어 있는지를 알게 된다. 실제 사이버 공격을 식별하지는 못했으나 직원 개인 디바이스 사용이 늘어나 위험이 심각해졌음을 알게 되기도 한다. 다른 부서의 리더와 직원 관행에 대해 이야기하면서 인사이트를 얻는 방법도 있다. 어떤 경우에든, 기본 토대를 마련하고 미래에 발생할 새로운 위협을 위협을 고려하여 보다 잘 대비하는 것이 좋다. 고위 경영진으로부터 새로운 사기 모니터링 시스템이나 사기 방지 서비스를 구현하기 위해 예산을 확보하려는 경우, 이러한 리스크가 어떤 형태로 나타나는지를 명확하게 설명하는 것이 중요하다. 내부 통제 수단 추가 및 검토 사이버 리스크 환경을 잘 이해할 수록, 사기를 예방하고 사기 활동을 줄이는 내부 통제 수단을 잘 추가하고 검토할 수 있다. 내부 감사자는 재무 팀이나 회계 팀과 협력하여 더 나은 재무 보고 프로토콜과 승인 프로세스를 구축할 수 있다. 이렇게 하면 사이버 공격자가 공급업체를 겨냥해 자금 이체를 유도하거나 세무 서류 등 민감 정보를 공개하려는 경우, 더욱 철저한 검토 절차를 통해 공격을 미연에 방지할 수 있다. 2018년 SEC(Securities and Exchange Commission)는 ‘비즈니스 이메일 침해’ 유형의 위협을 다룬 보고서를 발표하며 강력한 내부 통제를 필요로 하는 목소리가 커질 것으로 예상했다. SEC는 “이러한 공격이 만연해지고 지속적으로 확대됨에 따라, 기업은 사이버 관련 사기가 야기하는 위험을 염두에 두고, 내부 회계 통제 시스템이 자산을 충분히 보호하는지를 숙고해야 한다”라고 조언했다. 데이터 분석 활용 사이버 사기 리스크를 줄이는 또 다른 방법은 데이터 분석을 사용하는 것이다. 모든 트랜잭션, 모든 액세스 로그를 수동으로 검토하면 내부 감사 팀이 할 일이 너무 많아진다. 그러나 팀메이트 애널리틱스(TeamMate Analytics)같은 데이터 분석 툴을 사용하면 샘플링에 의존하지 않고 전체 데이터 세트를 테스트하여 사기 행위를 발견할 수 있다. 또한 수동 프로세스를 줄이고 지속적으로 감사를 수행할 수 있어 사이버 범죄가 빠르게 진화하면서 새로운 위협이 발생할 때마다 내부 감사자가 완벽하게 파악할 수 있다. 데이터 분석 툴은 보고 작업을 간소화하고 능률을 높인다. 내부 감사자가 이사회와 고위 경영진에게 사이버 사기 리스크에 대해 보고하거나 외부 감사자와 커뮤니케이션해야 하는 경우, 분석 인사이트를 쉽게 공유할 수 있으면 모든 직원이 같은 목표를 향해 협력할 수 있다. 기업을 둘러싼 사이버 사기 리스크가 높기는 하지만, 이러한 조치를 취하면서 내부 감사자는 조직 내에서 사기 공격에 대한 인식을 제고할 수 있다. 애초부터 사기가 발생할 가능성을 낮추고 사기 발생 시 악영향도 줄인다. ⓒ Getty Images Bank 팀메이트 애널리틱스를 활용한 보편 테스트 수행하기 팀메이트 애널리틱스는 모든 감사자가 강력한 데이터 분석을 수행할 수 있도록 지원한다. 소프트웨어를 통해 기업의 확신을 높이고 리스크 노출을 줄이는 방법, 그리고 전체 데이터 세트를 대상으로 한 테스트를 쉽게 수행하는 방법을 찾고 있다면, 전 세계 모든 업계의 감사 부서에 전략적 인사이트를 제공하는 프리미엄 전문 솔루션인 팀메이트 데모를 신청할 수 있다.