ScreenAI: UI와 시각적 언어 이해를 위한 시각-언어 모델(feat. Google)

:pytorch:PyTorchKR:kr:

  • Apple에서 ReALM 연구를 공개한데 이어, Google에서도 유사한 목적을 위한 연구로 보이는 연구를 공개하였습니다. Google이 공개한 "ScreenAI: UI 및 인포그래픽 이해를 위한 비전-언어 모델" 논문은 (아마도 Android와 같은) UI(User Interface, 사용자 인터페이스)와 인포그래픽을 이해하기 위한 비전과 언어 모델링의 융합을 통한 접근 방식을 소개하고 있습니다. 함께 살펴보시죠 :smiley:


ScreenAI: UI와 시각적 언어 이해를 위한 시각-언어 모델 (ScreenAI: A Vision-Language Model for UI and Infographics Understanding)

ScreenAI 소개

ScreenAI는 UI와 인포그래픽의 이해와 상호작용을 위해 특별히 맞춤화된 시각-언어 모델 분야에서의 전진을 나타냅니다. 차트나 다이어그램, 테이블 등을 포함한 인포그래픽과 UI는 풍부한 사용자 경험을 촉진하고, 그 복잡성과 다양한 형식으로 인해 독특한 모델링 도전을 제시합니다.

ScreenAI는 이러한 도전을 다루기 위해 비전 트랜스포머(ViT)와 멀티모달 인코더를 활용하여 이러한 인터페이스 내의 시각적 및 텍스트 콘텐츠를 처리하고 이해하는 데 중점을 둡니다. 또한, ScreenAI는 학습 시 SSL(Self-Supervised Learning)과 대규모 언어 모델(LLM)을 사용하여 다양한 학습 데이터셋을 생성하는 새로운 접근 방식을 제안하고 있습니다. 이러한 접근 방식은 비슷한 작업에서의 기존 모델을 능가하는 성능을 보이고 있습니다.


기존에는 시각적으로 위치한 언어 이해를 위해 주로 시각적 또는 텍스트 구성 요소를 따로 추출하여 이해하려는 방식으로 시도하였습니다. 예를 들어, 전통적인 비전 모델은 객체 인식에서는 뛰어날 수 있지만 UI 맥락에서 아이콘의 기능을 해석하는 데는 실패할 수 있습니다. 마찬가지로, 언어 모델은 인터페이스에서 추출된 텍스트를 이해할 수 있지만, 공간 배치나 시각적 단서에 대해 추론하는 능력이 부족할 수 있습니다.

ScreenAI는 비전 트랜스포머(ViT)와 멀티모달 인코더를 결합한 PaLI 아키텍처를 통해 UI에 대한 이해와 상호 작용에 대한 새로운 접근 방식을 소개합니다. 이 모델은 몇 가지 혁신적인 전략을 통해 UI가 제시하는 도전을 독특하게 처리할 수 있습니다.

주요 아이디어

ScreenAI를 이해하는 데 있어 가장 중요한 내용은 이 모델이 어떻게 UI(User Interface, 사용자 인터페이스)와 인포그래픽을 이해하고, 그것을 바탕으로 사용자와 상호작용할 수 있는지에 대한 것입니다. ScreenAI는 시각과 언어를 모두 이해하는 AI 모델로, 다음과 같은 세 가지 핵심 요소에 중점을 둡니다:

1. 시각-언어 통합

ScreenAI는 이미지(시각적 정보)와 텍스트(언어 정보)를 모두 처리할 수 있는 모델입니다. 이는 마치 사람이 스마트폰 화면을 볼 때 아이콘, 메뉴, 텍스트 등 다양한 요소를 동시에 인지하고 이해하는 것과 유사합니다. 모델은 비전 트랜스포머(Vision Transformer, ViT)와 다모달 인코더를 사용하여 이 두 종류의 정보를 통합하고 처리합니다. 예를 들어, 앱의 스크린샷을 보고 "설정" 메뉴의 위치를 찾거나 화면에 표시된 날씨 정보를 요약할 수 있습니다.

2. 유연한 학습 및 데이터 생성 방법

