首页 > 教程攻略 > ai资讯 >千亿级开源大模型Qwen110B部署实测

千亿级开源大模型Qwen110B部署实测

来源:互联网 时间:2026-08-07 13:48:13
近日,通义千问团队开源了Qwen1.5系列的首个千亿参数模型——Qwen1.5-110B-Chat。消息一出,不少开发者既兴奋又发愁:这么大的模型,普通显卡根本跑不动,普通人想本地部署基本是想多了。 不过,到底要多少资源才能跑起来?实测数据最有说服力。我直接用云计算资源部署了Qwen1.5-110B-Chat,从下载到量化到推理,把存储需求、显存消耗摸了个清楚。以下就是这次测试的全记录。 千亿级开源大模型Qwen110B部署实测 ## 一、下载模型 先从ModelScope拉取模型文件,代码很简单: ```python #模型下载 from modelscope import snapshot_download model_dir = snapshot_download('qwen/Qwen1.5-110B-Chat', cache_dir='path/to/local/dir') ``` 下载完成后,目录结构如下: ``` . ├── config.json ├── configuration.json ├── generation_config.json ├── LICENSE ├── merges.txt ├── model-00001-of-00062.safetensors ├── model-00002-of-00062.safetensors ├── model-00003-of-00062.safetensors ├── model-00004-of-00062.safetensors ├── model-00005-of-00062.safetensors ... ├── model-00062-of-00062.safetensors ├── model.safetensors.index.json ├── out.txt ├── README.md ├── tokenizer_config.json ├── tokenizer.json └── vocab.json 0 directories, 73 files ``` 模型文件一共 **占用硬盘空间208G**。光存储这一步,就劝退了不少人。 ## 二、显卡消耗 按照经验公式:模型显存占用(GB) ≈ 大模型参数(B)× 2。那么Qwen1.5-110B的理论显存需求应该在220GB左右。 实际部署时,不开启任何量化,**显存占用约为215GB**。这意味着,如果要做完整无量化部署,至少需要3块80GB显存的显卡(比如A100或H100)。 当然,量化是降低门槛的有效手段。在Transformers中使用LLM.int8()只需安装bitsandbytes,然后即可启用8bit量化。 **8bit量化** ```python from transformers import AutoModelForCausalLM model = AutoModelForCausalLM.from_pretrained( 'qwen/Qwen1___5-110B-Chat', device_map='auto', load_in_8bit=True, max_memory={ i: f'{int(torch.cuda.mem_get_info(i)[0]/1024**3)-2}GB' for i in range(torch.cuda.device_count()) } ) ``` 测试结果显示,8bit量化部署下,**显存需求降至113GB**,两块80GB显卡即可跑起来。 **4bit量化** ```python from transformers import BitsAndBytesConfig import torch nf4_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_use_double_quant=True, bnb_4bit_compute_dtype=torch.bfloat16 ) model_nf4 = AutoModelForCausalLM.from_pretrained('qwen/Qwen1___5-110B-Chat', quantization_config=nf4_config) ``` 4bit量化后的显存占用更是显著降低——**仅需62GB**。也就是说,单块80GB显存的显卡就能搞定部署,对个人开发者来说终于有了可行性。 ## 三、推理代码 模型部署好之后,拿一个“弱智吧”的经典问题来测一测: ```python from modelscope import AutoModelForCausalLM, AutoTokenizer device = "cuda" # the device to load the model onto model = AutoModelForCausalLM.from_pretrained( "/home/data/qwen/Qwen1___5-110B-Chat", torch_dtype="auto", device_map="auto" ) tokenizer = AutoTokenizer.from_pretrained("/jydata/qwen/Qwen1___5-110B-Chat") prompt = "树上有3只鸟,我用步枪打死一只,还有几只鸟?" messages = [ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": prompt} ] text = tokenizer.apply_chat_template( messages, tokenize=False, add_generation_prompt=True ) model_inputs = tokenizer([text], return_tensors="pt").to(device) generated_ids = model.generate( model_inputs.input_ids, max_new_tokens=512 ) generated_ids = [ output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids) ] response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0] print(response) ``` ## 四、推理截图 (此处插入推理截图) 总的来说,千亿参数模型的部署门槛在量化技术的加持下已经大大降低。如果你手头有至少一块80GB显存的显卡,配合4bit量化,完全可以本地跑起来。当然,如果追求完整精度和更大并发,多卡方案依然是必要的。这次实测数据希望能给有部署需求的同行们提供一个明确的参考。