基础模型: FreedomIntelligence/AceGPT-13B-chat
推理: 不支持
许可证: llama2
模型创建者: FreedomIntelligence
模型名称: AceGPT 13B聊天版
模型类型: llama2
量化者: MohamedRashad
数据集:
- FreedomIntelligence/Arabic-Vicuna-80
- FreedomIntelligence/Arabic-AlpacaEval
- FreedomIntelligence/MMLU_Arabic
- FreedomIntelligence/EXAMs
- FreedomIntelligence/ACVA-Arabic-Cultural-Value-Alignment
语言:
- 英语
- 阿拉伯语
库名称: transformers
AceGPT 13B聊天版 - AWQ量化
模型描述
本仓库包含FreedomIntelligence的AceGPT 13B聊天版的AWQ量化模型文件。
为了让普通GPU用户也能使用阿拉伯语大语言模型,我量化了两个重要模型:
关于AWQ
AWQ是一种高效、精确且极速的低比特权重量化方法,目前支持4位量化。相比GPTQ,它在保持相同或更高质量的同时,能提供更快的基于Transformers的推理速度。
支持以下框架:
提示词模板
[INST] <<SYS>>
你是一个有用、专业且诚实的助手。回答时应尽可能提供帮助,同时确保安全。你的回答不得包含任何有害、不道德、种族歧视、性别歧视、有毒、危险或非法内容。请确保回答具有社会公正性和积极意义。
如果问题无意义或事实不连贯,请解释原因而非回答错误内容。若不知道答案,请不要分享错误信息。
<</SYS>>
[INST] {prompt} [/INST]
使用Transformers进行Python推理
安装必要包
要求:
pip3 install --upgrade "autoawq>=0.1.6" "transformers>=4.35.0"
注意:若使用PyTorch 2.0.1,上述命令会自动升级至PyTorch 2.1.0。如需保持PyTorch 2.0.1(CUDA 11.8),请运行:
pip3 install https://github.com/casper-hansen/AutoAWQ/releases/download/v0.1.6/autoawq-0.1.6+cu118-cp310-cp310-linux_x86_64.whl
若预构建轮子安装失败,可从源码安装:
pip3 uninstall -y autoawq
git clone https://github.com/casper-hansen/AutoAWQ
cd AutoAWQ
pip3 install .
Transformers示例代码
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer
model_name_or_path = "MohamedRashad/AceGPT-13B-chat-AWQ"
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, padding_side="right")
model = AutoModelForCausalLM.from_pretrained(
model_name_or_path,
use_flash_attention_2=True,
torch_dtype=torch.float16,
low_cpu_mem_usage=True,
device_map="auto"
)
streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
prompt = "阿拉伯语中最美的诗句是什么?"
prompt_template = '''[INST] <<SYS>>
你是一个有用、专业且诚实的助手...(同上文提示模板)
<</SYS>>
[INST] {prompt} [/INST]
'''
generation_params = {
"do_sample": True,
"temperature": 0.7,
"top_p": 0.95,
"top_k": 40,
"max_new_tokens": 512,
"repetition_penalty": 1.1
}
generation_output = model.generate(
input_ids=tokenizer(prompt_template, return_tensors='pt').input_ids.cuda(),
streamer=streamer,
**generation_params
)
from transformers import pipeline
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer, **generation_params)
AWQ量化过程
from awq import AutoAWQForCausalLM
from transformers import AutoTokenizer
quant_config = {
"zero_point": True,
"q_group_size": 128,
"w_bit": 4,
"version": "GEMM"
}
model = AutoAWQForCausalLM.from_pretrained("FreedomIntelligence/AceGPT-13B-chat")
model.quantize(tokenizer, quant_config=quant_config)
model.save_quantized("AceGPT-13B-chat-AWQ")
tokenizer.save_pretrained("AceGPT-13B-chat-AWQ")