Elastic
Jina AI
모델
API
keyboard_arrow_down
Reader
어떤 URL이든 Markdown으로 변환하여 LLM 그라운딩을 개선하세요.
Embeddings
멀티모달 및 다국어 임베딩.
Reranker
검색 관련성을 극대화하는 리랭커.
Elastic Inference Service
Jina 모델을 Elasticsearch에서 네이티브 방식으로 실행하세요.
MCP
terminal
CLI
article
llms.txt
smart_toy
에이전트
data_object
스키마
menu_book
문서
로그인
login
기술 블로그
3월 11, 2026

멀티모달 LLM 을 활용한 오디오 임베딩 부트스트래핑

모든 멀티모달 대형 언어 모델 을 25배 적은 데이터로 CLAP 을 능가하는 소형 오디오 임베딩 모델 로 변환해 보세요.
Han Xiao • 7 분 소요
jina-ai/audio-embedding-kickstarter
GitHubjina-ai

Google은 최근 최초의 네이티브 멀티모달 임베딩 모델인 Gemini Embedding 2를 출시했습니다. 텍스트, 이미지, 비디오, 오디오, 문서가 모두 하나의 3072차원 벡터 공간으로 매핑됩니다. 이는 jina-embeddings-v4부터 Omni-Embed-Nemotron, Omni-5에 이르기까지, 모든 모달리티를 하나의 아키텍처에서 처리하는 통합 모델인 옴니 임베딩 모델(omni embedding models)로 향하는 광범위한 트렌드의 일부입니다.

Han Xiao presenting at EMNLP 2025 BoF session
작년 EMNLP BoF 세션에서 저는 2026년 밀집 검색(dense retrieval)의 핵심 방향 중 하나로 옴니 모델을 제시했습니다.

우리의 시선을 끈 것은 오디오였습니다. 대부분의 사람들은 "멀티모달 임베딩"이라고 하면 이미지나 비디오를 떠올립니다. 오디오는 잊혀진 모달리티입니다. 수집과 라벨링이 더 어렵고, 이를 연구하는 사람도 적습니다. Jina AI에서는 옴니 임베딩을 향한 연구의 일환으로 이 문제를 탐구하며 1.2B 미만의 파라미터를 가진 소형 오디오 임베딩 모델을 구축해 왔습니다. Gemini Embedding 2의 출시는 그동안 우리가 배운 것들을 공유하기에 좋은 시점입니다.

오디오 임베딩

오디오 임베딩은 오디오 클립을 고정된 길이의 벡터로 표현한 것입니다. 모델은 원시 파형(raw waveform)이 주어지면 소리의 의미론적 내용을 캡처하는 밀집 벡터(일반적으로 768~3072차원)를 생성합니다. 의미가 유사한 두 클립은 유사한 임베딩을 생성하며, 오디오 클립은 공유된 임베딩 공간에서 해당 텍스트 설명과 가깝게 위치합니다. 이는 옴니 임베딩 퍼즐의 한 조각입니다. 텍스트 및 이미지와 함께 오디오를 동일한 벡터 공간에 임베딩할 수 있게 되면, 모든 모달리티에 걸친 교차 모달 검색(cross-modal retrieval)이 가능해집니다.

2022년 이후 주류가 된 접근 방식은 CLIP을 오디오로 확장한 CLAP(Contrastive Language-Audio Pretraining)입니다. LAION-CLAP은 63만 개의 쌍과 기능 융합(feature fusion)을 통해 이를 확장했습니다. 가장 강력한 변체(Elizalde et al., 2023)는 22개의 다양한 오디오 태스크에 걸친 오디오 인코더와 자기회귀 디코더를 결합하여 460만 개의 쌍으로 학습되었으며, 250M 파라미터로 AudioCaps에서 42.0 cvR@5를 달성했습니다.

우리는 다른 경로를 택했습니다. 이미 오디오를 이해하는 멀티모달 거대언어모델(LLM)을 임베딩 모델로 전환하는 것입니다.

