在Linux系统下部署Llama2(MetaAI)大模型教程

news2024/11/25 22:32:07

Llama2是Meta最新开源的语言大模型,训练数据集2万亿token,上下文长度是由Llama的2048扩展到4096,可以理解和生成更长的文本,包括7B、13B和70B三个模型,在各种基准集的测试上表现突出,最重要的是,该模型可用于研究和商业用途。

一、准备工作

1、本文选择部署的模型是Llama2-chat-13B-Chinese-50W(模型的下载地址为:https://huggingface.co/RicardoLee/Llama2-chat-13B-Chinese-50W)

2、由于大部分笔记本电脑无法满足大模型Llama2的部署条件,因此可以选用autodl平台(算力云)作为部署平台。注:收费,但比阿里云便宜的多

二、在autodl平台租用实例

注册账号,进行登录。点击右上角的“控制台”进入个人控制台。点击左侧“容器实例”进入页面。再点击“租用新实例”进行实例的租用。

进入“租用新实例”页面后,计算方式选择“按量计费”,地区选择“北京C区”,主机选择算力型号为“V100-32GB”的即可。

镜像选择“基础镜像”PyTorch/2.0.0/3.8(ubuntu20.04)/11.8

最后点击“立即创建”。

等待一会儿,状态变为“运行中”后,点击“关机”

三、克隆大模型Llama2到数据盘

点击实例右侧的“更多”,选择“无卡模型开机”。下载数据无需GPU,选择无卡模式开机价格更低。

开机之后,点击快捷工具中“JupyterLab”进入JupyterLab

其中autodl-tmp数据盘,用于存储较大的文件,剩余三个为系统盘。在本次实验中,Llama2大模型文件存储在autodl-tmp.

接下来新建一个文件夹“Llama2”,用于存储执行文件

然后进入到autodl-tmp内,下载Llama2-chat-13B-Chinese-50W,依次运行以下代码。

1、安装git-lfs

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs

运行结果图

2、克隆大模型Llama2到数据盘

克隆过程中需要链接VPN,可以使用云平台自带的学术加速功能,运行以下代码即可。

source /etc/network_turbo

运行以下代码对大模型进行克隆

git clone https://huggingface.co/RicardoLee/Llama2-chat-13B-Chinese-50W

运行一会儿后卡住不动或报错,观察左侧发现,有三个文件未下载

三个文件都比较大,分别为9.6G、9.6G、6.4G。如果因为网络原因无法下载这个三个文件,那么可以进入到huggingface官网将模型下载到本地,然后再上传至云平台。(进入huggingface需要链接VPN,如有需要可直接三连私信赠送源文件)

或者运行下面代码依次单独下载(记得cd到Llama2-chat-13B-Chinese-50W/目录下进行下载):

wget https://huggingface.co/RicardoLee/Llama2-chat-13B-Chinese-50W/resolve/main/pytorch_model-00001-of-00003.bin
wget https://huggingface.co/RicardoLee/Llama2-chat-13B-Chinese-50W/resolve/main/pytorch_model-00002-of-00003.bin
wget https://huggingface.co/RicardoLee/Llama2-chat-13B-Chinese-50W/resolve/main/pytorch_model-00003-of-00003.bin

运行结果图(如果速度过慢,请设置学术加速)

下载完毕后,需要注意,如果显示为“N个月前”即表示成功下载,如果是最近日期(如3分钟前),说明下载过程中出现了问题,那么需要重新下载

四、下载并部署gradio

随着ChatGPT等机器人对话框架的流行,让一个名为gradio的框架也火热起来,这个框架可以开启一个http服务,并且带输入输出界面,可以让对话类的人工智能项目快速运行。gradio号称可以快速部署ai可视化项目。

1、下载执行文件gradio_demo.py和requirements.txt

进入网址https://github.com/ymcui/Chinese-LLaMA-Alpaca/blob/main/scripts/inference/gradio_demo.py,将执行文件gradio_demo.py和requirements.txt,下载到本地再上传至文件夹Llama2中。

2、修改requrement.txt里的torch版本为2.0.0,然后安装requirements.txt

修改requrement.txt里的torch版本为2.0.0,修改完后记得点击Ctrl+S进行保存。

切换到Llama2目录下,执行以下代码,安装requirements.txt

pip install -r requirements.txt

运行结果图(如果报错,请设置学术加速)

3、注释gradio.py里59、60、61行,手动安装相关包

把gradio.py里59、60、61行注释掉,然后手动安装gradio和gradio_demo.py里import的包:

安装gradio:

pip install gradio -i http://pypi.douban.com/simple/  --trusted-host pypi.douban.com

安装bitsandbytes:

pip install bitsandbytes

安装accelerate:

pip install accelerate

安装scipy:

pip install scipy

完成以上步骤之后,关闭“JupyterLab”并关机

五、有卡模式开机,运行大模型

返回到AutoDL控制台,点击“开机”。开机之后,点击快捷工具中“JupyterLab”进入JupyterLab

首先cd到文件夹Llama2下,并设置学术加速。

运行大模型:

python gradio_demo.py --base_model /root/autodl-tmp/Llama2-chat-13B-Chinese-50W --tokenizer_path /root/autodl-tmp/Llama2-chat-13B-Chinese-50W --gpus 0

运行结果:

点击红色框中的链接,即可出现对话页面。

至此,你已成功部署Llama2-chat-13B-Chinese-50W!

六、可能会出现的问题

1、第五步(有卡模式开机,运行大模型),当输入代码运行后,出现报错。

报错内容:

Vocab of the base model: 49954
Vocab of the tokenizer: 49954
Traceback (most recent call last):
  File "gradio_demo.py", line 298, in <module>
    user_input = gr.Textbox(
AttributeError: 'Textbox' object has no attribute 'style'

解决办法:打开gradio_demo.py文件,删除第301、302行中阴影部分内容。删除之后点击Ctrl+S保存。

再次运行,报错消失。

感谢三连!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FHEW 和 TFHE 的统一框架:标准化 FHE

参考文献&#xff1a; [GHS12] Gentry C, Halevi S, Smart N P. Better bootstrapping in fully homomorphic encryption[C]//International Workshop on Public Key Cryptography. Berlin, Heidelberg: Springer Berlin Heidelberg, 2012: 1-16.[GHPS12] Gentry C, Halevi S,…

视频编辑SDK测试

短视频编辑SDK测试有一段时间了&#xff0c;因此抽时间对编辑SDK的相关内容进行简要复盘。 功能说明 短视频编辑SDK支持gif&#xff0c;不同格式的图片&#xff0c;视频文件的拼接导入&#xff0c;编辑&#xff0c;添加特效&#xff0c;合成导出等功能。更具体的介绍可以参照…

14:00面试,14:06就出来了,问的问题有点变态。。。。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到5月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40%…

Android 13.0 Launcher3 app图标长按去掉应用信息按钮

1.前言 在13.0的rom定制化开发中,在Launcher3定制化开发中,对Launcher3的定制化功能中,在Launcher3的app列表页会在长按时,弹出微件和应用信息两个按钮,点击对应的按钮跳转到相关的功能页面, 现在由于产品需求要求禁用应用信息,不让进入到应用信息页面所以要去掉应用信息…

5个高质量图片处理软件,抠图、特效不求人!

作为一个设计师或摄影家或者平面设计工作人员&#xff0c;又或者是普通人&#xff0c;只要你有图片处理的需求&#xff0c;就不可避免的会需要一个好用高效的图片处理网站&#xff0c;会抠素材&#xff0c;找图片&#xff0c;删除图片内容等等&#xff0c;都需要花费大量的时间…

【Redis】hash类型-内部编码使用场景

文章目录 内部编码测试内部编码&#xff1a; 使用场景缓存方式对比 内部编码 哈希的内部编码有两种&#xff1a; ziplist&#xff08;压缩列表&#xff09;&#xff1a;当哈希类型元素个数⼩于hash-max-ziplist-entries配置&#xff08;默认512个&#xff09;、同时所有值都⼩…

【C++】智能指针【内存泄漏|智能指针原理及使用|RAII】

目录 1、了解内存泄露 1.1 内存泄漏的定义及危害 1.2 内存泄漏分类&#xff08;了解&#xff09; 1.3 如何检测内存泄漏&#xff08;了解&#xff09; 1.4如何避免内存泄漏 2、智能指针的引出 3、智能指针的使用及原理 3.1 RAII 3.2 智能指针的原理 3.3 std::auto_pt…

雨洪水资源管理远程监控平台

雨洪水资源管理远程监控平台 汛期来临时&#xff0c;及时获得河道水库的水位涨幅数据对开展防汛抗洪工作至关重要&#xff0c;大量河道水库分布在远离城市的区域&#xff0c;而且分散&#xff0c;尤其是在紧急防汛阶段&#xff0c;如果只依靠传统人力巡查获得河道水位数据必将耗…

1688店铺所有商品数据接口(1688.item_search_shop)

1688店铺所有商品数据接口是一种允许开发者在其应用程序中调用1688店铺所有商品数据的API接口。利用这一接口&#xff0c;开发者可以获取1688店铺的所有商品信息&#xff0c;包括产品ID、SKU信息、价格、库存、图片等。这些数据可以用于构建各种业务场景&#xff0c;例如供应链…

Day1 ARM基础

【ARM课程认知】 1.ARM课程的作用 承上启下 基础授课阶段&#xff1a;c语言、数据结构、linux嵌入式应用层课程&#xff1a;IO、进程线程、网络编程嵌入式底层课程&#xff1a;ARM体系结构、系统移植、linux设备驱动c/QT 2.ARM课程需要掌握的内容 自己能够实现简单的汇编编…

宠物养成猫狗商城门店问诊档案流量主小程序开发

宠物养成猫狗商城门店问诊档案流量主小程序开发 猫狗宠物养成商城门店问诊档案流量主小程序开发&#xff0c;这是一个充满趣味性和创新性的项目。通过将宠物养成游戏与商城、问诊服务、社交功能等相结合&#xff0c;为用户提供一站式的宠物养育体验。 在宠物养成方面&#x…

高阶数据结构---并查集

文章目录 格子游戏搭配购买程序自动分析奇偶游戏银河英雄传说 一、格子游戏OJ链接 本题思路:本题首先我们将题目中所给的二维坐标映射到一维坐标中&#xff0c;从坐标从0开始进行&#xff0c;而题目中是从1开始&#xff0c;我们需要先进行--操作&#xff0c;然后利用并查集来判…

技术分享 | Appium环境安装与架构介绍

Appium架构 Appium 设计哲学 不需要为了自动化而重新编译或修改被测应用 不应该让移动端自动化测试限定在某种语言或者某个具体的框架 不要为了移动端的自动化测试而重新造轮子 移动端自动化测试应该是开源的 Appium 架构 Appium 架构图如下&#xff1a; Appium 的核心是…

【数据库】数据库模式 Schema

数据库模式 Schema 1.MySQL2.PostgreSQL3.SQL Server4.Oracle5.SQLite 在数据库的术语中&#xff0c;模式&#xff08;schema&#xff09;是一个逻辑概念&#xff0c;用于组织数据库中的对象。模式中的对象通常包括 表、索引、数据类型、序列、视图、存储过程、主键、外键 等等…

STM32笔记—DMA

目录 一、DMA简介 二、DMA主要特性 三、DMA框图 3.1 DMA处理 3.2 仲裁器 3.3 DMA通道 扩展: 断言&#xff1a; 枚举&#xff1a; 3.4 可编程的数据传输宽度、对齐方式和数据大小端 3.5 DMA请求映像 四、DMA基本结构 4.1 DMA_Init配置 4.2 实现DMAADC扫描模式 实现要求…

代码随想录 Day38 完全背包问题 LeetCode T70 爬楼梯 T322 零钱兑换 T279 完全平方数

前言 在今天的题目开始之前,让我们来回顾一下之前的知识,动规五部曲 1.确定dp数组含义 2.确定dp数组的递推公式 3.初始化dp数组 4.确定遍历顺序 5.打印dp数组来排错 tips: 1.当求取物品有限的时候用0-1背包,求取物品无限的时候用完全背包 结果是排列还是组合也有说法,当结果是组…

设计模式之工厂模式(Factory)

任何可以产生对象的方法或类&#xff0c;都可以称为工厂。 下面的代码定义了Car这种交通工具: public class Car {public void go() {System.out.println("Car go wuwuwuwuw....");} }然后在main函数里面想要调用调用Car的go方法&#xff0c;就需要new一个car对象&…

Netty入门指南之传统通信的问题

作者简介&#xff1a;☕️大家好&#xff0c;我是Aomsir&#xff0c;一个爱折腾的开发者&#xff01; 个人主页&#xff1a;Aomsir_Spring5应用专栏,Netty应用专栏,RPC应用专栏-CSDN博客 当前专栏&#xff1a;Netty应用专栏_Aomsir的博客-CSDN博客 文章目录 参考文献前言多线程…

管理类联考——写作——技巧篇——书写标点符号使用要求规范文档

写作答题卡书写标点符号使用要求规范文档 常用标点符号有逗号、句号、叹号、问号等 11 种&#xff0c;下面一一列举其用法和书写规范。 一、句号 用法&#xff1a;用于陈述句的末尾。 占格情况&#xff1a;占一格&#xff0c;写在格子左下方。 举例&#xff1a; 我看见妈妈走…

web3案例中解决交易所中 ETH与token都是0问题 并帮助确认展示是否成功

可能写了这么久 很多人会发现一个问 我们前面的案例 个人在交易所中的 自定义token 和 ETH 一直是放了个0 大家也不太敢确认是否真的有效 那么 很简单 我们操作 存入一些进交易所 不就ok了 我们 来看之前交易所写的代码 我们写了 depositEther 存入 ETH 和 depositToken 存入…