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
스마트폰은 일상적인 많은 작업을 수행할 수 있는 정교한 장치로 작업을 지능적으로 자동화하는 방법은 사용자의 경험을 크게 향상시킬 수 있음. 기존의 작업 자동화 접근 방식을 확장성 문제로 한계를 지니고 있음
최근 LLM의 출현은 이러한 문제를 해결할 가능성을 보여줌. LLM은 지시 따르기, 단계별 추론, zero-shot 일반화 등의 능력을 가지고 있어 수작업 없이도 다양한 작업을 자동화할 수 있음
AutoDroid는 LLM과 어플 별 지식을 결합하여 스마트폰에서 작업을 자동화하는 프레임워크. GUI 상태와 작업을 텍스트로 변환하여 LLM에 제공하고, 그의 도움을 받아 작업을 수행함. 또한 어플을 탐핵하고 UI 점환 그래프를 추출하여 작업 완료 지식을 구축함. LLM 쿼리 비용을 최적화하여 효율성 높임
AutoDroid는 13개의 오픈 소스 모바일 앱에서 158개의 작업을 통해 성능을 평가했으며, GPT-4를 사용하여 73.1%의 성공률을 보임. 기존의 방법에 비해 작업의 완료율이 크게 향상되었고, 쿼리 비용이 절반 이상 줄어듦
본 논문은 LLM과 앱 지식을 결합하여 모바일 작업 자도오하를 향상시키는 첫 번째 시도로, 새로운 UI 표현 방법과 쿼리 최적화 기술을 도입하여 그의 효율성을 증명함
모바일 작업 자동화는 사용자가 주는 다양한 작업을 자동으로 수행하는 것을 목표로 함. 입력은 자연어로 설명된 작업과 이를 실행할 모바일 앱이고 출력은 스마트폰에서 실행될 UI 동작의 순서임. 작업은 여러 단계의 기능 요청으로, 명확한 지시가 부족할 수 있음. UI 상태는 모바일 장치에서 사용자가 보는 화면, UI 동작은 사용자가 화면에서 수행할 수 있는 작업임
LLM은 수십억 개의 매개변수를 가진 트랜스포머 기반 언어 모델로, 대량의 텍스트 데이터를 학습함. LLM은 수학적 추론, 프로그램 생성, 다단계 추론 등의 능력을 지님. LLM의 입력음 프롬프트로, 이는 응답 생성을 유도하는 명령어임
LLM을 모바일 작업 자동화에 결합하면 고유한 장점을 제공함. 언어 이해와 추론 능력을 통해 GUI 작업 자동화에서 더 나은 성능을 발휘할 수 있음. 또한, 스마트폰과 결합하여 개인화된 서비스 제공 능력을 향상시킬 수 있음. 그러나 LLM을 모바일 작업 자동화에 적용하는 데에는 GUI 표현, 지식 통합, 비용 최적화 등의 몇 가지 과제가 있음. GUI 상태는 텍스트로 표현 가능하지만 LLM이 해석하기에 길고 복잡함. LLM은 특정 application에 대한 지식이 부족할 수 있고, 잘못된 지시를 수행할 가능성이 있음. 또한 LLM을 사용하는 데에는 많은 비용이 들 수 있음
AutoDroid는 오프라인 단계와 온라인 단계로 나뉨
AutoDroid는 python과 java로 구현되었으며, local LLM Vicuna는 PyTorch를 사용하여 fine-tuned됨.
일부 작업은 로컬 또는 서버 데이터를 변경하거나 한 번 수행되면 되돌릴 수 없는 작업일 수 있음. 이러한 작업은 위험한 작업으로 간주되며, 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를 사용하여 잠재적으로 위험한 작업을 추가로 식별함
AutoDroid는 쿼리에서 개인 정보를 마스킹할 수 있는 privacy filter를 추가함. 온라인 처리 중에는 PII(개인 식별 정보) 스캐너를 실행하여 프롬프트에서 이름, 전화번호, 이메일 주소 등의 민감한 정보 감지함. 이러한 개인 정보는 클라우드로 프롬프트를 보내기 전에 비개인정보로 대체됨. LLM의 응답을 받은 후 AutoDroid는 특별 단어를 원래 정보로 다시 mapping한 후 작업을 해석함'
모바일 작업 자동화 시스템의 성능 평가 위해 DroidTask라는 Android 작업 자동화 벤치마크 소개함. 이는 13개의 인기 앱에서 추출한 158개의 고수준 작업으로 구성됨. 본 벤치마크는 작업과 GUI 동작 기록뿐만 아닌 기본 앱에 대한 탐색 메모리와 환경도 제공한다는 특징을 지님. 에이전트는 오프라인 단계에서 환경과 적극적으로 상호작용하여 앱에 대한 정보를 수집하고 UTI(사용자 트랜지션 그래프)를 기록할 ㅜㅅ 있음
모든 작업 유형에서 기준 모델보다 뛰어남
click 작업이 가장 간단하며, 스크롤 및 입력 작업이 더 복잡함
LLM의 크기가 커질수록 성능 향상
기준 모델보다 40.5% 더 높은 작업 완료율 보임
단계 수가 증가함에 따라 완료율이 감소하는 경향
토큰 수를 줄임으로써 런타임 비용을 절감
오프라인 준비 비용은 앱별로 약 0.5~1시간 소요
보안 확인 및 프라이버시 정보 대체를 추가할 경우 작업 정확도와 완료율이 약간 감소
응답의 일관성 위해 'temperature' hyperparameter를 0으로 설정할 수 있지만, 너무 낮으면 창의적인 응답이 억제되어 시스템 성능 저하 가능. 실험에서는 0.25로 설정함. GPT-3.5의 temperature를 0으로 설정했을 때, 정확도 2.5% 감소. 0.7로 올리면 3.8% 증가
AutoDroid의 실용성을 제한하는 요소로 지연 시간이 있음. 이를 개선하기 위해 LLM과 소형 모델 간의 협력 접근 방식 제안. 각 작업마다 LLM 한 번만 호출하여 앱에 대한 도메인 특정 지식을 기반으로 지침을 생성하고, 이후 소형 모델을 사용해 UI요소와 연관시킬 수 있음. 또한 자주 사용하는 명령을 저장하고 재사용하는 명령 캐시를 도입하여 지연 시간 줄일 수 있음
본 논문에서는 수작업 없이 임의의 작업을 지원할 수 있는 시스템인 AutoDroid를 제안함
실험 결과 해당 방법이 기존의 학습 기반 및 LLM 기반의 기준을 초과하는 효과적인 작업 자동화를 달성함을 알 수 있었음. LLM의 상식적 지식과 모바일 앱의 도메인 특정 지식 간 시너지가 지능적이고 유용한 개인 비서의 실현 가능성을 높일 수 있다고 믿음