facts
이번에 공개된 Motif-3-Beta는 기존 오픈소스 아키텍처를 재가공하거나 파라미터를 재조정한 것이 아니라, 바닥부터 자체 설계하여 구축한 Mixture-of-Experts(MoE) 모델이다. 현재 버전은 최종 릴리스 전의 중간 체크포인트인 베타 상태로 제공된다.
262,144 토큰에 달하는 256K의 네이티브 롱컨텍스트를 지원한다. 이는 방대한 양의 문서 분석이나 대규모 코드베이스 전체를 한 번에 입력으로 넣어 처리해야 하는 실무 시나리오에서 활용 가능하다. 모델의 내부 구조는 총 53개의 층으로 구성되었으며, 히든 사이즈 4096, 어휘 사전 크기 220,160개로 설정되었다. 연산 최적화를 위해 텐서 타입은 bfloat16을 사용한다.
라이선스는 개인적 용도, 교육 및 비상업적 연구 목적으로만 허용된다. 상업적 이용을 위해서는 개발사인 Motif Technologies의 별도 서면 허가가 필요하다.
how-it-works
추론 효율을 확보하기 위해 총 파라미터 314B 중 토큰당 약 13B의 파라미터만 활성화하는 Sparse Routing(희소 라우팅) 기법을 적용했다. 384개의 전문가 모델 중 토큰당 8개의 전문가를 활성화하며, 여기에 범용 지식 처리를 위한 1개의 공유 전문가를 추가해 연산 효율과 성능의 균형을 맞췄다.
모델 내부에는 Motif Technologies가 독자적으로 도입한 커스텀 컴포넌트들이 포함되어 있다. 그룹화된 차분 잠재 주의 집중 기법인 GDLA(Grouped Differential Latent Attention)와 전문가별로 적용되는 Grouped PolyNorm activation(그룹화된 다항식 정규화 활성화 함수), 그리고 수정된 mHC 기법이 이에 해당한다.
성능 측정 지표인 AAII(Artificial Analysis Intelligence Index)에서는 44점을 기록했다. 다만 이는 개발사 측이 제시한 수치이며, 구체적인 하네스나 비교 대상 모델과의 상대적 우위 조건은 명시되지 않았다.
implementation-impact
vLLM(대규모 언어 모델 추론 가속 라이브러리) 환경을 지원하며, B200 및 H200 GPU에서 테스트를 완료했다. 특히 `modelopt_blockfp8` 양자화 방식을 적용해 메모리 점유율을 낮추고 처리량을 높일 수 있다. vLLM을 이용한 서버 구동 명령어는 다음과 같다.
vllm serve "Motif-Technologies/Motif-3-Beta" \
--served-model-name motif \
--trust-remote-code \
--tensor-parallel-size 1 \
--data-parallel-size 8 \
--data-parallel-size-local 8 \
--enable-expert-parallel \
--dtype bfloat16 \
--quantization modelopt_blockfp8 \
--max-model-len 262144 \
--generation-config auto \
--reasoning-parser motif \
--enable-auto-tool-choice \
--tool-call-parser motif \
--gpu-memory-utilization 0.85 \
--host 0.0.0.0 --port 8080HuggingFace의 `generate` 함수를 통한 직접 추론 시에는 커스텀 모델링 코드가 포함되어 있으므로 `trust_remote_code=True` 옵션을 반드시 설정해야 한다. 기본적인 파이썬 실행 코드는 다음과 같다.
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
model_id = "Motif-Technologies/Motif-3-Beta"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_id,
trust_remote_code=True,
dtype=torch.bfloat16,
device_map="auto",
attn_implementation="flash_attention_2",
)
messages = [{"role": "user", "content": "Hello!"}]
inputs = tokenizer.apply_chat_template(
messages, add_generation_prompt=True, return_tensors="pt", return_dict=True
).to(model.device)
outputs = model.generate(**inputs, max_new_tokens=512)
print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:], skip_special_tokens=True))실무자가 도입 시 가장 주의해야 할 점은 커스텀 모델링 코드로 인한 `trust_remote_code=True` 설정의 필수성 및 256K 롱컨텍스트 처리 시 발생하는 메모리 부하를 제어하기 위해 `modelopt_blockfp8` 양자화 적용 여부를 우선적으로 판단해야 한다는 점이다.



