본문 바로가기

AI 소식/오픈소스 AI 모델

[Phi-4-mini-reasoning] 마이크로소프트의 경량 추론 모델, 온디바이스에서도 실행 가능한 Phi-4 Mini 소개 | 오픈소스 AI | 로컬 실행 | 추론 특화

안녕하세요,
수학 및 논리 추론에 최적화된 경량 AI 모델을 찾고 계신가요? 마이크로소프트에서 공개한 Phi-4-mini-reasoning 모델은 3.8억 파라미터로 구성된 가벼운 구조임에도 불구하고, 복잡한 수학 문제 해결과 논리적 추론에서 매우 뛰어난 성능을 보여주는 모델입니다.

이번 포스팅에서는 Phi-4-mini-reasoning 모델을 로컬 환경에서 실행하는 두 가지 방법(간편한 Ollama 기반 실행과 유연한 Python 코드 실행 방식)을 소개합니다. 이 글을 통해 로컬 환경에서 AI 추론 모델을 직접 실행하고 테스트하는 방법을 쉽게 따라 해보실 수 있습니다.


Phi-4-mini-reasoning

Phi‑4‑mini‑reasoning은 마이크로소프트가 개발한 3.8 B 파라미터급 경량 생성형 AI 모델으로, 특히 수학과 논리적 추론에 특화되어 있습니다. 메모리·연산 자원이 제한된 환경에서도 고품질의 멀티스텝 수학 문제 해결 능력을 제공하도록 설계되었으며, PyTorch 기반 변형 없이도 Azure AI Studio와 Hugging Face 등에서 바로 사용 가능합니다 .

 

 

주요 특징

  • 모델 구조: 3.8억(3.8B) 파라미터의 dense decoder-only Transformer로, Phi-4-Mini 아키텍처 기반입니다.
  • 맥락 길이: 최대 128K 토큰 입력을 지원하여, 긴 수학 문제나 복잡한 논리 추론도 한 번에 처리할 수 있습니다.
  • 학습 데이터: Deepseek-R1이 생성한 합성 수학 데이터와 고품질 문제집 기반의 약 300억 토큰 데이터로 학습되었습니다.
  • 최적화 목적: 멀티스텝 수학 문제, 형식적 증명, 기호 계산 등 고난도 논리 작업에 특화되어 있습니다.
  • 경량·저지연: 모바일·엣지 환경에서도 빠르고 효율적으로 작동하도록 설계되었습니다

 

 

경쟁 모델 비교

Phi-4-mini-reasoning은 단 3.8억 파라미터의 경량 모델임에도 불구하고, 수학 및 논리적 추론 능력에서 대형 모델들과 어깨를 나란히 하거나 이를 능가하는 성능을 보이고 있습니다. 다음은 대표적인 벤치마크 세 가지(AIME, MATH-500, GPQA Diamond)에서의 성능 비교입니다.

모델 AIME MATH-500 GPQA Diamond
o1-mini (3.8B) 63.6 90.0 60.0
DeepSeek-R1-Distill-Qwen-7B 53.3 91.4 49.5
DeepSeek-R1-Distill-Llama-8B 43.3 86.9 47.3
Phi-4-Mini (base, 3.8B) 10.0 71.8 36.9
Phi-4-mini-reasoning (3.8B) 57.5 94.6 52.0

Phi-4-mini-reasoning은 단지 3.8억 파라미터로 구성된 모델임에도 불구하고, 수학과 추론 능력에서 7B 이상의 대형 모델들과 견줄 수 있는 수준의 결과를 보여줍니다. 특히, 고성능과 경량화를 동시에 달성한 점에서 엣지 환경이나 제한된 리소스 환경에서 매우 경쟁력 있는 선택지가 될 수 있습니다.

 

 

라이선스

Phi-4-mini-reasoning 모델은 MIT 라이선스 하에 공개되었습니다. 이 라이선스는 누구나 모델을 자유롭게 사용, 수정, 재배포, 상업적 이용할 수 있도록 허용합니다. 단, 모델을 활용할 경우 원 저작권자 고지 및 라이선스 명시를 반드시 포함해야 합니다. 따라서 연구, 제품 개발, 앱 내 통합 등 다양한 목적에 제한 없이 사용할 수 있습니다.

 

 

사전 준비 사항

이번 포스팅에서는 Ollama 프로그램을 활용하는 방법과, 모델을 직접 로컬에 다운로드해 사용하는 방법 두 가지를 소개할 예정입니다. Ollama 방식을 사용하려면 먼저 Ollama 프로그램 설치가 필요합니다. Ollama에서 제공하는 모델은 양자화 처리된 모델이기 때문에, 상대적으로 적은 리소스로도 효율적이고 편리하게 로컬 환경에서 활용할 수 있습니다.

 

목차
1. 실행 환경
2. 실행 방식 1 (Ollama 활용)

3. 실행 방식 2 (Python 코드 활용)