전통적인 AI 모델 학습에는 많은 양의 레이블이 붙은 데이터가 필요합니다. ScreenAI는 자기-감독 학습(SSL, self-supervised learning)과 LLM(Large Language Models, 대규모 언어 모델)을 사용하여, 이러한 데이터를 자동으로 생성하고 활용합니다. 이 과정은 인터넷에서 수집한 다양한 UI 스크린샷을 분석하여 UI 요소를 자동으로 식별하고 주석을 달아 데이터셋을 만드는 것입니다. 그런 다음 LLM을 사용하여 이 데이터를 기반으로 실제 사용자 상호작용을 모방한 학습 데이터를 생성합니다. 예를 들어, "이메일 앱에서 최근 메시지를 보여줘"와 같은 사용자 명령을 처리할 수 있는 데이터를 만듭니다.

3. 실제 UI와 인포그래픽의 이해와 상호작용

ScreenAI는 학습 과정에서 생성된 지식을 바탕으로 실제 UI와 인포그래픽을 분석하고 이해할 수 있습니다. 이는 사용자가 특정 작업을 요청할 때 해당 요청을 이해하고 적절한 반응을 할 수 있음을 의미합니다. 예를 들어, 사용자가 "날씨 앱에서 내일의 최고 기온을 알려줘"라고 물으면, ScreenAI는 날씨 앱의 UI를 분석하여 내일의 최고 기온 정보를 찾아 응답할 수 있습니다.

이러한 기능을 통해 ScreenAI는 단순한 이미지 인식을 넘어서 사용자 인터페이스의 '의미'를 이해하고, 그에 기반한 상호작용을 수행할 수 있습니다. 이는 AI가 디지털 환경에서 인간과 더 자연스럽게 상호작용하게 만들어, 여러 분야에서의 응용 가능성을 열어줍니다. 예를 들어, 스마트폰 사용이 어려운 노인이나 장애를 가진 사람들이 보다 쉽게 디지털 기기를 사용할 수 있게 돕거나, 더 효율적인 사용자 지원 시스템을 개발하는 데 기여할 수 있습니다.

ScreenAI의 아키텍처

ScreenAI의 아키텍처는 비전 트랜스포머(ViT)를 이미지 인코딩에, 언어 모델을 텍스트 처리에 통합하는 멀티모달 인코더-디코더 프레임워크인 PaLI를 기반으로 합니다. 이 조합을 통해 ScreenAI는 시각적 및 텍스트 입력을 바탕으로 텍스트를 해석하고 생성할 수 있습니다. 또한, 다양한 해상도 및 화면 유형에 잘 적응할 수 있도록 유연한 패칭 전략(flexible patching stategy)을 갖습니다. 주요한 구성 요소들을 살펴보면 다음과 같습니다:

기반 아키텍처: PaLI(Pathways Language and Image Model)

ScreenAI의 기반이 되는 PaLI(Pathways Language and Image Model) 아키텍처에 대해서 먼저 살펴보겠습니다. PaLI 아키텍처는 Google이 개발한 멀티모달, 다국어 지원 비전-언어 모델로, 크게 트랜스포머 인코더와 자동 회귀(AR, Auto-Regressive) 트랜스포머 디코더로 구성되어 있으며, 입력 텍스트 처리는 인코더가, 출력 텍스트 생성은 디코더가 담당합니다​.

PaLI Architecture 소개
PaLI 아키텍처 소개

PaLI는 이미지를 "시각적 단어"로 변환하여 인코더에 입력함으로써, 이미지를 처리할 수 있습니다. 여기서 시각적 단어는 비전 트랜스포머(ViT)에 의해 처리된 이미지를 나타냅니다. 모델의 핵심 구성 요소 중 하나는 재사용(reuse)으로, 이는 이전에 학습된 단일 모달 비전 및 언어 모델, 예를 들어 mT5-XXL과 대규모 ViTs로부터 모델에 가중치를 주입하는 것을 의미합니다. 이러한 재사용은 단일 모달 학습에서의 능력을 전달하며, 계산 비용도 절약할 수 있게 합니다.

이 아키텍처는 언어-이미지, 언어만, 이미지만 영역에서 다양한 작업을 동일한 API를 사용하여 해결할 수 있으며, 100개 이상의 언어를 지원하며, 다양한 언어-이미지 작업을 다국어로 수행할 수 있도록 조정됩니다.

PaLI는 대규모 언어-이미지 모델 학습에 필요한 다양한 기능과 목표를 해결하기 위해, WebLI라는 다국어 언어-이미지 데이터셋을 구축하여 사용합니다. 이 데이터셋은 영어만의 데이터셋에서 109개 언어로 텍스트 언어 범위를 확장하고, 10억 개의 이미지와 12억 개의 alt-text로 구성됩니다. 또한, Cloud Vision API를 사용한 OCR로 29억 개의 이미지-OCR 쌍을 생성합니다.

