[산학] MLLM

suhwani·2024년 10월 27일
0
post-thumbnail

MLLM이란


0. 시작하며…

이번에 좋은 계기로 윤수연 교수님, 카카오 뱅크와 함께하는 산학협력 프로젝트에 참여하게 되었다.

주제는 MLLM 이용한 안면 인식 탐지 기법을 구현하는 것이다.

기존에 회사에서 LLM 모델인 gpt, claude 등을 활용한 서버 개발을 진행하고 있어서 이번 프로젝트에서도 서버 구축과 개발, MLLM을 이용하기 위한 전반적인 파이프 라인 구축 등을 맡게 되었다.

팀원은 5명으로, 팀장은 PM역할을 담당하기로 했고, 이외 4명이서 업무 분담을 하였다. 그 중 2명은 데이터 분석과 라벨링, 모델 탐색 등을 맡게 되었고, 나는 모델을 활용하기 위한 개발과 서버를 담당하였다.

1. MLLM 이란 무엇인가


MLLM : Multimodal Large Language Model
텍스트 외에 이미지, 음성, 비디오 등 여러 형태의 데이터를 이해하고 처리할 수 있는 대규모 언어 모델

기존에 LLM은 텍스트, 언어 데이터를 기반으로 처리를 담당해왔다면 MLLM은 다양한 데이터 타입을 받아서 처리를 해주는 모델이다.

1-1. Multi Modal이란?

Modality 라는 말은 ‘양식’, ‘양상’이라는 의미로, 어떤 형태로 나타나는 현상이나 그것을 받아들이는 방식을 말한다. AI 가 등장하기 이전에는 사용자에게 보이거나 입력하는 방식 등을 하나로 단순화하여 구현한 것을 Uni Modality 라고 했으며, 마우스와 키보드, 화면과 음성 등 여러 채널을 이용하면 Multi Modality 라고 했다.

AI 가 등장하면서 시각, 청각 등 다양한 자료를 사용하여 학습 및 사고하는 방식을 Multi Modal AI 라고 부른다.

1-2. 등장 배경

High-Level, Low-Level에 대해서는 컴퓨터 언어에 대해 이해하면서 들어봤다. 사람이 이해할 수 있는 언어로 코드를 작성하면 컴파일러가 컴퓨터로 이해할 수 있는 언어로 변경하여 이걸 실행한다.

이걸 코드, 프로그래밍이 아니라 더 넓은 관점에서 얘기해보겠다.

앞서 말한 과정을 더 넓게 보면 일반인(프로그래머x)가 컴퓨터에게 일을 시키려고 한다면, 사람의 언어(=High-Level)을 컴퓨터에게 이해시키기 위해 컴퓨터 언어(Low-Level)로 변경해야 한다. 위 과정을 위해 컴퓨터가 인간의 언어를 이해하게 하고자 NLP(Natural Language Processing=자연어 처리)가 등장하였다. 결과적으로 컴퓨터가 기본적인 명제와 추론을 할 수 있게 되었다.

