AutoDroid: LLM-powered Task Automation in Android

이은상·2024년 6월 17일
0

논문리뷰

목록 보기
18/23

📄AutoDroid: LLM-powered Task Automation in Android

written by Hao Wen, Yuanchun Li, Guohong Liu, Shanhui Zhao, Tao Yu, Toby Jia-Jun Li, Shiqi Jiang, Yunhao Liu, Yaqin Zhang, and Yunxin Liu


Introduction

스마트폰은 일상적인 많은 작업을 수행할 수 있는 정교한 장치로 작업을 지능적으로 자동화하는 방법은 사용자의 경험을 크게 향상시킬 수 있음. 기존의 작업 자동화 접근 방식을 확장성 문제로 한계를 지니고 있음

최근 LLM의 출현은 이러한 문제를 해결할 가능성을 보여줌. LLM은 지시 따르기, 단계별 추론, zero-shot 일반화 등의 능력을 가지고 있어 수작업 없이도 다양한 작업을 자동화할 수 있음

AutoDroid는 LLM과 어플 별 지식을 결합하여 스마트폰에서 작업을 자동화하는 프레임워크. GUI 상태와 작업을 텍스트로 변환하여 LLM에 제공하고, 그의 도움을 받아 작업을 수행함. 또한 어플을 탐핵하고 UI 점환 그래프를 추출하여 작업 완료 지식을 구축함. LLM 쿼리 비용을 최적화하여 효율성 높임

AutoDroid는 13개의 오픈 소스 모바일 앱에서 158개의 작업을 통해 성능을 평가했으며, GPT-4를 사용하여 73.1%의 성공률을 보임. 기존의 방법에 비해 작업의 완료율이 크게 향상되었고, 쿼리 비용이 절반 이상 줄어듦

본 논문은 LLM과 앱 지식을 결합하여 모바일 작업 자도오하를 향상시키는 첫 번째 시도로, 새로운 UI 표현 방법과 쿼리 최적화 기술을 도입하여 그의 효율성을 증명함


Backgound and Motivaton

Mobile Task Automation

모바일 작업 자동화는 사용자가 주는 다양한 작업을 자동으로 수행하는 것을 목표로 함. 입력은 자연어로 설명된 작업과 이를 실행할 모바일 앱이고 출력은 스마트폰에서 실행될 UI 동작의 순서임. 작업은 여러 단계의 기능 요청으로, 명확한 지시가 부족할 수 있음. UI 상태는 모바일 장치에서 사용자가 보는 화면, UI 동작은 사용자가 화면에서 수행할 수 있는 작업임

Large Language Models

LLM은 수십억 개의 매개변수를 가진 트랜스포머 기반 언어 모델로, 대량의 텍스트 데이터를 학습함. LLM은 수학적 추론, 프로그램 생성, 다단계 추론 등의 능력을 지님. LLM의 입력음 프롬프트로, 이는 응답 생성을 유도하는 명령어임

LLM meets Mobile Task Automation

LLM을 모바일 작업 자동화에 결합하면 고유한 장점을 제공함. 언어 이해와 추론 능력을 통해 GUI 작업 자동화에서 더 나은 성능을 발휘할 수 있음. 또한, 스마트폰과 결합하여 개인화된 서비스 제공 능력을 향상시킬 수 있음. 그러나 LLM을 모바일 작업 자동화에 적용하는 데에는 GUI 표현, 지식 통합, 비용 최적화 등의 몇 가지 과제가 있음. GUI 상태는 텍스트로 표현 가능하지만 LLM이 해석하기에 길고 복잡함. LLM은 특정 application에 대한 지식이 부족할 수 있고, 잘못된 지시를 수행할 가능성이 있음. 또한 LLM을 사용하는 데에는 많은 비용이 들 수 있음


Our Approach: AutoDroid

AutoDroid는 오프라인 단계와 온라인 단계로 나뉨

오프라인 단계

  1. UI 탐색 및 UTG 생성
    앱의 UI를 무작위로 클랙하여 UI 전이 그래프(UTG) 생성
  2. 작업 요약
    UTG의 모든 UI 요소를 탐색하여 수행할 수 있는 작업 요약

온라인 단계

  1. 명령처리
    사용자가 명령을 내리면, 프롬프트 생성기가 해당 작업과 UI 상태 설명 및 앱 메모리에 저장된 관련 정보를 바탕으로 프롬프트를 생성함
  2. privacy 필터링
    프라이버시 보호를 위해 프롬프트에서 민감한 정보 필터링
  3. LLM 쿼리 및 작업 수행
    필터링된 프롬프트를 LLM에 보내고, LLM이 제공한 답변을 바탕으로 작업 수행. 보안 문제가 있는 작업의 경우 사용자 확인 요청

주요 기술

  1. UI 프롬프트 생성
    GUI를 단순화된 HTML로 변환하여 LLM이 처리할 수 있도록 함
  2. 작업 공간 제한
    LLM이 예측할 수 있는 유효한 UI 상호작용만을 출력하도록 제한
  3. 탐색 기반 메모리 삽입
    LLM이 앱 관련 정보를 활용할 수 있도록 지원
  4. 프롬프트 최적화
    필요하지 않은 UI 요소를 병합하고 프롬프트 길이 줄임

