Acegpt 13B Chat AWQ
AceGPT 13B聊天版的AWQ量化版本,支持英語和阿拉伯語,專為普通GPU用戶設計,提供高效的4位量化推理能力。
下載量 37
發布時間 : 11/16/2023
模型概述
AceGPT 13B聊天版是一個基於Llama2架構的大語言模型,經過AWQ量化處理,支持英語和阿拉伯語,適用於文本生成和對話任務。
模型特點
高效量化
採用AWQ量化方法,支持4位量化,在保持高質量的同時提供更快的推理速度。
多語言支持
支持英語和阿拉伯語,特別針對阿拉伯語進行了優化。
低資源需求
量化後的模型適合普通GPU用戶使用,降低了硬件需求。
模型能力
文本生成
多語言對話
阿拉伯語文本處理
使用案例
語言處理
阿拉伯語詩歌生成
生成阿拉伯語詩歌或回答關於阿拉伯語文化的問題。
能夠生成符合阿拉伯文化背景的詩歌和回答。
多語言客服
用於支持英語和阿拉伯語的客服對話系統。
提供流暢的多語言對話體驗。
🚀 AceGPT 13B Chat - AWQ
本項目提供了 FreedomIntelligence 的 AceGPT 13B Chat 模型的 AWQ 量化版本,旨在讓使用普通 GPU 的用戶也能使用阿拉伯語大語言模型。

