--- language: - en - es - fr - de - pt - ja - it - zh - ko - ar - cs - nl pipeline_tag: text-generation license: apache-2.0 library_name: transformers tags: - granite-3.3 - autoround - auto-round - intel-autoround - intel - woq - pytorch - ibm - granite - granite-3 model_name: Granite 3.3 2b instruct base_model: - ibm-granite/granite-3.3-2b-instruct inference: false model_creator: ibm-granite prompt_template: '{prompt}' quantized_by: fbaldassarri --- ## Model Information Quantized version of [ibm-granite/granite-3.3-2b-instruct](https://huggingface.co/fbaldassarri/ibm-granite/granite-3.3-2b-instruct) using torch.float32 for quantization tuning. - 8 bits (INT8) - group size = 64 - Symmetrical Quantization - Method WoQ (AutoRound format) Fast and low memory, 2-3X speedup (slight accuracy drop at W8G64) Quantization framework: [Intel AutoRound](https://github.com/intel/auto-round) v0.4.7 Note: this INT8 version of granite-3.3-2b-instruct 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.7.tar.gz tar -xvzf v0.4.7.tar.gz cd auto-round-0.4.7 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 = "ibm-granite/granite-3.3-2b-instruct" model = AutoModelForCausalLM.from_pretrained(model_name) tokenizer = AutoTokenizer.from_pretrained(model_name) from auto_round import AutoRound bits, group_size, sym, device = 8, 64, True, 'cpu' autoround = AutoRound(model, tokenizer, nsamples=128, iters=200, seqlen=512, batch_size=4, bits=bits, group_size=group_size, sym=sym, device=device) autoround.quantize() output_dir = "./AutoRound/ibm-granite_granite-3.3-2b-instruct-autoround-int8-gs64-sym" autoround.save_quantized(output_dir, format='auto_round', inplace=True) ``` ## License [Apache 2.0 License](https://choosealicense.com/licenses/apache-2.0/) ## Disclaimer This quantized model comes with no warrenty. It has been developed only for research purposes.