1. 실행 환경

  • 운영체제 : Windows 11
  • python : 3.10.18
  • ollama : 0.7.0
  • transformers : 4.51.3
  • torch : 2.3.1 + cu121
  • accelerate : 1.3.0
  • GPU : NVIDIA GeForce RTX 4060 Ti

 

 

2. 실행 방식 1 (Ollama 활용)

Phi-4-mini-reasoning 모델은 Ollama를 통해 간편하게 로컬 환경에서 실행할 수 있습니다. Ollama는 로컬에서 다양한 LLM을 실행할 수 있도록 도와주는 플랫폼으로, 간단한 명령어만으로 모델 설치부터 실행까지 자동으로 처리해 줍니다.

 

[모델 설치 및 실행 방법]

Windows PowerShell에서 아래 명령어를 순차적으로 입력하면 됩니다.

# Windows PowerShell
ollama --version                # Ollama가 정상적으로 설치되었다면 버전이 출력됩니다.
                                # 버전이 출력되지 않으면 Ollama를 다시 설치해야 합니다.
ollama run phi4-mini-reasoning  # 모델 실행 (모델이 없는 경우 자동 다운로드 및 실행)

 

해당 명령어를 실행하면 phi4-mini-reasoning 모델이 로컬에 다운로드되고, 곧바로 실행됩니다. Ollama는 자동으로 필요한 파일을 캐싱하기 때문에 한 번 실행하면 이후에는 빠르게 재사용할 수 있습니다. 아래는 위 명령어를 실행했을때 나타나는 결과입니다.

모델 설치 및 실행

 

[실행 결과]

Ollama를 통해 Phi-4-mini-reasoning 모델을 실행한 결과, 응답 생성 속도가 매우 빠르고 추론 과정이 명확하게 출력되었습니다. 단순한 계산부터 복잡한 수학 문제에 이르기까지, 모델은 자연어 기반의 논리적 추론 흐름을 스스로 설명하며 답을 도출하는 과정을 보여줍니다. 이는 중급 이상의 노트북이나 데스크탑 환경에서도 무리 없이 실행할 수 있는 수준으로, 경량 모델답게 추론 속도 대비 품질이 매우 우수합니다.

 

결과 요약

  • 응답 생성은 대체로 10초 이내에 완료
  • 계산/논리 추론 과정이 단계별로 출력
  • 출력되는 응답은 일관성 있고 명확한 구조

사용한 시스템 자원

  • GPU VRAM 사용량: 약 5.9GB
  • 추론 시간: 복잡한 수학 문제의 경우에도 전체 출력까지 10초 내외

현재 Phi-4-mini-reasoning 모델은 한글에 대한 직접적인 지원이 부족한 상태입니다. 한글로 질문을 입력하면 대부분 중국어나 영어가 혼합된 형태로 답변이 출력되며, 경우에 따라 질문을 정확히 이해하지 못할 수도 있습니다. 따라서 정확하고 일관된 응답을 원한다면 영어로 입력하는 것이 권장됩니다.

 

아래 이미지는 영어로 "1 + 1을 증명하라"는 질문을 입력했을 때, 모델이 논리적으로 추론한 과정을 보여주는 실행 결과입니다.

실행 결과 (1)

 

 

3. 실행 방식 2 (Python 코드 활용)

Phi-4-mini-reasoning 모델은 허깅페이스에서 로컬로 다운로드한 뒤, Python 코드를 통해 직접 실행할 수 있습니다. 이 방법은 Ollama를 사용하지 않고, 모델을 코드 기반으로 제어하고자 할 때 적합합니다.

 

1) 모델 다운로드

아래 마이크로소프트 허깅페이스에서 모델을 다운로드합니다.

출처: 마이크로소프트 허깅페이스 (클릭시 이미지 확대)

 

2) 가상 환경 설치 (선택사항)

프로젝트를 보다 안정적이고 깔끔하게 관리하기 위해 가상 환경을 사용하는 것을 권장합니다. 가상 환경을 활용하면 시스템 파이썬 환경과 독립적으로 패키지를 설치하고 관리할 수 있어, 프로젝트 간의 패키지 충돌을 효과적으로 방지할 수 있습니다.

 

아래 명령어를 통해 conda 기반 가상 환경을 생성하고 활성화할 수 있습니다.

# Windows PowerShell
conda create -n Phi-4-mini python==3.10  # conda 가상 환경 생성 (원하는 이름으로 변경 가능)
conda activate Phi-4-mini                # 가상 환경 활성화

 

가상 환경이 정상적으로 활성화되면, PowerShell 프롬프트 좌측에 (Phi-4-mini)와 같이 가상 환경 이름이 표시됩니다. 이 표시가 보인다면 가상 환경이 성공적으로 설정된 것입니다.

 

3) 필수 패키지 설치

가상 환경이 준비되었으면, 모델 실행에 필요한 핵심 패키지들을 설치합니다. Phi-4-mini-reasoning 모델은 CPU 환경에서도 작동하지만, GPU 환경에서 실행할 경우 훨씬 빠르고 효율적인 추론 속도를 경험할 수 있습니다. 간단한 질문은 거의 실시간으로 응답되며, 복잡한 수학 문제도 빠르게 처리됩니다. 

 