하지만 사람이 정보를 통해 습득하고 소통하는 과정에서는 자연어만 관여하는 것이 아니다. 시각, 청각, 후각 등 다양한 감각을 사용하고, 이를 컴퓨터가 따라가고, 인간의 의사소통 방식을 이해하게 하고자 Multi Modal 이 등장했다. 예를 들면, Vision Task는 인간의 시각, 신호 및 주파수 분석은 청각, NLP는 자연어를 모방한 것이다.

  • NLP (Natural Language Processing
    • 정의: 자연어를 이해하고 생성하며 처리하는 광범위한 기술과 연구 분야
    • 목표: 인간의 언어를 컴퓨터가 이해하고 처리할 수 있도록 언어 관련 문제를 해결하는 것
    • 예시: 챗봇, 음성 비서, 번역기
  • LLM (Large Language Model)
    • 정의: 방대한 텍스트 데이터로 훈련된 대규모 신경망 기반 언어 모델
    • 목표: 대규모 데이터와 매개변수로 텍스트의 복잡한 패턴을 학습하여, 다양한 자연어 처리 작업 수행
    • 예시: 챗GPT, GPT-3 같은 대형 언어 모델

1-3. Multi Modal 과 MLLM 차이

예를 들어보면, “누군가의 음성을 듣고 사투리인지 아닌지를 확인하고 싶다.” 라는 상황이 있을 때 사투리에만 있는 단어를 사용할 수도 있지만, 표준말을 사용하더라도 억양이 다르거나, 음의 높낮이가 다른 경우 사람은 사투리로 인식한다.

위와 같은 상황에서 Multi Modal인 경우 음성 인식에 특화된 모델 + 언어 모델을 각각 사용하여 둘의 결과를 결합해야 된다. 하지만 MLLM을 사용한다면 단일 모델에서 다양한 데이터 타입을 지원하기 때문에 여러 모델을 쓰는 것이 아니라 이게 합쳐져있는 하나의 모델에서 수행이 가능하다.

2. 사례


2-1. DALL-E

OpenAI는 텍스트만으로는 정보가 실제로 어떤 형태로 존재하는지 알 수 없기 때문에 Multi Modal을 활용해서 DALL-E를 개발했다고 한다.

사람이 입력한 문장에 대해서 그림과 사진으로 출력하여 모델이 텍스트의 내용을 어떻게 이해하고 있는지를 시각화해준다.

  • GPT-4V: 이미지 분석, 텍스트로 설명, 주어진 이미지에 시각적 포인터 추가, 비디오 프레임 분석 등
  • LG 엑사원: 텍스트를 이미지로 표현, 이미지를 텍스트로 설명하는 양방향 ( → GPT도 가능 )
  • Stable Diffusion: 텍스트 기반 이미지 생성 및 편집 모델

2-2. GLM-4

Zhipu AI에서 최근 공개한 GLM-4 시리즈는 다국어 지원 및 고해상도 이미지를 입력으로 받는 멀티모달 대규모 언어 모델(MLLM)이다.

3. 안면 위변조 탐지와 MLLM


3-1. 기존 안면 위변조 탐지

  • 안면 인식 모델: 특정 인물의 얼굴을 정확하게 인식하여 그 사람의 신원을 확인하는 것이 목표이다. 이 모델은 주어진 얼굴 이미지가 특정 인물의 얼굴인지 아닌지를 분류하는 데 중점을 둔다.
    • FaceNet: Google에서 개발한 FaceNet은 이미지에서 인물의 특징을 임베딩으로 추출하여, 특정 인물의 신원을 확인하거나 비슷한 인물을 분류하는 데 널리 사용된다.
    • VGG-Face: VGG16을 기반으로 안면 인식에 특화된 모델로, 학습된 얼굴 임베딩을 통해 두 얼굴 간 유사성을 측정하는 데 뛰어나다.
    • ArcFace: 각 얼굴 임베딩을 원형으로 배치하여, 서로 다른 인물 간의 거리를 극대화하고 동일 인물 간 거리를 최소화하여 정확한 안면 인식을 구현한다.
  • 딥페이크 탐지 모델: 영상이나 이미지가 조작되었는지 여부를 판단하는 것이 목표이다. 딥페이크 탐지는 영상의 일관성을 분석하여 비정상적인 패턴이나 왜곡을 감지하는 데 초점을 맞춘다.
    • Convolutional Neural Networks (CNN): CNN 기반 모델은 이미지 내에서 인공적인 패턴이나 아티팩트를 탐지하는 데 뛰어나며, 특히 영상 프레임에서 미세한 왜곡을 감지합니다.
    • XceptionNet: CNN 아키텍처 중에서도 XceptionNet은 여러 딥페이크 탐지 연구에서 높은 성능을 보인다. 이미지의 질감이나 밝기 차이 등 미세한 특징을 학습하는 데 효과적이다.
    • Recurrent Neural Networks (RNN)3D-CNN: 영상의 연속된 프레임에서 발생하는 일관성 없는 패턴을 탐지하는 데 효과적이다. 특히 LSTM(Long Short-Term Memory)나 GRU(Gated Recurrent Unit)과 결합하여 특정한 행동과 같은 생체적 특성을 추적한다.

3-2. MLLM을 사용한 안면 위변조 탐지

  • 시나리오 1
    • 사람의 얼굴을 확인할 수 있는 데이터(ex. 동영상, 사진 등)와 사람의 메타데이터(ex. 인종, 나이, 성별 등)를 같이 입력하여 기존 안면 인식에서 더 나아가 얼굴-얼굴 비교와 얼굴-텍스트 비교를 수행한다.
  • 시나리오 2
    • 추가 예정…
profile
Backend-Developer

0개의 댓글