[논문리뷰] AutoDroid: LLM-powered Task Automation in Android

yeomm·2024년 6월 20일

AI 논문리뷰

목록 보기
20/21

arxiv.org


Abstract

이 논문에서는 스마트폰에서 음성 기반의 핸즈프리 사용자 인터랙션을 가능하게 하는 모바일 작업 자동화 기술을 제안한다.

  • LLM을 활용하여, 작업 준비, 이해, 실행을 통합된 언어 모델이 처리 → 이를 위해 LLM의 상식 지식과 앱의 도메인 지식을 결합합니다.

주요 구성 요소:

  • 기능 인식 UI 표현 방법: UI와 LLM을 연결하여 상호 작용
  • 탐색 기반 메모리 주입 기술: 앱의 도메인 지식을 LLM에 추가하여 보강
  • 다중 세분화 쿼리 최적화 모듈: 모델 추론의 비용 감소

성능 평가:

  • 기존 LLM 통합: GPT-4/GPT-3.5와 같은 온라인 모델 및 Vicuna와 같은 온디바이스 모델과 AutoDroid를 통합하여 성능평가

Introduction

스마트폰에서 다양한 임무를 자동화하여 사용자 경험을 향상시키고 가상 개인 비서를 가능하게 하는 기술

기존 접근 방식

  • 개발자 기반: Siri, Google Assistant 등은 새로운 작업을 지원하기 위해 많은 개발 노력이 필요함
  • 데모 기반 및 학습 기반: 대규모 인간 데모가 필요하거나 명확한 보상이 필요해 확장성 떨어짐

⇒ LLM의 등장으로 작업 자동화의 확장성 문제 해결하는 데 도움이 됨

AutoDroid의 주요 구성 요소

  • GUI Representation: GUI 상태와 작업을 텍스트 형식으로 변환하여 LLM이 이해하고 상호작용할 수 있게 함
  • Knowledge Integration: 앱의 도메인 지식을 LLM에 통합하여 작업을 해결함
  • Cost Optimization: LLM 쿼리의 비용을 줄여 효율적인 작업 자동화를 실현

평가 결과

  • GPT-4를 사용한 AutoDroid는 71.3%의 성공률과 90.9%의 작업 정확도 가짐
  • 기존 LLM 기반 접근법보다 작업 성공률이 36.4%에서 39.7% 높고, 쿼리 비용은 51.7% 감소함

Background and Motivation

Mobile Task Automation

  • 사용자가 자연어로 설명한 작업을 스마트폰 앱을 통해 자동으로 완료하는 것이 목표
  • 사용자 입력이 없어도 여러 단계의 작업을 수행하고, 블랙박스 앱(내부 메커니즘을 알 수 없는 앱)에서 작업을 자동화함. → 이를 위해 앱 상태 탐색, 콘텐츠 크롤링 및 코드 분석을 사용.
  • 출력: 스마트폰에서 실행 가능한 UI 작업 시퀀스.

Large Language Models

  • GPT-4, ChatGPT 등 수십억 개의 파라미터를 가지고 대규모 텍스트 데이터로 훈련된 모델.
  • 수학적 추론, 프로그램 생성, 단계별 추론 등의 능력을 가짐
  • 자연어 명령(프롬프트)을 받아 응답을 생성함.

LLM meets Mobile Task Automation

  • LLM의 강력한 언어 이해 및 추론 능력을 활용해 GUI 작업 자동화 가능.
  • 스마트폰 앱과 데이터에 접근하여 개인화된 서비스를 제공할 수 있음.
  • 도전 과제:
    1. GUI 표현: LLM은 텍스트 데이터를 처리할 수 있지만, GUI 상태를 직접 처리할 수 없음. Android의 GUI 상태는 텍스트로 표현할 수 있지만, 보통 매우 길고 해석하기 어려움.
    2. 지식 통합: 특정 앱에 대한 지식 부족으로 잘못된 지시를 내릴 수 있음.
    3. 비용 최적화: LLM을 사용한 작업 완료는 비용이 많이 듦

