Florence-2: Microsoft의 최신 비전-언어 모델
객체 탐지, 분할, 캡셔닝, 그라운딩을 위한 Microsoft의 비전-언어 모델 Florence-2를 만나보세요. 강력한 제로샷 성능을 제공합니다.
Abirami Vina7 분 읽기
2024년 6월 Microsoft는 Florence-2, 즉 멀티모달 비전-언어 모델(VLM)을 소개했으며, 이 모델은 객체 감지, 분할, 이미지 캡셔닝, 그라운딩을 비롯한 다양한 작업을 처리하도록 설계되었습니다. Florence-2는 특정한 사전 학습 없이 작업을 수행할 수 있는 제로샷 성능의 새로운 기준을 제시하며, 다른 최첨단 비전-언어 모델보다 모델 크기도 작습니다.
Florence-2는 단순한 또 하나의 모델이 아닙니다. 다재다능함과 향상된 성능을 바탕으로 정확도를 높이고 대규모 학습의 필요성을 줄여 다양한 산업에 큰 영향을 미칠 수 있습니다. 이 글에서는 Florence-2의 주요 기능을 살펴보고 다른 VLM과 성능을 비교하며 잠재적인 활용 분야를 알아봅니다.
Florence-2란 무엇인가요?#
Florence-2는 단일 통합 프레임워크 안에서 다양한 작업을 처리할 수 있습니다. 모델의 기능은 FLD-5B라는 대규모 학습 데이터셋에 힘입은 바가 큽니다. FLD-5B에는 1억 2,600만 개 이미지에 대한 54억 개의 어노테이션이 포함되어 있습니다. 이 포괄적인 데이터셋은 Florence-2가 다양한 비전 작업을 높은 정확도와 효율성으로 처리하는 데 필요한 기능을 갖추도록 특별히 제작되었습니다.
Florence-2가 지원하는 작업은 다음과 같습니다.
- 객체 검출: 이미지 안의 객체를 높은 정밀도로 식별하고 위치를 찾을 수 있습니다.
- 세그멘테이션: 이미지를 의미 있는 영역으로 나누어 더 쉽게 분석하고 해석하는 작업입니다.
- 이미지 캡셔닝: Florence-2는 이미지에 맥락과 세부 정보를 제공하는 설명형 캡션을 생성할 수 있습니다.
- 비주얼 그라운딩: 모델은 캡션에 포함된 특정 구절이나 단어를 이미지의 해당 영역과 연결할 수 있습니다.
- 제로샷 성능: 특정한 학습 없이 작업을 수행할 수 있습니다.

그림 1. Florence-2의 학습 방식 이해.
이 모델은 텍스트 기반 작업과 영역 기반 작업을 모두 지원합니다. 이미지의 특정 영역을 다루는 작업을 위해 특수 위치 토큰을 모델의 어휘에 추가합니다. 이러한 토큰은 객체 주위의 직사각형(박스 표현), 사각형 모양(사각형 박스 표현), 여러 변을 가진 모양(다각형 표현) 등 다양한 형태를 모델이 이해하도록 돕습니다. 모델은 표준 교차 엔트로피 손실 함수를 사용해 학습합니다. 이 함수는 예측을 정답과 비교하고 이에 따라 내부 매개변수를 조정하도록 모델을 학습시킵니다.
FLD-5B 데이터셋 생성하기#
FLD-5B 데이터셋에는 텍스트 설명, 영역과 텍스트의 쌍, 텍스트·구문·영역의 조합 등 다양한 유형의 어노테이션이 포함되어 있습니다. 이 데이터셋은 데이터 수집 및 어노테이션으로 구성된 2단계 절차를 거쳐 제작되었습니다. ImageNet-22k, Objects365, Open Images, Conceptual Captions, LAION과 같은 인기 데이터셋에서 이미지를 가져왔습니다. FLD-5B 데이터셋의 어노테이션은 대부분 합성된 것으로, 수작업이 아닌 자동 생성 방식으로 만들어졌습니다.

