Baichuan-M1-14B-Instruct 部署踩坑

Baichuan-M1-14B-Instruct 部署

conda create -n baichuan python=3.12

conda activate baichuan

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 -i https://pypi.douban.io/simple

pip install sentencepiece

pip install transformers==4.47.0

pip install flash_attn-2.6.0+cu122torch2.4cxx11abiFALSE-cp312-cp312-linux_x86_64.whl
accelerate               1.3.0
bitsandbytes             0.45.1
certifi                  2024.12.14
charset-normalizer       3.4.1
einops                   0.8.0
filelock                 3.17.0
flash-attn               2.6.0
fsspec                   2024.12.0
huggingface-hub          0.27.1
idna                     3.10
Jinja2                   3.1.5
MarkupSafe               3.0.2
mpmath                   1.3.0
networkx                 3.4.2
numpy                    2.2.2
nvidia-cublas-cu12       12.4.5.8
nvidia-cuda-cupti-cu12   12.4.127
nvidia-cuda-nvrtc-cu12   12.4.127
nvidia-cuda-runtime-cu12 12.4.127
nvidia-cudnn-cu12        9.1.0.70
nvidia-cufft-cu12        11.2.1.3
nvidia-curand-cu12       10.3.5.147
nvidia-cusolver-cu12     11.6.1.9
nvidia-cusparse-cu12     12.3.1.170
nvidia-nccl-cu12         2.21.5
nvidia-nvjitlink-cu12    12.4.127
nvidia-nvtx-cu12         12.4.127
packaging                24.2
pillow                   11.1.0
pip                      24.2
psutil                   6.1.1
PyYAML                   6.0.2
regex                    2024.11.6
requests                 2.32.3
safetensors              0.5.2
sentencepiece            0.2.0
setuptools               75.1.0
sympy                    1.13.1
tokenizers               0.21.0
torch                    2.5.0
torchaudio               2.5.0
torchvision              0.20.0
tqdm                     4.67.1
transformers             4.48.1
triton                   3.1.0
typing_extensions        4.12.2
urllib3                  2.3.0
wheel                    0.44.0

显存不足,量化

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

# 1. Load pre-trained model and tokenizer
model_name = "./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.bfloat8)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    torch_dtype=torch.float16,
    low_cpu_mem_usage=True,
    load_in_4bit=False,
    load_in_8bit=True,
    trust_remote_code=True,
)
# model = model.quantize(8).cuda() 
# 2. Input prompt text
prompt = "感冒了怎么弄?"

# 3. Encode the input text for the model
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(model.device)
print(model_inputs)
print(model_inputs['input_ids'].shape)
print(model_inputs['input_ids'].dtype)
# 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)

<think>嗯,用户问的是“Baichuan-7B是什么数据库”。首先,我需要确认用户的问题是否存在误解,因为Baichuan-7B不是一个数据库,而是一个大语言模型。可能用户对这两个概念有所混淆,或者输入时有笔误。 接下来,我应该先明确回答用户的问题,指出Baichuan-7B是模型而非数据库。然后需要详细介绍这个模型的背景、特点、应用场景以及如何使用,以帮助用户全面了解。同时,考虑到用户可能对技术术语不太熟悉,需要用简洁易懂的语言解释。 还要注意用户之前询问过Llama3的微调、量化和部署流程,可能对大型模型有一定的技术背景,所以可以适当加入技术细节,但避免过于复杂。此外,用户可能在寻找如何应用Baichuan-7B,可能需要后续的指导,比如微调或部署的方法,可以在回答末尾提及,提供进一步帮助的可能性。 最后,确保回答结构清晰,分点说明,并检查是否有遗漏的重要信息,比如模型的开发团队、开源协议等,这些都是用户可能关心的点。同时,避免使用Markdown格式,保持口语化但专业的语气。</think>**Baichuan-7B 不是数据库,而是一个开源的大语言模型**。以下是它的关键信息: --- ### **1. 基础定位** - **性质**:由百川智能研发的中英文双语大语言模型(LLM) - **参数量**:70 亿参数(7B) - **开源协议**:免费商用许可(Apache 2.0) --- ### **2. 核心特点** | 特性 | 说明 | |---------------|----------------------------------------------------------------------| | **训练数据** | 2.6 万亿 tokens(中英文比例 1:1) | | **上下文窗口**| 支持 4k tokens 长文本理解 | | **硬件要求** | FP16 精度需 14GB 显存(可在 RTX 3090 单卡运行) | | **生态支持** | 兼容 Hugging Face、LangChain、llama.cpp 等工具 | --- ### **3. 典型应用场景** - **文本生成**:新闻撰写、故事创作 - **知识问答**:百科全书式多轮对话 - **代码辅助**:Python/Java 代码补全 - **商业场景**:客服机器人、报告摘要生成 --- ### **4. 与数据库的核心区别** | | Baichuan-7B | 传统数据库(如MySQL) | |--------------|--------------------------------------|------------------------------------| | **功能** | 理解语言、生成文本 | 结构化数据存储与查询 | | **数据形态** | 通过参数隐式存储知识 | 显式存储表格/文档 | | **交互方式** | 自然语言指令交互 | SQL 查询语句 | | **输出形式** | 文本、代码、解决方案 | 结构化查询结果 | --- ### **5. 使用方式示例** ```python from transformers import AutoModelForCausalLM, AutoTokenizer model = AutoModelForCausalLM.from_pretrained("baichuan-inc/Baichuan-7B") tokenizer = AutoTokenizer.from_pretrained("baichuan-inc/Baichuan-7B") inputs = tokenizer("阿里巴巴的总部位于", return_tensors="pt") print(tokenizer.decode(model.generate(**inputs)[0])) # 输出:阿里巴巴的总部位于中国浙江省杭州市 ``` 如果需要构建数据库应用,可以**结合使用**: - 用 PostgreSQL/MySQL 存储结构化数据 -Baichuan-7B 实现自然语言查询转换(NL2SQL) - 通过 LangChain 搭建混合系统 是否想了解具体的集成实现方案?我可以进一步说明技术细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值