검색
검색
공개 노트 검색
회원가입로그인

MiniMax-01: 긴 컨텍스트 처리에 탁월한 최신 오픈 소스 AI 모델 시리즈 (456B)

MiniMax-01

미니맥스-01(MiniMax-01)은 미니맥스(MiniMax) 연구팀이 개발한 최신 오픈 소스 모델 시리즈로, MiniMax-Text-01과 MiniMax-VL-01 두 가지 모델을 포함하고 있습니다. 이 모델은 텍스트 및 비주얼 언어 모델링 분야에서 새로운 기준을 세우며, 극한의 컨텍스트 길이를 처리할 수 있도록 설계되었습니다.

개요

MiniMax-01 시리즈는 혁신적인 구조와 새롭게 도입된 'Lightning Attention' 메커니즘을 통해 경쟁 모델보다 훨씬 더 긴 컨텍스트를 처리하는 능력을 갖추고 있습니다. 이 시리즈는 단일 입력으로 최대 400만 토큰의 컨텍스트를 처리할 수 있으며, GPT-4o에 비해 32배, Claude-3.5-Sonnet에 비해 20배 더 긴 컨텍스트를 지원합니다. 또한, 이모델은 Visual Language Task에서도 강력한 성능을 보여줍니다.

모델 구조

MiniMax-Text-01

MiniMax-Text-01은 4560억 개의 전체 파라미터를 가지고 있으며, 각 토큰에 대해 459억 개의 파라미터가 활성화됩니다. 이 모델은 Lightning Attention, Softmax Attention, Mixture-of-Experts (MoE)를 통합한 하이브리드 아키텍처를 채택하여 긴 컨텍스트 길이를 지원합니다. 주요 특징은 다음과 같습니다:

  • 총 파라미터: 4560억

  • 활성화된 파라미터: 459억/token

  • 층 수: 80

  • 주의 메커니즘: 7개의 Lightning Attention 뒤 1개의 Softmax Attention 배치

  • 주의 헤드 수: 64

  • 주의 헤드 크기: 128

  • Mixture-of-Experts: 전문가 수 32, 히든 차원 9216, Top-2 라우팅 전략

MiniMax-VL-01

MiniMax-Text-01의 강력한 성능을 기반으로, MiniMax-VL-01은 뛰어난 비주얼 기능을 갖춘 멀티모달 모델입니다. 이 모델은 Vision Transformer (ViT), MLP 프로젝트, 그리고 MiniMax-Text-01 구성 요소로 이루어져 있습니다. 특징은 다음과 같습니다:

  • 총 파라미터: 3억3000만

  • ViT 레이어: 24

  • 패치 크기: 14

  • 히든 차원: 1024

  • FFN 히든 차원: 4096

  • 주의 헤드 수: 16

  • 주의 헤드 크기: 64

성능 평가

MiniMax-Text-01은 다양한 벤치마크 테스트에서 높은 성능을 보여주었습니다. 특히 GPT-4o, Claude-3.5-Sonnet 등의 선두 모델과 비교할 때 긴 문서 처리에서 성능 저하가 적었습니다. 또한, MiniMax-VL-01은 여러 멀티모달 작업에서 우수한 성능을 입증하였습니다.

텍스트 벤치마크

  • MMLU*: 88.5

  • SimpleQA: 23.7

  • GPT-4o: 91.2

  • Claude-3.5-Sonnet: 88.8

비전 벤치마크

  • MMMU*: 68.5

  • ChartQA*: 91.7

  • DocVQA*: 96.4

MiniMax-01: 긴 컨텍스트 처리에 탁월한 최신 오픈 소스 AI 모델 시리즈 (456B) image 1

사용 방법

아래는 MiniMax-Text-01과 MiniMax-VL-01을 사용하는 예제입니다:

MiniMax-Text-01

from transformers import AutoModelForCausalLM, AutoTokenizer, AutoConfig, QuantoConfig, GenerationConfig