그림 2. FLD-5B 데이터셋 제작.
처음에는 객체 검출이나 세그멘테이션 등 특정 작업에 능숙한 전문 모델이 이러한 어노테이션을 생성했습니다. 그런 다음 어노테이션이 상세하고 정확한지 확인하기 위해 필터링 및 개선 과정을 거쳤습니다. 노이즈를 제거한 뒤에는 반복적인 개선을 진행했으며, Florence-2의 출력을 사용해 어노테이션을 지속적으로 업데이트하고 개선했습니다.
Florence-2의 모델 아키텍처 이해하기#
Florence-2의 모델 아키텍처는 시퀀스-투-시퀀스 학습 방식을 따릅니다. 즉, 모델은 입력 시퀀스(텍스트 프롬프트가 포함된 이미지 등)를 처리하고 출력 시퀀스(설명이나 레이블 등)를 단계별로 생성합니다. 시퀀스-투-시퀀스 프레임워크에서는 각 작업을 번역 문제로 취급합니다. 모델은 입력 이미지와 작업별 프롬프트를 받아 이에 해당하는 출력을 생성합니다.

그림 3. Florence-2 비전-언어 모델 아키텍처.
모델 아키텍처의 핵심은 이미지 인코더와 멀티모달 인코더-디코더를 결합하는 멀티모달 인코더-디코더 Transformer입니다. DaViT(Dual Attention Vision Transformer)라고 불리는 이미지 인코더는 입력 이미지를 시각 토큰 임베딩으로 변환해 처리합니다. 시각 토큰 임베딩은 이미지의 공간 정보(사물의 위치)와 의미 정보(사물의 정체)를 모두 포착하는 간결한 표현입니다. 그런 다음 이러한 시각 토큰을 텍스트 임베딩(텍스트의 표현)과 결합해 모델이 텍스트와 시각 데이터를 통합할 수 있게 합니다.
Florence-2와 다른 VLM 비교#
Florence-2는 강력한 제로샷 기능으로 다른 비전-언어 모델과 차별화됩니다. 다양한 작업에 적응하기 위해 광범위한 파인튜닝에 의존하는 PaliGemma와 달리 Florence-2는 별도의 조정 없이도 우수한 성능을 발휘합니다. 또한 Florence-2는 매개변수가 훨씬 많으면서도 항상 Florence-2의 성능에 미치지는 못하는 GPT-4V 및 Flamingo와 같은 대형 모델과도 경쟁할 수 있습니다. 예를 들어 Kosmos-2는 매개변수가 두 배 넘게 많지만, Florence-2는 제로샷 결과에서 Kosmos-2보다 우수한 성능을 보입니다.
벤치마크 테스트에서 Florence-2는 COCO 캡셔닝 및 참조 표현 이해와 같은 작업에서 뛰어난 성능을 보였습니다. COCO 데이터셋의 객체 감지 및 분할 작업에서는 PolyFormer와 UNINEXT 같은 모델보다 우수한 결과를 냈습니다. 성능과 리소스 효율성이 모두 중요한 실제 애플리케이션에 매우 경쟁력 있는 선택지입니다. Ultralytics Platform에서 Florence-2를 사용해 감지 데이터셋에 자동으로 어노테이션을 추가하고, VLM 리더보드에서 다른 비전 언어 모델과 성능을 비교할 수 있습니다.
Florence-2의 애플리케이션#
Florence-2는 엔터테인먼트, 접근성, 교육 등 다양한 산업 분야에서 사용할 수 있습니다. 이해를 돕기 위해 몇 가지 사례를 살펴보겠습니다.
이미지 캡셔닝 애플리케이션#
스트리밍 플랫폼에서 볼 콘텐츠를 고르려고 할 때, 선택에 도움이 되는 영화 줄거리를 읽어 볼 수 있습니다. 플랫폼에서 영화 포스터에 대한 상세한 설명도 제공한다면 어떨까요? Florence-2는 이미지에 대한 설명형 텍스트를 생성하는 이미지 캡셔닝을 통해 이를 가능하게 합니다. Florence-2는 영화 포스터의 상세한 설명을 생성하여 스트리밍 플랫폼을 시각 장애가 있는 사용자도 더 쉽게 이용할 수 있도록 합니다. Florence-2는 인물, 배경, 텍스트와 같은 포스터의 시각 요소를 분석해 포스터의 내용과 분위기를 전달하는 상세한 설명을 만들 수 있습니다. 아래 이미지는 Florence-2가 설명에서 제공할 수 있는 세부 수준을 보여 줍니다.

