8G 显存玩转书生大模型 Demo(书生大模型-第二关)

1、创建环境

# 创建环境
conda create -n demo python=3.10 -y
# 激活环境
conda activate demo
# 安装 torch
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia -y
# 安装其他依赖
pip install transformers==4.38
pip install sentencepiece==0.1.99
pip install einops==0.8.0
pip install protobuf==5.27.2
pip install accelerate==0.33.0
pip install streamlit==1.37.0

2、创建cli_demo.py 内容如下:

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM


model_name_or_path = "/root/share/new_models/Shanghai_AI_Laboratory/internlm2-chat-1_8b"

tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True, device_map='cuda:0')
model = AutoModelForCausalLM.from_pretrained(model_name_or_path, trust_remote_code=True, torch_dtype=torch.bfloat16, device_map='cuda:0')
model = model.eval()

system_prompt = """You are an AI assistant whose name is InternLM (书生·浦语).
- InternLM (书生·浦语) is 
在华硕天选4笔记本电脑(32g内存,4060 8G显卡)上部署本地大模型,可按以下步骤操作: ### 环境准备 - **系统**:确保系统为稳定版本,可从仓库下载ASUS华硕天选4笔记本电脑原装Windows11系统,该系统包含所有原厂驱动等预装软件,项目地址为https://gitcode.com/Resource-Bundle-Collection/46291 [^1]。 - **驱动**:安装最新的显卡驱动,以充分发挥NVIDIA GeForce RTX 4060 8G显卡的性能。 - **Python**:安装Python环境,建议使用Python 3.7及以上版本,并安装相的依赖库,如`torch`(支持GPU加速)、`transformers`等。 ### 大模型选择 选择适合本地部署的大模型,如一些轻量级的开源模型,例如GPT - Neo等。这些模型在资源占用上相对较小,更适合在笔记本电脑上运行。 ### 代码实现 以下是一个简单的使用`transformers`库加载和运行模型的示例代码: ```python from transformers import AutoTokenizer, AutoModelForCausalLM # 选择模型名称 model_name = "gpt-neo-125M" # 示例模型 # 加载分词器和模型 tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name) # 输入文本 input_text = "Hello, how are you?" input_ids = tokenizer.encode(input_text, return_tensors='pt') # 生成输出 output = model.generate(input_ids, max_length=50, num_beams=5, no_repeat_ngram_size=2, early_stopping=True) # 解码输出 generated_text = tokenizer.decode(output[0], skip_special_tokens=True) print(generated_text) ``` ### 资源优化 由于笔记本电脑的资源有限,可对模型进行量化处理,减少模型的内存占用。例如使用`transformers`库中的量化工具: ```python from transformers import AutoTokenizer, AutoModelForCausalLM from transformers import BitsAndBytesConfig # 配置量化参数 bnb_config = BitsAndBytesConfig( load_in_8bit=True, llm_int8_threshold=6.0 ) # 选择模型名称 model_name = "gpt-neo-125M" # 示例模型 # 加载分词器和模型 tokenizer = AutoTokenizer.from_pretrained(model_name) model = AutoModelForCausalLM.from_pretrained(model_name, quantization_config=bnb_config) # 后续代码同上述示例 ``` ### 运行与测试 运行代码,观察模型的运行情况和输出结果。如果出现内存不足等问题,可尝试调整模型的参数,如减少生成的最大长度等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值