# 설정 로드
hf_config = AutoConfig.from_pretrained("MiniMaxAI/MiniMax-Text-01", trust_remote_code=True)
quantization_config = QuantoConfig(weights="int8", modules_to_not_convert=["lm_head", "embed_tokens"] + [f"model.layers.{i}.coefficient" for i in range(hf_config.num_hidden_layers)] + [f"model.layers.{i}.block_sparse_moe.gate" for i in range(hf_config.num_hidden_layers)])

# 토크나이저 로드
tokenizer = AutoTokenizer.from_pretrained("MiniMaxAI/MiniMax-Text-01")
prompt = "Hello!"
messages = [{"role": "system", "content": [{"type": "text", "text": "You are a helpful assistant created by MiniMax based on MiniMax-Text-01 model."}]}, {"role": "user", "content": [{"type": "text", "text": prompt}]}]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
model_inputs = tokenizer(text, return_tensors="pt").to("cuda")

# 모델 로드
quantized_model = AutoModelForCausalLM.from_pretrained("MiniMaxAI/MiniMax-Text-01", torch_dtype="bfloat16", device_map=device_map, quantization_config=quantization_config, trust_remote_code=True, offload_buffers=True)

# 응답 생성
generation_config = GenerationConfig(max_new_tokens=20, eos_token_id=200020, use_cache=True)
generated_ids = quantized_model.generate(**model_inputs, generation_config=generation_config)
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]

MiniMax-VL-01

from transformers import AutoModelForCausalLM, AutoProcessor, AutoConfig, QuantoConfig, GenerationConfig
import torch
import json
import os
from PIL import Image

# 설정 로드
hf_config = AutoConfig.from_pretrained("MiniMaxAI/MiniMax-VL-01", trust_remote_code=True)
quantization_config = QuantoConfig(weights="int8", modules_to_not_convert=["vision_tower", "image_newline", "multi_modal_projector", "lm_head", "embed_tokens"] + [f"model.layers.{i}.coefficient" for i in range(hf_config.text_config.num_hidden_layers)] + [f"model.layers.{i}.block_sparse_moe.gate" for i in range(hf_config.text_config.num_hidden_layers)])

# 프로세서 로드
processor = AutoProcessor.from_pretrained("MiniMaxAI/MiniMax-VL-01", trust_remote_code=True)
messages = [{"role": "system", "content": [{"type": "text", "text": "You are a helpful assistant created by MiniMax based on MiniMax-VL-01 model."}]}, {"role": "user", "content": [{"type": "image", "image": "placeholder"}, {"type": "text", "text": "Describe this image."}]}]
prompt = processor.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
raw_image = Image.open("figures/image.jpg")
model_inputs = processor(images=[raw_image], text=prompt, return_tensors='pt').to('cuda').to(torch.bfloat16)

# 모델 로드
quantized_model = AutoModelForCausalLM.from_pretrained("MiniMaxAI/MiniMax-VL-01", torch_dtype="bfloat16", device_map=device_map, quantization_config=quantization_config, trust_remote_code=True, offload_buffers=True)
generation_config = GenerationConfig(max_new_tokens=100, eos_token_id=200020, use_cache=True)

# 응답 생성
generated_ids = quantized_model.generate(**model_inputs, generation_config=generation_config)
response = processor.tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]

결론

MiniMax-01 시리즈는 새로운 차원의 텍스트 및 비전 언어 모델링을 제공합니다. 이를 통해 다양한 AI 응용 분야에서 긴 컨텍스트를 처리하는 능력이 향상되었습니다. 이러한 성능은 특히 대규모 데이터를 다루는 애플리케이션에서 유용할 것입니다. MiniMax의 모델은 GitHub 및 다양한 플랫폼에서 공개되어 있으며, 개발자와 연구자들이 손쉽게 접근하여 사용할 수 있도록 구성되었습니다.

참고

허깅페이스 : MiniMaxAI (MiniMax)

API 플랫폼 : MiniMax - Intelligence with everyone

공유하기
카카오로 공유하기
페이스북 공유하기
트위터로 공유하기
url 복사하기
조회수 : 100
heart
T
페이지 기반 대답
AI Chat