Instructions to use microsoft/phi-2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use microsoft/phi-2 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="microsoft/phi-2")# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("microsoft/phi-2") model = AutoModelForCausalLM.from_pretrained("microsoft/phi-2") - Inference
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use microsoft/phi-2 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "microsoft/phi-2" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "microsoft/phi-2", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/microsoft/phi-2
- SGLang
How to use microsoft/phi-2 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-2" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "microsoft/phi-2", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'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-2" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "microsoft/phi-2", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Docker Model Runner
How to use microsoft/phi-2 with Docker Model Runner:
docker model run hf.co/microsoft/phi-2
Layers updated, which ones to target for LoRA fine-tuning?
LLama Factory and existing fine-tuning tutorials target the "Wqkv" module for LoRA fine-tuning. This was apparently removed a couple days ago - which layers should be targeted now (k_proj, q_proj, v_proj, fc1, fc2 seem to be listed in the safetensors files)?
I am trying to train using these target_modules=['q_proj','k_proj','v_proj','dense'].
maybe you can give it a try!
I have been trying to fine-tune with all of the parameters listed in the model. The "trainable" parameters after LoRA is showing as 1.64%... And I am not seeing any training loss at all. Any luck figuring this out?
target_modules= [
'q_proj',
'k_proj',
'v_proj',
'dense',
'fc1',
'fc2',
'embed_tokens',
'lm_head'
],
trainable params: 25313280 || all params: 1546705920 || trainable%: 1.64
I am not seeing any loss with llama_factory either - not sure but something happened after the update.
I see loss when using bf16.
I am not seeing any loss with llama_factory either - not sure but something happened after the update.
Could you please test with the updated modeling_phi.py? We used the same fix (disabling auto-cast on Attention layer) as we had on some earlier revisions.
It should now show a loss when fine-tuning with fp16.
Please let me know if you see any more issues!