专栏名称: 企业存储技术
企业存储、服务器、SSD、灾备等领域技术分享,交流 | @唐僧_huangliang (新浪微博 )
目录
相关文章推荐
51好读  ›  专栏  ›  企业存储技术

12G显存/Chat with RTX中文语言模型配置及使用体验

企业存储技术  · 公众号  ·  · 2024-04-20 08:30

正文

本文转载自知乎文章 https://zhuanlan.zhihu.com/p/689447958

一 、 Chat with RTX概述

Chat with RTX 是 Nvidi a 发布的一款 Demo 应用程序,以此可以个性化 GPT 大语言模型 (LLM),使其连接到您自己的 内容(文档、笔记、视频或其他数据),快速获得上下文相关答案。由于 Chat with RTX 全部在 Windows RTX PC 或工作站上本地运行,因此可以获得快速、安全的结果。

1. Chat with RTX 的优势

本地处理:隐私和性能的飞跃
Chat with RTX 的最重要优势之一是其本地处理功能。它利用 Nvidia RTX GPU 的强大计算能力,直接在用户的 PC 上运行,在 AI 交互中提供前所未有的速度和响应能力。这种本地执行模型可确保敏感数据保留在用户设备的范围内,从而提供云上人工智能服务无法比拟的隐私和数据安全级别。

高级内容分析:深入内部
Chat with RTX 包括.txt、.pdf、.doc/.docx 和 .xml 在内的多种文件格式以及 YouTube 视频。它采用复杂的人工智能模型来消化大量信息,提取相关见解并以极高的准确性总结复杂的数据。Chat with RTX 提供的深度分析超出了单纯的关键字匹配;它理解上下文,提取相关信息,并以连贯、简洁的方式呈现它。

2. Chat with RTX 的核心技术

Chat with RTX 功能的核心基于 Mistral / Llama 2 等先进的 AI 模型,借助检索增强生成 (RAG)、NVIDIA TensorRT-LLM 软件及 NVIDIA RTX 加速技术,使模型与 Nvidia Tensor 核心的计算能力相结合,可以促进快速、准确的数据查询,将生成式 AI 功能引入由NVIDIA 赋能的本地 Windows PC。硬件和软件之间的这种协同不仅体现了NVIDIA 致力于突破人工智能技术界限的承诺,而且还让我们得以一睹个人计算的未来,其中人工智能在提高生产力和实现新形式的创造力方面发挥着核心作用。

二 、 Chat with RTX安装

1. 软件安装及注意事项

首先来看官网软件运行系统需求:

本人电脑是今年刚配置的i5-13400F,内存32G,GPU是RTX 4070Ti 12G,满足上述需求,可以体验!从官网

Build a Custom LLM with ChatRTX下载安装包NVIDIA_ChatWithRTX_Demo.zip,解压得到下图所示文件列表:

点击setup安装,首先是Software license agreement :

然后是安装选项页(下面的图和自己实际的不完全匹配,当时不知道啥原因,Llama2 13B INT4的选项是灰的,装不了,想想反正还有Mistral 7B INT4可以用,就先继续了。当然后面自己进行了定制和补救)

在安装前,根据网友们的提示,做了一些准备:

1. 在安装过程中需要联网下载miniconda、python、及相应的依赖包,以及一些模型包,要确保网络能访问conda、github和Python仓库。

2. 使用默认安装路径。如果选择将应用程序安装在默认安装位置之外的其他文件夹,请确保文件夹路径或文件夹名称中没有空格。

3. 关闭杀毒软件,防止其干扰安装过程。

整个安装比较费时间,当你看到下述页面时,表示已经成功安装好了。

2. 离线使用

虽然模型的推理是利用TensorRT-LLM在本地进行,但是在使用中还是需要链接一下互联网(需要科学上网)。接下来我们就介绍下如何完全离线运行.

  1. 修改user_interface.py文件
    打开你的安装目录C:\Users\ yourname \AppData\Local\NVIDIA\ChatWithRTX [1] ,在C:\Users\ yourname \AppData\Local\NVIDIA\ChatWithRTX\RAG\trt-llm-rag-windows-main\ui里面有一个user_interface.py文件,打开它并找到254行左右的位置,在interface.launch函数里加上share=True,如下图所示:

    注 [1]: ^Chat with RTX缺省安装在当前用户所在文件夹,yourname代表用户名