Our Approach: AutoDroid

AutoDroid는 LLM을 활용한 모바일 작업 자동화 시스템으로, 오프라인 단계에서 앱-specific 지식을 획득하고, 온라인 단계에서 메모리가 강화된 LLM을 지속적으로 쿼리하여 작업을 수행한다

Task-oriented UI Prompting

  • UI 정보를 텍스트로 변환하여 LLM에 쿼리. 각 UI 요소의 속성을 포함하여 LLM이 유효한 UI 상호작용을 예측하도록 함
  • 스크롤 가능한 인터페이스를 자동으로 스크롤하여 모든 UI 요소를 포함시키고, 이를 LLM에 제공해 결정

Exploration-based Memory Injection

  • 앱 관련 정보를 LLM에 제공하여 앱 사용 방법을 이해하고 효과적인 결정을 내리도록 함.
  • 무작위 탐색으로 얻은 UI 전이 그래프는 직접 사용하기 어려워, 이를 기반으로 시뮬레이션 작업을 생성하여 LLM에 가이드로 제공.

Multi-granularity Query Optimization

  • LLM 쿼리 빈도를 줄여 오버헤드를 감소.
  • 프롬프트에서 불필요한 토큰을 제거하여 계산 비용을 줄임.

Implementation

  • AutoDroid 구현: Python과 Java를 사용하여 구현하였으며, 로컬 LLM Vicuna는 PyTorch를 사용해 파인튜닝함.
  • 위험한 작업 식별: 데이터 변경이나 취소 불가능한 작업은 위험 작업으로 간주하고, 사용자 확인을 요구함. LLM 프롬프트에 “사용자 데이터 또는 서버 상태 변경이 필요한 경우, 문구를 추가하여 위험 작업을 식별
  • 개인 정보 보호: 쿼리에서 개인 정보를 마스킹하는 프라이버시 필터를 추가함. 온라인 처리 중 PII 스캐너를 사용해 이름, 전화번호, 이메일 주소 등 민감한 정보를 탐지하고 비공개 단어로 대체함. LLM 응답을 받은 후 원래 단어로 다시 매핑함.

Benchmark

  • 벤치마크: 작업과 GUI 작업 추적뿐만 아니라 탐색 메모리와 앱 환경도 제공. Android Virtual Machine Snapshot 형태로 환경을 공개하여 연구자들이 동일한 환경을 복원할 수 있게 함.
  • 데이터 수집 시스템: Android 스마트폰과 상호작용할 수 있는 데이터셋 수집 시스템을 개발.
  • 작업 수집 방법: 각 앱에 대해 자연어로 설명된 5-15개의 작업 목록을 제공하도록 요청함. 작업을 완료하기 위해 주석자(annotator)는 데스크톱 컴퓨터를 통해 스마트폰과 상호작용함. 각 반복(iteration) 동안 주석자는 현재 상태의 스마트폰 UI와 사용 가능한 작업 목록을 보고, 다음과 같은 작업을 선택할 수 있음: (1. 버튼 터치 2. 텍스트 입력 3. 방향 스와이프)

Evaluation

Experimental Setup

  • 데이터셋: 주로 DroidTask를 평가하고, MoTiF 데이터셋을 사용해 기준 방법을 훈련하고 LLM을 미세 조정함.
  • 하드웨어: OnePlus ACE 2 Pro와 NVIDIA 3090 24G GPU가 장착된 엣지 서버에서 평가를 진행.
  • 기준 방법: META-GUI, LLM-framework, 랜덤 퍼포머, 유사성 기반 퍼포머를 기준 방법으로 선택.
  • 평가지표: 행동 정확도와 완료율을 사용해 성능을 측정.

