Phi-3
Microsoft의 소형 언어 모델
Microsoft의 소형 언어 모델
Phi-3는 Microsoft가 개발한 소형 언어 모델(SLM, Small Language Model) 시리즈입니다. "작지만 강력한" 모델을 목표로, 3.8B~14B 파라미터로 훨씬 큰 모델들과 경쟁하는 성능을 달성했습니다. 로컬 디바이스와 엣지 환경에서 실행할 수 있습니다.
Phi 시리즈는 2023년 Phi-1(코드 특화)로 시작해, 2024년 Phi-2(2.7B), Phi-3(3.8B/7B/14B)로 발전했습니다. Microsoft Research의 "Textbooks Are All You Need" 연구에서 고품질 합성 데이터로 작은 모델도 강력한 성능을 가질 수 있음을 입증했습니다.
핵심 혁신은 학습 데이터의 품질입니다. 4.9조 토큰 규모의 데이터 중 상당 부분이 "교과서 수준"의 합성 데이터로 구성됩니다. 이를 통해 수학, 코딩, 상식 추론에서 더 큰 모델들을 능가하는 성능을 보여줍니다.
실무에서 Phi-3는 비용 효율적인 AI 배포에 적합합니다. 스마트폰에서 실행 가능하고, 클라우드 비용을 절감하면서도 많은 태스크에서 충분한 성능을 제공합니다. MIT 라이선스로 상업적 사용도 자유롭습니다.
# Phi-3 모델 사용 예제
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
import torch
# 1. Phi-3 Mini (3.8B) 모델 로드
model_name = "microsoft/Phi-3-mini-4k-instruct" # 또는 128k 버전
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.float16, # 메모리 절약
device_map="auto",
trust_remote_code=True
)
# 2. 파이프라인으로 간단하게 사용
pipe = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
)
# 3. Phi-3 대화 형식 (Instruct 모델)
messages = [
{"role": "user", "content": "피보나치 수열을 Python으로 구현해줘"}
]
# 채팅 템플릿 적용
prompt = tokenizer.apply_chat_template(
messages,
tokenize=False,
add_generation_prompt=True
)
# 4. 생성
outputs = pipe(
prompt,
max_new_tokens=256,
do_sample=True,
temperature=0.7,
top_p=0.9,
)
print(outputs[0]["generated_text"])
# 5. ONNX로 변환하여 더 빠른 추론 (선택)
# from optimum.onnxruntime import ORTModelForCausalLM
# ort_model = ORTModelForCausalLM.from_pretrained(model_name, export=True)
2025년 1월 기준 - Phi-3 모델 사양 및 벤치마크
| 모델 | 파라미터 | 컨텍스트 | MMLU | 특징 |
|---|---|---|---|---|
| Phi-3-mini | 3.8B | 4K / 128K | 69% | 스마트폰 실행 가능 |
| Phi-3-small | 7B | 8K / 128K | 75% | GPT-3.5T 능가 |
| Phi-3-medium | 14B | 4K / 128K | 78% | Gemini 1.0 Pro 능가 |
| Phi-3.5-mini | 3.8B | 128K | 69% | 멀티링구얼 강화 |
| Phi-3.5-MoE | 6.6B 활성/42B 전체 | 128K | 78% | MoE 구조 |
| Phi-3.5-Vision | 4.2B | 128K | - | 멀티모달 |
비용: MIT 라이선스 오픈소스, Azure AI에서 호스팅 시 사용량 기반 과금
하드웨어 요구사항: Phi-3-mini는 8GB VRAM(FP16), 4GB VRAM(INT4 양자화)으로 실행 가능
"Phi-3-mini를 INT4 양자화하면 4GB VRAM으로 실행됩니다. 일반적인 Q&A 태스크에서는 GPT-3.5급 성능을 보여주면서 API 비용을 완전히 절감할 수 있습니다."
"Phi-3의 핵심 혁신은 고품질 합성 데이터입니다. Microsoft Research의 'Textbooks Are All You Need' 논문에서 데이터 품질이 모델 크기보다 중요할 수 있음을 입증했습니다."
"Phi-3는 팩트 기반 지식(TriviaQA 등)에서는 약하지만, 추론/코딩 태스크에서는 10배 큰 모델과 경쟁합니다. 엣지 디바이스 배포에 최적화된 선택입니다."
Phi-3는 파라미터가 적어 사실 지식 저장에 한계가 있습니다. TriviaQA 등 팩트 기반 태스크에서는 더 큰 모델을 고려하세요.
Base 모델은 다음 토큰 예측용이고, Instruct 모델이 대화용입니다. "Phi-3-mini-instruct"를 사용하세요.
추론, 코딩, 수학 태스크에 Phi-3를 활용하고, 복잡한 지식 태스크는 RAG나 더 큰 모델과 조합하세요. 양자화로 메모리를 최적화합니다.