23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
안녕하세요. SKT AI Fellowship 5기의 11번 과제 『AI/ML 기반 단말 Power Saving 기술 개발』 프로젝트를 수행중인 팀 Seio의 유현민, 이종석, 김유빈입니다.
중간 발표로부터 2달의 시간 동안 저희 팀이 연구를 통해 개발한 최종 결과를 보고드리겠습니다.
연구 시작부터 총 5개월의 기간에 걸쳐 멘토님들과 팀원들이 함께 열심히 연구한 결과, DRX 파라미터를 효율적으로 변경하기 위한 저전력 AI/ML 모델의 개발에 성공했습니다.
이를 위해 직접 수집한 데이터를 전처리한 과정, 다양한 AI/ML 모델을 실험한 내용,
그리고 가장 적합한 AI/ML 모델을 기반으로 저희가 최종적으로 개발한 DRX Parameter Changing agent (DPC-agent)에 대해 소개해 드리도록 하겠습니다.
현존하는 연구 중에 실제 DRX 로그 데이터를 전처리하고 AI/ML 알고리즘을 적용한 선행 연구의 부재로,
저희는 다양한 AI/ML 기법을 데이터에 적용하여 성능을 평가하는 방식으로 진행하였습니다.
따라서 예측 및 분류를 위한 supervised learning, 클러스터링과 특징 추출을 위한 unsupervised learning, 환경과 상호작용하며 행동을 위한 최적의 정책을 학습하는 reinforcement learning을 모두 적용하였습니다.
AI/ML 모델을 적용하기 위해, 저희가 수집한 DRX 로그 데이터의 전처리를 거쳐 시계열화 한 방안에 대해 정리해드리겠습니다.
트래픽 발생 Cycle을 1, 트래픽 미발생 Cycle을 0으로 모델링하고, 모델링된 binary 시계열에서 트래픽 미발생 Cycle (0)의 출현을 예측하여
트래픽 미발생 cycle이 연속해서 등장할 것으로 예측될 경우 일시적으로 DRX cycle을 두 배로 증가시켜 on duration 구간을 생략하는 방안입니다.
예측을 위한 AI/ML 학습 방법인 supervised learning을 적용하였습니다.
트래픽이 발생하여 트래픽 발생 cycle이 시작되면, 트래픽이 발생할 때마다 단말에서는 grant라는 신호를 송/수신하게 되는데,
이 grant 신호의 패턴을 분석하는 방안입니다. 앞서 트래픽 미발생 cycle이 연속해서 등장할 경우 on duration을 생략할 수 있다고 말씀드렸는데,
이를 위해 [연속 트래픽 미발생 cycle] 등장 전의 grant 패턴과, [단일 트래픽 미발생 cycle] 등장 전의 grant 패턴을 구분하여 각각의 특성을 파악하려고 했습니다.
만약 [연속 트래픽 미발생 cycle] 등장 전의 고유한 grant 패턴이 있다면, 해당 grant 패턴이 등장할 경우 역시 DRX cycle을 일시적으로 늘려 on duration을 한 번 생략할 수 있습니다.
이를 위해, 데이터의 특성을 추출하고 비슷한 특성에 따라 데이터를 클러스터링하는 unsupervised learning을 적용하였습니다.
마지막 전략은 현재 설정된 inactivity timer 값을 줄이기 위한 전략으로, 트래픽 발생 cycle의 최대 데이터 발생 간격 (최대 grant 간격) 정보를 기반으로
새로운 insight를 얻기 위해 해당 데이터를 online으로 수집하며 성능을 개선할 수 있는 reinforcement learning을 채택하였습니다.
DRX cycle들이 계속해서 이어질 때, 뒤이어올 트래픽 발생 cycle에서 여러 grant들이 어떤 간격을 두고 송수신 될텐데,
이때 grant들이 송수신되는 최대 간격을 예측할 수 있다면, 해당 트래픽 발생 cycle에서는 inactivity timer를 일시적으로 줄일 수 있습니다.
위 세 가지 방법에 각각 적합한 AI/ML 기법을 적용한 결과를 이어서 설명드리겠습니다.
트래픽 미발생 cycle을 binary 데이터에 적합한 모델인 CNN을 활용하여 예측해본 결과입니다.
Melon(Trans.)과 KakaoTalk(Office, Trans.)은 높은 예측 성공 확률을 보여주는 반면, Instagram(Trans.)나 Kart rider(Trans.)의 경우는 50퍼센트 주변의 예측 성공을 보였습니다.
이는 시나리오별로 예측 성공 확률의 편차가 큼을 의미하며, 해당 방식으로 연속된 트래픽 미발생 cycle을 예측하기 위해서는 추가적인 성능 개선이 필요하다는 결론을 내렸습니다.
적절한 모델이나 파리미터를 도출할 수 있다면, 향후 연구를 통해 충분히 실용성 있는 기술이 될 것으로 생각됩니다.
두 번째 분석에서는 k-means clustering을 활용하여,
[트래픽 미발생 cycle이 한 번만] 등장하기 직전의 트래픽 발생 패턴과 [트래픽 미발생 cycle이 연속]으로 등장하기 직전의 트래픽 발생 패턴으로 나누어 놓고 이를 클러스터링 해보았습니다.
만약 정해진 패턴이 존재한다면 각각의 패턴들이 하나의 클러스터로 묶였어야 하지만, 실제로는 동일한 클러스터로 분류되지 않고 두 클러스터에 혼재되어 있는 양상을 보였습니다.
즉, 클러스터링의 방법으로는 뚜렷한 특성을 찾기 어렵다는 결론을 내렸습니다.
마지막으로는 여러 grant 발생 간격 중 최대 grant 간격 정보를 online으로 활용하는 방안입니다.
해당 분석을 위해서는 네트워크 이론을 활용하여 가설을 세우고 검증하는 방식으로 진행하였습니다.
우선 왼쪽 그림처럼 기지국에 수 많은 단말이 존재하는 network congestion 상황으로 인해, 기지국과 상호작용하며
grant를 송수신하게 될 때까지 긴 시간이 소요되어 grant 간격이 발생 간격이 커질 수도 있다는 가설을 세웠습니다.
만약 이 가설이 합당할 경우, network congestion 상황은 한번 발생하게 되면 일정 기간은 지속된다는 특성으로 인해
최대 grant 간격이 크게 발생하는 트래픽 발생 cycle은 bursty하게 등장할 것입니다.
'Grant 간격이 크다'는 기준은 현재 설정된 inactivity timer의 절반에 해당하는 값을 고려하였습니다.
실제 저희가 youtube 데이터를 수집하여 검증해본 결과, 오른쪽 그래프처럼
현재 설정된 inactivity timer의 절반 이상의 최대 grant 간격을 갖는 트래픽 발생 cycle (이하 long grant interval cycle이라 명명)은 10회 이내에 재등장하게 됩니다.
해당 그래프를 자세히 설명드리면, long grant interval cycle이 등장한 이후 다음 트래픽 발생 cycle이 long grant interval cycle이 바로 이어지는 빈도가 160회 이상,
두 번 뒤에 long grant interval cycle이 등장하는 빈도는 120회에 가깝다는 현상을 보여줍니다.
또한, 대부분의 경우 10회 이내에 long grant interval cycle가 다시 등장하게 됩니다.
다른 시나리오 데이터에도 활용해본 결과, 대부분 시나리오에서는 10회 이내에 등장하게 되고 일부 시나리오에서 재등장하는 간격만 5회에서 20회 등 조금씩 다르게 분포될 뿐 공통적인 현상이 관측되었습니다.
이 현상을 기반으로, inactivity timer를 실시간으로 조절할 수 있는 강화학습 agent를 도입하는 방안을 연구하였습니다.
AI/ML 적용 방안을 정리하면, 이동통신 채널의 특성상 데이터의 랜덤성이 크고, 전통적인 시계열 연구와 달리 time resolution이 millisecond 단위로 매우 높아
미시적인 관점에서 특성을 추출하고 미래 데이터를 예측하는 supervised, unsupervised의 적용 가능성은 높지 않다는 결론을 내릴 수 있었습니다.
반면, 복잡도가 높고 불확실한 환경을 관측하고 이에 따른 최적의 정책을 학습할 수 있는 강화학습 기반의 agent를 개발하는 방안은 활용도가 높을 것으로 분석되었습니다.
DRX cycle 내에서 발생하는 grant를 <환경>으로써 관측하고, inactivity timer를 적절한 횟수동안 조절하는 <행동>을 취하며, sleep 시간을 늘리는 동시에
delay를 최소화하는 agent를 개발하는 것을 목표로 추가적인 연구를 진행하였습니다.
이 agent가 글 시작 부분에서 말씀드린 DPC-agent가 되겠습니다.
DPC-agent는 트래픽 발생 cycle에 송수신되는 grant의 간격들을 관찰하며, 뒤이어질 트래픽 발생 cycle들에 대해 inactivity timer를 적절한 횟수동안 조절합니다.
이를 위해서는 트래픽을 관찰하며 ‘현재 트래픽 상황에 적절한 횟수’를 detection해야 합니다.
중간 발표의 결론으로, 대부분의 grant 발생 간격이 현재 설정된 inactivity timer 값보다 훨씬 작은 간격으로 등장하게 되는데,
매우 드문 빈도로 현재 설정된 inactivity timer 값의 절반과 upper quatile (75%) 값 이상의 간격으로 발생하는 grant들이 병목이 되어 inactivity timer를 줄일 수가 없었습니다.
하지만 저희가 관측한 현상에 의하면 long grant interval cycle이 한번 등장하면, 머지 않은 시간 내에 재등장할 것입니다.
따라서 inactivity timer를 현재 설정된 값보다 조금은 작게 줄이고 long grant interval cycle이 관측이 되면
그때 일시적으로 현재 설정된 긴 inactivity timer 값으로 늘리는 전략을 적용하였습니다.
Agent는 일시적으로 inactivity timer를 늘리고 유지하는 이 횟수를 환경을 관찰하며 detect합니다.
DPC-agent에서 중요하게 고려되어야할 사항은, 변경된 기본 inactivity timer 값을 현재 inactivity timer 값의 절반이 아닌 75%에 해당하는 값으로 설정하는 것입니다.
inactivity timer의 값을 현재 inactivity timer의 절반으로 설정하면, DPC-agent는 자신이 detect해야 하는 ‘long grant interval cycle’을 인지하지 못하게 됩니다.
따라서 agent는
inactivity timer 값을 현재 설정된 inactivity timer의 75%로 설정하고,
(현재 설정된 inactivity timer의 절반 ~ 현재 설정된 inactivity timer의 75%)에 해당하는 최대 grant 간격을 갖는 트래픽 발생 cycle을 관측하게 되면,
inactivity timer를 다시 현재 설정된 긴 inactivity timer 값으로 설정하는 <행동>을 취하게 됩니다.
또한 inactivity timer를 [현재 설정된 긴 inactivity timer 값으로 유지하는 횟수]도 네트워크 상황에 따라 유동적으로 학습을 하게 되는데 만약 유지 횟수의 초기값을 10으로 하더라도,
위 그림에서 보실 수 있듯이 트래픽 발생 cycle이 10회보다 훨씬 빠르게 등장하는 trend를 보이면 이를 일시적으로 줄이고,
반대의 경우는 늘리는 정책을 적용하여 성능을 좀 더 개선할 수 있도록 agent를 디자인하였습니다.
이렇게 기본 inactivity timer를 줄이는 동시에 적절한 타이밍에 다시 늘림으로써, 전반적인 sleep 시간을 늘리고 delay의 영향은 줄이는 강화학습 기반의 DPC-agent를 개발할 수 있었습니다.
DPC-agent를 수집한 데이터에 범용적으로 적용해보니 기존의 DRX 파라미터를 적용했을 때 보다 트래픽 발생 cycle에서의 sleep 비율이 높게 나타났습니다.
또한, 일괄적으로 inactivity timer 값을 현재 설정된 값의 75%에 해당하는 값 줄이는 방안에 비해 delay를 겪는 cycle의 비율도 크게 줄어드는 성능을 보여주었습니다.
표의 각 항목의 괄호 속의 값은 실제 어플리케이션 이용 시간을 나타내는데, 어플리케이션 사용 시간 중 트래픽 발생 cycle들의 시간 대비 실제 sleep하는 시간이 증가하였고,
전체 어플리키이션 이용 시간 대비 delay는 차지하는 비율이 매우 적은 것을 확인할 수 있었습니다.
이에 저희가 개발한 DPC-agent가 delay를 고려한 단말 power saving에 있어서 효과적인 성능을 낼 수 있음을 검증할 수 있었습니다.
DPC-agent는 간단한 강화학습 매커니즘을 기반으로 개발되어 저희가 연구 계획 단계에서 제시한 목표인 <저전력 AI/ML 모델 개발>을 성공적으로 달성할 수 있었습니다!
프로젝트 결과를 종합하여 결론을 내리면,
우선 첫 번째 분석 주제인 트래픽 미발생 cycle/트래픽 발생 간격 예측의 경우는 Long cycle을 조절하기 위해서는 추가적인 예측 성능 개선이 필요함을 알 수 있었습니다.
두 번째, 트래픽 미발생 cycle 발생의 단일/연속 등장 직전 트래픽 패턴 특징 추출의 경우에는 데이터의 특성상 특별한 특징을 발견하기 어려워 낮은 성능을 보여주기에 활용이 어렵다는 결론을 내렸습니다.
마지막 네트워크 환경을 고려한 online reinforcement learning의 경우,
저희 팀 Seio가 개발한 DPC-agent를 통해 트래픽 패턴에 따라 inactivity timer 값을 적절하게 조절하는 동시에 delay를 최소화할 수 있었습니다.
이에 저희는 AI/ML 방법론 중 하나인 reinforcement learning 기반의 DPC-agent를 이용한다면 다양한 네트워크 상황에 적절한 inactivity timer를 적용시켜
power saving을 이룸과 동시에 delay도 최소화하는 최적의 DRX 파라미터를 도출할 수 있다는 결론과 함께 글을 마치도록 하겠습니다.
5개월 간의 SKT AI Fellowship을 통해, 실무에서 사용되는 데이터를 직접 전처리하고 성능 개선을 위해 여러 아이디어를 고려하고 적용함으로써
이론적인 학습을 넘어 실무적인 역량을 기를 수 있었습니다. 또한 현직에 계신 멘토님들과 함께 프로그램을 진행하며 현장에서 원하는 데이터 분석 능력과 커뮤니케이션 능력을 대폭 향상할 수 있었습니다.
저희 팀 Seio는 앞으로도 통신 시스템에 AI/ML을 적용하는 연구를 진행하며 실제 상용망에 저희가 개발한 기술이 적용될 수 있도록 열심히 나아가겠습니다. 감사합니다!
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.