아키텍처

먼저 입력과 출력을 살펴보겠습니다. 입력은 원시 오디오입니다. 표준 포맷(WAV, MP3, FLAC)에서 디코딩되고 16kHz 모노로 리샘플링된 파형입니다. 오디오 인코더는 이 파형을 128-bin 로그-멜 스펙트로그램(log-mel spectrogram)으로 변환한 후, 초당 약 150개 토큰의 속도로 특징 토큰 시퀀스로 처리합니다. 10초 분량의 클립은 약 1,500개의 토큰이 됩니다. 최대 입력 길이는 30초이며, 더 긴 오디오는 청크로 나누어야 합니다. 출력은 거대언어모델(LLM) 백본 크기에 따라 일반적으로 896~3584차원의 단일 밀집 벡터(임베딩)입니다.

우리는 네이티브 오디오 이해 기능을 갖춘 멀티모달 거대언어모델(LLM)인 Qwen2.5-Omni에서 시작합니다. 여기에는 세 가지 구성 요소가 포함됩니다. 약 4.5M 선형 투영을 통해 파형을 특징 벡터로 변환하는 오디오 인코더(~0.6-0.8B 파라미터), 오디오 특징과 텍스트 토큰을 모두 처리하며 각 트랜스포머 레이어마다 약 0.2B 파라미터가 추가되는 거대언어모델(LLM) 백본(0.5-7B 파라미터), 그리고 마지막 은닉 상태(hidden state)를 평균 풀링하여 단일 임베딩 벡터로 만드는 풀링 레이어입니다. 두 모달리티 모두 동일한 거대언어모델(LLM) 백본을 공유하므로 사전 학습 단계에서 이미 어느 정도 정렬되어 있습니다.

Architecture comparison
왼쪽: 전체 MLLM을 엔드 투 엔드(3-7B 파라미터)로 파인튜닝하는 표준 방식. 오른쪽: 사전 학습된 오디오 인코더와 더 작은 소형언어모델(SLM) 백본을 결합하는 모듈 조합. 공유 백본은 오디오 피처와 텍스트 토큰을 모두 처리하여 동일한 벡터 공간에서 임베딩을 생성합니다.

학습 목표는 InfoNCE 대조 손실(contrastive loss)입니다. 각 모달리티는 독립적으로 인코딩되며, 손실은 양방향으로 계산되어 평균화됩니다.

def training_step(audio_batch, text_batch):
    audio_embeds = model.encode_audio(audio_batch)  # [B, D]
    text_embeds = model.encode_text(text_batch)      # [B, D]
    
    audio_embeds = F.normalize(audio_embeds, dim=-1)
    text_embeds = F.normalize(text_embeds, dim=-1)
    
    sim = audio_embeds @ text_embeds.T / temperature  # [B, B]
    labels = torch.arange(len(sim), device=sim.device)
    loss = (F.cross_entropy(sim, labels) + 
            F.cross_entropy(sim.T, labels)) / 2
    return loss

학습 데이터

총 18만 1천 개의 샘플로 구성된 5개의 오디오-텍스트 쌍 데이터셋을 사용했습니다.

데이터셋샘플 수설명
AudioSetStrong108K시간적으로 라벨링된 이벤트, GPT 생성 캡션 (AudioSet의 하위 집합)
FSD50K41K사람이 라벨링한 사운드 이벤트, 200개 클래스
Clotho19K오디오 캡셔닝, 상세 설명
UrbanSound8K9K도시 소음 분류
MACS4K도시 음향 장면

CLAP은 전체 AudioSet(200만 개 이상의 오디오)과 기타 소스를 포함하여 총 460만 개의 쌍을 사용했습니다. 우리는 AudioSetStrong(~10만 개)만 사용합니다. 사전 학습된 MLLM에서 시작하면 필요한 데이터의 양을 획기적으로 줄일 수 있습니다.

