Mixtral 8x7B Instruct V0.1 AWQ
Mixtral 8X7B Instruct v0.1 - AWQ是基于Mixtral模型的量化版本,采用AWQ量化方法,在保证精度的同时提升推理速度和降低内存需求。
下载量 2,203
发布时间 : 12/11/2023
模型简介
该模型是多语言支持的高效量化大语言模型,适用于多种推理场景,支持法语、意大利语、德语、西班牙语和英语等多种语言。
模型特点
高效量化
采用AWQ量化方法,支持4位量化,相比GPTQ在基于Transformer的推理中提供更快的速度,且质量相当或更好。
多语言支持
支持法语、意大利语、德语、西班牙语和英语等多种语言。
广泛兼容性
支持多种推理工具和框架,如text-generation-webui、vLLM、Hugging Face Text Generation Inference (TGI)和Transformers等。
模型能力
文本生成
多语言文本处理
指令跟随
使用案例
内容生成
AI知识问答
回答关于人工智能的各种问题
生成准确且详细的AI相关知识
故事创作
根据提示生成创意故事
生成连贯且有创意的故事内容
教育辅助
数学问题解答
解答基础数学问题
提供正确的数学计算和解释
🚀 Mixtral 8X7B Instruct v0.1 - AWQ
Mixtral 8X7B Instruct v0.1 - AWQ是基于Mixtral模型的量化版本,采用了高效的AWQ量化方法,能在保证一定精度的同时,提升推理速度和降低内存需求。该模型支持多种语言,适用于多种推理场景。
🚀 快速开始
环境准备
本模型支持在Linux和Windows系统上使用,且仅支持NVidia GPU。macOS用户请使用GGUF模型。
依赖安装
根据不同的使用场景,需要安装相应的依赖库。例如,使用Transformers进行推理时,需要安装transformers
和autoawq
库:
pip3 install --upgrade "autoawq>=0.1.6" "transformers>=4.35.0"
下载和使用模型
以下是在text-generation-webui
中下载和使用该模型的步骤:
- 确保你使用的是最新版本的text-generation-webui。
- 强烈建议使用一键安装程序,除非你确定知道如何手动安装。
- 点击Model tab。
- 在Download custom model or LoRA下,输入
TheBloke/Mixtral-8x7B-Instruct-v0.1-AWQ
。 - 点击Download。
- 模型开始下载,下载完成后会显示“Done”。
- 在左上角,点击Model旁边的刷新图标。
- 在Model下拉菜单中,选择你刚刚下载的模型:
Mixtral-8x7B-Instruct-v0.1-AWQ
。 - 选择Loader: AutoAWQ。
- 点击Load,模型将加载并准备好使用。
- 如果你需要自定义设置,设置完成后点击Save settings for this model,然后在右上角点击Reload the Model。
- 准备好后,点击Text Generation标签,输入提示信息即可开始!
✨ 主要特性
- 多语言支持:支持法语、意大利语、德语、西班牙语和英语等多种语言。
- 高效量化:采用AWQ量化方法,支持4位量化,相比GPTQ,在基于Transformer的推理中提供更快的速度,且质量相当或更好。
- 广泛兼容性:支持多种推理工具和框架,如
text-generation-webui
、vLLM
、Hugging Face Text Generation Inference (TGI)
和Transformers
等。
📦 安装指南
安装依赖
根据不同的使用场景,安装相应的依赖库:
- 使用
text-generation-webui
:确保使用最新版本,并按照上述快速开始中的步骤进行安装。 - 使用
vLLM
:确保使用vLLM版本0.2或更高版本,并安装相应的依赖。 - 使用
Hugging Face Text Generation Inference (TGI)
:使用TGI版本1.1.0或更高版本,并安装相应的依赖。 - 使用
Transformers
:安装transformers
4.35.0或更高版本,以及autoawq
0.1.6或更高版本。
下载模型
可以从Hugging Face Hub下载不同格式的模型:
- AWQ模型用于GPU推理
- GPTQ模型用于GPU推理,有多种量化参数选项
- 2、3、4、5、6和8位GGUF模型用于CPU+GPU推理
- Mistral AI的原始未量化fp16模型(pytorch格式),用于GPU推理和进一步转换
💻 使用示例
基础用法
以下是使用Transformers
库进行推理的示例代码:
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer
model_name_or_path = "TheBloke/Mixtral-8x7B-Instruct-v0.1-AWQ"
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path)
model = AutoModelForCausalLM.from_pretrained(
model_name_or_path,
low_cpu_mem_usage=True,
device_map="cuda:0"
)
# 使用文本流处理器逐词输出结果
streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
prompt = "Tell me about AI"
prompt_template=f'''[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的pipeline进行推理
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)
高级用法
使用vLLM进行多用户推理
from vllm import LLM, SamplingParams
prompts = [
"Tell me about AI",
"Write a story about llamas",
"What is 291 - 150?",
"How much wood would a woodchuck chuck if a woodchuck could chuck wood?",
]
prompt_template=f'''[INST] {prompt} [/INST]
'''
prompts = [prompt_template.format(prompt=prompt) for prompt in prompts]
sampling_params = SamplingParams(temperature=0.8, top_p=0.95)
llm = LLM(model="TheBloke/Mixtral-8x7B-Instruct-v0.1-AWQ", quantization="awq", dtype="auto")
outputs = llm.generate(prompts, sampling_params)
# 打印输出
for output in outputs:
prompt = output.prompt
generated_text = output.outputs[0].text
print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")
使用Hugging Face Text Generation Inference (TGI)进行多用户推理
from huggingface_hub import InferenceClient
endpoint_url = "https://your-endpoint-url-here"
prompt = "Tell me about AI"
prompt_template=f'''[INST] {prompt} [/INST]
'''
client = InferenceClient(endpoint_url)
response = client.text_generation(prompt,
max_new_tokens=128,
do_sample=True,
temperature=0.7,
top_p=0.95,
top_k=40,
repetition_penalty=1.1)
print(f"Model output: ", response)
📚 详细文档
模型信息
属性 | 详情 |
---|---|
模型创建者 | Mistral AI |
模型名称 | Mixtral 8X7B Instruct v0.1 |
模型类型 | mixtral |
支持语言 | 法语、意大利语、德语、西班牙语、英语 |
许可证 | apache-2.0 |
量化者 | TheBloke |
提示模板
[INST] {prompt} [/INST]
提供的文件和AWQ参数
目前仅发布128g GEMM模型,正在积极考虑添加group_size 32模型和GEMV内核模型。模型以分片的safetensors文件形式发布。
分支 | 位数 | 分组大小 | AWQ数据集 | 序列长度 | 大小 |
---|---|---|---|---|---|
main | 4 | 128 | VMware Open Instruct | 8192 | 24.65 GB |
兼容性
提供的文件经过测试,可与以下工具和框架兼容:
- text-generation-webui,使用
Loader: AutoAWQ
。 - vLLM版本0.2.0及更高版本。
- Hugging Face Text Generation Inference (TGI)版本1.1.0及更高版本。
- Transformers版本4.35.0及更高版本。
- AutoAWQ版本0.1.1及更高版本。
🔧 技术细节
AWQ量化方法
AWQ是一种高效、准确且快速的低比特权重量化方法,目前支持4位量化。与GPTQ相比,它在基于Transformer的推理中提供更快的速度,且质量相当或更好。
模型加载和推理优化
在使用模型进行推理时,可以通过以下方式进一步优化内存使用和推理速度:
- 半精度加载:在GPU设备上使用
float16
精度加载模型,可减少内存需求。
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "mistralai/Mixtral-8x7B-Instruct-v0.1"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype=torch.float16).to(0)
text = "Hello my name is"
inputs = tokenizer(text, return_tensors="pt").to(0)
outputs = model.generate(**inputs, max_new_tokens=20)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
- 低精度加载(8位和4位):使用
bitsandbytes
库以8位或4位精度加载模型,进一步降低内存需求。
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "mistralai/Mixtral-8x7B-Instruct-v0.1"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, load_in_4bit=True)
text = "Hello my name is"
inputs = tokenizer(text, return_tensors="pt").to(0)
outputs = model.generate(**inputs, max_new_tokens=20)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
- 使用Flash Attention 2:加载模型时启用
use_flash_attention_2
选项,提升推理速度。
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "mistralai/Mixtral-8x7B-Instruct-v0.1"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, use_flash_attention_2=True)
text = "Hello my name is"
inputs = tokenizer(text, return_tensors="pt").to(0)
outputs = model.generate(**inputs, max_new_tokens=20)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
📄 许可证
本模型采用apache-2.0
许可证。
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
智启未来,您的人工智能解决方案智库
简体中文