【2025最新】Baichuan-M1-instruct部署教程

首先机器至少要A100、4090、3090

这里选AutoDL的4090D,运行至少要20G显存。这里镜像选基础镜像11.8【更新!!!!!!!!!24G带不动!显存不够】

 有时候会看见两种不同的4090,这里解释一下。选4090D主要是因为便宜:

RTX 4090 和 RTX 4090D 存在多方面的区别,具体如下:

  • 核心规格3:
    • CUDA 核心数量:RTX 4090 拥有 16,384 个 CUDA 核心,而 RTX 4090D 的 CUDA 核心数量为 14,592 个,相比 4090 减少了约 11%。
    • SM 单元:RTX 4090 有 128 个 SM 单元,RTX 4090D 为 114 个。
    • Tensor 核心:RTX 4090 有 512 个 Tensor 核心,RTX 4090D 有 456 个,减少了大约 11%。
    • RT 核心:RTX 4090 有 128 个光线追踪核心,RTX 4090D 有 114 个。
    • 频率:RTX 4090 基础频率为 2,235MHz,RTX 4090D 为 2,280MHz,两者加速频率相同,均为 2,520MHz。
  • 性能表现6:
    • 理论性能:RTX 4090D 的性能约为 RTX 4090 性能的 95%,两者有 5% 左右的性能差距。
    • 游戏性能:在 3DMark 基准测试中,RTX 4090D 跑分落后 RTX 4090 约 5%-8%。在 4K 光栅化游戏测试中,RTX 4090D 的游戏帧数比 RTX 4090 弱 5.5% 左右;在 4K 光追游戏测试和 4K DLSS 游戏测试中,RTX 4090D 的游戏帧数比 RTX 4090 弱 5.8% 左右。
    • AI 推理性能:在 AI 推理测试中,RTX 4090D 的单精度和双精度浮点运算性能与 RTX 4090 的差距约为 5%,整数性能仅落后 2.6%。
  • 功耗散热3:
    • 功耗:RTX 4090 的功耗为 450W,对系统电源要求较高。RTX 4090D 的功耗约为 420-425W,相对更节能。
    • 散热:由于功耗较低,RTX 4090D 温度控制更稳定,适合长时间高负载运行。
  • 市场定位与价格3:
    • 市场定位:RTX 4090 是面向全球市场的旗舰显卡;RTX 4090D 是为满足中国市场需求、规避美国政府对尖端 AI 智能芯片的管制而推出的特供版。
    • 价格:两款显卡首发定价都是 12,999 元,但 RTX 4090 现在在国内仍然处于禁售状态,从非官方渠道购买最便宜的价格也得 15,000 元以上;4090D 显卡各显卡品牌官方店有在售,价格普遍更便宜,也更容易入手。
  • 其他特性3:RTX 4090 可超频,而 RTX 4090D 锁定了超频功能。不过,两者均搭载 24GB GDDR6X 显存,位宽 384bit,带宽 1,008GB/s,并且都支持 NVIDIA 的 DLSS 3 技术和双 AV1 编码器。

链接服务器:

先往数据盘传一下这个文件,对应cuda11、torch2.5、python3.12

新建环境

conda create -n baichuanm1 python=3.12.9

加载环境

source ~/.bashrc
 

如果环境安装错了,用下面的命令卸载:

conda env remove -n baichuanm1

激活环境以后:

pip install sentencepiece

pip install einops==0.8.0

确认一下环境:

先conda list,确认下python、cuda和pytorch的版本

如果没有装的可以到下面的网址找到一件安装cuda和torch的命令,并且是打包好对应版本的

按照cuda和torch看官网:https://pytorch.org/get-started/previous-versions/

例如:

# CUDA 11.8和torch2.5.0对应下面的指令

pip install torch==2.5.0 torchvision==0.20.0 torchaudio==2.5.0 --index-url https://download.pytorch.org/whl/cu118

查看cuda版本,cuda版本为V11.8.89

nvcc -V


(myenv) root@autodl-container-6c3e4aa234-8adeb2ea:~# nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
 

接着把这个包安装一下 pip install ,注意这个包对应的是cuda11、torch2.5、python3.12,其它情况对应的包在这里找:

Releases · Dao-AILab/flash-attention · GitHub

接下来下载模型,把这个文件传到服务器并运行

#模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('baichuan-inc/Baichuan-M1-14B-Instruct',cache_dir='/root/autodl-tmp/')

 运行测试代码看看效果,这里注意bachuanM1-14B-instruct只支持16位量化

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
import os
 
#os.environ["CUDA_VISIBLE_DEVICES"] = "7"
# 1. Load pre-trained model and tokenizer
model_name = "/root/autodl-tmp/baichuan-inc/Baichuan-M1-14B-Instruct/"
tokenizer = AutoTokenizer.from_pretrained(model_name,trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_name,trust_remote_code=True,torch_dtype = torch.bfloat16).cuda()
# 2. Input prompt text
prompt = "May I ask you some questions about medical knowledge?"
 
# 3. Encode the input text for the model
messages = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "please introduce yourself"}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)
 
# 4. Generate text
generated_ids = model.generate(
    **model_inputs,
    max_new_tokens=512
)
generated_ids = [
    output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
 
# 5. Decode the generated text
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
 
 
# 6. Output the result
print("Generated text:")
print(response)

如果上面的版本都是对应的但运行测试代码还是报错flash_attn有关的错误!那很有可能是你的GPU是无卡模式开机或者是GPU没有挂上去!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值