아래 명령어 중 필수 항목은 반드시 설치하고, 선택 항목은 사용 환경(GPU 또는 CPU)에 맞게 한 가지 방법만 실행하시면 됩니다.

# Windows PowerShell
# 필수 패키지 설치 (공통)
pip install transformers accelerate

# 선택 1: GPU 환경 (CUDA 11.8 기반)
pip install torch==2.3.1 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

# 선택 2: CPU 환경
pip install torch==2.3.1 torchvision torchaudio

 

⚠️ 참고사항
- 위 명령어는 CUDA 11.8 버전에 최적화되어 있으므로, 사용 중인 GPU 드라이버가 CUDA 11.8을 지원하는지 확인해 주세요.
- CUDA가 설치되어 있지 않거나 버전이 맞지 않을 경우, GPU 가속이 정상적으로 작동하지 않을 수 있습니다.

 

4) Python 코드 작성

패키지 설치가 완료되면, 이제 모델을 불러와 질문에 대한 답변을 생성하는 Python 코드를 작성합니다. 먼저 모델이 위치한 폴더로 이동한 뒤, 아래와 같이 main.py 파일을 생성합니다. 해당 파일을 열어 아래 코드를 복사하여 붙여넣습니다.

# main.py
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
torch.random.manual_seed(0)

model_id = "/Path/to/Phi-4-mini-reasoning"  # 사용자 환경에 맞게 수정

model = AutoModelForCausalLM.from_pretrained(
    model_id,
    device_map="cuda",     # GPU 사용 (CPU 환경으로 실행하고자 한다면 CPU로 수정)
    torch_dtype="auto",
    trust_remote_code=True,
)
tokenizer = AutoTokenizer.from_pretrained(model_id)

messages = [{
    "role": "user",
    "content": "How to solve 3*x^2+4*x+5=1?"  # 프롬프트 입력
}]   
inputs = tokenizer.apply_chat_template(
    messages,
    add_generation_prompt=True,
    return_dict=True,
    return_tensors="pt",
)

outputs = model.generate(
    **inputs.to(model.device),
    max_new_tokens=32768,
    temperature=0.8,
    top_p=0.95,
    do_sample=True,
)
outputs = tokenizer.batch_decode(outputs[:, inputs["input_ids"].shape[-1]:])

print(outputs[0])

 

※ 주석 부분은 상황에 맞게 경로나 프롬프트를 수정해 사용하시면 됩니다.

 

5) 실행 결과

모델을 실행한 결과, 문제 없이 정상적으로 작동하였으며, 기대했던 대로 우수한 추론 성능을 보여주었습니다. 특히 수학적 문제에 대해 단계별로 논리적인 과정을 출력하며 답변을 도출하는 방식은 매우 인상적이었습니다. 모델이 단순히 정답만 제시하는 것이 아니라, 그에 이르는 추론 과정을 상세히 서술해주는 점은 교육적 도구나 설명 중심의 응용 서비스에 적합하다고 느껴졌습니다.

 

다만, 아쉬운 점은 응답 생성 속도가 다소 느리다는 것입니다. 복잡한 질문일수록 전체 답변이 출력되기까지 상당한 시간이 소요되었으며, 이 모델은 그대로 사용하는 것보다는 추론 과정을 정제하거나 필요한 출력만 선택적으로 활용하는 방식으로 커스터마이징하는 것이 더욱 적합할 것으로 판단됩니다. 

 

결과 요약

  • 응답 생성은 대체로 10초 이내에 완료
  • 계산/논리 추론 과정이 단계별로 출력
  • 출력되는 응답은 일관성 있고 명확한 구조

사용한 시스템 자원

  • GPU VRAM 사용량: 약 9.8GB
  • 추론 시간: 전체 출력까지 약 2분

아래 이미지는 "How to solve 3*x^2+4*x+5=1?" 는 질문을 입력했을 때, 모델이 논리적으로 추론한 과정을 보여주는 실행 결과입니다.

실행 결과 (2)


 

이번 포스팅에서는 Phi-4-mini-reasoning 모델을 로컬 환경에서 실행하는 두 가지 방법 (Ollama와 Python 코드 기반 실행)을 단계별로 살펴보았습니다. 모델을 간편하게 체험해보고 싶으신 분들께는 설치와 실행이 간편한 Ollama 방식을 추천드리며, 보다 세부적인 제어가 필요한 사용자라면 Python 기반으로 직접 모델을 로딩하여 활용하는 방법이 적합합니다.

 

특히 이 모델은 MIT 라이선스로 공개되어 있어, 상업적 사용이 가능하며, 추론 능력을 기반으로 커스텀 튜닝 후 온디바이스 AI 서비스로도 확장할 수 있습니다. 모바일, 임베디드, 엣지 디바이스 환경에서의 활용 가능성도 충분하므로, 가볍고 강력한 수학 추론 모델이 필요한 분들께 적극 추천드립니다.

 

 

감사합니다. 😊

 

반응형