pixtral - 오픈소스 멀티모달 모델 (이미지 인식)
pixtral
픽스트랄(Pixtral)은 프랑스의 AI 스타트업 미스트랄(Mistral)에서 개발한 첫 번째 멀티모달 AI 모델입니다. 이 모델은 텍스트와 이미지를 동시에 처리할 수 있는 능력을 가지고 있으며, 120억 개의 매개변수를 활용하여 고도의 문제 해결 능력을 자랑합니다. 픽스트랄 12B는 2024년 9월 12일 미국 샌프란시스코에서 열린 AI 서밋 행사에서 공식적으로 발표되었습니다.
소개
픽스트랄 12B는 미스트랄의 기존 텍스트 모델인 Mixtral Nemo 12B를 기반으로 개발되었습니다. 새로운 4억 개의 매개변수 비전 어댑터가 추가되어, 이미지 처리 기능이 강화되었습니다. 이 모델은 이미지와 텍스트 데이터를 혼합하여 학습되었으며, 다양한 멀티모달 작업에서 우수한 성능을 보입니다.
주요 특징
아키텍처
비전 인코더와 멀티모달 트랜스포머 디코더: 비전 인코더는 이미지를 토큰으로 변환하는 역할을 하며, 멀티모달 트랜스포머 디코더는 텍스트와 이미지 시퀀스를 기반으로 다음 텍스트 토큰을 예측합니다.
변수 이미지 크기 지원: Pixtral 12B는 이미지의 자연 해상도와 비율을 그대로 유지하여 처리할 수 있습니다. 이러한 기능은 도표, 차트, 문서 분석 등의 복잡한 그림 이해를 가능하게 합니다.
128,000 토큰의 긴 컨텍스트 윈도우: 대용량 문맥을 유지할 수 있어 다수의 이미지를 한 번에 처리할 수 있습니다.
성능
MMMU Reasoning Benchmark에서 52.5%의 성능을 기록하며, 더 큰 모델들과도 경쟁할 만한 성능을 보였습니다.
GPT-4o와 Claude-3.5-Sonnet처럼 유명한 멀티모달 모델들과의 비교 평가에서도 상당한 우위를 점했습니다.
멀티모달과 텍스트 전용 작업 모두에서 우수한 지시 따르기 능력을 보였습니다.
활용 사례
콘텐츠 생성 및 데이터 분석: 마케팅, 광고, 교육, 헬스케어 등 다양한 산업에서 활용할 수 있습니다. 예를 들어, 맞춤형 마케팅 메시지 생성, 환자 데이터 분석, 교육 자료 제작 등의 작업에 유용합니다.
도형 이해 및 분석: Pixtral은 도표 이해, 문서 질의 응답, 멀티모달 추론 등 다양한 작업을 수행할 수 있습니다.
사용 방법
API 및 로컬 사용
API 사용: 사용자 친화적인 채팅 인터페이스 'Le Chat'와 API 서비스 플랫폼 'La Plateforme'를 통해 Pixtral을 사용할 수 있습니다.
로컬 사용: 'mistral-inference'와 'vLLM' 라이브러리를 통해 Pixtral을 로컬 환경에서 실행할 수 있습니다. Hugging Face 및 GitHub를 통해 모델 체크포인트를 다운로드할 수 있습니다.
예제 코드
API 사용 예제
curl https://api.mistral.ai/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MISTRAL_API_KEY" \
-d '{
"model": "pixtral-12b-2409",
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "What’s in this image?"
},
{
"type": "image_url",
"image_url": "https://tripfixers.com/wp-content/uploads/2019/11/eiffel-tower-with-snow.jpeg"
}
]
}
],
"max_tokens": 300
}'
로컬 사용 예제
from huggingface_hub import snapshot_download
from mistral_inference.transformer import Transformer
from mistral_inference.generate import generate
from mistral_common.tokens.tokenizers.mistral import MistralTokenizer
# 모델 다운로드 및 로드
snapshot_download(repo_id="mistralai/Pixtral-12B-2409", local_dir="mistral_models/Pixtral")
tokenizer = MistralTokenizer.from_file("mistral_models/Pixtral/tekken.json")
model = Transformer.from_folder("mistral_models/Pixtral")
# 이미지 URL을 사용한 예제
url = "https://tripfixers.com/wp-content/uploads/2019/11/eiffel-tower-with-snow.jpeg"
prompt = "Describe the image."
completion_request = ChatCompletionRequest(messages=[UserMessage(content=[ImageURLChunk(image_url=url), TextChunk(text=prompt)])])
tokens, images = tokenizer.encode_chat_completion(completion_request)
# 모델 실행
out_tokens, _ = generate([tokens], model, images=[images], max_tokens=256)
result = tokenizer.decode(out_tokens[0])
print(result)
평가
텍스트는 약하지만 이미지 인식 모델을 쓸만하다고 합니다. 오픈소스 비전 모델이라는 것에서 큰 의미가 있을 것 같습니다.
결론
픽스트랄 12B는 텍스트와 이미지를 통합해 처리할 수 있는 최신 AI 모델로, 여러 산업에서 혁신적인 솔루션을 제공할 수 있을 것으로 기대됩니다. 미스트랄은 이 모델을 통해 AI 기술의 새로운 가능성을 제시하고 있으며, 업계 전문가들로부터 큰 기대를 받고 있습니다. Apache 2.0 라이선스로 제공되어 누구나 자유롭게 사용할 수 있습니다.