中文大语言模型 Llama-2 7B(或13B) 本地化部署 (国内云服务器、GPU单卡16GB、中文模型、WEB页面TextUI、简单入门)

        本文目的是让大家先熟悉模型的部署,简单入门;所以只需要很小的算力,单台服务器 单GPU显卡(显存不低于12GB),操作系统需要安装 Ubuntu 18.04。

1 服务器&操作系统 

        1.1服务器的准备

        准备一台服务器 单张英伟达GPU显卡(显存不低于12GB),操作系统需要安装 Ubuntu 18.04 (具体安装过程忽略)。 重装系统前注意备份现有存储上的相关重要数据。 GPU显卡驱动先不安装; 后续介绍驱动和CUDA的安装步骤。

        如果手上没有相应的服务器硬件设备、可以购买带GPU的云服务器, 以下可供选择参考。

 上云精选_云服务器秒杀_开发者上云推荐-腾讯云腾讯云推出云产品限时特惠抢购活动:2C2G云服务器9元/月起;还有短信、CDN、COS等热门云产品限时特惠...icon-default.png?t=N7T8https://cloud.tencent.com/act/pro/seckill_season?from=20210

地域选择国内适合的城市;   预装镜像为 Ubuntu 18.04

        购买后一般云厂商会自动安装显卡的驱动和CUDA , 因为目前大部分的项目对 cuda 11.7 和 11.8 版本兼容的比较好,后续我们要指定安装特定的版本; 所以如果云主机已经预装了GPU驱动,我们需要卸载。 如果不了解卸载的指令,可以在控制台 点击“重装系统”; 

        然后 注意 不要勾选后台自动安装 GPU 驱动; 这样重置后就是一台干净的 Ubuntu18.04的系统,且没有安装GPU的驱动。

1.2系统工具和环境 

   安装一些基础的相关软件工具

sudo apt update
sudo apt install -y vim git wget curl net-tools language-pack-zh-hans language-pack-en

中文环境

echo '
LANG="en_US.utf8"; export LANG
LANGUAGE="en_US.utf8"; export LANGUAGE
LC_ALL="en_US.utf8"; export LC_ALL
LC_CTYPE="en_US.utf8"; export LC_CTYPE
SUPPORTED=en_US.UTF8:en_US:en; export SUPPORTED

TZ="Asia/Shanghai"; export TZ
' >> ~/.profile
source ~/.profile
locale
#确认当前是UTF8

2 安装  显卡驱动  和  CUDA

2.1 确认操作系统当前没有安装驱动 

        确认当前系统没有安装GPU显卡驱动, 且没有加载nvidia相关模块

lsmod | grep nvidia
sudo lsof /dev/nvidia*

#以上命令 应该没有输出 nvidia 等字样的信息 

                 

 2.2 如何安装指定版本的显卡驱动(可选)

        后续 2.3 中 cuda 安装包中含有配合的显卡驱动,可以一步安装; 如果需要指定安装和 cuda 包中不同版本的驱动,可参考本节, 否则建议直接跳至 2.3 节。 

根据显卡型号下载适合的驱动

Official Drivers | NVIDIADownload latest drivers for NVIDIA products including GeForce, TITAN, NVIDIA RTX, Data Center, GRID and more.icon-default.png?t=N7T8https://www.nvidia.com/download/index.aspxUnix Drivers | NVIDIA
Linux AMD64 Display Driver Archive | NVIDIA

 

 下载并安装显卡驱动 (需要 root 权限)

wget https://us.download.nvidia.com/XFree86/Linux-x86_64/535.98/NVIDIA-Linux-x86_64-535.98.run
sudo sh ./NVIDIA-Linux-x86_64-535.98.run
tail /var/log/nvidia-installer.log

2.3 安装 cuda (可一并安装显卡驱动) 

CUDA Toolkit Archive | NVIDIA DeveloperPrevious releases of the CUDA Toolkit, GPU Computing SDK, documentation and developer drivers can be found using the links below. Please select the release you want from the list below, and be sure to check www.nvidia.com/drivers for more recent production drivers appropriate for your hardware configuration.icon-default.png?t=N7T8https://developer.nvidia.com/cuda-toolkit-archive下载 cuda 11.8 版本安装包 (内含 显卡驱动)

wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run

