pytorch 运行llama-2- 70 B-chat模型在单GPU上

y53ybaqx  于 2023-10-20  发布在  其他
关注(0)|答案(3)|浏览(255)

我在Ubuntu服务器18.04 LTS上运行pytorch。我有一个8 GB或RAM的NVIDIA GPU。我想尝试一下新的llma 2 - 70 B聊天模型。我尝试使用peft和bitsandbytes来降低硬件要求,如下面的链接所述:
https://www.youtube.com/watch?v=6iHVJyX2e50
有没有可能在一个8 GB内存的GPU上使用llama-2- 70 B-chat模型?我不在乎它是否快,我只是想实验,看看我能得到什么样的质量React。

o2gm4chl

o2gm4chl1#

简答:没有

没有办法完全在8 GB GPU上运行Llama-2- 70 B聊天模型。即使是量子化。(Q2量化的文件大小/内存大小见下文)
运行Llama-2-70 b的最佳选择是:

长回答:再加上你的系统内存

使用.gguf量化,尝试Llama.cpp或任何基于它的项目。
使用Llama.cpp,您可以运行模型并将其部分卸载到GPU,其余部分在CPU上运行。即使这样,使用Q2的最高可用量化,这将导致模型的显著质量损失,您需要总共32 GB内存,这是GPU和系统RAM的组合-但请记住,您的系统也需要RAM。
它可能以任何方式运行,您的系统开始交换,这将使答案非常慢。我的意思是令人难以置信的,因为交换将发生在模型神经网络的每一次运行中,导致每个生成的令牌至少需要 * 几分钟 *(如果不是更糟的话)。
如果没有交换,根据系统的性能,预计大约为 0.5 token /s 或略高,甚至更糟。以下是gguf量化的llama-2- 70 B聊天模型的模型卡,它包含如何使用不同软件运行它的进一步信息:TheBloke/Llama-2-70B-chat-GGUF

ebdffaop

ebdffaop2#

要在8 GB VRAM上运行70 B模型,即使量化也很困难。也许你可以试着在Huggingface中运行它?您已获得单个A100大示例配额。较小的型号也相当有能力,给予他们一次机会。对于量化,请看llama.cpp项目(ggml),也适用于llama v2。
使用8 GB VRAM,您可以尝试运行较新的LlamaCode模型以及较小的Llama v2模型。尝试OobaBogga Web UI(它在Github上)作为一个通用的前端与聊天界面。但根据我的经验,推理有点慢。
祝你好运!

yhuiod9q

yhuiod9q3#

我运行在一个单一的6 GB GPU和一个CPU与176 GB RAM。下面是运行代码的Python脚本。我们只是选择ofload少量的层到GPU。其余的是在CPU上处理的,它的速度要慢得多,但它的工作。导入操作系统导入转换器

设置模型文件路径

model_path = os.path.join(os.getcwd(),“llama-2-70b-chat.Q4_K_M.gguf”)

创建AutoModelForCauseLM类

llm = ctransformers. AutoModelForCauseLM.from_pretrained(model_path,model_type=“gguf”,gpu_layers=5,threads=24,reset=False,context_length=10000,stream=True,max_new_tokens=256,temperature=0.8,repetition_penalty=1.1)

启动对话循环

while True:

获取用户输入

user_input = input(“Human:“)

生成响应

响应= llm(user_input)

打印响应

print(“BOT:“)用于响应文本:print(text,end="",flush=True)

相关问题