효율성 개선

  1. token 절감
    기능적으로 동일한 요소를 병합하여 토큰 수 줄임
  2. 쿼리 횟수 감소
    여러 GUI 상태를 하나의 프롬프트에 포함시키고, 간단한 작업은 local embedding model로 처리하여 쿼리 횟수 줄임

Implementation

AutoDroid는 python과 java로 구현되었으며, local LLM Vicuna는 PyTorch를 사용하여 fine-tuned됨.

Identifying Risky Actions

일부 작업은 로컬 또는 서버 데이터를 변경하거나 한 번 수행되면 되돌릴 수 없는 작업일 수 있음. 이러한 작업은 위험한 작업으로 간주되며, agent가 실행하기 전 사용자 확인이 필요함.
AutoDroid는 LLM에 프롬프트에 “If this action potentially leads to a change of user data or server state that requires user confirmation, please answer requires_confirmation=Yes)”라는 문장을 추가하여 위험한 작업을 식별함. 또한 UI에 경고와 같은 key phrase를 사용하여 잠재적으로 위험한 작업을 추가로 식별함

Eliding Private Information

AutoDroid는 쿼리에서 개인 정보를 마스킹할 수 있는 privacy filter를 추가함. 온라인 처리 중에는 PII(개인 식별 정보) 스캐너를 실행하여 프롬프트에서 이름, 전화번호, 이메일 주소 등의 민감한 정보 감지함. 이러한 개인 정보는 클라우드로 프롬프트를 보내기 전에 비개인정보로 대체됨. LLM의 응답을 받은 후 AutoDroid는 특별 단어를 원래 정보로 다시 mapping한 후 작업을 해석함'


Benchmark

모바일 작업 자동화 시스템의 성능 평가 위해 DroidTask라는 Android 작업 자동화 벤치마크 소개함. 이는 13개의 인기 앱에서 추출한 158개의 고수준 작업으로 구성됨. 본 벤치마크는 작업과 GUI 동작 기록뿐만 아닌 기본 앱에 대한 탐색 메모리와 환경도 제공한다는 특징을 지님. 에이전트는 오프라인 단계에서 환경과 적극적으로 상호작용하여 앱에 대한 정보를 수집하고 UTI(사용자 트랜지션 그래프)를 기록할 ㅜㅅ 있음


Evaluation

Experimental Setup

  • dataset
    주요 평가 대상은 DroidTask, MoTiF dataset을 활용하여 기초 모델을 훈련하고 LLM을 fine-tuning함
  • 하드웨어
    OnePlus ACE 2 Pro 스마트폰과 NVIDIA 3090 GPU가 장착된 엣지 서버에서 성능 평가
  • 기준 모델
    META-GUI와 LLM-framework를 주요 기준으로 사용
  • 평가지표
    Action Accuracy와 Completion Rate로 평가

Action Accuracy

모든 작업 유형에서 기준 모델보다 뛰어남
click 작업이 가장 간단하며, 스크롤 및 입력 작업이 더 복잡함
LLM의 크기가 커질수록 성능 향상

Task Completion Rate

기준 모델보다 40.5% 더 높은 작업 완료율 보임
단계 수가 증가함에 따라 완료율이 감소하는 경향

Ablation Study

  • 메모리 주입이 작업 완료율을 크게 향상시킴
  • zero-shot chain of thought fine-tuning
    MoTiF 데이터셋을 소량 포함시켜 fine-tuned된 모델이 더 높은 작업 정확도와 완료율을 보임

Cost Analysis

토큰 수를 줄임으로써 런타임 비용을 절감
오프라인 준비 비용은 앱별로 약 0.5~1시간 소요

Influence of Security/Privacy Filtering

보안 확인 및 프라이버시 정보 대체를 추가할 경우 작업 정확도와 완료율이 약간 감소


Discussion

Randomness of LLMs

응답의 일관성 위해 'temperature' hyperparameter를 0으로 설정할 수 있지만, 너무 낮으면 창의적인 응답이 억제되어 시스템 성능 저하 가능. 실험에서는 0.25로 설정함. GPT-3.5의 temperature를 0으로 설정했을 때, 정확도 2.5% 감소. 0.7로 올리면 3.8% 증가

Inreased latency

AutoDroid의 실용성을 제한하는 요소로 지연 시간이 있음. 이를 개선하기 위해 LLM과 소형 모델 간의 협력 접근 방식 제안. 각 작업마다 LLM 한 번만 호출하여 앱에 대한 도메인 특정 지식을 기반으로 지침을 생성하고, 이후 소형 모델을 사용해 UI요소와 연관시킬 수 있음. 또한 자주 사용하는 명령을 저장하고 재사용하는 명령 캐시를 도입하여 지연 시간 줄일 수 있음


Conclusion

본 논문에서는 수작업 없이 임의의 작업을 지원할 수 있는 시스템인 AutoDroid를 제안함

실험 결과 해당 방법이 기존의 학습 기반 및 LLM 기반의 기준을 초과하는 효과적인 작업 자동화를 달성함을 알 수 있었음. LLM의 상식적 지식과 모바일 앱의 도메인 특정 지식 간 시너지가 지능적이고 유용한 개인 비서의 실현 가능성을 높일 수 있다고 믿음

0개의 댓글