2. 配置UAE-Large-V1
启动Chat With RTX时,需要联网的原因可能是它需要从HF上下载一个文件,我们打开:C:\Users\ yourname \AppData\Local\NVIDIA\ChatWithRTX\RAG\trt-llm-rag-windows-main\config\app_config.json,如下图, 我们可以看到:

这里就要求去HF网站下载“WhereIsAI/UAE-Large-V1"这个模型。我们可以提前直接从HF下载(地址: https://huggingface.co/WhereIsAI/UAE-Large-V1/tree/main ),然后将这个选项修改为本地路径就好。当然,对于无法访问HF的朋友,可以搜索百度云盘地址。

当然,如果你 已经 正常联网使用了一次,那么就可以将上述UAE-Large-V1地址改成本地缓存路径(我这里就使用了缓存的UAE-Large-V1模型):


三、中文大语言模型配置和Llama2补救

由于在Chat With RTX安装过程中没有成功安装Llama2模型,并且内置的两个语言模型对中文支持不是很好,因此需要增加中文模型,并将Llama2重新配置。

1. 安装chatglm3_6b_32k

要增加一个模型,需要TensorRT-LLM编译构建模型引擎。TensorRT-LLM是专门为大语言模型推理而设计的,工具能够加速AI模型的推理速度,让我们的模型运行起来更快,更节省内存。

幸运的是,Chat With RTX已经替我们事先安装好了一个TensorRT-LLM(版本号0.7.0)。

接下来我们详细说明如何安装大语言模型,首先我们得确认一下这个语言模型是必须是TensorRT-LLM支持的,查看NVIDIA/TensorRT-LLM官方网站,查询支持的大语言模型,图中红色方框标记的是我们将要增加的中文模型:

接下来,我们来添加ChatGLM:

0)下载chatglm3_6b_32k模型包;

1)从启动菜单栏,点击Miniconda3 Power Shell,进入PS命令行窗口;

2)激活RAG环境:这一步是激活Chat With RTX的环境,意味着我们接下来的操作和我们运行Chat With RTX处于同一情形,避免出现因为某些包的版本不匹配而造成的错误;

conda activate  C:\Users\yourname\AppData\Local\NVIDIA\ChatWithRTX\env_nvd_rag

3)进入TensorRT-LLM的chatglm目录:

cd C:\Users\yourname\AppData\Local\NVIDIA\ChatWithRTX\TensorRT-LLM\TensorRT-LLM-0.7.0\examples\chatglm\

4)构建TensorRT-LLM模型,

python build.py -m chatglm3_6b_32k --model_dir c:\\2024\\chatglm3_6b_32k  --output_dir trt_engines/chatglm3_6b-32k/fp16/1-gpu --use_weight_only --weight_only_precision int4 --max_input_len 3900

不幸的是,在build过程中报错,如图:

[E] 4: Internal error: plugin node PLUGIN_V2_GPTAttention_1 requires 24182729088 bytes of scratch space, but only 12878086144 is available.

Try increasing the workspace size with IBuilderConfig::setMemoryPoolLimit().

从字面上理解是内存(显存)不够造成的,查找相关文献,一般建议下述方法:

IBuilderConfig config = new IBuilderConfig();
config.setMemoryPoolLimit(1024);

但在build.py中如何应用这个配置,似乎没有入口。

后来,在TensoRT-LLM官方中的Failed to Build Llama-7b Engine Because of Insufficient Memory找到了解决方案,增加选项 --enable_context_fmha ,可以 It can save lots of memory。 实践发现有效!

5)构建成功后, 我们就能在trt_engines/chatglm3_6b-32k/fp16/1-gpu目录下看到生成好的引擎:

接下来我们打开文件夹, 找到 C:\Users\ Yourname \AppData\Local\NVIDIA\ChatWithRTX\RAG\trt-llm-rag-windows-main\model 目录,创建一个新的文件夹:chatglm

然后在 chatglm 里面分别创建 chatglm_engine chatglm_hf 文件夹:







请到「今天看啥」查看全文