1P by GN⁺ | ★ favorite | 댓글 1개
  • Xiaomi의 MiMo-7B는 추론 작업을 위해 처음부터 학습한 7B 언어 모델 시리즈로, 베이스·SFT·RL 모델 체크포인트를 오픈소스로 공개함
  • 2025년 5월 30일 업데이트에서 SFT 데이터셋을 약 50만 건에서 600만 건으로 늘리고 RL 학습 윈도 크기를 32K에서 48K로 확장해 MiMo-7B-RL-0530의 AIME 2024 성능이 80.1에 도달함
  • 사전학습은 약 25조 토큰과 3단계 데이터 혼합 전략을 사용하며, 추론 패턴 밀도를 높이기 위한 데이터 필터링·합성 추론 데이터·Multiple-Token Prediction을 포함함
  • 후학습은 수학·코드 문제 13만 건, 규칙 기반 검증기, 규칙 기반 정확도 보상, 코드 문제용 테스트 난이도 기반 보상과 쉬운 문제 재샘플링 전략을 사용함
  • 배포는 SGLang, Xiaomi의 vLLM 포크, HuggingFace 예제를 제공하며, 다른 추론 엔진에서의 MiMo 검증은 아직 완료되지 않았고 기여를 받음

MiMo-7B 시리즈의 목표와 공개 범위

  • MiMo-7B는 언어 모델의 추론 잠재력을 사전학습부터 후학습까지 끌어내는 것을 목표로 한 모델 시리즈임
  • 공개된 체크포인트는 다음 4종임
  • 모델은 HuggingFaceModelScope에서 제공됨
  • 기술 보고서는 arXiv에 공개됨

2025년 5월 30일 업데이트

  • MiMo-7B-RL-0530은 SFT 데이터셋을 약 50만 건에서 600만 건으로 확장하고, RL 학습 윈도 크기를 32K에서 48K로 계속 확장한 결과를 반영함
  • AIME 2024에서 MiMo-7B-RL-0530은 80.1을 기록해 DeepSeek R1의 79.8을 넘어섬
  • 주요 벤치마크 변화는 다음과 같음
    • MATH500 Pass@1: 95.8 → 97.2
    • AIME 2024 Pass@1: 68.2 → 80.1
    • AIME 2025 Pass@1: 55.4 → 70.2
    • LiveCodeBench v5 Pass@1: 57.8 → 60.9
    • LiveCodeBench v6 Pass@1: 49.3 → 52.2
    • GPQA-Diamond Pass@1: 54.4 → 60.6
    • Alignbench1.1, GPT-4.1 평가: 6.9 → 7.4

사전학습: 추론용 베이스 모델

  • MiMo-7B-Base는 추론 작업을 위해 처음부터 학습된 베이스 모델임
  • 사전학습은 약 25조 토큰을 사용함
  • 데이터 처리에서는 텍스트 추출 도구를 개선하고, 다차원 데이터 필터링을 적용해 사전학습 데이터의 추론 패턴 밀도를 높임
  • 다양한 대규모 합성 추론 데이터를 생성하기 위해 여러 전략을 사용함
  • 사전학습에는 3단계 데이터 혼합 전략이 적용됨
  • Multiple-Token Prediction을 추가 학습 목표로 넣어 모델 성능과 추론 속도를 개선함

후학습과 RL 학습 방식

  • 후학습에는 규칙 기반 검증기로 확인 가능한 수학·코드 문제 13만 건을 RL 학습 데이터로 사용함
  • 각 문제는 품질 확보를 위해 정제와 난이도 평가를 거침
  • 보상은 잠재적 보상 해킹을 피하기 위해 규칙 기반 정확도 보상만 사용함
  • 어려운 코드 문제의 희소 보상 문제를 완화하기 위해 테스트 난이도 기반 코드 보상을 도입함
    • 난이도가 다른 테스트 케이스에 세분화된 점수를 부여함
    • 정책은 더 조밀한 보상 신호로 최적화될 수 있음
  • 쉬운 문제에는 데이터 재샘플링 전략을 적용해 롤아웃 샘플링 효율을 높이고, 특히 RL 학습 후반부의 정책 업데이트를 안정화함