def load_sample(audio_path, caption):
    waveform, sr = torchaudio.load(audio_path)
    waveform = torchaudio.transforms.Resample(sr, 16000)(waveform)
    audio_inputs = processor.feature_extractor(
        waveform, sampling_rate=16000, return_tensors="pt"
    )
    text_inputs = processor.tokenizer(caption, padding=True, return_tensors="pt")
    return audio_inputs, text_inputs

네 가지 접근 방식

목표: CLAP을 능가하는 1.2B 미만의 오디오 임베딩 모델.

전체 모델 파인튜닝. 오디오-텍스트 쌍에 대해 Qwen2.5-Omni-7B를 학습시킨 결과: AudioCaps T2A cvR@5 = 63.2, Clotho T2A = 39.2입니다. 이것이 상한선이지만, 7B는 배포하기에 너무 큽니다. Tevatron 2.0도 AudioCaps만으로 파인튜닝하여 유사한 결과를 냈지만(61.2), Clotho에서는 11.9에 그쳐 단일 데이터셋 학습의 낮은 일반화 성능을 보여주었습니다. ColQwen-Omni는 오디오 데이터 없이 시각-문서 태스크만으로 파인튜닝하여 교차 모달 전이를 통해 37.4를 달성했습니다.

레이어 프루닝(Layer pruning). 7B 모델에서 트랜스포머 레이어를 제거합니다. 각 레이어는 약 0.2B이므로, 10개 레이어 모델은 총 약 3.5B가 됩니다.

Layer pruning effect
트랜스포머 레이어 제거에 따른 모델 크기 대비 성능. AudioCaps(빨간색)는 레이어를 20개에서 5개로 줄임에 따라 63.2에서 56.0 cvR@5로 저하됩니다. 모든 구성은 여전히 CLAP 기준선(점선)을 상회합니다. 하지만 5개 레이어(2.3B 파라미터)에서도 1B 목표에는 도달하지 못합니다.
레이어 수파라미터AudioCaps T2A cvR@5Clotho T2A cvR@5
205.8B63.239.2
103.5B58.236.5
52.3B56.036.0

배치 크기(32, 64, 128)는 유의미한 차이를 만들지 못했습니다. 큰 배치는 초기에 도움이 되지만 나중에는 성능을 저하시킬 수 있습니다. 배치 128은 Clotho에서 2,000 스텝에서 31.3 NDCG를 기록했지만, 10,000 스텝에서는 29.3으로 떨어졌습니다.

텍스트 전용 모달리티 전이. 사전 학습된 교차 모달 정렬에 의존하여 텍스트 쌍(MultiNLI, SNLI, FEVER, SciFact)에 대해서만 파인튜닝합니다. 전체 7B 모델에서는 효과가 있었지만(AudioCaps 46.1로 CLAP의 42.0을 능가), 프루닝된 10개 레이어 모델에서는 완전히 실패했습니다(cvR@5 = 5.9). 교차 모달 연결은 전체 네트워크에 분산되어 있어 프루닝 후에는 유지되지 않는 것으로 보입니다.

모듈 조합. 돌파구: 모델 제품군이 다르더라도 한 모델에서 오디오 인코더를 가져오고 다른 모델에서 소형언어모델(SLM)을 가져와 결합하는 것입니다. Qwen2.5-Omni는 세 단계로 학습됩니다: (1) 고정된 LLM과 오디오/비전 인코더 학습, (2) 모든 파라미터 고정 해제, (3) 32K 컨텍스트 확장. 우리는 서로 다른 단계의 모듈을 조합했습니다.

설정오디오 인코더LLM파라미터
M1Qwen3-Omni (0.6B, 1단계 전)Qwen2.5-0.5B1.1B
M2Qwen3-Omni (0.6B, 1단계 전)Qwen2.5-3B3.6B
M3Qwen2.5-Omni-3B (0.8B, 3단계 후)Qwen2.5-3B3.8B
M4Qwen2.5-Omni-3B (전체)전체 3B3.8B

