그렇다면 Anakin AI를 놓치지 마세요!
Anakin AI는 모든 워크플로 자동화를 위한 올인원 플랫폼으로, 사용하기 쉬운 노코드 앱 빌더를 통해 강력한 AI 앱을 만들 수 있으며, Deepseek, OpenAI의 o3-mini-high, Claude 3.7 Sonnet, FLUX, Minimax Video, Hunyuan 등을 포함합니다...
Anakin AI로 몇 주가 아닌 몇 분 안에 당신의 꿈의 AI 앱을 만들어 보세요!

소개
Qwen2.5-Omni-7B는 Alibaba Cloud의 Qwen 팀에서 개발한 최신 멀티모달 AI 기술의 혁신을 나타냅니다. Qwen2.5 시리즈의 일환으로 출시된 이 7B 매개변수 모델은 텍스트, 이미지, 오디오 및 비디오를 포함한 다양한 입력 모달리티를 인식하고 처리할 수 있으며, 동시에 스트리밍 방식으로 텍스트와 자연어 응답을 생성하는 종단 간 멀티모달 기능에서 중요한 발전을 의미합니다.
Qwen2.5-Omni-7B의 차별점은 모든 모달리티에서 뛰어난 다재다능성과 성능을 제공하여 다양한 AI 응용 프로그램을 위한 진정한 "옴니" 모델이 되었다는 점입니다. 이 모델은 음성, 비전 및 텍스트를 동시에 처리할 수 있는 능력을 갖추고 있어 현재 사용 가능한 가장 발전된 오픈소스 멀티모달 모델 중 하나입니다.
주요 기능 및 능력

