Skip to content

vipmath/Midm-2.0

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation




🤗 Mi:dm 2.0 Models | 📜 Mi:dm 2.0 Technical Report | 📕 Mi:dm 2.0 Technical Blog*

*To be released soon

News 📢

  • 🔜 (Coming Soon!) GGUF format model files will be available soon for easier local deployment.
  • ⚡️2025/07/04: Released Mi:dm 2.0 Model collection on Hugging Face🤗.

Table of Contents


Overview

Mi:dm 2.0

Mi:dm 2.0 is a "Korea-centric AI" model developed using KT's proprietary technology. The term "Korea-centric AI" refers to a model that deeply internalizes the unique values, cognitive frameworks, and commonsense reasoning inherent to Korean society. It goes beyond simply processing or generating Korean text—it reflects a deeper understanding of the socio-cultural norms and values that define Korean society.

Mi:dm 2.0 is released in two versions:

  • Mi:dm 2.0 Base
    An 11.5B parameter dense model designed to balance model size and performance.
    It extends an 8B-scale model by applying the Depth-up Scaling (DuS) method, making it suitable for real-world applications that require both performance and versatility.

  • Mi:dm 2.0 Mini
    A lightweight 2.3B parameter dense model optimized for on-device environments and systems with limited GPU resources. It was derived from the Base model through pruning and distillation to enable compact deployment.

Note

Neither the pre-training nor the post-training data includes KT users' data.


Quickstart

Here is the code snippet to run conversational inference with the model:

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig

model_name = "K-intelligence/Midm-2.0-Mini-Instruct"

model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype=torch.bfloat16,
    trust_remote_code=True,
    device_map="auto"
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
generation_config = GenerationConfig.from_pretrained(model_name)

prompt = "KT에 대해 소개해줘"

# message for inference
messages = [
    {"role": "system", 
     "content": "Mi:dm(믿:음)은 KT에서 개발한 AI 기반 어시스턴트이다."},
    {"role": "user", "content": prompt}
]

input_ids = tokenizer.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    return_tensors="pt"
)

output = model.generate(
    input_ids.to("cuda"),
    generation_config=generation_config,
    eos_token_id=tokenizer.eos_token_id,
    max_new_tokens=128,
    do_sample=False,
)
print(tokenizer.decode(output[0]))

Note

The transformers library should be version 4.45.0 or higher.


Evaluation

Korean

Model Society & Culture General Knowledge Instruction Following
K-Refer* K-Refer-Hard* Ko-Sovereign* HAERAE Avg. KMMLU Ko-Sovereign* Avg. Ko-IFEval Ko-MTBench Avg.
Qwen3-4B 53.6 42.9 35.8 50.6 45.7 50.6 42.5 46.5 75.9 63.0 69.4
Exaone-3.5-2.4B-inst 64.0 67.1 44.4 61.3 59.2 43.5 42.4 43.0 65.4 74.0 68.9
Mi:dm 2.0-Mini-inst 66.4 61.4 36.7 70.8 58.8 45.1 42.4 43.8 73.3 74.0 73.6
Qwen3-14B 72.4 65.7 49.8 68.4 64.1 55.4 54.7 55.1 83.6 71 77.3
Llama-3.1-8B-inst 43.2 36.4 33.8 49.5 40.7 33.0 36.7 34.8 60.1 57 58.5
Exaone-3.5-7.8B-inst 71.6 69.3 46.9 72.9 65.2 52.6 45.6 49.1 69.1 79.6 74.4
Mi:dm 2.0-Base-inst 89.6 86.4 56.3 81.5 78.4 57.3 58.0 57.7 82 89.7 85.9
Model Comprehension Reasoning
K-Prag* K-Refer-Hard* Ko-Best Ko-Sovereign* Avg. Ko-Winogrande Ko-Best LogicKor HRM8K Avg.
Qwen3-4B 73.9 56.7 91.5 43.5 66.6 67.5 69.2 5.6 56.7 43.8
Exaone-3.5-2.4B-inst 68.7 58.5 87.2 38.0 62.5 60.3 64.1 7.4 38.5 36.7
Mi:dm 2.0-Mini-inst 69.5 55.4 80.5 42.5 61.9 61.7 64.5 7.7 39.9 37.4
Qwen3-14B 86.7 74.0 93.9 52.0 76.8 77.2 75.4 6.4 64.5 48.8
Llama-3.1-8B-inst 59.9 48.6 77.4 31.5 51.5 40.1 26.0 2.4 30.9 19.8
Exaone-3.5-7.8B-inst 73.5 61.9 92.0 44.0 67.2 64.6 60.3 8.6 49.7 39.5
Mi:dm 2.0-Base-inst 86.5 70.8 95.2 53.0 76.1 75.1 73.0 8.6 52.9 44.8

* indicates KT proprietary evaluation resources.


English