CUDA Toolkit 11.8 Downloads | NVIDIA DeveloperResources CUDA Documentation/Release NotesMacOS Tools Training Sample Code Forums Archive of Previous CUDA Releases FAQ Open Source PackagesSubmit a BugTarball and Zip Archive Deliverablesicon-default.png?t=N7T8https://developer.nvidia.com/cuda-11-8-0-download-archive

安装 cuda 需要 root 权限; 

如跳过上节没有安装显卡驱动则:要勾选安装驱动项; 否则 , 要去掉安装驱动的勾选项

sudo sh cuda_11.8.0_520.61.05_linux.run 

最后运行 nvidia-smi 确认 驱动 和 cuda 安装成功

tail /var/log/cuda-installer.log
nvidia-smi

注意 : 使用 nvidia-smi  查看  CUDA 版本必须是 11.8

3 准备  Python 环境  (安装conda & 配置国内镜像源)

        3.1安装 conda

wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py39_4.12.0-Linux-x86_64.sh
sh Miniconda3-py39_4.12.0-Linux-x86_64.sh
#都回答  yes
source ~/.bashrc

        3.2 为 pip 配置国内镜像源

pip config set global.index-url https://mirrors.tuna.tsinghua.edu.cn/simple
pip config set install.trusted-host mirrors.tuna.tsinghua.edu.cn

        3.3 为 conda 配置国内镜像源

        编辑当前用户下的 .condarc 文件   

conda config --set show_channel_urls yes
vim ~/.condarc

        替换成如下内容:

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch-lts: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

         清除索引缓存

conda clean --all --yes
conda clean -i

        3.4 以下国内常用的 pip 镜像源 仅供参考

清华:https://mirrors.tuna.tsinghua.edu.cn/simple

阿里云:http://mirrors.aliyun.com/pypi/simple/

中国科技大学: https://pypi.mirrors.ustc.edu.cn/simple/

豆瓣:http://pypi.douban.com/simple/

        3.5 常用conda命令 仅供参考

创建虚拟环境:conda create -n 环境名称 python=版本号
查看已有虚拟环境:conda env list
激活虚拟环境:conda activate 环境名称
删除虚拟环境:conda remove -n 环境名称 --all
查看当前环境下已安装的包:conda list
导出当前环境下的包:conda env export > environment.yml
根据导出的包安装环境:conda env create -f environment.yml
安装包:conda install 包名
安装下载到本地的包:conda install --use-local  包路径
卸载当前环境下包:conda uninstall 包名
卸载指定虚拟环境中的包:conda remove --name 环境名称 包名


 

4 创建环境 安装相关包

        4.1 Conda创建一个新的环境

 conda create -n llm python=3.10.9
 conda activate llm

         4.2安装 Web 交互 UI 工程 text-generation-webui

GitHub - oobabooga/text-generation-webui: A Gradio web UI for Large Language Models. Supports transformers, GPTQ, llama.cpp (ggml), Llama models.A Gradio web UI for Large Language Models. Supports transformers, GPTQ, llama.cpp (ggml), Llama models. - GitHub - oobabooga/text-generation-webui: A Gradio web UI for Large Language Models. Supports transformers, GPTQ, llama.cpp (ggml), Llama models.icon-default.png?t=N7T8https://github.com/oobabooga/text-generation-webui

wget https://github.com/oobabooga/text-generation-webui/releases/download/installers/oobabooga_linux.zip
unzip oobabooga_linux.zip
cd oobabooga_linux/
conda activate llm
bash ./start_linux.sh

 bash ./start_linux.sh 首次运行会下载大量数据, 时间较长。

成功后会 默认监听 7860 端口 开启web服务,如下所示:

              

 5 语言 交互 UI 

        5.1进入 web 交互页面

conda activate llm

HF_TOKEN="hf_XXXXXXXXXXXXXXXXXXXXXX" # HuggingFace  的 Access Tokens
export HF_TOKEN

./start_linux.sh

./start_linux.sh 开启web服务,成功后会显示:

使用 SSH Tunnel 建立隧道 将 服务器的 7860 端口 映射到本地, 然后使用浏览器打开 。

         5.2 使用交互页面自动下载模型

        首先需要在 Model 模型页签中下载一个Llama2模型 。

        输入模型名称路径:“FlagAlpha/Llama2-Chinese-7b-Chat”

        然后点击下载按钮

注意:如果下载某些模型 出现 Http 401 错误,则需要设置  HuggingFace  的 Access Tokens

需要登录 Hugging Face – The AI community building the future.

