fbaldassarri's picture
Initial Upload
1d4c878 verified
metadata
license: mit
license_link: https://huggingface.co/microsoft/phi-4/resolve/main/LICENSE
language:
  - en
pipeline_tag: text-generation
tags:
  - causal-lm
  - autoround
  - auto-round
  - intel-autoround
  - woq
  - auto-gptq
  - autogptq
  - gptq
  - intel
  - pytorch
  - phi
  - nlp
  - math
  - code
  - chat
  - conversational
model_name: Microsoft Phi-4
base_model:
  - microsoft/phi-4
inference: false
library_name: transformers
model_creator: microsoft
prompt_template: '{prompt} '
quantized_by: fbaldassarri

Model Information

Quantized version of microsoft/phi-4 using torch.float32 for quantization tuning.

  • 4 bits (INT4)
  • group size = 128
  • Symmetrical Quantization
  • Method AutoGPTQ

Quantization framework: Intel AutoRound v0.4.3

Note: this INT4 version of Phi-4 has been quantized to run inference through CPU.

Replication Recipe

Step 1 Install Requirements

I suggest to install requirements into a dedicated python-virtualenv or a conda enviroment.

wget https://github.com/intel/auto-round/archive/refs/tags/v0.4.3.tar.gz
tar -xvzf v0.4.3.tar.gz
cd auto-round-0.4.3
pip install -r requirements-cpu.txt --upgrade

Step 2 Build Intel AutoRound wheel from sources

pip install -vvv --no-build-isolation -e .[cpu]

Step 3 Script for Quantization

  from transformers import AutoModelForCausalLM, AutoTokenizer
  model_name = "microsoft/phi-4"
  model = AutoModelForCausalLM.from_pretrained(model_name)
  tokenizer = AutoTokenizer.from_pretrained(model_name)
  from auto_round import AutoRound
  bits, group_size, sym, device, amp = 4, 128, True, 'cpu', False
  autoround = AutoRound(model, tokenizer, nsamples=128, iters=200, seqlen=512, batch_size=4, bits=bits, group_size=group_size, sym=sym, device=device, amp=amp)
  autoround.quantize()
  output_dir = "./AutoRound/microsoft_phi-4-autogptq-int4-gs128-sym"
  autoround.save_quantized(output_dir, format='auto_gptq', inplace=True)

License

MIT

Disclaimer

This quantized model comes with no warranty. It has been developed only for research purposes.