PaLI는 공개된 T5X와 Flaxformer 프레임워크를 사용하여 JAX와 Flax에서 학습되며, 시각적 구성 요소로는 4B 파라미터를 가진 대규모 ViT 아키텍처인 ViT-e를 도입하여 학습합니다. 언어 구성 요소의 경우, 시각적 구성 요소에서 생성된 패치 임베딩과 함께 밀집 토큰 임베딩을 연결하여 다모달 인코더-디코더의 입력으로 사용되며, 이는 mT5-XXL로부터 초기화됩니다.

PaLI 모델은 공통적인 비전-언어 벤치마크에서 최신 기술 성능을 달성하며, 심지어 매우 큰 모델을 포함한 문헌에 나타난 여러 모델들보다도 우수한 성능을 보입니다. 예를 들어, Flamingo 모델과 같이 훨씬 더 큰 모델(80B 파라미터)보다도 VQA와 이미지 캡셔닝 작업에서 더 우수한 결과를 보였으며, 주요 학습 목표가 아닌 언어만, 또는 비전만 포함된 작업에서도 일관된 성능을 보입니다​

유연한 패칭 전략 (Flexible Patching Strategy)

ScreenAI는 pix2struct에서 소개된 유연한 패칭 전략을 채택하여, 입력 이미지의 원본 종횡비(width-height ratio)를 보존하며, 다양한 해상도와 화면 비율에서 효과적으로 작동합니다​ (Blog)​. 이 접근 방식은 ScreenAI가 UI와 인포그래픽을 포함한 다양한 유형의 이미지를 더욱 정확하게 이해하고 처리할 수 있게 해줍니다.

유연한 패칭 전략을 사용함으로써, ScreenAI는 다양한 종횡비와 해상도를 가진 이미지를 보다 효과적으로 처리할 수 있으며, 이미지 내의 중요한 정보를 놓치지 않고 추출할 수 있습니다. 이러한 접근 방식은 특히 이미지 내의 세밀한 UI 요소나 텍스트와 같은 정보를 정확히 인식하고 분석해야 하는 경우에 매우 유용합니다.

데이터 생성

ScreenAI의 학습 데이터 생성

ScreenAI의 데이터 생성 과정은 다양한 디바이스에서 화면 캡처를 수집하는 것으로 시작합니다. 공개적으로 접근 가능한 웹 페이지들에서 수집한 데스크탑, 모바일, 태블릿 등, 다양한 기기에서의 스크린샷에서 모바일 앱을 위한 RICO 데이터셋과 같은 프로그래밍 방식의 탐색 접근법을 따릅니다. 이 초기 단계는 매우 광범위한 데이터 소스를 확보하는 데 중요하며, 모델이 다양한 사용 환경을 이해할 수 있는 기반을 마련합니다.

수집된 스크린샷들은 DETR(Deformable Transformer) 모델을 기반으로 한 레이아웃 주석자를 적용하여, 이미지, 픽토그램, 버튼, 텍스트와 같은 다양한 UI 요소와 그들의 공간적 관계를 식별하고 레이블을 부여합니다. 이 과정은 UI의 복잡성과 다양성을 모델이 이해할 수 있게 해줍니다.

픽토그램에 대해서는, 77가지 다른 아이콘 유형을 구분할 수 있는 아이콘 분류기를 사용하여 추가 분석을 수행합니다. 이러한 세부 분류 작업은 아이콘을 통해 전달되는 미묘한 정보를 해석하는 데 필수적입니다. 분류기가 커버하지 않는 아이콘, 그리고 인포그래픽 및 이미지에 대해서는, PaLI 이미지 캡셔닝 모델을 사용하여 문맥적 정보를 제공하는 서술적 캡션을 생성합니다.

또한, 광학 문자 인식(OCR) 엔진을 적용하여 화면상의 텍스트 콘텐츠를 추출하고 주석을 답니다. 이렇게 추출된 OCR 텍스트는 이전에 부여된 주석과 결합되어, 각 화면에 대한 상세한 설명을 만들어냅니다. 이 과정을 통해 모델은 화면상의 정보를 텍스트로 해석하고, 이를 바탕으로 상세한 UI 구조와 내용을 이해할 수 있게 됩니다.