在设置页面的  Access Tokens 中创建  Tokens 并复制。然后在 ./start_linux.sh 启动前 设置“HF_TOKEN” 环境变量 。

        另外,可以在 HuggingFace 上寻找其它开放的大预言模型, 如果使用 13B 或者 更大的模型推理,依据参数规模可能需要更高的GPU显存,甚至多张GPU来加载运行。 Hugging Face – The AI community building the future.We’re on a journey to advance and democratize artificial intelligence through open source and open science.icon-default.png?t=N7T8https://huggingface.co/  

          5.3手动下载 Llama2 模型 (可选)

模型文件建议去官网下载,  国内Llama2 下载地址 仅供参考

  • Llama2-7B官网版本:迅雷云盘

  • Llama2-7B-Chat官网版本:迅雷云盘

  • Llama2-13B官网版本:迅雷云盘

  • Llama2-13B-Chat官网版本:迅雷云盘

  • Llama2-7B Hugging Face版本:迅雷云盘

  • Llama2-7B-Chat Hugging Face版本:迅雷云盘

  • Llama2-13B Hugging Face版本:迅雷云盘

  • Llama2-13B-Chat Hugging Face版本:迅雷云盘

  • Llama2-70B-Chat Hugging Face版本:迅雷云盘

另外 Llama2 中文模型 供参考选择  , 通过访问Llama2中文社区链接 仅供参考:

GitHub - FlagAlpha/Llama2-Chinese: Llama中文社区,最好的中文Llama大模型,完全开源可商用Llama中文社区,最好的中文Llama大模型,完全开源可商用. Contribute to FlagAlpha/Llama2-Chinese development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/FlagAlpha/Llama2-Chinese  将下载好的模型文件目录放到 /data/ai/oobabooga_linux/text-generation-webui/models中

        5.4加载模型

        在 Model 模型页签中 加载模型 。 

        如下图: 刷新现有模型、 下拉菜单选中模型,点击 Load 加载 模型 , 成功加载后会显示:  “Successfully loaded FlagAlpha_Llama2-Chinese-7b-Chat.”

        5.3使用 Chat 页签 Web 交互 UI

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/290985.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【论文阅读笔记】两篇完整模态脑瘤分割

两篇完整模态脑瘤分割论文,都是使用Transformer,没有什么特别的特色,也没有开源代码,因此只是简单记录一下。 3D CATBraTS: Channel attention transformer for brain tumour semantic segmentation El Badaoui R, Coll E B, Ps…

Linux第2步_创建虚拟机

VMware软件安装好后,就可以创建虚拟机了。 一、虚拟机对CPU的要求较高 i7 处理器:CPU:Intel(R) Core(TM) i7-8700 CPU 3.20GHz 3.19 GHz 内核数:6 线程数: 12 最大睿频频率: 4.60 GHz 英特尔 睿…

springcloud之集成nacos config

写在前面 源码 。 本文看下如下集成nacos config组件。 1:常见配置方式分析 我们先来看下常见的配置方式都有哪些,以及其有什么优点和缺点。 硬编码 优点:hardcode,除了开发的时候快些,爽一下,有个屁优…

网络机顶盒哪个好?耗时30天盘点网络机顶盒排名

网络机顶盒作为电视机的最佳搭档,是看片必备,网络机顶盒的品牌非常多让新手们在选购时往往不知道网络机顶盒哪个好,我耗时一个月测评了十几款热门的电视机顶盒,通过各个角度深度对比后整理了网络机顶盒排名,在选购时大…

NFC物联网开发在智慧校园中的应用

近年来,校园信息化建设速度加快,以物联网为基础、以各种应用服务系统为载体的智慧校园将教学、管理和校园生活充分融合,形成了工作、学习和生活的一体化环境。沉寂已久的NEC 技术,得益于智能手机的普及、无线网络数据速率提高&…

如何构建高效测试体系?掌握5大自动化测试模式就够了

软件开发过程中,高效的自动化测试体系是提升测试效率、保证产品质量关键,一个全面的测试体系涵盖多个维度,从功能性到用户界面,再到性能和安全性。 每个维度均采用不同的测试模式来满足特定的需求和解决特别的挑战,本…

Linux_源码编译安装LAMP

1. 安装httpd服务 在配置 Apache 网站服务之前,需要正确安装好 httpd 服务器软件。httpd 服务器的安装可以选用 RPM 安装、源码编译安装这两种方式,前者相对比较简单、快速,但是在功能上存在一定的局限性。在实际的生产环境中,使…

