사용법 (transformers로 실행)

사용법 (transformers로 실행)

Phi-3 모델은 Hugging Face Transformers에 통합되어 있어요. AutoModelForCausalLMAutoTokenizer로 간편하게 로드할 수 있어요.

기본 로드

from transformers import AutoModelForCausalLM, AutoTokenizer

model = AutoModelForCausalLM.from_pretrained("microsoft/Phi-3-mini-4k-instruct")
tokenizer = AutoTokenizer.from_pretrained("microsoft/Phi-3-mini-4k-instruct")

초기 버전일 때의 주의점

Phi-3가 transformers의 개발 버전(4.40.0.dev)에 처음 통합됐을 때는 공식 pip 릴리스가 나오기 전이라 다음 중 하나를 해야 했어요.

  • 로드할 때 trust_remote_code=True를 넘기거나
  • transformers를 개발 버전으로 업데이트
model = AutoModelForCausalLM.from_pretrained("microsoft/Phi-3-mini-4k-instruct",
                                             trust_remote_code=True)

지금은 안정 버전에서도 잘 동작하지만, 옛 자료를 볼 때 참고하면 좋아요.

구성 파라미터 (Phi3Config)

Phi3Config로 모델 구성을 제어할 수 있어요. 대표적인 기본값은 다음과 같아요.

  • vocab_size — 기본 32064. Phi3Model에 넘기는 inputs_ids에서 표현할 수 있는 토큰 수
  • hidden_size — 기본 3072. 은닉 표현의 차원
  • 어텐션·슬라이딩 윈도우 관련 설정 — None이면 슬라이딩 윈도우를 적용하지 않음
from transformers import Phi3Model, Phi3Config

configuration = Phi3Config.from_pretrained("microsoft/Phi-3-mini-4k-instruct")
model = Phi3Model(configuration)

파생 태스크 사용

문장 분류 같은 태스크에도 활용할 수 있어요.

tokenizer = AutoTokenizer.from_pretrained("microsoft/Phi-3-mini-4k-instruct")
model = Phi3ForSequenceClassification.from_pretrained(
    "microsoft/Phi-3-mini-4k-instruct",
    problem_type="multi_label_classification",
)

더 알아보기