✨ 主要特性
- 模型創建者:FreedomIntelligence
- 原始模型:AceGPT 13B Chat
- 支持語言:英語、阿拉伯語
- 模型類型:llama2
- 量化方式:AWQ(一種高效、準確且快速的低比特權重量化方法,目前支持 4 比特量化)
關於 AWQ
AWQ 是一種高效、準確且極快的低比特權重量化方法,目前支持 4 比特量化。與 GPTQ 相比,它在基於 Transformer 的推理中速度更快,並且在質量上與最常用的 GPTQ 設置相當或更好。
它得到以下工具的支持:
- Text Generation Webui - 使用加載器:AutoAWQ
- vLLM - 僅支持 Llama 和 Mistral 模型
- Hugging Face Text Generation Inference (TGI)
- Transformers 版本 4.35.0 及更高版本,適用於任何支持 Transformers 的代碼或客戶端
- AutoAWQ - 用於 Python 代碼
📦 安裝指南
安裝必要的包
- 需要 Transformers 4.35.0 或更高版本。
- 需要 AutoAWQ 0.1.6 或更高版本。
pip3 install --upgrade "autoawq>=0.1.6" "transformers>=4.35.0"
注意:如果您使用的是 PyTorch 2.0.1,上述 AutoAWQ 命令將自動將您升級到 PyTorch 2.1.0。
如果您使用的是 CUDA 11.8 並希望繼續使用 PyTorch 2.0.1,請運行以下命令:
pip3 install https://github.com/casper-hansen/AutoAWQ/releases/download/v0.1.6/autoawq-0.1.6+cu118-cp310-cp310-linux_x86_64.whl
如果您在使用預構建的輪子安裝 AutoAWQ 時遇到問題,請從源代碼安裝:
pip3 uninstall -y autoawq
git clone https://github.com/casper-hansen/AutoAWQ
cd AutoAWQ
pip3 install .
💻 使用示例
基礎用法
以下是使用 Transformers 從 Python 代碼進行推理的示例:
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, # 如果您在使用 flash attention 2 時遇到問題,請禁用
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=f'''[INST] <<SYS>>\nأنت مساعد مفيد ومحترم وصادق. أجب دائما بأكبر قدر ممكن من المساعدة بينما تكون آمنا. يجب ألا تتضمن إجاباتك أي محتوى ضار أو غير أخلاقي أو عنصري أو جنسي أو سام أو خطير أو غير قانوني. يرجى التأكد من أن ردودك غير متحيزة اجتماعيا وإيجابية بطبيعتها.\n\nإذا كان السؤال لا معنى له أو لم يكن متماسكا من الناحية الواقعية، اشرح السبب بدلا من الإجابة على شيء غير صحيح. إذا كنت لا تعرف إجابة سؤال ما، فيرجى عدم مشاركة معلومات خاطئة.\n<</SYS>>\n\n
[INST] {prompt} [/INST]
'''
# 將提示轉換為令牌
tokens = tokenizer(
prompt_template,
return_tensors='pt'
).input_ids.cuda()
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(
tokens,
streamer=streamer,
**generation_params
)
# 不使用流生成,輸出將包含提示
generation_output = model.generate(
tokens,
**generation_params
)
# 從輸出中獲取令牌,解碼並打印
token_output = generation_output[0]
text_output = tokenizer.decode(token_output)
print("model.generate output: ", text_output)
# 也可以通過 Transformers 的管道進行推理
from transformers import pipeline
pipe = pipeline(
"text-generation",
model=model,
tokenizer=tokenizer,
**generation_params
)
pipe_output = pipe(prompt_template)[0]['generated_text']
print("pipeline output: ", pipe_output)
📚 詳細文檔
提示模板
[INST] <<SYS>>\n您是一個有用、尊重他人且誠實的助手。請始終儘可能提供最大的幫助,同時確保安全。您的回答不得包含任何有害、不道德、歧視性、色情、惡意、危險或非法的內容。請確保您的回覆在社會上不具有偏見,並且本質上是積極的。\n\n如果問題沒有意義或在現實中不合理,請解釋原因,而不是回答錯誤的內容。如果您不知道某個問題的答案,請不要分享錯誤信息。\n<</SYS>>\n\n
[INST] {prompt} [/INST]
AWQ 量化過程
from awq import AutoAWQForCausalLM
from transformers import AutoTokenizer, AutoModelForCausalLM
model_path = "FreedomIntelligence/AceGPT-13B-chat"
quant_path = "AceGPT-13B-chat-AWQ"
quant_config = {"zero_point": True, "q_group_size": 128, "w_bit": 4, "version": "GEMM"}
load_config = {
"low_cpu_mem_usage": True,
"device_map": "auto",
"trust_remote_code": True,
}
# 加載模型
model = AutoAWQForCausalLM.from_pretrained(model_path, **load_config)
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
# 量化
model.quantize(tokenizer, quant_config=quant_config)
# 保存量化後的模型
model.save_quantized(quant_path)
tokenizer.save_pretrained(quant_path)
# 加載量化後的模型
model = AutoModelForCausalLM.from_pretrained(quant_path)
tokenizer = AutoTokenizer.from_pretrained(quant_path)
# 推送到 Hub
model.push_to_hub(quant_path)
tokenizer.push_to_hub(quant_path)
📄 許可證
本模型遵循 llama2 許可證。
📋 模型信息
屬性 | 詳情 |
---|---|
模型類型 | llama2 |
訓練數據 | FreedomIntelligence/Arabic-Vicuna-80、FreedomIntelligence/Arabic-AlpacaEval、FreedomIntelligence/MMLU_Arabic、FreedomIntelligence/EXAMs、FreedomIntelligence/ACVA-Arabic-Cultural-Value-Alignment |
基礎模型 | FreedomIntelligence/AceGPT-13B-chat |
量化者 | MohamedRashad |
支持庫 | Transformers |
Phi 2 GGUF
其他
Phi-2是微軟開發的一個小型但強大的語言模型,具有27億參數,專注於高效推理和高質量文本生成。
大型語言模型 支持多種語言
P
TheBloke
41.5M
205
Roberta Large
MIT
基於掩碼語言建模目標預訓練的大型英語語言模型,採用改進的BERT訓練方法
大型語言模型 英語
R
FacebookAI
19.4M
212
Distilbert Base Uncased
Apache-2.0
DistilBERT是BERT基礎模型的蒸餾版本,在保持相近性能的同時更輕量高效,適用於序列分類、標記分類等自然語言處理任務。
大型語言模型 英語
D
distilbert
11.1M
669
Llama 3.1 8B Instruct GGUF
Meta Llama 3.1 8B Instruct 是一個多語言大語言模型,針對多語言對話用例進行了優化,在常見的行業基準測試中表現優異。
大型語言模型 英語
L
modularai
9.7M
4
Xlm Roberta Base
MIT
XLM-RoBERTa是基於100種語言的2.5TB過濾CommonCrawl數據預訓練的多語言模型,採用掩碼語言建模目標進行訓練。
大型語言模型 支持多種語言
X
FacebookAI
9.6M
664
Roberta Base
MIT
基於Transformer架構的英語預訓練模型,通過掩碼語言建模目標在海量文本上訓練,支持文本特徵提取和下游任務微調
大型語言模型 英語
R
FacebookAI
9.3M
488
Opt 125m
其他
OPT是由Meta AI發佈的開放預訓練Transformer語言模型套件,參數量從1.25億到1750億,旨在對標GPT-3系列性能,同時促進大規模語言模型的開放研究。
大型語言模型 英語
O
facebook
6.3M
198
1
基於transformers庫的預訓練模型,適用於多種NLP任務
大型語言模型
Transformers

1
unslothai
6.2M
1
Llama 3.1 8B Instruct
Llama 3.1是Meta推出的多語言大語言模型系列,包含8B、70B和405B參數規模,支持8種語言和代碼生成,優化了多語言對話場景。
大型語言模型
Transformers 支持多種語言

L
meta-llama
5.7M
3,898
T5 Base
Apache-2.0
T5基礎版是由Google開發的文本到文本轉換Transformer模型,參數規模2.2億,支持多語言NLP任務。
大型語言模型 支持多種語言
T
google-t5
5.4M
702
精選推薦AI模型
Llama 3 Typhoon V1.5x 8b Instruct
專為泰語設計的80億參數指令模型,性能媲美GPT-3.5-turbo,優化了應用場景、檢索增強生成、受限生成和推理任務
大型語言模型
Transformers 支持多種語言

L
scb10x
3,269
16
Cadet Tiny
Openrail
Cadet-Tiny是一個基於SODA數據集訓練的超小型對話模型,專為邊緣設備推理設計,體積僅為Cosmo-3B模型的2%左右。
對話系統
Transformers 英語

C
ToddGoldfarb
2,691
6
Roberta Base Chinese Extractive Qa
基於RoBERTa架構的中文抽取式問答模型,適用於從給定文本中提取答案的任務。
問答系統 中文
R
uer
2,694
98