구현 세부 사항: 독립형 Qwen3가 Qwen3ForCausalLM을 사용하는 반면, Qwen3-Omni는 Qwen3OmniMoePreTrainedModel을 사용합니다. 우리는 차원이 일치하는 Omni 모델 쉘을 초기화하고 가중치를 해당 위치에 복사했습니다.

Module combination results
각 설정에 대한 AudioCaps 및 Clotho T2A cvR@5 결과. 1.1B 파라미터의 M1은 AudioCaps에서 49.7에 도달하여 CLAP(42.0)을 18% 능가했습니다. 3단계 학습 이후의 더 잘 정렬된 오디오 인코더를 사용하면 결과가 개선됩니다(M3 vs M2: AudioCaps에서 +4.2). 거대언어모델(LLM) 사전 학습의 2-3단계는 임베딩 품질에 결정적이지 않습니다(M3 vs M4의 차이는 오차 범위 내).

평가

오디오 임베딩을 평가하는 것은 근본적으로 검색 품질에 관한 것입니다. 즉, 텍스트 쿼리가 주어졌을 때 모델이 올바른 오디오 클립을 찾을 수 있는지를 평가합니다. 핵심 과제는 "올바름"의 기준이 데이터셋에 따라 다르다는 점입니다. AudioCaps는 구체적인 묘사("남자가 말하고 이어서 문이 닫히는 소리")를 제공하는 반면, Clotho는 추상적인 캡션("먼 곳에서 들리는 우르릉 소리와 함께 조용한 분위기")을 제공합니다. 표면적인 오디오 특징만 기억하는 모델은 AudioCaps에서는 잘 작동하지만 Clotho에서는 어려움을 겪을 것입니다. 우리는 설명 스타일에 구애받지 않는 일반화 성능을 가장 중요하게 생각합니다.

CV-Recall@5 (cvR@5): 각 텍스트 쿼리에 대해 상위 5개 결과 내에 올바른 오디오 클립이 포함되어 있는지 확인합니다. 모든 쿼리에 대해 평균을 낸 이진 점수(Binary score)입니다. MTEB 오디오 검색(retrieval)에서 사용되는 표준 지표입니다.

def evaluate_cvr_at_k(model, dataset, k=5):
    audio_embeds = model.encode_audio(dataset.audio_clips)
    text_embeds = model.encode_text(dataset.text_queries)
    sim = F.normalize(audio_embeds) @ F.normalize(text_embeds).T
    
    hits = 0
    for i in range(len(dataset.text_queries)):
        top_k = sim[:, i].argsort(descending=True)[:k]
        if dataset.ground_truth[i] in top_k:
            hits += 1
    return hits / len(dataset.text_queries)

MTEB의 세 가지 평가 데이터셋: AudioCaps (비디오에서 유래, 사람이 작성한 캡션), AudioSetStrong (시간 정보 레이블링, GPT 생성 설명), Clotho (다양하고 추상적인 캡션). CLAP은 전체 AudioSet (200만 개 이상)을 사용한 반면, 본 연구에서는 AudioSetStrong (약 10만 개)을 사용했습니다. 이는 해당 벤치마크에서 CLAP이 우위를 점한 이유를 일부 설명해 줍니다.

Full results comparison
AudioCaps, AudioSetStrong, Clotho T2A 검색 전반에 걸친 모든 모델 구성의 비교를 보여주는 가로 막대 차트입니다. 빨간색 점선은 CLAP 베이스라인을 나타냅니다. 모듈 조합 모델(녹색)은 훨씬 작은 크기로도 강력한 결과를 달성합니다. 전체 7B 파인튜닝 모델(진한 파란색)이 상한선을 설정합니다.

적용 사례