RL 인프라와 모델 구조

  • Seamless Rollout Engine은 RL 학습과 검증을 가속하기 위해 개발됨
  • 설계는 연속 롤아웃, 비동기 보상 계산, 조기 종료를 결합해 GPU 유휴 시간을 줄임
  • 성능 개선 수치는 다음과 같음
    • 학습 속도 2.29배 향상
    • 검증 속도 1.96배 향상
  • MiMo-7B의 MTP 레이어는 사전학습과 SFT 중 튜닝되고, RL 중에는 고정됨
  • MTP 레이어 1개를 투기적 디코딩에 사용할 때 수락률은 약 90%
  • vLLM에서 MTP를 지원하고, RL 시스템의 추론 엔진 견고성을 강화함

평가 결과

  • MiMo-7B-RL은 수학과 코드 추론 작업에서 OpenAI o1-mini와 맞먹는 성능을 보인다고 제시됨
  • 주요 모델 비교에서 MiMo-7B-RL의 수학·코드 결과는 다음과 같음
    • MATH-500 Pass@1: 95.8
    • AIME 2024 Pass@1: 68.2
    • AIME 2025 Pass@1: 55.4
    • LiveCodeBench v5 Pass@1: 57.8
    • LiveCodeBench v6 Pass@1: 49.3
  • MiMo-7B 시리즈 내부 비교에서는 RL 적용 후 성능이 크게 상승함
    • MATH500: Base 37.4 → RL-Zero 93.6 → SFT 93.0 → RL 95.8
    • AIME 2024: Base 32.9 → RL-Zero 56.4 → SFT 58.7 → RL 68.2
    • LiveCodeBench v5: Base 32.9 → RL-Zero 49.1 → SFT 52.3 → RL 57.8
  • 평가 설정은 temperature=0.6
  • 반복 평가 조건은 다음과 같음
    • AIME24와 AIME25는 32회 반복 평균
    • LiveCodeBench v5, LiveCodeBench v6, GPQA-Diamond, IF-Eval은 8회 반복 평균
    • MATH500과 SuperGPQA는 단일 실행

배포와 추론 사용

  • SGLang은 MiMo 모델 지원과 MTP 지원을 통해 MiMo를 메인스트림에서 지원함
  • vLLM 추론은 Xiaomi의 vLLM 포크 사용을 권장함
    • 권장 포크: XiaomiMiMo/vllm
    • 해당 포크는 vLLM 0.7.3 기반으로 개발됨
  • MTP 파라미터를 로드하지 않는 방식으로 vLLM 로더를 등록할 수도 있음
  • HuggingFace 추론 예제는 AutoModelForCausalLM.from_pretrainedAutoTokenizer.from_pretrained를 사용함
  • 권장 프롬프트 설정은 빈 system prompt
  • 다른 추론 엔진에서의 MiMo 검증은 아직 완료되지 않았고, HuggingFace 저장소의 모델 정의를 기반으로 한 기여를 받음

댓글과 토론