이러한 방식으로 생성된 데이터는 ScreenAI 모델의 사전 학습에 사용되며, UI와 인포그래픽의 이해, QA, UI 탐색, 화면 요약 등의 다양한 작업을 수행하는 데 필요한 기초를 제공합니다. 이 과정은 ScreenAI가 실제 사용자 인터페이스와 상호작용하는 데 필요한 복잡한 문맥과 디테일을 학습하는 데 매우 중요한 역할을 합니다.

학습 과정

ScreenAI 모델의 학습 과정은 자동으로 생성된 데이터셋에서의 사전 학습(pre-training)을 시작으로, 작업별 데이터셋에서의 미세 조정(fine-tuning)으로 이어지는 두 단계 학습 과정을 거칩니다. 먼저, 사전 학습 단계에서는 자체 감독 학습을 통해 데이터 레이블을 자동으로 생성하며, ViT와 언어 모델을 훈련시킵니다. 미세 조정 단계에서는 인간 평가자가 레이블을 지정한 데이터를 사용하여 모델을 최종적으로 조정합니다. ViT는 미세 조정 단계에서 고정되며, 대부분의 데이터는 사람이 레이블을 부착한 데이터를 사용합니다. 각 단계를 좀 더 상세히 살펴보면 다음과 같습니다:

사전 학습 단계

사전 학습 단계는 모델이 대량의 데이터에서 기본적인 패턴과 구조를 학습하는 과정입니다. 이 단계에서 ScreenAI는 다양한 디바이스에서 캡처된 스크린샷을 포함하는 광범위한 데이터셋을 사용합니다. 이 데이터셋은 공개적으로 접근 가능한 웹 페이지와 모바일 앱 스크린샷을 통해 구성됩니다. 스크린샷에는 레이아웃 주석자를 사용하여 UI 요소(예: 이미지, 픽토그램, 버튼, 텍스트)와 그들의 공간적 관계가 식별되고 레이블이 붙여집니다. 이렇게 생성된 데이터는 자체 감독 학습(self-supervised learning)을 통해 모델이 이미지와 텍스트 데이터의 복잡한 상호작용을 이해할 수 있도록 합니다.

이 단계에서는 비전 트랜스포머(ViT)와 언어 모델을 사용하여 데이터로부터 특징을 학습하며, 이 과정은 모델이 스크린샷 내의 다양한 UI 요소를 정확히 인식하고, 텍스트와 이미지 데이터 사이의 관계를 이해하는 데 필수적입니다.

미세 조정 단계

사전 학습을 마친 후, ScreenAI는 미세 조정 단계로 넘어갑니다. 이 단계에서는 보다 특화된 작업에 모델을 최적화하기 위해 작업별 데이터셋을 사용합니다. 예를 들어, 모델이 특정 UI 요소에 대한 질문에 답하거나, 주어진 스크린샷에 기반한 요약을 생성할 수 있도록 합니다. 미세 조정 데이터셋은 인간 평가자에 의해 레이블이 지정되며, 이 데이터를 사용하여 모델의 이해력과 생성 능력을 더욱 향상시킵니다.

미세 조정 단계에서는 사전 학습된 비전 트랜스포머(ViT)를 고정하고, 주로 언어 모델과 다모달 인코더의 가중치를 업데이트하여 특정 작업에 대한 모델의 성능을 개선합니다. 이 단계는 모델이 특정 UI 관련 작업을 수행할 때 더 정확하고 자연스러운 반응을 생성할 수 있도록 하는 데 중요합니다.

사전 학습과 미세 조정 과정을 거치면서 ScreenAI는 UI와 인포그래픽을 이해하고 상호작용하는 데 필요한 다양한 능력을 개발합니다. 이러한 학습 과정을 통해, ScreenAI는 UI 요소의 유형과 위치를 식별하고, 사용자 질문에 답변하며, 스크린샷을 요약하는 등의 복잡한 작업을 수행할 수 있게 됩니다.

결과

ScreenAI는 UI와 인포그래픽을 해석하고 상호 작용하기 위한 포괄적인 솔루션을 제공합니다. UI 요소에 대한 통합 표현 사용과 LLM을 통한 데이터 생성의 혁신은 이 분야의 새로운 벤치마크를 설정합니다. 특수한 데이터셋의 출시는 모델의 평가 프레임워크에 기여하며, 지속적인 연구 및 개발을 장려합니다.

