首页 > 其他分享 >6G显存玩转130亿参数大模型,仅需13行命令,RTX2060用户发来贺电

6G显存玩转130亿参数大模型,仅需13行命令,RTX2060用户发来贺电

时间:2023-05-20 16:45:22浏览次数:403  
标签:显存 13 https 教程 cuda llama 贺电 com CV

前言 Meta的大语言模型LLaMA 13B,现在用2060就能跑了~

本文转载自量子位

仅用于学术分享,若侵权请联系删除

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

CV各大方向专栏与各个部署框架最全教程整理

【CV技术指南】CV全栈指导班、基础入门班、论文指导班 全面上线!!

羊驼家族的Alpaca和Vicuna也都能运行,显存最低只需要6G,简直是低VRAM用户的福音有木有。

GitHub上的搭建教程火了之后,网友们纷纷跑来问苹果M2是不是也能跑。

这通操作的大致原理是利用最新版CUDA,可以将Transformer中任意数量的层放在GPU上运行。

与此前llama.cpp项目完全运行在CPU相比,用GPU替代一半的CPU可以将效率提高将近2倍。

而如果纯用GPU,这一数字将变成6倍。

网友实测的结果中,使用CPU每秒能跑2.1个token,而用GPU能跑3.2个。

生成的内容上,开发者成功用它跑出了“尼采文学”。

如何操作

在开始搭建之前,我们需要先申请获得LLaMA的访问权限。

传送门:https://ai.facebook.com/blog/large-language-model-llama-meta-ai/

此外还需要有一个Linux环境。(Windows用户可以用WSL2)

准备工作完成之后,第一步是将llama.cpp克隆到本地。

1git clone https://github.com/ggerganov/llama.cpp.git
2cd llama.cpp
3pacman -S cuda //make sure you have CUDA installed
4make LLAMA_CUBLAS=1

如果没有安装CUDA,可以参考下面的步骤:

1wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
2sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
3wget https://developer.download.nvidia.com/compute/cuda/12.1.1/local_installers/cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb
4sudo dpkg -i cuda-repo-wsl-ubuntu-12-1-local_12.1.1-1_amd64.deb
5sudo cp /var/cuda-repo-wsl-ubuntu-12-1-local/cuda-*-keyring.gpg /usr/share/keyrings/
6sudo apt-get update
7sudo apt-get -y install cuda

然后是建立micromamba环境,安装Python和PyTorch等工具。

接着需要在micromamba环境下安装一些包:

1export MAMBA_ROOT_PREFIX=(自定义安装路径)
2eval "$(micromamba shell hook --shell=bash)"
3micromamba create -n mymamba
4micromamba activate mymamba
5micromamba install -c conda-forge -n mymamba pytorch transformers sentencepiece

然后运行Python脚本以执行转换过程:

1python convert.py ~/ai/Safe-LLaMA-HF-v2\ \(4-04-23\)/llama-13b/

之后将其量化为4bit模式。

1./quantize ~/ai/Safe-LLaMA-HF-v2\ \(4-04-23\)/llama-13b/ggml-model-f16.bin ~/ai/Safe-LLaMA-HF-v2\ \(4-04-23\)/llama-13b/ggml-model-13b-q4_0-2023_14_5.bin q4_0 8

接着是新建一个txt文本文档,把提示词输入进去,然后就可以运行了。

1./main -ngl 18 -m ~/ai/Safe-LLaMA-HF-v2\ \(4-04-23\)/llama-13b/ggml-model-13b-q4_0-2023_14_5.bin -f 文档名称.txt -n 2048q4_0 8

这步当中-ngl后面的数字是可以修改的,它代表了转换层的数量。

当该值为18时,运行中消耗的VRAM为5.5GB,根据显存的大小最高可以调至40。

网友:AMD不配吗

这一教程出现之后,网友们的新玩具又增加了。

“苦OpenAI久矣”的网友更是感觉仿佛找到了光。

这位网友就表示自己太期待在自己的设备上运行LLM了,宁愿花5千美元购置设备也不想给OpenAI交一分钱。

但AMD用户可能就不那么兴奋了,甚至透露出了嫉妒之情。

这套方法要用到CUDA(英伟达专用),所以AMD是不配了吗?

那么,你期待用自己的设备跑大语言模型吗?

参考链接:
[1].https://gist.github.com/rain-1/8cc12b4b334052a21af8029aa9c4fafc
[2].https://twitter.com/_akhaliq/status/1657779996247588865
[3].https://news.ycombinator.com/item?id=35937505

 

欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。

计算机视觉入门1v3辅导班

【技术文档】《从零搭建pytorch模型教程》122页PDF下载

QQ交流群:470899183。群内有大佬负责解答大家的日常学习、科研、代码问题。

其它文章

CVPR'23|泛化到任意分割类别?FreeSeg:统一、通用的开放词汇图像分割新框架

全新YOLO模型YOLOCS来啦 | 面面俱到地改进YOLOv5的Backbone/Neck/Head

通用AI大型模型Segment Anything在医学图像分割领域的最新成果!

为何 CV 里没有出现类似 NLP 大模型的涌现现象?

可复现、自动化、低成本、高评估水平,首个自动化评估大模型的大模型PandaLM来了

