英伟达不是唯一选择?英特尔官方支持独显Arc770跑大语言模型

Llama 2 Inference with PyTorch* on Intel® Arc™ A-Series GPUsLlama 2

在英特尔® Arc™ A 系列 GPU 上使用 PyTorch* 进行推理

Learn how to run Llama 2 inference on Windows and WSL2 with Intel Arc A-Series GPU
了解如何使用 Intel Arc A 系列 GPU 在 Windows 和 WSL2 上运行 Llama 2 推理

英特尔官方博客在2月底发表了文章旗下的独显Intel® Arc™ A-Series GPUs可以支持跑大语言模型了,笔者正好有一台Intel最后一代nuc(后续的nuc改为华硕) Serpent Canyon,这是一台很小的台式电脑,作为台式机内部集成度比较高,CPU为12代i7,主板上集成了独显A770M,后面多了一个M比英特尔博客提到的A770性能差一些。

毫不起眼的蝰蛇峡谷Serpent Canyon买回来没有内存和硬盘,笔者电脑配置64G内存,2T固态硬盘,原本是用来玩游戏的。没想到英特尔官方博客文章说这款显卡能够支持跑大语言模型了,带着好奇心试了一下,的确可以。

啰嗦一下英特尔的介绍

在当今时代,生成式人工智能已广泛流行并用于生成文本、图像等。在生成模型中,大型语言模型(LLMs)一直是不可或缺的一部分,它将深度学习带入文本生成的下一步。 LLMs 可以拥有数十亿到数万亿个参数,在海量文本数据集上进行训练,显示出非凡的能力。 LLMs 通常具有基于转换器的架构,具有多个解码器层,这些解码器层从前面的令牌生成下一个令牌。由于迭代解码,生成任务受内存限制。流行的 LLMs 包括 GPT-J、LLaMA、OPT 和 BLOOM。 Llama 2 是预训练和微调的 Llama 语言模型的集合,参数范围为 70 亿到 700 亿个参数 [1]。


LLMs 的这些特性使 GPU 非常适合 LLM 工作负载,因为 GPU 擅长海量数据并行性和高内存带宽。英特尔 Arc A 系列显卡(包括英特尔® Arc™ A770 显卡)是高性能显卡,包含高达 16GB GPU 内存和 32 个 Xe 核心。每个Xe核配备16个英特尔® Xe矩阵扩展(XMX)引擎,总共多达512个英特尔XMX引擎,用于优化深度学习推理和训练中数百万次重复的GEMM(通用矩阵乘法)运算。英特尔 Arc A 系列显卡提供加速执行深度学习模型的能力,包括LLMs。


适用于 PyTorch* 的英特尔® 扩展利用英特尔® 独立 GPU 上的英特尔 XMX 引擎,通过针对英特尔® 硬件的最新性能优化来扩展 PyTorch。 Intel Extension for PyTorch 支持 PyTorch XPU 设备,从而可以轻松地将 PyTorch 模型和输入数据移动到设备,以便在具有 GPU 加速功能的 Intel 独立 GPU 上执行。最新版本的 Intel Extension for PyTorch (v2.1.10+xpu) 正式支持 WSL2、本机 Windows 和本机 Linux 上的 Intel Arc A 系列显卡。用户可以通过 Intel Extension for PyTorch 在 Intel Arc A 系列显卡上运行 PyTorch 模型。


在本博客中,我们将展示如何通过 Intel Extension for PyTorch 在 Intel Arc A 系列 GPU 上运行 Llama 2 推理。我们将在 Windows 和 WSL2 上使用 Intel Arc A770 GPU 演示 Llama 2 7B 和 Llama 2-Chat 7B 推理。

这里按照英特尔官方博客配置ubuntu电脑,我就不再赘述了,但是它的demo看起来运行很慢(我最初就是按照英特尔官方demo配置运行的)。

隔日后,我把它调整为ollama跑mistral 7b(基于llama2的一个很好用的变体,mistral是法国搞的),当然直接跑原始版本llama2 7b也可以的,速度应该差不多。

如果你正好有同款电脑或者英特尔的独立显卡ARC A770/M(注意显卡内存需要16G的版本),按照下面步骤可以流畅的运行这里测试的大语言模型,而且在调用GPU跑大语言模型的过程中显卡风扇很安静听不到声音。

