调优了现有 量化修复可以极大减少模型的 调优后的量化模型, 调优后的量化模型,零一万物-1.5-9B-Chat-16K-GPTQ-It3-量化修复
【模型更新日期】
2024-05-25
【模型大小】
4.4GB
【量化修复】
AWQ
与 GPTQ
量化算法的量化策略。带有量化修复
标签的It3
模型,可以比肩默认AWQ
与GPTQ
算法的It8
模型的能力。
1.乱吐字
、2.无限循环
、3.长文能力丢失
等量化损失造成的模型不可用的情况。AWQ
与GPTQ
模型在能力上没有表现出明显区别。同时考虑到GPTQ
的vLLM
引擎的并发推理效率最好,所以不再制作AWQ
模型。it4
与it3
模型在能力上没有表现出明显区别,所以也不再制作it4
模型。 【同期量化修复模型】
【模型下载】
from modelscope import sapshot_dowload
model_dir = sapshot_dowload('tclf90/模型名', cache_dir="本地路径")
【vLLM推理(目前仅限Liux)】
1. Pytho 简易调试
from trasformers import AutoTokeizer
from vllm import LLM, SampligParams
max_model_le, tp_size = 4000, 1
model_ame = "本地路径/tclf90/模型名称" # 例:"./my_models/tclf90/Qwe1.5-32B-Chat-GPTQ-It3"
model_ame = model_ame.replace('.', '___')
tokeizer = AutoTokeizer.from_pretraied(model_ame)
llm = LLM(model=model_ame, tesor_parallel_size=tp_size, max_model_le=max_model_le, trust_remote_code=True, eforce_eager=True)
samplig_params = SampligParams(temperature=0.7, max_tokes=256, stop_toke_ids=[tokeizer.eos_toke_id])
messages_list = [
[{"role": "user", "cotet": "你是谁"}],
[{"role": "user", "cotet": "介绍一下你自己"}],
[{"role": "user", "cotet": "用pytho写一个快排函数"}],
]
prompt_toke_ids = [tokeizer.apply_chat_template(messages, add_geeratio_prompt=True) for messages i messages_list]
outputs = llm.geerate(prompt_toke_ids=prompt_toke_ids, samplig_params=samplig_params)
geerated_text = [output.outputs[0].text for output i outputs]
prit(geerated_text)
2. 类ChatGPT RESTFul API Server
>>> pytho -m vllm.etrypoits.opeai.api_server --model 本地路径/tclf90/模型名称
【Trasformer推理】
import torch
from trasformers import AutoTokeizer, AutoModelForCausalLM, GeeratioCofig
model_ame = "本地路径/tclf90/模型名称" # 例:"./my_models/tclf90/Qwe1.5-32B-Chat-GPTQ-It3"
model_ame = model_ame.replace('.', '___')
tokeizer = AutoTokeizer.from_pretraied(model_ame, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretraied(model_ame, trust_remote_code=True, torch_dtype=torch.bfloat16).cuda()
model.geeratio_cofig = GeeratioCofig.from_pretraied(model_ame)
model.geeratio_cofig.pad_toke_id = model.geeratio_cofig.eos_toke_id
messages = [
{"role": "user", "cotet": "你好你是谁"}
]
iput_tesor = tokeizer.apply_chat_template(messages, add_geeratio_prompt=True, retur_tesors="pt")
outputs = model.geerate(iput_tesor.to(model.device), max_ew_tokes=100)
result = tokeizer.decode(outputs[0][iput_tesor.shape[1]:], skip_special_tokes=True)
prit(result)
点击空白处退出提示
评论