대표적인 오픈소스인 R, 파이썬 사용자들이 SAS 제품의 성능과 장점을 쉽게 활용할 수 있는 방법은 무엇일까요? 오픈소스 사용자들은 SAS에 어떻게 접근을 해서 어떠한 결과물을 만들어낼 수 있을까요? 데이터 분석에 대한 가장 폭넓은 시각과 라이프사이클 솔루션을 보유한 SAS만의 데이터분석 능력을 오픈 소스를 선호하는 R, 파이썬 사용자들도 쉽게 활용할 수 있는 방법을 소개해 드립니다.
SAS 사용자는 크게 세 가지로 분류할 수 있습니다. ①SAS 및 오픈소스 둘 다 친숙하지만 SAS를 원활하게 다루지 못하는 그룹, ②SAS의 프로그래밍 방식을 매우 잘 사용하는 그룹, ③오픈소스 매니아들로서 다른 툴에 대한 관심이 낮은 그룹 등이 있을 수 있습니다. 이 ③번 그룹은 클라우드 분석 컴퓨팅 파워를 이용하면 엄청난 업무 성과를 낼 수 있는 그룹입니다. 모델을 제작하고 배포까지 할 수 있기 때문에 SAS의 강력한 퍼블리싱 및 배포 기능을 사용하면 훨씬 효율적으로 성과를 낼 수 있다고 볼 수 있습니다. 각 그룹마다 기술 숙련도는 조금씩 다를 수 있지만 어떤 유형의 사용자이든 SAS 바이야(Viya)를 활용한다면 보다 생산성 있는 업무 성과를 낼 수 있습니다.
SAS 바이야, 클라우드 서비스 기반의 개방형 데이터 분석 플랫폼
SAS 데이터 분석 플랫폼인 SAS 바이야의 주요 기능을 먼저 알아보고, 오픈소스 사용자들이 SAS 바이야에 쉽게 접근할 수 있는 방법을 소개해 드리겠습니다.
SAS 바이야는 클라우드 서비스가 가능한(cloud-enabled) 개방형 데이터 분석 플랫폼으로, 최근 Viya 4의 출시로 기존 제품의 성능을 더욱 향상시키면서 완전한 클라우드 네이티브 환경의 속도감, 편의성, 사용 용이성을 하나의 솔루션에 담았습니다. 마이크로소프트 애저는 물론, 다양하게 구성된 기업의 프라이빗, 퍼블릭, 하이브리드 클라우드 환경 모두를 지원하며, 디지털 전환의 어떠한 단계에서든 오픈소스, 데이터준비, 모델링, 아웃풋까지 상호 인터페이스가 가능하게 구동됩니다. 또한 모델 매니저 기능을 사용하면 수많은 모델을 쉽게 관리할 수 있는 용이성도 특징이라고 하겠습니다.
SAS 바이야 제품의 중심에 CAS (Cloud Analytics Service, 카스)가 있습니다. 이것은 곧 인메모리 분석 엔진이 있다는 것을 뜻합니다. SAS 바이야가 클라우드 네이티브(쿠버네티스 + 컨테이너) 환경에서 분산 환경을 지원하는 인메모리(In-Memory) 분석 엔진을 제공한다는 것이 플랫폼의 가장 중요한 특징이라고 볼 수 있습니다. SAS 바이야는 클라우드 네이티브 환경이므로 버전 업그레이드가 더욱 쉽고 빠르고 안정적으로 가능한 것이 특장점입니다. 버그가 발생해도 해당 버그만 수정하면 되는 민첩성도 제공합니다.
또한 오픈소스 환경에 대한 지원을 강화한 것도 SAS 바이야의 개선사항 중 하나로서, CAS 랭귀지 포함, 분석 라이프 사이클 전반에 걸친 오픈소스 기술을 통합함으로써 모든 종류의 SAS 사용자와 오픈 소스 개발자들이 협업할 수 있는 환경을 제공합니다. 유저 인터페이스를 통일하여, API와의 상호 운영, 통합, 확장성을 제공하게 되었으며, 그 결과, 보다 빠른 혁신을 구현하는 클라우드 솔루션을 제공할 수 있게 되었고, 외부 솔루션 및 오픈 소스 툴과의 통합을 이루게 되었습니다.
SAS SWAT으로 SAS 사용자와 오픈소스 사용자 간의 협업 환경 구축
그렇다면 클라우드 환경에서 R, 파이썬 사용자들이 어떻게 하면 쉽게 SAS 분석 제품을 사용할 수 있을까요? 바로 SAS의 SWAT(Scripting Wrapper for Analytics Transfer)이라는 플랫폼을 활용하면 이 모든 작업을 쉽고 간단하게 실행할 수 있습니다.
SWAT은 SAS에서 제공하는 파이썬/R 패키지로, 로컬과 서버를 같은 환경으로 연결해주고 카스 서버 접속 및 실행을 도와주는 오픈소스 인터페이스입니다. 파이썬 또는 R에서 작성한 코드가 스크립트라고 가정을 하면, SWAT은 스크립트를 포장(wrap)해 애널리틱스 트랜스퍼(analytics transfer)로 전달하고 그 작업 결과물을 다시 전달받는 역할을 합니다. SWAT을 활용해 사용자는 SAS 및 오픈소스가 구분이 안 될 정도로 손쉽게 프로그래밍을 할 수 있습니다.
이 패키지를 이용하면 데스크탑이나 클라우드에 있는 어떠한 사이즈의 데이터셋이라도 로딩과 분석이 가능합니다. CAS가 로컬 데스크탑이나 호스팅된 클라우드 환경 모두에서 사용될 수 있기 때문에, 클라이언트 단에서 파이썬 및 R의 사용 편의성을 확보하면서도 원하는 만큼의 프로세싱 파워를 사용하여 엄청나게 큰 데이터 셋도 분석해 낼 수 있습니다.
SWAT을 사용하면, CAS 분석 액션셋의 워크플로우를 실행할 수 있으며, 요약된 데이터를 끌어내려 클라이언트 단에서 R, 파이썬으로 더 깊이 있게 프로세스할 수 있습니다. 또한 익숙한 판다스 데이터 구조를 이용하여 다른 소스에서 가져온 데이터와 병합할 수도 있습니다. 사실, 이 SWAT 패키지는 판다스 패키지의 API와 매우 비슷하기 때문에 판다스 사용자들이 더욱 친숙하게 느낄 것입니다.
실제로 SWAT을 사용하는 방법을 간단히 소개합니다. 먼저, ①카스 서버에 접속한 후, ②액션셋(패키지)를 살펴봅니다. 사용자가 활용 가능한 액션셋 중 선택해서 로드하고, 로컬이 아닌 카스 서버로 임포트합니다.(그림 2. 카스 서버 접속), 다음 단계로 ③카스 서버에서 스크립트를 받고 결과를 확인한 후, ④카스 서버에 데이터를 적재합니다. ⑤카스 서버 데이터 프로파일링 ⑥데이터 전처리 후 데이터 탐색, ⑦Light GBM 모델 세팅 ⑧ Light GBM 모델 스코어링 및 해석(XAI) 등의 단계로 진행하면 됩니다. 이상으로 간단히 SAS SWAT을 통한 오픈 소스 사용자들의 SAS 접근 방법을 설명드렸습니다.
그렇다면 이 모든 과정에 왜 SAS 바이야를 사용해야하는 지 궁금하실 수도 있을 것 같습니다. 첫째, SAS 바이야는 데이터 규모에 상관없이 소스 하나만 작성하면 언제 어디서든 바로 사용 가능합니다. 둘째, 어떤 유형의 모델이든 빠르게 배포하도록 지원하는 모델 배포(Model Deployment)의 강점이 있습니다. 마지막으로, 아웃풋(Tailored Output)과 도큐멘테이션(Documentation)이 잘 정돈되어 있어 사용자 입장에서 결과에 대한 빠르고 용이한 파악이 가능합니다. 클라우드 환경에서 구동되는 최고의 SAS 분석솔루션과 파이썬 및 다수의 오픈소스 패키지를 활용할 수 있게 해 주는 SWAT 패키지를 통해 두 세계의 장점을 모두 얻으시고 보다 효율적인 업무 환경을 구현하시길 기대합니다.