특히, ScreenAI는 WebSRC, MoTIF, Chart QA, DocVQA, InfographicVQA 등 다양한 UI 및 인포그래픽 기반 작업에서 최신 기술 결과를 달성함으로써 성능을 검증합니다. 모델의 확장성과 학습 접근 방식의 효과는 다양한 작업과 데이터셋에서의 경쟁력 있는 성능을 통해 강조되며, 디지털 인터페이스를 이해하고 상호 작용하는 AI의 능력을 크게 향상시킬 수 있는 잠재력을 보여줍니다.

ScreenAI를 소개함으로써 Google은 시각적으로 위치한 언어 이해 분야에서 새로운 벤치마크를 설정할 뿐만 아니라, 특히 디지털 인터페이스와의 사용자 상호 작용을 향상시키는 데 있어 연구와 응용 프로그램의 새로운 길을 열 수 있을 것으로 기대합니다.

Google의 ScreenAI와 Apple의 ReALM 비교

ScreenAI와 ReALM은 모두 AI 분야에서 혁신적인 접근 방식을 제시하는 모델입니다. 두 모델은 사용자 인터페이스(UI)와 화면 상의 정보를 이해하고 이를 통해 상호작용하는 능력에 초점을 맞추고 있습니다.

ScreenAI

ScreenAI는 Google에서 개발한 비전-언어 모델로, UI와 인포그래픽을 이해하고, 이에 기반한 질문에 답변하거나 화면 내용을 요약하는 데 탁월한 능력을 보여줍니다. PaLI 아키텍처를 기반으로 하며, 비전 트랜스포머(ViT)와 다모달 인코더를 활용해 이미지와 텍스트 데이터를 모두 처리합니다​. ScreenAI는 다양한 언어를 지원하며, 학습 과정에서 자체 감독 학습을 통해 데이터 레이블을 자동으로 생성하는 등 혁신적인 데이터 생성 방법을 사용합니다​.

ReALM

Apple의 ReALM은 화면에 표시된 정보를 텍스트로 변환하여 처리함으로써, 더 작고 효율적인 모델 크기를 유지하면서도 GPT-4와 같은 대규모 모델과 경쟁할 수 있는 능력을 갖추고 있습니다. ReALM은 이미지 인식 파라미터에 의존하지 않고도 화면 상의 정보를 이해할 수 있으며, 예를 들어, 사용자가 "비즈니스에 전화 걸기"와 같은 명령을 내렸을 때, Siri가 화면에 표시된 전화번호를 인식하고 이를 실행할 수 있게 합니다​​. 이는 사용자와의 상호작용을 개선하고, 프라이버시와 보안을 보장하는 데 있어서 작고, 기기 내 모델이 가지는 이점을 활용하려는 Apple의 전략을 반영합니다​.

비교 및 시사점

두 모델 모두 사용자 인터페이스의 시각적 및 텍스트 정보를 이해하고, 이를 바탕으로 상호작용하는 데 중점을 두고 있지만, 접근 방식에 있어서 차이를 보입니다. ScreenAI는 이미지와 텍스트 정보를 모두 활용하는 반면, ReALM은 화면의 정보를 텍스트로 변환하여 처리하는 방식을 채택하고 있습니다. 또한, ReALM은 기기 내에서 작동할 수 있도록 설계되었으며, 이는 사용자 프라이버시와 데이터 보안을 강화하는 데 기여할 수 있습니다.

이 두 모델의 발전은 AI가 우리 일상 속에서 더 자연스럽고 유용하게 상호작용할 수 있는 방향으로 나아가고 있음을 보여줍니다. ScreenAI와 ReALM 모두 사용자 경험을 개선하고, AI의 활용 범위를 확장하는 데 있어 중요한 역할을 할 것으로 기대됩니다.

더 읽어보기

ScreenAI 소개 글

https://research.google/blog/screenai-a-visual-language-model-for-ui-and-visually-situated-language-understanding/

ScreenAI 논문

PaLI 소개 글




이 글은 GPT 모델로 정리한 글을 바탕으로 한 것으로, 원문의 내용 또는 의도와 다르게 정리된 내용이 있을 수 있습니다. 관심있는 내용이시라면 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

:pytorch:파이토치 한국 사용자 모임:kr:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:gift: 아래:arrow_lower_right:쪽에 좋아요:heart:를 눌러주시면 새로운 소식들을 정리하고 공유하는데 힘이 됩니다~ :star_struck:

2개의 좋아요