Hacker News 의견들
  • 논문에서 코드 데이터용 강화학습 단계를 어떻게 처리했는지가 흥미로웠음. 어렵지만 풀 수 있는 코드 생성 과제를 단위 테스트로 실행해 학습했는데, 다른 모델들도 이런 학습 단계를 거치는지 궁금함
    논문에서는 테스트 케이스가 없는 문제를 제거하고, 정답 코드가 있어도 모든 테스트를 통과하지 못하면 제외하며, 정답 코드가 없는 문제는 고급 추론 모델 16회 샘플링 중 어떤 테스트도 풀지 못하면 버린다고 함. 쉬운 문제도 MiMo-7B의 SFT 버전으로 걸러내 최종적으로 3만 개 코드 문제를 만들었다고 함
    또한 강화학습 반복마다 수천 문제와 문제당 수백 개 테스트 케이스를 평가해야 해서, GPU 유휴 시간을 없애기 위해 초대량 단위 테스트를 병렬 실행하는 온라인 저지 환경을 만들었다고 함

    • 단위 테스트 없이 강화학습을 하는 경우가 있나? 그렇지 않다면 다른 모델 제작자들이 정확도를 무시한다는 뜻이 되니 의외일 듯함
      작은 모듈식 문제에는 가능하겠지만, 입력이 20만 토큰인 문제에는 이런 방식이 어려울 수도 있음
  • 중국에서 나온 AI 모델 중 왜 영어 우선 모델이 이렇게 많은지 궁금함. 자국 사용자를 대상으로 삼을 생각이 없는 건지, 아니면 중국어 우선 모델을 공개해도 서구권에서 주목받기 어렵기 때문인지 모르겠음

    • CommonCrawl은 2008년부터 데이터를 수집해 온, 가장 크고 접근하기 쉬운 합법 크롤링 데이터셋임. 거의 모두가 기반 대규모 언어 모델 학습의 기본 데이터셋으로 쓰고, 대부분 영어라서 모델들이 영어를 잘하게 됨
      https://commoncrawl.org/
    • 과학 연구, 특히 AI 벤치마크에서는 영어가 사실상 표준 언어가 된 상황 아닌가 싶음
      중국어로 뭔가를 직접 시험해 보기는 명백히 불가능하고, 번역이 필요함
    • LLM을 이해하려는 이 논문에서 흥미로웠던 점은, 모델들이 서로 다른 언어의 단어와 개념을 다국어 회로(Multilingual Circuits) 로 연결한다는 부분이었음
      예시는 영어의 “small” 반대말이 big, 프랑스어의 “petit” 반대말이 grand, 중국어의 “小” 반대말이 “大”로 이어지는 식임. 관련 그림도 꽤 멋짐
      영어가 인터넷의 공용어이고 가장 큰 말뭉치를 차지하지만, 주류 모델들은 영어 데이터셋을 이용해 언어 간 연관을 구축할 수 있음. 그래서 데이터, 기술, 자원이 부족해 자체 지역 모델을 만들기 어려운 언어권에도 훨씬 강한 AI와 추론 능력이 생길 수 있음
      https://www.anthropic.com/research/tracing-thoughts-language...
      https://www.anthropic.com/_next/image?url=https%3A%2F%2Fwww-...
    • 고품질 학습 자료의 상당 부분이 영어일 거라고 봄
    • 중국 인터넷은 대기업들이 강하게 통제하는 몇몇 폐쇄형 정원으로 거의 구성되어 있음. 각 회사가 자기 데이터를 지키려고 엔지니어 부대를 투입하면 크롤러가 제대로 작동하지 않음
      인기 웹사이트 중 상당수는 앱 전용이기도 해서, 좋은 LLM 학습에 필요한 말뭉치를 확보하기가 불가능함
  • 7B 모델치고는 코딩 성능이 믿기 어려울 정도로 강함. 내가 쓰는 Gemini Pro 2.5가 67.8인데 이 모델은 57.8이고, 60.6인 Gemini 2.5 Flash와도 매우 가까움
    llama4 관련 이야기를 보고 평가 결과에는 꽤 회의적이 되었으니 비공개 평가에서 어디쯤 나올지는 봐야겠지만, 지금 수치는 매우 인상적임

  • LM Studio, Ollama 등에서 쓸 수 있는 GGUF 버전: https://huggingface.co/jedisct1/MiMo-7B-RL-GGUF

  • Ollama에서 gguf 파일을 쓸 때 보통 함께 쓸 Modelfile을 직접 만들고 쓰는지, 아니면 Ollama 기본값이 새 모델에도 잘 맞기를 기대하는지 궁금함
    https://github.com/ollama/ollama/blob/main/docs%2Fmodelfile....

    • Georgi Gerganov가 GGUF를 설계할 때 핵심 목표 중 하나가 다른 파일이 필요 없게 하는 것이었음. 명세의 첫 번째 항목부터 말 그대로 단일 파일 배포
      모델을 불러오는 데 필요한 모든 정보가 모델 파일 안에 있고, 사용자가 추가 정보를 제공할 필요가 없다는 내용임
      https://github.com/ggml-org/ggml/blob/master/docs/gguf.md
      겨우 다중 파일 혼란을 없앴더니 Ollama가 다시 추가한 셈이라 아쉬움
    • ollama pull을 하면 Modelfile도 blob과 함께 내려받아짐. 모델을 영구적으로 수정하려면 Modelfile을 텍스트 편집기에 복사한 뒤, 필요한 변경을 넣어 기존 Modelfile에서 새 모델을 만들 수 있음
      Open WebUI에서 쓰는 내 작업 흐름은 ollama show qwen3:30b-a3b-q8_0 --modelfile로 확인하고, Modelfile 내용을 admin -> models -> OpenwebUI에 붙여넣은 뒤 이름을 qwen3:30b-a3b-q8_0-monkversion-1처럼 바꾸고, num_gpu 90 같은 매개변수로 레이어 수를 조정한 다음 예전 파일을 유지하거나 삭제하는 식임
      Modelfile 안에는 새 Modelfile을 만들려면 FROM# FROM qwen3:30b-a3b-q8_0처럼 바꾸라는 안내가 나오며, 경로가 맞는지도 확인해야 함. 나는 모델을 기본 Ollama 위치가 아닌 큰 NVMe 드라이브에 저장해서 이게 중요함
      덧붙이면 Modelfile 워크플로는 정말 번거롭고 형편없는 패턴이라 싫음. 어떤 모델은 30~60GB인데 매개변수 하나 바꾸려고 전체를 복사하는 건 멍청한 방식임
      그래도 Ollama는 잘하는 점도 많고, 시작하기 쉽게 만들어 줌. vLLM, SGLang, Mistral.rs, llama.cpp는 설정에 훨씬 더 많은 작업이 필요함
    • 보통 처음에는 기본값을 쓰고, 계속 쓸 모델이면 Modelfile을 사용함. Ollama가 쓰는 Modelfile을 덤프해서 템플릿으로 삼을 수도 있을 것 같음
  • 벤치마크에서 현재 여러 평가에서 최고 성능인 O3나 Gemini Pro, Claude 3.7 같은 상위 모델을 빼놓는 걸 보면 좀 웃김

    • 그 모델들은 훨씬 훨씬 크고 비공개 모델임. 해당 제공사들이 증류 버전을 식별해 공개해 둔 것도 아님
      비교 대상 대부분이 7B 모델이라는 점을 봐야 함. 예외도 오픈 가중치 모델인 Qwen-2.5-32B-RL-Zero이고, MiMo-7B는 32B 매개변수 모델보다도 더 잘함
    • 여기 목표는 오프라인이나 모바일 하드웨어에서 돌리도록 최적화된 비슷한 모델들과 비교하는 데 있다고 봄
  • MiMo-7B는 7B 모델을 처음부터 학습해 Qwen-32B 같은 더 큰 모델을 넘고, 수학·코드 벤치마크에서 OpenAI o1-mini와 맞먹는다고 주장함. 이게 사전학습 + RLHF 최적화가 드디어 규모의 힘을 앞지르기 시작했다는 신호인지, 아니면 좁은 능력을 벤치마킹하는 솜씨가 좋아진 것뿐인지 궁금함

    • Qwen 3인지 2.5인지가 궁금함
  • README에는 어떤 종류의 강화학습인지 밝히지 않고 그냥 RL이라고만 되어 있음. 연구자들이 바쁜 것도 알고 좋은 글쓰기에 시간이 드는 것도 알지만, 이런 세부사항은 빼먹지 않았으면 함

    • 기술 보고서에서는 수정된 GRPO 목적함수 같은 강화학습 사용 방식을 꽤 깊게 다룸. README에 관해서라면, 이 분야에서 활동하는 사람 대부분은 추론 모델에서 “RL”이 무엇을 뜻하는지 이해한다고 생각함
    • “RL”이 강화학습을 뜻한다고 봤고, 대학에서 AI를 공부한 지 10년쯤 됐지만 그냥 RL이라고 쓰는 것도 충분히 타당하지 않나 싶음. Q-Learning을 썼는지 다른 알고리즘을 썼는지 같은 구체성을 원하는 건지 궁금함
  • 이 모델을 Xiaomi 15 시리즈 폰의 AI 어시스턴트에 쓸지 궁금함. 아마 그럴 가능성이 높아 보이지만, 어떤 결과가 나올지는 잘 모르겠음

  • 7B 모델에서 이런 벤치마크 수치가 나오는 건 믿기 어려움

    • 작은 모델들의 성능은 계속 조금씩 올라가고 있음. 대기업의 주류 모델을 단번에 뛰어넘는 건 아니라서 헤드라인을 장식하진 않지만, 모두 꽤 유능해졌음
      얼마 전 Ollama에서 임의의 12B 모델을 올려봤는데, 쓰던 머신을 생각하면 너무 잘하고 빠르게 느껴져서 놀랐음. 1년 전쯤에는 그렇지 않았을 것임
    • 이 수치가 비현실적으로 보인다면 qwen3-4B의 벤치마크 숫자를 봐야 함
      https://qwenlm.github.io/blog/qwen3/
    • 내 추측으로는 테스트에 과적합된 것 같음
    • 모든 LLM은 사실상 벤치마크로 학습되고 있어서, LLM에 적용되는 “벤치마크”라는 말은 꽤 의미가 없어짐
    • 오늘의 최고 모델은 남은 평생 동안 계속 더 나쁜 모델이 될 것임