혁신적인 Thinker-Talker 아키텍처
Qwen2.5-Omni-7B의 핵심에는 포괄적인 멀티모달 인식을 위한 혁신적인 Thinker-Talker 아키텍처가 자리하고 있습니다. 이 아키텍처는 모델이 다음과 같은 작업을 수행할 수 있게 합니다:
- 다양한 입력 모달리티를 동시에 처리
- 텍스트와 음성 출력을 모두 생성
- 실시간으로 스트리밍 응답 제공
이 아키텍처에는 비디오 입력의 타임스탬프를 오디오와 동기화하여 보다 일관된 멀티모달 이해를 가능하게 하는 새로운 위치 임베딩 시스템인 TMRoPE(시간 정렬 멀티모달 RoPE)가 포함되어 있습니다.
실시간 음성 및 비디오 채팅
이 모델은 완전 실시간 상호작용을 위해 구축되었으며, 청크 입력 처리를 지원하고 즉각적인 출력 생성을 가능하게 합니다. 이러한 기능은 가상 비서 및 인터랙티브 시스템과 같은 자연스러운 대화 흐름이 필요한 애플리케이션에 매우 중요합니다.
자연스러운 강력한 음성 생성
Qwen2.5-Omni-7B는 많은 기존 스트리밍 및 비스트리밍 대안에 비해 뛰어난 음성 생성 능력을 보여 줍니다. 모델의 음성 출력은 탁월한 강건성과 자연스러움으로 특징지어져 있어, 고품질 음성 출력이 필수적인 애플리케이션에 적합합니다.
강력한 크로스 모달 성능
Qwen2.5-Omni-7B는 비슷한 크기의 단일 모달 모델과 비교할 때 모든 모달리티에서 뛰어난 성능을 보입니다. 오디오 기능에서 유사한 크기의 Qwen2-Audio보다 성능이 뛰어나며, 비전-언어 작업에서 Qwen2.5-VL-7B와 유사한 성능을 달성하여 진정한 멀티모달 시스템으로서의 다재다능성을 보여줍니다.
탁월한 음성 지시 따름
Qwen2.5-Omni-7B의 가장 인상적인 측면 중 하나는 음성 입력을 통해 지시를 따르는 능력으로, 텍스트 입력 능력에 필적하는 성능을 보여줍니다. 이는 음성 입력을 제공받았을 때 MMLU 및 GSM8K와 같은 기준에서 뛰어난 성과를 보여 주며, 모델이 입력 모달리티에 관계없이 높은 인지 능력을 유지한다는 것을 나타냅니다.
기준 성능
Qwen2.5-Omni-7B는 여러 기준을 통해 포괄적인 평가를 받으며, 다양한 분야에서 꾸준히 강력한 성능을 보여줍니다:
멀티모달 기준
음성, 소리 이벤트 및 음악 이해에서 성능을 테스트하는 OmniBench에서:
- Qwen2.5-Omni-7B: 평균 성능 56.13%
- Gemini-1.5-Pro: 42.91%
- Baichuan-Omni-1.5: 42.90%
- MiniCPM-o: 40.50%
이는 Qwen2.5-Omni-7B가 비슷한 크기의 모델들 중 멀티모달 이해 작업에서 가장 뛰어난 성능을 나타낸다는 것을 의미합니다.
오디오 처리
LibriSpeech에서 음성 인식을 위해:
- Qwen2.5-Omni-7B: test-clean에서 1.8 WER, test-other에서 3.4 WER
- Qwen2-Audio: test-clean에서 1.6 WER, test-other에서 3.6 WER
- Whisper-large-v3: test-clean에서 1.8 WER, test-other에서 3.6 WER
MMAU에서 오디오 이해를 위해:
- Qwen2.5-Omni-7B: 65.60% (평균)
- Gemini-Pro-V1.5: 54.90%
- Qwen2-Audio: 49.20%
이미지 및 비디오 이해
이미지 이해 기준에서:
- MMMU val: 59.2% (GPT-4o-mini의 60.0% 및 Qwen2.5-VL-7B의 58.6%와 비교)
- MMBench-V1.1-EN test: 81.8% (Qwen2.5-VL-7B의 82.6% 및 GPT-4o-mini의 76.0%와 비교)
비디오 이해에 대해:
- MVBench: 70.3% (Qwen2.5-VL-7B의 69.6%와 비교)
- 자막 없는 Video-MME: 64.3% (Qwen2.5-VL-7B의 65.1%와 비교)
텍스트 전용 기준
멀티모달 모델임에도 불구하고 Qwen2.5-Omni-7B는 텍스트 전용 기준에서 강력한 성능을 유지합니다:
- MMLU-redux: 71.0% (Qwen2.5-7B의 75.4%와 비교)
- GSM8K: 88.7% (Qwen2.5-7B의 91.6%와 비교)
- HumanEval: 78.7% (Qwen2.5-7B의 84.8%와 비교)
텍스트 전용 성능이 전문화된 텍스트 모델(Qwen2.5-7B)보다 다소 낮지만, Llama3.1-8B 및 Gemma2-9B와 같은 많은 유사 모델보다 훨씬 뛰어난 성과를 보입니다.
Qwen2.5-Omni-7B 로컬 실행하기
Qwen2.5-Omni-7B를 로컬에서 설정하고 실행하려면 멀티모달 요구 사항으로 인해 약간의 준비가 필요합니다. 시작하기 위한 종합 가이드는 다음과 같습니다:
시스템 요구 사항
Qwen2.5-Omni-7B를 효과적으로 실행하려면 다음이 필요합니다:
- 충분한 메모리를 갖춘 CUDA 호환 GPU:
- 15초 비디오: 31.11 GB (BF16)
- 30초 비디오: 41.85 GB (BF16)
- 60초 비디오: 60.19 GB (BF16)
- 참고: 실제 메모리 사용량은 일반적으로 이론적 최소보다 1.2배 더 높습니다.
- 소프트웨어 요구 사항:
- Python 3.8+
- PyTorch 2.0+
- FFmpeg (오디오/비디오 처리용)
설치 단계
필요한 패키지 설치하기:
pip uninstall transformers
pip install git+https://github.com/huggingface/transformers@3a1ead0aabed473eafe527915eea8c197d424356
pip install accelerate
pip install qwen-omni-utils[decord]
Flash Attention 2 설치하기 (성능 향상을 위한 선택적 사항):
pip install -U flash-attn --no-build-isolation
기본 사용 예
아래는 Transformers와 함께 Qwen2.5-Omni-7B를 사용하는 기본 예시입니다:
import soundfile as sf
from transformers import Qwen2_5OmniModel, Qwen2_5OmniProcessor
from qwen_omni_utils import process_mm_info
# 모델 로드
model = Qwen2_5OmniModel.from_pretrained(
"Qwen/Qwen2.5-Omni-7B",
torch_dtype="auto",
device_map="auto",
# 호환 가능한 하드웨어에서 성능 향상을 위해 주석 해제
# attn_implementation="flash_attention_2",
)
# 프로세서 로드
processor = Qwen2_5OmniProcessor.from_pretrained("Qwen/Qwen2.5-Omni-7B")
# 대화 준비
conversation = [
{
"role": "system",
"content": "당신은 Qwen, Alibaba 그룹 Qwen 팀이 개발한 가상 인간으로, 청각 및 시각 입력을 인식하고 텍스트와 음성을 생성할 수 있습니다.",
},
{
"role": "user",
"content": [
{"type": "video", "video": "<https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen2.5-Omni/draw.mp4>"},
],
},
]
# 추론 준비
text = processor.apply_chat_template(conversation, add_generation_prompt=True, tokenize=False)
audios, images, videos = process_mm_info(conversation, use_audio_in_video=True)
inputs = processor(
text=text,
audios=audios,
images=images,
videos=videos,
return_tensors="pt",
padding=True
)
inputs = inputs.to(model.device).to(model.dtype)
# 추론: 출력 텍스트 및 오디오 생성
text_ids, audio = model.generate(**inputs, use_audio_in_video=True)
text = processor.batch_decode(text_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)
print(text)
# 오디오 출력 저장
sf.write(
"output.wav",
audio.reshape(-1).detach().cpu().numpy(),
samplerate=24000,
)
사용 팁
오디오 출력 요구 사항
오디오 출력을 활성화하려면 시스템 프롬프트가 정확히 다음과 같이 설정되어야 합니다:
{
"role": "system",
"content": "당신은 Qwen, Alibaba 그룹 Qwen 팀이 개발한 가상 인간으로, 청각 및 시각 입력을 인식하고 텍스트와 음성을 생성할 수 있습니다."
}
음성 유형 선택
Qwen2.5-Omni-7B는 두 가지 음성 유형을 지원합니다:
- Chelsie (여성): 부드럽고 달콤한 음성으로 따뜻하고 맑은 음색
- Ethan (남성): 밝고 경쾌한 음성으로 전염성 있는 에너지와 따뜻함
음성을 지정하려면 spk
매개변수를 사용할 수 있습니다:
text_ids, audio = model.generate(**inputs, spk="Ethan")
비디오 처리 옵션
비디오 URL 호환성은 서드파티 라이브러리 버전에 따라 다릅니다:
torchvision >= 0.19.0
: HTTP 및 HTTPS 모두 지원decord
: HTTP만 지원
환경 변수를 설정하여 백엔드를 변경할 수 있습니다:
FORCE_QWENVL_VIDEO_READER=torchvision
# 또는
FORCE_QWENVL_VIDEO_READER=decord
도커 배포
간소화된 배포를 위해 공식 Docker 이미지를 사용할 수 있습니다:
docker run --gpus all --ipc=host --network=host --rm --name qwen2.5-omni -it qwenllm/qwen-omni:2.5-cu121 bash
도커를 통해 웹 데모를 시작하려면:
bash docker/docker_web_demo.sh --checkpoint /path/to/Qwen2.5-Omni-7B --flash-attn2
vLLM 배포
더 빠른 추론을 위해 vLLM을 권장합니다:
Qwen2.5-Omni 지원을 포함한 vLLM을 설치합니다:
pip install git+https://github.com/huggingface/transformers@1d04f0d44251be5e236484f8c8a00e1c7aa69022
pip install accelerate
pip install qwen-omni-utils
git clone -b qwen2_omni_public_v1 <https://github.com/fyabc/vllm.git> vllm
cd vllm
pip install .
기본 vLLM 사용법 (현재 텍스트 전용 출력 지원):
import os
import torch
from transformers import Qwen2_5OmniProcessor
from vllm import LLM, SamplingParams
from qwen_omni_utils import process_mm_info
os.environ['VLLM_USE_V1'] = '0' # vLLM 엔진 v1은 아직 지원되지 않음
MODEL_PATH = "Qwen/Qwen2.5-Omni-7B"
llm = LLM(
model=MODEL_PATH,
trust_remote_code=True,
gpu_memory_utilization=0.9,
tensor_parallel_size=torch.cuda.device_count(),
limit_mm_per_prompt={'image': 1, 'video': 1, 'audio': 1},
seed=1234
)
# 예시와 같이 입력을 처리하고 출력을 생성합니다.
결론
Qwen2.5-Omni-7B는 멀티모달 AI 기술의 중요한 발전을 나타내며, 단일 모델에서 텍스트, 이미지, 오디오 및 비디오 처리를 통해 인상적인 성능을 제공합니다. 7B 매개변수 크기를 통해 능력과 리소스 요구 사항 간의 균형을 잘 맞추어 다양한 배포 시나리오에서 접근할 수 있습니다.
여러 모달리티를 이해할 수 있을 뿐만 아니라 텍스트와 음성을 모두 생성할 수 있는 모델의 능력은 가상 비서, 콘텐츠 생성, 접근성 도구 등 다양한 응용 프로그램에 대한 가능성을 열어줍니다. 더 큰 전문 모델에 대해 경쟁력 있는 성능을 보여 주어 그 구조와 훈련 방식의 효과를 입증합니다.
AI가 더 인간과 유사한 상호작용 기능으로 발전해 나가면서, Qwen2.5-Omni-7B와 같은 모델은 여러 형태의 통신을 원활하게 연결할 수 있는 보다 자연스럽고 다재다능한 인공지능 시스템을 만드는 데 중요한 진전을 나타냅니다.