视频加载中...

这里上传的视频是未经任何加速处理的录屏片段,如果你觉得英伟达显卡太贵,而且比单纯调用CPU更适合你,可以在按照英特尔官方博客提供的配置完成之后再这样调整配置ollama跑各种大语言模型(可选择配合web-ui获得十分良好的用户界面)。

conda activate llm

source {ONEAPI_PATH}/setvars.sh
参考我的电脑安装位置:( source /opt/intel/oneapi/setvars.sh )

python -c "import torch; import intel_extension_for_pytorch as ipex; print(torch.__version__); print(ipex.__version__); [print(f'[{i}]: {torch.xpu.get_device_properties(i)}') for i in range(torch.xpu.device_count())];"
这里是验证显卡扩展是否成功

如果安装扩展一切正常,你将会看到下面2张图片这些信息。

将ollama下载到本地,然后调整调用Intel显卡,重新编译即可!

cd ollama
go generate ./...
go build .

接下来在本地跑重新编译好的ollama,或者等待原作者发布支持Intel显卡的更新!

交互界面我比较推荐Open WebUI,这个在ollama仓库里可以找到它。为了使来自其他计算机能够访问您 Ubuntu 机器上的 Ollama 服务器,您需要将 OLLAMA_HOST 环境变量设置为 0.0.0.0。这会告诉 Ollama 监听所有网络接口。

把它部署在另外一台电脑上的时候需要在运行ollama之前输入以下代码:

export OLLAMA_HOST=0.0.0.0

接下来去新编译好的ollama运行文件所在文件夹运行即可
./ollama serve

另外一台电脑运行Open WebUI
我在苹果电脑上运行Open WebUI,先启动docker,然后在终端机输入(这里把ip地址更换为你自己内网电脑的ip):

sudo docker run -d -p 3000:8080 -e OLLAMA_API_BASE_URL=http://192.168.2.151:11434/api -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

调用gpu和仅仅运行在cpu上简单对比:

仅调用cpu

调用gpu后

使用Intel Arc A770M GPU和第12代i7 CPU运行Mistral模型时,得到的参数说明如下:

- **response_token/s(18.87个标记)**: 在生成回答时,模型每秒生成约18.87个词标记。

- **prompt_token/s(69.27个标记)**: 在处理

问题时,模型每秒处理约69.27个词标记。

- **total_duration(10550.33毫秒)**: 模型处理问题并给出回答的总耗时约为10550.33毫秒(约10.55秒)。

- **load_duration(0.61毫秒)**: 模型准备工作的时间极短,仅为0.61毫秒。

- **prompt_eval_count(18)**: 模型在生成答案过程中对问题进行了18次评估。

- **prompt_eval_duration(259.84毫秒)**: 这些评估总共耗时259.84毫秒。

- **eval_count(194)**: 在回答生成过程中,模型进行了194次计算。

- **eval_duration(10282.57毫秒)**: 这些计算总共耗时10282.57毫秒(约10.28秒)。

简单来说,使用GPU后,模型在处理问题和生成回答时的速度更快,总耗时更短。

最后对这台春节前购入的极为超值serpen canyon(全新裸机才5500元,我加了64g内存 + 2t硬盘合计7000元),超过我预期的英特尔末代nuc蝰蛇峡谷继续好评!更何况它现在被英特尔官方支持可以玩大语言模型!

它后面的音频输出口带光纤,我很开心能够把它直接连接到外置的dac解码器播放音乐。同时它十分安静,所以启动ubuntu之后我还可以把它作为roon server + hqplayer embedded数播系统,并通过树莓派3b作为网桥连接dac解码器播放nas上的高质量音乐!

#nuc##蝰蛇峡谷12代酷睿配自家独显,9999元值吗?##标压处理器加上强劲的独立显卡,蝰蛇峡谷的散热表现如何呢?##英特尔##数播##aigc##openai##gpt##chatgpt到底有多牛##一起来玩chatgpt##大语言模型##llama##mistral##ollama#

展开阅读全文

页面更新:2024-03-03

标签:英特尔   蝰蛇   模型   英伟   语言   官方   解码器   峡谷   显卡   内存   博客

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top