그림 4. Florence-2가 생성한 이미지 캡션 예시.
이미지 캡셔닝이 유용한 다른 사례는 다음과 같습니다.
- 전자상거래: 이미지 캡셔닝으로 제품 이미지에 대한 상세한 설명을 제공해 고객이 제품의 기능과 세부 사항을 더 명확히 이해하도록 도울 수 있습니다.
- 여행 및 관광: 여행 가이드와 앱에서 랜드마크와 관광 명소에 대한 상세 설명을 제공할 수 있습니다.
- 교육: 이미지 캡셔닝으로 교육용 이미지와 다이어그램에 레이블을 달고 설명하여 교수 및 학습을 지원할 수 있습니다.
- 부동산: 잠재적 구매자에게 특징과 편의 시설을 보여 주는 부동산 이미지의 상세 설명을 제공할 수 있습니다.
요리 과정에서 비주얼 그라운딩 활용하기#
Florence-2는 요리 경험을 향상하는 데에도 활용할 수 있습니다. 예를 들어 온라인 요리책에서 Florence-2를 사용해 복잡한 레시피 이미지의 각 부분을 시각적으로 연결하고 레이블을 달 수 있습니다. 비주얼 그라운딩은 이미지의 특정 부분을 해당 설명 텍스트와 연결하여 이를 지원합니다. 각 재료와 단계를 정확하게 표시하고 설명하면 가정에서 요리하는 사람이 레시피를 더 쉽게 따르고 각 재료가 요리에서 어떤 역할을 하는지 이해할 수 있습니다.

그림 5. Florence-2를 사용한 비주얼 그라운딩 예시.
금융 문서를 위한 영역 기반 OCR#
문서의 특정 영역에서 텍스트를 추출하는 영역 기반 처리 OCR은 회계와 같은 분야에서 유용합니다. 금융 문서의 지정된 영역을 분석하여 거래 내역, 계좌 번호, 만기일 등 중요한 정보를 자동으로 추출할 수 있습니다. 수동 데이터 입력의 필요성을 줄여 오류를 최소화하고 처리 시간을 단축합니다. 금융 기관은 이를 활용해 송장 처리, 영수증 대조, 수표 결제 등의 작업을 간소화하여 더 빠른 거래와 향상된 고객 서비스를 제공할 수 있습니다.

그림 6. Florence-2를 사용한 영역 기반 OCR 추출 예시.
산업 애플리케이션에서의 영역 기반 세그멘테이션#
이미지를 집중 분석과 상세 검사를 위해 의미 있는 부분으로 나누는 영역 기반 세그멘테이션은 다양한 공정의 정밀도와 효율성을 높이는 산업 애플리케이션을 뒷받침할 수 있습니다. 이미지의 특정 영역에 집중함으로써 부품과 제품을 상세하게 검사하고 분석할 수 있습니다. 품질 관리에서는 균열이나 정렬 불량과 같이 소재의 결함이나 불일치를 식별하여 최고 품질의 제품만 시장에 출시되도록 할 수 있습니다.

그림 7. Florence-2를 사용한 영역 기반 세그멘테이션 예시.
또한 로봇 팔이 특정 부품을 찾아가도록 안내하고 부품의 배치와 조립을 최적화하여 자동화된 조립 라인의 효율을 높입니다. 마찬가지로 재고 관리에서는 상품의 상태와 위치를 추적하고 모니터링하여 물류 효율성을 높이고 가동 중단 시간을 줄이는 데 도움이 됩니다. 전반적으로 영역 기반 세그멘테이션은 정확도와 생산성을 높여 산업 현장의 비용을 절감하고 제품 품질을 향상합니다.
핵심 요점#
높은 성능을 유지하면서 AI 모델의 크기는 줄어드는 추세가 나타나고 있습니다. Florence-2는 비전-언어 모델의 큰 도약을 의미합니다. 뛰어난 제로샷 성능으로 객체 감지, 분할, 이미지 캡셔닝, 그라운딩과 같은 다양한 작업을 처리할 수 있습니다. Florence-2는 크기가 더 작으면서도 효율적이고 다기능적이므로 다양한 산업의 애플리케이션에 유용합니다. Florence-2와 같은 모델은 AI 혁신의 잠재력을 넓혀 더 많은 가능성을 열어가고 있습니다.
GitHub 저장소를 방문하고 커뮤니티에 참여하여 AI에 대해 더 알아보세요. 솔루션 페이지에서 제조 및 농업 분야의 AI 애플리케이션을 확인해 보세요.
작성자
댓글
질문하거나 결과를 공유하거나 다른 사람을 도와주세요.










