Instructions to use microsoft/Phi-3-small-128k-instruct with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use microsoft/Phi-3-small-128k-instruct with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="microsoft/Phi-3-small-128k-instruct", trust_remote_code=True) messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained("microsoft/Phi-3-small-128k-instruct", trust_remote_code=True, dtype="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use microsoft/Phi-3-small-128k-instruct with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "microsoft/Phi-3-small-128k-instruct" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "microsoft/Phi-3-small-128k-instruct", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/microsoft/Phi-3-small-128k-instruct
- SGLang
How to use microsoft/Phi-3-small-128k-instruct with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "microsoft/Phi-3-small-128k-instruct" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "microsoft/Phi-3-small-128k-instruct", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "microsoft/Phi-3-small-128k-instruct" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "microsoft/Phi-3-small-128k-instruct", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use microsoft/Phi-3-small-128k-instruct with Docker Model Runner:
docker model run hf.co/microsoft/Phi-3-small-128k-instruct
flash Attention Error while inference
Getting the error
AssertionError: Flash Attention is not available, but is needed for dense attention
currently using the Nvidia A10G GPU
Library Installed
!pip install git+https://github.com/huggingface/transformers
!pip install tiktoken==0.6.0 triton==2.3.0
other Lib
!pip install einops accelerate bitsandbytes
Currently running into this as well (running on 4 a100s).
Actively installing flash-attn to see if this fixes it (but can't get ninja to work for fast compile time so its slow).
https://github.com/Dao-AILab/flash-attention?tab=readme-ov-file#installation-and-features
(need cuda, gcc, etc for flash-attn)
Currently running into this as well (running on 4 a100s).
Actively installing flash-attn to see if this fixes it (but can't get ninja to work for fast compile time so its slow).
https://github.com/Dao-AILab/flash-attention?tab=readme-ov-file#installation-and-features(need cuda, gcc, etc for flash-attn)
Was able to get flash-attention to install with correct pytorch version.
https://pytorch.org/get-started/previous-versions/#v210
Did installing flash-attention fix the issue ?
Yes. I am able to run the Phi-3-small model now. I was also able to get ninja installed to reduce build time for flash-attention to <3 minutes (12 cores, 120GB RAM).
Awesome ! Closing this out for now.
Adding the torch sdpa attention to remove the hard dependency on flash-attention is one of the things that we can subsequently follow up with if this becomes a big issue for adoption. We are glad for your interest in phi3-small, and hope you find it useful !