You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让EleutherAI/gpt-neo-1.3B模型运行在GPU上?

GPT-Neo-1.3B未使用GPU的解决方法

核心问题:未将模型与输入数据迁移至GPU

你的代码默认将模型和张量加载到CPU,加上可能未确认PyTorch的CUDA支持,导致GPU未被利用。

1. 确认PyTorch的CUDA支持

先运行以下代码验证CUDA是否可用:

import torch
print(torch.cuda.is_available())

如果输出False,说明你安装的是CPU版PyTorch,需要卸载后重新安装适配CUDA 11.6的PyTorch版本。

2. 修改代码,强制使用GPU

修改后的完整代码如下,核心是通过to(device)将模型和输入张量移至GPU:

from transformers import AutoModelForCausalLM, AutoTokenizer
import torch

# 自动选择可用设备(优先GPU)
device = "cuda" if torch.cuda.is_available() else "cpu"

# 加载模型并迁移到指定设备
model = AutoModelForCausalLM.from_pretrained("EleutherAI/gpt-neo-1.3B").to(device)
tokenizer = AutoTokenizer.from_pretrained("EleutherAI/gpt-neo-1.3B")

prompt = "What is the capital of France?"

# 将输入张量也迁移到GPU
input_ids = tokenizer(prompt, return_tensors="pt").input_ids.to(device)
gen_tokens = model.generate(input_ids, do_sample=True, temperature=0.9, max_length=50)
gen_text = tokenizer.batch_decode(gen_tokens)[0]
print(gen_text)

3. 显存优化(可选)

如果想进一步节省显存,可使用半精度加载模型,显存占用会减少近一半:

model = AutoModelForCausalLM.from_pretrained(
    "EleutherAI/gpt-neo-1.3B",
    torch_dtype=torch.float16
).to(device)

验证GPU使用情况

运行代码后,执行nvidia-smi命令,若GPU显存占用明显上升、GPU-Util数值增加,说明GPU已正常工作。


内容的提问来源于stack exchange,提问作者Fifi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 01:55:34