实例:手写 CUDA 算子,让 Pytorch 提速 20 倍

NeRF与三维重建专栏(一)领域背景、难点与数据集介绍

异常检测专栏(三)传统的异常检测算法——上

异常检测专栏(二):评价指标及常用数据集

异常检测专栏(一)异常检测概述

BEV专栏(二)从BEVFormer看BEV流程(下篇)

BEV专栏(一)从BEVFormer深入探究BEV流程(上篇)

可见光遥感图像目标检测(三)文字场景检测之Arbitrary

可见光遥感目标检测(二)主要难点与研究方法概述

可见光遥感目标检测(一)任务概要介绍

TensorRT教程(三)TensorRT的安装教程

TensorRT教程(二)TensorRT进阶介绍

TensorRT教程(一)初次介绍TensorRT

AI最全资料汇总 | 基础入门、技术前沿、工业应用、部署框架、实战教程学习

计算机视觉入门1v3辅导班

计算机视觉交流群

聊聊计算机视觉入门

标签:显存,13,https,教程,cuda,llama,贺电,com,CV
From: https://www.cnblogs.com/wxkang/p/17417424.html

相关文章

  • day13-14 函数对象与装饰器
    【三】名称空间与闭包【1】名称空间名称空间即存放名字与对象映射/绑定关系的地方。对于x=3,Python会申请内存空间存放对象3,然后将名字x与3的绑定关系存放于名称空间中,delx表示清除该绑定关系。在程序执行期间最多会存在三种名称空间(1)内建名称空间伴随python解释器的......
  • day46| 139
    139.单词拆分 题目简述:给你一个字符串s和一个字符串列表wordDict作为字典。请你判断是否可以利用字典中出现的单词拼接出s。注意:不要求字典中出现的单词全部都使用,并且字典中的单词可以重复使用。  1.初始化dp=[False,......,False],长度为n+12.dp[i]表示s的前......
  • AtCoder Regular Contest 130 C Digit Sum Minimization
    洛谷传送门AtCoder传送门分类讨论,但是写起来挺答辩的。首先发现我们要使进位尽量多。特判怎么重排都没有进位的情况(\(a_i+b_i<10\))。然后枚举个位选的两个数字,并且要求它们和\(\ge10\)。如果当前位两个位都有数字,那么从小到大枚举数位的和\(\in[9,18]\);如果有数字......
  • 1232131
    步骤1:安装必要的软件包首先,需要确保系统已安装dhcp、tftp-server和httpd等软件包。可以使用以下命令进行安装:yuminstall-ydhcptftp-serverhttpdsyslinux-tftpbootxinetd步骤2:配置DHCP服务器接下来,需要配置DHCP服务器以向客户端分配IP地址。在/etc/dhcp/d......
  • TheForces Round #13 (Boombastic-Forces) G. Permutation Removal
    感觉好久没有写过这样单独一篇题目的博客了的说昨天上大物课的时候ztc问了我这道题,然后我口胡了下感觉还挺有趣的不过其它题目就没啥时间看了,正巧最近在练DP专题,就顺手记录一下吧这题的数据范围和问题一眼区间DP的形式,直接设\(f_{l,r}\)表示区间\([l,r]\)的答案刚开始naive地......
  • LeetCode 113. 路径总和 II
    题目链接:LeetCode113.路径总和II题意:给你二叉树的根节点root和一个整数目标和targetSum,找出所有从根节点到叶子节点路径总和等于给定目标和的路径。解题思路:与LeetCode112.路径总和相似,在遍历过程中,记录遍历过的每一个点即可。递归法递归代码:varres[][]intva......
  • AtCoder Regular Contest 133 E Cyclic Medians
    洛谷传送门AtCoder传送门其实是套路题,但是为什么做不出来啊第一步就是经典套路。枚举\(k\),统计中位数\(>k\)的方案数,加起来就是中位数的总和。那么现在\(x_{1\simn},y_{1\simm}\)就变成了\(0/1\)序列,考虑一次操作,如果\((x,y)=(0,0)\),那么\(a\)会变成\(0\)......
  • LeetCode 513. 找树左下角的值
    题目链接:LeetCode513.找树左下角的值题意:给定一个二叉树的根节点root,请找出该二叉树的最底层最左边节点的值。解题思路:首先明确本题是要找最底层的最左边的节点,因此迭代法,可以采用层次遍历,res每次记录每一层的最左边的节点,当遍历结束时,res表示的就是最底层,最左边的节......
  • 1381B
    Unmerge题目出处Problem-B-Codeforces题目大意给定整数\(n\)和一个长度为\(2n\)的一个排列(\(1\sim2n\)都只出现一次),问是否存在两个长度为\(n\)的序列经过一次归并后可以成为给定的\(2n\)长度的排列。(注意:序列可以是无序的)知识点、思路DP、背包问题具体想法......
  • macOS Big Sur 11.7.7 (20G1345) 正式版 ISO、PKG、DMG、IPSW 下载
    本站下载的macOS软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。另外也支持在Windows和Linux中创建可引导介质。2023年5月18日(北京时间19日凌晨),Apple为那些无法更新macOSVentura的旧Mac发布了macOSBig......