MiMo: 효율적인 수학적 추론과 코드 생성을 위한 소규모 오픈 소스 모델
일반 소개
MiMo는 수학적 추론과 코드 생성에 중점을 두고 Xiaomi에서 개발한 오픈 소스 대규모 언어 모델링 프로젝트입니다. 핵심 제품은 기본 모델(Base), 감독 미세 조정 모델(SFT), 기본 모델에서 학습된 강화 학습 모델(RL-Zero), SFT 모델에서 학습된 강화 학습 모델(RL)로 구성된 MiMo-7B 모델 제품군입니다. 이 70억 개의 파라미터 모델은 사전 학습 데이터, 다중 토큰 예측(MTP) 및 강화 학습을 최적화하여 더 큰 모델에 필적하는 추론 능력을 보여줍니다. miMo-7B-RL은 수학 및 코딩 작업에서 OpenAI o1-mini보다 뛰어난 성능을 발휘합니다. vLLM 및 SGLang 추론 엔진에서 사용할 수 있으며, Hugging Face 및 ModelScope에서 다운로드할 수 있습니다. Xiaomi는 효율적인 추론 모델 개발을 촉진하기 위해 MiMo를 오픈소스화했습니다.

기능 목록
- 수학적 추론AIME, MATH-500 등과 같은 수학 경시 대회를 풀고 복잡한 문제에 대한 추론을 지원합니다.
- 코드 생성라이브코드벤치 프로그래밍 작업을 위해 Python, C++ 등으로 고품질 코드를 생성하세요.
- 다중 토큰 예측(MTP)추론 수용률 ~90%로 여러 토큰을 예측하여 속도와 정확도를 개선합니다.
- 오픈 소스 모델 지원개발자가 자유롭게 사용할 수 있도록 MiMo-7B 시리즈 모델(Base, SFT, RL-Zero, RL)이 제공됩니다.
- 효율적인 추론 엔진추론 성능을 최적화하기 위해 Xiaomi 사용자 지정 vLLM 및 SGLang을 지원합니다.
- 향상된 학습 최적화13만 개의 수학 및 코드 문제 데이터 세트를 기반으로 향상된 모델 추론 기능.
- 원활한 롤백 엔진2.29배 빠른 훈련과 1.96배 빠른 검증으로 강화 학습 훈련이 가속화됩니다.
- 유연한 배포허깅 페이스 트랜스포머, vLLM 및 SGLang이 지원됩니다.
도움말 사용
설치 및 배포
MiMo-7B 모델은 독립형 소프트웨어 설치가 필요하지 않지만 추론 환경 구성이 필요합니다. 자세한 배포 단계는 다음과 같으며, Python 3.8 이상을 권장합니다.
1. 환경 준비
종속성 충돌을 피하기 위해 가상 환경을 권장하며, 시스템에 Python과 pip가 설치되어 있는지 확인하세요:
python3 -m venv mimo_env
source mimo_env/bin/activate
2. 종속성 설치
MiMo는 MTP 기능을 지원하는 Xiaomi의 사용자 지정 vLLM 브랜치를 사용할 것을 권장합니다. 설치 명령은 다음과 같습니다:
pip install torch transformers
pip install "vllm @ git+https://github.com/XiaomiMiMo/vllm.git@feat_mimo_mtp_stable_073"
SGLang을 사용하는 경우 실행합니다:
python3 -m pip install "sglang[all] @ git+https://github.com/sgl-project/sglang.git@main#egg=sglang&subdirectory=python"
3. 모델 다운로드
MiMo-7B 모델은 허깅 페이스와 모델스코프에서 호스팅되며, MiMo-7B-RL을 예로 들어 설명합니다:
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "XiaomiMiMo/MiMo-7B-RL"
model = AutoModelForCausalLM.from_pretrained(model_id, trust_remote_code=True)
tokenizer = AutoTokenizer.from_pretrained(model_id)
모델 파일은 약 14GB이므로 저장 공간이 충분한지 확인합니다. 모델 범위는 비슷한 방식으로 다운로드되며, 다음을 대체합니다. model_id
는 해당 주소입니다.
4. 추론 서비스 활성화
vLLM을 사용하여 추론 서버를 시작합니다(권장):
python3 -m vllm.entrypoints.api_server --model XiaomiMiMo/MiMo-7B-RL --host 0.0.0.0 --trust-remote-code
또는 SGLang을 사용합니다:
python3 -m sglang.launch_server --model-path XiaomiMiMo/MiMo-7B-RL --host 0.0.0.0 --trust-remote-code
서버가 시작되면 API 또는 명령줄을 통해 모델과 상호 작용할 수 있습니다.
주요 기능
수학적 추론
MiMo-7B-RL은 수학적 추론 작업, 특히 AIME 및 MATH-500 데이터 세트에서 탁월한 성능을 발휘합니다. 사용자가 수학적 질문을 입력하면 모델이 답을 생성합니다. 예시:
from vllm import LLM, SamplingParams
llm = LLM(model="XiaomiMiMo/MiMo-7B-RL", trust_remote_code=True)
sampling_params = SamplingParams(temperature=0.6)
outputs = llm.generate(["Solve: 2x + 3 = 7"], sampling_params)
print(outputs[0].outputs[0].text)
운영 지침::
- 활용
temperature=0.6
생성 품질과 다양성의 균형을 맞추세요. - 복잡한 문제는 단계별로 입력하여 명확하게 설명할 수 있습니다.
- AIME 2024(68.2% Pass@1), AIME 2025(55.4% Pass@1) 및 MATH-500(95.8% Pass@1)이 지원됩니다.
코드 생성
MiMo-7B-RL은 라이브코드벤치 v5(57.8% Pass@1) 및 v6(49.3% Pass@1)에 대해 Python, C++ 및 기타 언어를 지원하여 고품질 코드를 생성합니다. 예시:
from vllm import LLM, SamplingParams
llm = LLM(model="XiaomiMiMo/MiMo-7B-RL", trust_remote_code=True)
sampling_params = SamplingParams(temperature=0.6)
outputs = llm.generate(["Write a Python function to calculate factorial"], sampling_params)
print(outputs[0].outputs[0].text)
운영 지침::
- 기능 입력 및 출력 요구 사항과 같은 구체적인 작업 설명을 제공하세요.
- 생성된 코드의 구문 무결성을 확인합니다.
- 알고리즘 설계 및 프로그래밍 대회 작업에 적합합니다.
다중 토큰 예측(MTP)
MTP는 약 90%의 수락률로 여러 토큰을 예측하여 추론을 가속화하는 MiMo의 핵심 기능입니다. MTP를 사용하려면 Xiaomi의 맞춤형 vLLM이 필요합니다:
from vllm import LLM, SamplingParams
llm = LLM(model="XiaomiMiMo/MiMo-7B-RL", trust_remote_code=True, num_speculative_tokens=1)
sampling_params = SamplingParams(temperature=0.6)
outputs = llm.generate(["Write a Python script"], sampling_params)
print(outputs[0].outputs[0].text)
운영 지침::
- 설정
num_speculative_tokens=1
MTP를 활성화합니다. - MTP는 처리량이 많은 시나리오에서 가장 잘 작동합니다.
- MTP 레이어는 사전 훈련 및 SFT 단계에서 튜닝되고 RL 단계에서 고정됩니다.
원활한 롤백 엔진
MiMo는 강화 학습 훈련을 최적화하기 위해 원활한 롤백 엔진을 개발했습니다. 사용자가 이 기능을 직접 조작할 필요는 없지만, 그 효과는 모델 성능에 반영됩니다:
- 2.29배 빠른 교육 및 1.96배 빠른 검증.
- 통합된 연속 롤백, 비동기 보상 계산, 조기 종료 기능으로 GPU 유휴 시간을 줄이세요.
추론 엔진 선택
- vLLM(권장)샤오미 커스텀 vLLM(vLLM 0.7.3 기반)은 최적의 성능으로 MTP를 지원합니다. 고성능 추론이 필요한 경우에 적합합니다.
- SGLang주류 추론 지원, MTP 지원 곧 제공 예정. 신속한 배포에 적합합니다.
- 포옹하는 얼굴 트랜스포머간단한 테스트 또는 로컬 디버깅에 적합하지만 MTP는 지원하지 않습니다.
주의
- 시스템 경고최적의 성능을 위해 시스템 팁을 비우는 것이 좋습니다.
- 하드웨어 요구 사항단일 GPU 권장(예: NVIDIA A100 40GB), CPU 추론에는 최소 32GB의 RAM이 필요합니다.
- 평가 설정모든 평가는
temperature=0.6
AIME와 LiveCodeBench는 여러 실행 평균을 사용합니다. - 커뮤니티 지원문제가 있는 경우 GitHub에 문제를 제출하거나 다음 연락처로 문의하세요.
mimo@xiaomi.com
.
애플리케이션 시나리오
- 학술 연구
MiMo-7B 모델은 수학적 추론과 코드 생성 알고리즘을 탐구하는 연구자에게 적합합니다. 개발자는 오픈 소스 모델을 기반으로 모델을 미세 조정하여 사전 학습 및 강화 학습 전략을 조사할 수 있습니다. - 프로그래밍 교육
교사는 MiMo를 사용하여 프로그래밍 연습 문제에 대한 답을 생성하고, 학생은 코드 로직을 확인하거나 알고리즘 구현에 대해 배울 수 있습니다. - 대회 교육
MiMo는 수학 및 프로그래밍 경시 대회를 준비하는 학생들을 위해 AIME 및 MATH-500 수학 경시 대회 문제를 지원합니다. - AI 개발
개발자는 자동화된 코드 검토 도구나 수학 풀이 도구 등 MiMo-7B를 기반으로 맞춤형 애플리케이션을 구축할 수 있습니다.
QA
- MiMo-7B 시리즈에는 어떤 모델이 있나요?
MiMo-7B에는 기본 모델(Base), 감독 미세 조정 모델(SFT), 기본 모델에서 학습된 강화 학습 모델(RL-Zero), SFT 모델에서 학습된 강화 학습 모델(RL)이 있으며, RL 버전이 가장 성능이 뛰어납니다. - 추론 엔진을 선택하는 방법은 무엇인가요?
권장 Xiaomi 사용자 지정 vLLM(MTP 지원, 최적의 성능)은 빠른 배포에 적합하며, SGLang은 간단한 테스트에 적합하고, Hugging Face Transformers는 간단한 테스트에 적합합니다. - MTP는 어떻게 성능을 향상시킬 수 있나요?
MTP는 90%의 추론 수용률로 여러 토큰을 예측하여 처리량이 많은 시나리오에 적합하며, 속도를 크게 향상시킵니다. - 모델이 여러 언어를 지원하나요?
MiMo는 주로 수학 및 코딩 작업에 최적화되어 있으며 영어와 일부 중국어 입력을 지원하며 다른 언어에 대한 명시적인 지원은 없습니다. - 하드웨어 요구 사항은 무엇인가요?
단일 GPU(예: NVIDIA A100 40GB)로 MiMo-7B-RL을 실행할 수 있습니다. CPU 추론에는 최소 32GB의 RAM이 필요하지만 속도가 느립니다.
© 저작권 정책
이 글은 저작권이 있으며 무단으로 복제해서는 안 됩니다.
관련 문서
댓글 없음...