Upstage-Llama-2-70B-Instruct-v2-AWQ项目介绍
项目概述
Upstage-Llama-2-70B-Instruct-v2-AWQ是一个由Upstage团队开发的大规模语言模型项目。这个模型基于Llama-2,并针对指令生成进行了优化。它采用了AWQ(一种高效、准确且快速的低位权重量化方法)进行量化,以提高推理速度,特别是在多用户服务器场景中。
关于AWQ
AWQ是一种支持4位量化的低比特权重量化方法,其比GPTQ更快,尤其适用于基于Transformers的推理。尽管当前使用AWQ的整体吞吐量仍低于未量化模型的性能,但AWQ允许在更小的GPU上运行,这降低了部署难度和成本。例如,使用AWQ技术后,一个70B模型仅需1块48GB的GPU即可运行,而非之前需要的2块80GB的GPU。
提供的存储库
- AWQ模型用于GPU推理:为那些需要GPU推理的用户提供了合适的4位量化模型。
- GPTQ模型:包括多种量化参数选项,满足不同需求。
- 多位GGUF模型:支持用CPU和GPU进行推理。
- 原始未量化fp16模型:以PyTorch格式提供,用于进一步转换。
使用方法
AWQ模型支持通过vLLM连续批处理服务器进行高吞吐量并发推理。在Python代码中可以通过AutoAWQ库加载该模型,具体例子如下:
from awq import AutoAWQForCausalLM
from transformers import AutoTokenizer
model_name_or_path = "TheBloke/Upstage-Llama-2-70B-instruct-v2-AWQ"
model = AutoAWQForCausalLM.from_quantized(model_name_or_path, fuse_layers=True, trust_remote_code=False, safetensors=True)
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=False)
prompt = "Tell me about AI"
prompt_template=f'''### System:
{system_message}
### User:
{prompt}
### Assistant:
'''
tokens = tokenizer(prompt_template, return_tensors='pt').input_ids.cuda()
generation_output = model.generate(tokens, do_sample=True, temperature=0.7, top_p=0.95, top_k=40, max_new_tokens=512)
print("Output: ", tokenizer.decode(generation_output[0]))
模型兼容性
提供的文件经过测试与AutoAWQ和vLLM兼容。目前,Huggingface的Text Generation Inference (TGI)还不支持AWQ,但已有相关的支持请求正在进行中。
关于Upstage
Upstage是一家专注于大语言模型(LLM)和AI的公司,致力于帮助用户构建私有LLM及相关应用。如果有兴趣利用自己的数据集构建领域特定LLM或开发LLM应用,可以联系Upstage获取更多支持。
联系我们
更多关于该项目的信息和支持,可通过Upstage官网获取指导。如果有特殊需求,请通过邮件contact@upstage.ai进行联系。