[무료다운로드] 오픈소스 LLaVA 기반 멀티모달 생성형 AI 서비스 만들기
BIM 칼럼니스트 강태욱의 이슈 & 토크
이번 호에서는 챗GPT 4.0(ChatGPT 4.0)과 같은 LMM(Large langauge Multi-modal Model : 멀티모달 대규모 언어 모델)인 LLaVA(Large Language and Vision Assistant : 라바) 기반 멀티모달 생성형 AI 서비스 개발 방법을 설명한다.
■ 강태욱
건설환경 공학을 전공하였고 소프트웨어 공학을 융합하여 세상이 돌아가는 원리를 분석하거나 성찰하기를 좋아한다. 건설과 소프트웨어 공학의 조화로운 융합을 추구하고 있다. 팟캐스트 방송을 통해 이와 관련된 작은 메시지를 만들어 나가고 있다. 현재 한국건설기술연구원에서 BIM/GIS/FM/BEMS/역설계 등과 관련해 연구를 하고 있으며, 연구위원으로 근무하고 있다.
페이스북 | www.facebook.com/laputa999
홈페이지 | https://dxbim.blogspot.com
팟캐스트 | http://www.facebook.com/groups/digestpodcast
라바는 이미지 투 텍스트(Image To Text)와 같은 언어-이미지 시각 어시스턴스(Language-Image Visual Assistant)를 지원하기 위해 ViT(Visual Instruction Tuning : 시각적 지시 조정)을 기반으로 개발된 멀티모달 모델 오픈소스이다. 예를 들어, 이미지를 단순히 분류해 주는 것이 아닌, 이미지 내 특정 객체들을 인식하고 관계를 설명할 수 있는 기술을 지원한다.
그림 1. 단독 로컬 서버 PC에서 라바 서비스 모습
참고로, ViT는 이미지의 특정 위치에 대한 객체 정보를 인식할 수 있도록 학습하는 기술이다. 예를 들어, GPT-4는 특정 부분의 시각적 특징을 인코딩하기 위해 YOLO 모델과 같이 경계 상자를 사용하고, CLIP 모델과 같이 해당 부분에 대한 텍스트 임베딩을 입력하여 학습한다.
Visual Instruction Tuning : https://arxiv.org/abs/2304.08485
그림 2. ViT의 개념
라바의 NeXT 버전은 구글 제미나이 프로의 성능을 능가했다고 밝혔으며, 이전 버전인 라바 1.5에 비해 이미지 해상도, OCR 기능 등이 개선되었다고 한다.
그림 3. 라바 아키텍처
이번 호에서는 Ollama를 이용해 라바 NeXT를 로컬 PC에서 실행하는 방법을 따라해 본다.
라바의 개요
라바는 대형 멀티모달 모델로, GPT-4.0과 유사한 LMM을 개발하고자 마이크로소프트 연구팀에서 오픈소스로 개발되었다. MS는 라바의 논문, 깃허브(GitHub) 코드, 데모 사이트 등을 공개하였다.
LLaVA Demo : https://LLaVA.hliu.cc
LLaVA paper(Visual Instruction Tuning - Microsoft Research) : https://www.microsoft.com/en-us/research/publication/visual-instruction-tuning
라바 LMM은 비전 인코더, LLM 모델을 기반으로 개발되었으며, 이미지 투 텍스트에서 인상적인 성능을 보여준다. 라바는 비전 인코더로 오픈AI(OpenAI)에서 공개한 CLIP 모델을 사용했으며, 메타(페이스북)에서 공개한 LLaMA 기반 Vicuna LLM 모델을 사용했다. 학습은 A100 GPU×8×1 Day 와 60만개 데이터셋을 사용했다.
라바를 설치하고 실행해 보기 위해서는 다음의 개발 환경이 컴퓨터에 미리 설치되어 있다고 가정한다.(우분투, 엔비디아, 쿠다 등의 설치 방법은 지난 연재를 참고하기 바란다.)
NVIDIA driver, CUDA, Python, anaconda, Ubuntu 22.04
Tensorflow, PyTorch
Ollama(https://ollama.com/download)
■ 자세한 기사 내용은 PDF로 제공됩니다.
작성일 : 2024-06-03