오디오 임베딩은 전통적인 검색을 넘어 그 중요성이 커지고 있습니다. 에이전트 시스템에서 오디오 임베딩은 의도 라우팅(intent routing)을 가능하게 합니다. 음성 입력을 받은 에이전트는 전체 텍스트 변환을 기다리지 않고도 오디오를 임베딩하여 의미론적 유사성에 기반해 적절한 도구 나 하위 에이전트로 라우팅할 수 있습니다. 음향 이벤트 분류는 산업 현장의 실시간 모니터링, 스마트 홈 자동화 및 보안 시스템에 동력을 제공합니다. 멀티모달 에이전트 워크플로우에서 오디오 임베딩은 에이전트가 이미 텍스트나 이미지를 처리하는 것과 동일한 방식으로 오디오 콘텐츠를 검색, 비교 및 추론할 수 있게 해줍니다. 음악 및 미디어 애플리케이션에서는 유사성 검색, 저작권 감지 및 콘텐츠 추천에 이를 사용합니다. 음성 인터페이스가 AI 에이전트의 기본 상호작용 방식이 됨에 따라, 온디바이스(on-device)에서 실행되는 컴팩트한 오디오 임베딩은 저지연, 개인정보 보호 애플리케이션에 필수적입니다.

결론

사전 학습된 MLLM에서 시작하는 것이 가장 큰 지렛대입니다. 이는 교차 모달 정렬(cross-modal alignment), 강력한 텍스트 인코더, 성능이 뛰어난 오디오 인코더를 하나의 패키지로 제공합니다. 모듈 조합은 가장 유망한 방향입니다. 서로 다른 모델과 학습 단계의 오디오 인코더와 대규모 언어 모델을 혼합하는 것은 거의 탐구되지 않은 설계 공간을 열어줍니다. 저희 모델은 AudioCaps에서 우위를 점하고 있지만, AudioCaps가 놓치는 약점을 드러내는 추상적인 설명이 포함된 Clotho에서는 CLAP과 대등한 수준입니다. 교차 모달 전이는 모델 압축 과정에서 유지되지 않습니다.

이 작업은 텍스트, 이미지, 오디오, 비디오, 문서를 통합된 검색 공간으로 임베딩하는 단일 모델인 옴니(omni) 임베딩 모델을 향한 한 걸음입니다. 모듈 조합 방식은 사전 학습된 구성 요소를 재사용함으로써 새로운 모달리티를 효율적으로 부트스트랩(bootstrap)할 수 있음을 보여줍니다. 다음 단계로는 5억 개 미만의 활성화 파라미터를 가진 MoE 아키텍처, 모듈 조합과 모달리티 전이의 결합, 그리고 WavCaps, MusicCaps 및 음성 데이터셋을 활용한 데이터 확장이 포함됩니다.

범주:
기술 블로그
rss_feed

자세히 보기
3월 11, 2026 • 7 분 소요
Bootstrapping Audio Embeddings from Multimodal LLMs
Han Xiao
Abstract illustration of a sound wave or heartbeat, formed by blue, orange, and gray dots on a white background.
3월 06, 2026 • 6 분 소요
Identifying Embedding Models from Raw Numerical Values
Han Xiao
Fingerprint illustration made from numbers, showcasing digital and high-tech design on a light background.
9월 09, 2025 • 11 분 소요
Multimodal Embeddings in Llama.cpp and GGUF
Andrei Ungureanu
Alex C-G
Cartoon llama in the center of a white background, emitting laser-like beams from its eyes. The illustration creates a playfu
현재 언어 / 테마
Search Foundation
Reader
Embeddings
Reranker
Jina API 키 받기
속도 제한
회사 소개
소식
Jina 로고 다운로드
open_in_new
Elastic 로고 다운로드
open_in_new
API 상태
Elastic © 2026.보안이용약관개인정보 보호쿠키 관리제 개인 정보를 판매하거나 공유하지 마세요.
본 웹사이트 및 관련 콘텐츠, 소프트웨어, 제품, 서비스는 전문가용으로만 제작되었습니다. 일반 소비자를 위한 것이 아니며, 소비자의 사용을 권장하지 않습니다.