--- 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: - internlm - autoround - auto-round - intel-autoround - intel - woq - gptq - pytorch - internlm3 - internlm3-8b model_name: Internlm 3 8b instruct base_model: - internlm/internlm3-8b-instruct inference: false model_creator: internlm prompt_template: '{prompt}' quantized_by: fbaldassarri --- ## Model Information Quantized version of [internlm/internlm3-8b-instruct](https://huggingface.co/internlm/internlm3-8b-instruct) using torch.float32 for quantization tuning. - 8 bits (INT8) - group size = 128 - Asymmetrical Quantization - Method WoQ: SignRound (AutoRound algorithm) Fast and low memory, 2-3X speedup (slight accuracy drop at W8G128) Quantization framework: [Intel AutoRound](https://github.com/intel/auto-round) v0.4.7 Note: this INT8 version of internlm3-8b-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 = "internlm/internlm3-8b-instruct" model = AutoModelForCausalLM.from_pretrained(model_name) tokenizer = AutoTokenizer.from_pretrained(model_name) from auto_round import AutoRound bits, group_size, sym, device, amp = 8, 128, False, '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/internlm_internlm3-8b-instruct-autoround-int8-gs128-asym" 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.