Model Instruction Reasoning Math Coding General Knowledge
IFEval BBH GPQA MuSR Avg. GSM8K MBPP+ MMLU-pro MMLU Avg.
Qwen3-4B 79.7 79.0 39.8 58.5 59.1 90.4 62.4 - 73.3 73.3
Exaone-3.5-2.4B-inst 81.1 46.4 28.1 49.7 41.4 82.5 59.8 - 59.5 59.5
Mi:dm 2.0-Mini-inst 73.6 44.5 26.6 51.7 40.9 83.1 60.9 - 56.5 56.5
 
Qwen3-14B 83.9 83.4 49.8 57.7 63.6 88.0 73.4 70.5 82.7 76.6
Llama-3.1-8B-inst 79.9 60.3 21.6 50.3 44.1 81.2 81.8 47.6 70.7 59.2
Exaone-3.5-7.8B-inst 83.6 50.1 33.1 51.2 44.8 81.1 79.4 40.7 69.0 54.8
Mi:dm 2.0-Base-inst 84.0 77.7 33.5 51.9 54.4 91.6 77.5 53.3 73.7 63.5

Usage

Run on Your Local Machine

llama.cpp

We assume that you have installed llama.cpp.

  1. Download Mi:dm 2.0 model in GGUF format from our Hugging Face repository.

    huggingface-cli download K-intelligence/Midm-2.0-Base-Instruct-GGUF \
        --include "Midm-2.0-Base-Instruct-GGUF-BF16.gguf" \
        --local-dir .
    
  2. To run the model, use the command below:

    llama-cli

    MODEL_PATH=./Midm-2.0-Base-Instruct-GGUF-BF16.gguf
    
    llama-cli \
        -m ${MODEL_PATH} \
        -p "KT에 대해 소개해줘" \ # customize your prompt here
        --temp 0.7
    

    llama-server

    python3 -m llama_cpp.server \
      --model ${MODEL_PATH} \
    

LM Studio

You can easily use Mi:dm 2.0 in LM Studio with just a few clicks.

  1. Install LM Studio.
  2. In Discover tab of LM Studio, search for and download the model. Alternatively, you can manually download Mi:dm 2.0 model in GGUF format using huggingface-cli.
    huggingface-cli download K-intelligence/Midm-2.0-Base-Instruct-GGUF \
        --include "Midm-2.0-Base-Instruct-GGUF-BF16.gguf" \
        --local-dir .
    If you downloaded the model manually, move the file to the LM Studio model directory (~/.lmstudio/models/) with the following structure:
    ~/.lmstudio/models/
    └── midm/
        └── midm-2.0-base/
            └── Midm-2.0-Base-Instruct-GGUF-BF16.gguf
    
  3. In Chat tab, run the model in conversational mode.
  4. To use OpenAI-compatible API endpoints, start the server from Developer tab.
  5. To connect Mi:dm 2.0 with the MCP (Model Context Protocol) server for tool usage, go to Chat tab in LM Studio and update Program settings by adding or modifying the mcp.json file as follows:
       {
         "mcpServers": {
           "server-time": {
             "command": "uvx",
             "args": [
               "mcp-server-time",
               "--local-timezone=Asia/Seoul"
             ]
           },
           "ddg-search": {
             "command": "uvx",
             "args": [
               "duckduckgo-mcp-server"
             ]
           }
         }
       }

Ollama

We provide a guide for running Mi:dm 2.0 via Ollama in our Open WebUI tutorial. Once the setup is complete, you can run Mi:dm 2.0 using the following command:

ollama run midm-2.0:base

Deployment

To serve Mi:dm 2.0 using vLLM(>=0.8.0) with an OpenAI-compatible API:

vllm serve K-intelligence/Midm-2.0-Base-Instruct


Tutorials

To help our end-users easily use Mi:dm 2.0, we have provided comprehensive tutorials on our tutorial page. We provide several examples to help you get started with Mi:dm 2.0 quickly and easily:

Tutorial Description Link
📘 Supervised Fine-Tuning Fine-tune Mi:dm 2.0 using trl and SFTTrainer with the SimpleQA-GenX2 dataset 🔗
🎯 Inference with Mi:dm 2.0-Mini Run Mi:dm 2.0-Mini with optimal generation settings 🔗
🧩 Plug Mi:dm 2.0 into Open WebUI Integrate Mi:dm 2.0 with Open WebUI using Ollama and Explore MCP & RAG exercises 🔗
🗺️ Mi:dm 2.0 Prompt Examples A collection of prompting examples and use cases across key tasks and domains 🔗

More Information

Limitation

  • The training data for both Mi:dm 2.0 models consists primarily of English and Korean. Understanding and generation in other languages are not guaranteed.

  • The model is not guaranteed to provide reliable advice in fields that require professional expertise, such as law, medicine, or finance.

  • Researchers have made efforts to exclude unethical content from the training data — such as profanity, slurs, bias, and discriminatory language. However, despite these efforts, the model may still produce inappropriate expressions or factual inaccuracies.


License

Mi:dm 2.0 is licensed under the MIT License.


Contact

Mi:dm 2.0 Technical Inquiries: [email protected]

About

Official repository for Mi:dm 2.0, the large language model developed by KT.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 99.6%
  • Dockerfile 0.4%