openGauss学习笔记-174 openGauss 数据库运维-备份与恢复-导入数据-管理并发写入操作

文章目录 openGauss学习笔记-174 openGauss 数据库运维-备份与恢复-导入数据-管理并发写入操作174.1 事务隔离说明174.2 写入和读写操作174.3 并发写入事务的潜在死锁情况 openGauss学习笔记-174 openGauss 数据库运维-备份与恢复-导入数据-管理并发写入操作 174.1 事务隔离说…

K线+直线 现货黄金也可能变现

现货黄金行情怎么做,这是投资者需要思考的问题。幸运的是,现在市面上有很多书籍,是其他有经验、有想法的投资者们对其经验的总结和分享,此外网络上还有不同的文章和各种各样的视频介绍相关交易经验,这都是可以让我们借…

VUE3跳转页面时 定时器未清除解决

一,问题 1、在vue中使用setTimeout定时器的时候,可能会遇到关不掉的情况,会存在明明已经在beforeDestroy和destroyed中设置了定时器清除了,但是有时候没生效,定时器还会继续执行。 2、在这里需要说一下setTimeout的使用场景&…

Kubernetes 配置Pod使用代理上网

配置Kubernetes Pod使用代理上网 在企业网络环境中进行Kubernetes集群的管理时,经常会遇到需要配置Pods通过HTTP代理服务器访问Internet的情况。这可能是由于各种原因,如安全策略限制、网络架构要求或者访问特定资源的需要。本文将介绍配置Kubernetes中…

天融信TOPSEC Cookie 远程命令执行漏洞复现

声明 本文仅用于技术交流,请勿用于非法用途 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。 一、漏洞概述 天融信TOPSEC解决方案包括综合管理系统,各类安…

科研上新 | 第4期:语言-音乐对比预训练;查找表实现的神经网络推理;大模型时代重新定义搜索框架

编者按:欢迎阅读“科研上新”栏目!“科研上新”汇聚了微软亚洲研究院最新的创新成果与科研动态。在这里,你可以快速浏览研究院的亮点资讯,保持对前沿领域的敏锐嗅觉,同时也能找到先进实用的开源工具。 本期内容速览 …

草图大师 sketchup pro2023

SketchUp Pro是一款功能强大的三维建模软件,适用于建筑、机械、室内设计等领域。它提供了丰富的绘图工具和灵活的建模选项,支持实时预览和多种设备适配,让用户能够快速高效地创建出逼真的三维模型。SketchUp Pro还具备强大的插件生态和团队协…

【mars3d】FixedRoute的circle没有跟polyline贴着模型的解决方案

问题:【mars3d】官网的贴模型示例中,参考api文档增加了circle的配置,但是FixedRoute的circle没有跟polyline贴着模型 circle: { radius: 10, materialType: mars3d.MaterialType.CircleWave, materialOptions: { color: "#ffff00"…

数仓分层结构

--图片来源尚硅谷 ODS层: 数据存储格式:JSON/TSV gzip压缩(默认) Operate Data Store -- 存储从mysql业务数据库和日志服务器的日志文件中采集到的数据 -- 日志数据 -- 格式:JSON --业务数据 --历史数据 …

借还款记账表,借款还款记账软件

我们每个人都在为生活奔波,为事业打拼。但有时候,生活中的一些小事情,比如朋友间的借贷、还款,就可能让我们的生活变得有些混乱。为了解决这个问题,一个全新的借还款记账软件【晨曦记账本】横空出世,它不仅…

STM32真的是很落后吗?

今日话题,STM32真的是很落后吗?STM32是否落后于其他技术在很大程度上依赖于具体的应用和需求。虽然我对Python的了解有限,但我认识到STM32在嵌入式领域具有广泛的应用和卓越的性能。值得注意的是,STM32不仅性能卓越,而…

公众号文章如何提高阅读量?媒介盒子教你几招

公众号作为微信运营的主要载体,做得好就能让品牌得到大量曝光,公众号文章作为长文案想要写好还需要一定的技术,今天媒介盒子就来和大家聊聊公众号文章怎么写才能提高阅读量: 一、 内容干货满足读者求知欲 只要你的文章实用性强&…

CFOxCIO共议:CRM如何帮上市公司更长久赚钱?

2024年的增长机会,在于新旧动能转化,在于高质量发展,也在于组织的应变力。包括CRM系统在内的数字化平台对于上市公司的价值,正从单纯的降本增效工具,走向与合规及利润提升相结合,支撑企业战略落地&#xff…