Action Accuracy

  • AutoDroid는 모든 행동 유형에서 기준 방법을 능가하며, 전체 정확도가 37.6% 향상됨.
  • AutoDroid는 UI 요소를 가지치기하고 병합하여 행동 공간을 줄이고, 앱-specific 지식을 통합하여 정확도를 향상시킴.

Task Completion Rate

  • AutoDroid는 Vicuna-7B, GPT-3.5, GPT-4 기준 방법보다 각각 40.5%, 26.4%, 39.7% 더 높은 완료율을 보임.
  • 메모리 증강 없이와 비교했을 때, 메모리 증강이 작업 완료율에 큰 향상을 보임.

Ablation Study

  • 메모리 주입이 단일 단계 정확도보다 전체 완료율을 더 크게 향상시킴.
  • 작은 모델은 메모리 주입으로 더 큰 혜택을 받음.

Cost Analysis

  • 런타임 비용: AutoDroid는 쿼리당 토큰 수를 줄이고 쿼리 빈도를 최소화하여 런타임 오버헤드를 줄임.
  • 평균 토큰 수를 절반으로 줄여 추론 지연 시간을 21.3% 감소시킴.
  • 오프라인 준비 비용: 각 앱에 대해 UI 전이 그래프 생성에 약 0.5-1시간 소요, 시뮬레이션 작업 생성에 5-10분 소요. 오프라인 준비는 한 번만 수행됨.

Influence of Security/Privacy Filtering

  • AutoDroid는 위험한 작업을 식별하고 사용자 확인을 요청함.
  • 다섯 가지 앱에서 위험 작업을 평가한 결과, 정확도 75.0%, 재현율 80.5%를 달성.
  • 프라이버시 대체 및 보안 확인을 추가하면 정확도와 완료율이 약간 감소하지만 수용 가능함.
  • UI 이해 및 자동화:
    • GUI의 의미 분석: 함수 요약, UI 요소 목적 해석, GUI 관련 사용자 질문 처리.
    • 사용자 지시를 UI 요소에 매핑: 주어진 작업에 가장 적합한 GUI 요소 선택.
    • 모바일 UI 작업 자동화: GUI에서 작업을 수행하여 사용자의 작업을 완료하는 에이전트 구축.
    • AutoDroid의 차별점: UI 전이 메모리를 활용하여 복잡한 다중 단계 작업을 완료함. 메모리는 에이전트가 풍부한 정보가 담긴 UI와 앱 사용법을 이해하고, LLM의 추론 및 계획 수립을 보강하는 데 도움을 줌.
  • 증강된 LLM:
    • 기존 방법: 웹 브라우저, API, 다른 DNN 모델 등 다양한 도구로 LLM을 증강.
    • AutoDroid의 방법: 모바일 애플리케이션에서는 일반적이지 않은 커스텀 API 없이 수행.

Discussion

  • LLM의 무작위성:
    • 일관된 응답을 위해 'temperature' 하이퍼파라미터를 0으로 설정할 수 있지만, 너무 낮으면 혁신적인 답변이 억제되어 시스템 성능이 저하될 수 있음.
  • 지연 시간 문제:
    • LLM과 작은 모델 간의 협력 접근 방식을 도입하여 지연 시간을 줄일 수 있음.
    • 각 작업에 대해 한 번만 LLM을 호출하여 앱에 대한 도메인-specific 지식을 바탕으로 지침을 생성하고, 이후 작은 모델을 사용해 이 지침을 UI 요소와 연결.
    • 명령어 캐시를 도입하여 공통 명령어를 저장하고 재사용하면 반복적인 LLM 호출을 최소화하여 지연 시간을 줄일 수 있음.

Conclusion

  • LLM을 활용한 모바일 작업 자동화 시스템으로, 수작업 없이 임의의 작업을 지원할 수 있음.
  • 기존의 훈련 기반 및 LLM 기반의 기준 방법보다 뛰어난 성능을 보여 효과적인 작업 자동화를 달성함.

0개의 댓글