仅需一块 4GB 的 GPU ,就能运行开源大语言模型:Llama3 70B

最强的开源大语言模型 Llama3 已经发布一段时间了,一些盆友资源有限,私信询问是否可以使用 4GB 的 VRAM 在本地运行 Llama3 70B。

与 GPT-4 相比,Llama3 的性能如何?Llama3 使用了哪些关键的前沿技术使其变得如此强大?Llama3 的突破是否意味着开源模型已经正式开始超越闭源模型?

本文给一个解决方案:在仅有 4GB 显存的单个 GPU 上运行 Llama3 70B,并解释相关问题,喜欢本文记得收藏、点赞、关注,欢迎与我进行技术交流。

技术交流

前沿技术资讯、算法交流、求职内推、算法竞赛、面试交流(校招、社招、实习)等、与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企开发者互动交流~

我们建了算法岗面试与技术交流群, 想要进交流群、需要源码&资料、提升技术的同学,可以直接加微信号:mlc2040。加的时候备注一下:研究方向 +学校/公司+CSDN,即可。然后就可以拉你进群了。

方式①、微信搜索公众号:机器学习社区,后台回复:技术交流
方式②、添加微信号:mlc2040,备注:技术交流+CSDN

方案

Llama3 的模型架构没有改变,因此 AirLLM 自然已经支持完美运行 Llama3 70B!它甚至可以在 MacBook 上运行。

首先,安装 AirLLM:

pip install airllm

然后,你只需要几行代码:

from airllm import AutoModel

MAX_LENGTH = 128
model = AutoModel.from_pretrained("v2ray/Llama-3-70B")

input_text = [        
  'What is the capital of United States?'    
]

input_tokens = model.tokenizer(input_text,    
  return_tensors="pt",     
  return_attention_mask=False,     
  truncation=True,     
  max_length=MAX_LENGTH,     
  padding=False)

generation_output = model.generate(    
  input_tokens['input_ids'].cuda(),     
  max_new_tokens=20,    
  use_cache=True,    
  return_dict_in_generate=True
)

output = model.tokenizer.decode(generation_output.sequences[0])
print(output)

Llama3 与 GPT-4 的比较

根据官方评估数据和最新的 lmsys 排行榜,Llama3 70B 非常接近 GPT-4 和 Claude3 Opus。

官方评估结果:

lmsys排行榜结果:

当然,将相似规模的400B模型与GPT-4和Claude3 Opus进行比较会更合理:

Llama3 400B已经非常接近GPT-4和Claude3的最强版本,而且它还在持续训练中。

Llama3的核心改进是什么?

Llama3 的架构没有变化;在训练方法上有一些技术改进,比如基于DPO(离散策略优化)的模型对齐训练。

DPO 基本上已经成为所有排行榜上顶级大模型的标准训练方法——它确实有效!

当然,Llama3 的主要秘密武器在于其训练数据的数量和质量的巨大提升。从 Llama2 的2万亿增加到15万亿!人工智能的核心就是数据!

数据的改进不仅在于数量,还有质量。Meta进行了大量的数据质量过滤、去重等工作,其中很多都是基于使用像Llama2这样的模型来过滤和选择数据。

训练AI模型的核心是数据。要训练一个好的AI模型,不在于拥有很多花哨的训练技术,而在于扎实细致地做好基础工作。特别是那些不太引人注目、繁琐枯燥的数据质量工作——这实际上至关重要。

我一直对 Meta AI 的能力评价很高。从早期使用 Transformer 进行判别性AI开始,Meta AI 以其扎实的数据处理基础著称,推出了许多长期占据SOTA榜首的经典模型,如Roberta和Roberta XLM。

Llama3 的成功是否预示着开源模型的崛起?

开源与闭源之间的斗争可能远未结束,还有很多戏剧性事件即将上演。

无论是开源还是闭源,训练大模型已经变成了一场烧钱的游戏。15万亿的数据和4000亿的模型不是小玩家能够负担得起的。我认为在接下来的六个月内,许多致力于大模型的小公司将会消失。

在烧钱的竞争中,真正比拼的是长期的投资回报能力和效率。事实上,直到今天,真正实现盈利的AI大语言模型应用仍然很少。很难说谁能够持续投资,以及以何种方式实现盈利。

参考链接

  • https://ai.gopubby.com/run-the-strongest-open-source-llm-model-llama3-70b-with-just-a-single-4gb-gpu-7e0ea2ad8ba2
  • https://github.com/lyogavin/Anima/tree/main/air_llm

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

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

相关文章

Oracle 并行和 session 数量的

这也就是为什么我们指定parallel为4,而实际并行度为8的原因。 insert create index,发现并行数都是加倍的 Indexes seem always created with parallel degree 1 during import as seen from a sqlfile. The sql file shows content like: CREATE INDE…

SwiftUI中List的样式及使用详解(添加、移动、删除、自定义滑动)

SwiftUI中的List可是个好东西,它用于显示可滚动列表的视图容器,类似于UITableView。在List中可以显示静态或动态的数据,并支持垂直滚动。List是一个数据驱动的视图,当数据发生变化时,列表会自动更新。 针对List&#x…

windows 7 10 11快捷键到启动页面

1.快速打开用户启动文件夹 shell:startup 方式2:快速打开系统启动文件夹 shell:Common Startup shell:Common Startup

燃数科技前端25-40K*14薪一面超简单,下周二面啦

​​​​​​​ 文章末尾扫描二维码领取地址 一面 1、自我介绍 2、低代码如何设计的 3、react路由原理 4、react生命周期 5、什么是回调地狱,如何解决 6、jwt和session有什么区别 7、js文件相互引用有什么问题?如何解决 8、一个很大的json文件…

腾讯TDSQL-C灰度发布列存索引; Azure Copilot集成支持Azure上各种托管数据库;

重要更新 1. Copilot for Azure新增了对Azure SQL、 Azure Database for MySQL的支持([8] [14])。Copilot for Azure是微软云提供的基于大模型技术的助手工具,主要能力包括了:该大模型可以获得最新的文档,以及客户的Azure资源情况&#xff0c…

每日百万交易的支付系统,如何设置JVM堆内存大小?

每日百万交易的支付系统,如何设置JVM堆内存大小? 1、支付背景的引入2、支付的核心业务流程3、每日百万交易支付系统的压力在哪里?4、支付系统每秒钟需要处理多少笔支付单5、每个支付订单处理需要耗时多久6、每个支付订单大概需要多大的内存空间7、每秒发起的支付请求对内存的…

9.3 Go语言入门(变量声明和函数调用)

Go语言入门(变量声明和函数调用) 目录二、变量声明和函数调用1. 变量声明1.1 使用 var 关键字声明1.2 简短声明1.3 零值1.4 常量 2. 函数调用2.1 函数定义2.2 多个返回值2.3 命名返回值2.4 可变参数2.5 匿名函数和闭包 目录 Go 语言(Golang&a…

按月爬取天气数据可视化展示

从天气网分析,可以查询每个月的天气情况,这里按照url规则,传入年月,获取数据,最后进行可视化展示,最终效果: 下面是获取过程: 第一步: import requestsdef get_weather(month):url = f"https://lishi.tianqi.com/nanning/{month}.html"response = reques…

最新:windows下安装pcl点云库

📚博客主页:knighthood2001 ✨公众号:认知up吧 (目前正在带领大家一起提升认知,感兴趣可以来围观一下) 🎃知识星球:【认知up吧|成长|副业】介绍 ❤️如遇文章付费,可先看…

日志的介绍及简单实现

个人主页:Lei宝啊 愿所有美好如期而遇 目录 日志是什么? 为什么需要日志? 实现一个简单日志 时间戳 clock_gettime time & localtime 可变模板参数(使用C语言),va_start & va_end & vsprintf 宏 __LINE__…

Anaconda+CUDA+CUDNN+Pycharm+Pytorch安装教程(第一节 Anconda安装)

1.选择和对应的anconda版本 官网地址:Index of / (anaconda.com) 下载地址:Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 2.安装流程 (1)下载安装包 (2)点击next (3)点击I agree &a…

跨域计算芯片,一把被忽视的汽车降本尖刀

作者 |王博 编辑 |德新 2019年前后,「中央运算单元区域控制」的架构被提出。基于这一趋势,从板级的多芯片,到板级的单芯片,集成度越来越高,跨域计算芯片随之来到聚光灯下。 跨域计算芯片的特点是,与专为智…

[CISCN2024]-PWN:gostack解析(go语言程序,syscall)

查看保护 ida比较复杂,建议动调配合静态分析程序运行 这里函数返回不用leave和ret,而是利用add rsp和ret,所以要动调查看到底要覆盖哪里。 完整exp: from pwn import* pprocess(./gostack) syscall0x4616c9 pop_rax0x40f984 po…

THREE.JS中的向量点乘,以及他的几何意义。

1. THREE.JS中的向量点乘,以及他的几何意义 向量点乘的公式 : 2. 在three.js 中计算向量点乘 const a new THREE.Vector3(10, 10, 0); const b new THREE.Vector3(20, 0, 0); const dot a.dot(b);从这里可以看出,向量的点乘的结果是一个数字(标量…

【调和级数】100321. 优质数对的总数 II

本文涉及知识点 调和级数 质数、最大公约数、菲蜀定理 LeetCode100321. 优质数对的总数 II 给你两个整数数组 nums1 和 nums2,长度分别为 n 和 m。同时给你一个正整数 k。 如果 nums1[i] 可以被 nums2[j] * k 整除,则称数对 (i, j) 为 优质数对&#…

【机器学习数据可视化-07】波士顿房价预测数据分析

波士顿房价预测:基于数据可视化的深入探索 一、引言   在当今社会,房地产市场作为经济的重要支柱之一,其走势与波动直接影响着国家经济的稳定和人民生活的品质。波士顿,这座历史悠久且充满活力的城市,其房地产市场一…

AtCoder Regular Contest 178 A~D

A.Good Permutation 2(贪心) 题意: 给你一个正整数 N N N和一个由 M M M个正整数 A ( A 1 , A 2 , … , A M ) A(A_{1},A_{2}, \dots,A_{M}) A(A1​,A2​,…,AM​)组成的序列。 在这里, A A A的所有元素都是介于 1 1 1和 N N …

胶原蛋白三肽能否深入皮肤?一场关于美丽的科学之旅

在追求美丽的道路上,我们总是对各种护肤成分充满好奇。今天,就让我们一起探讨一个热门话题——胶原蛋白三肽,它究竟能否深入我们的皮肤,为我们带来期待中的美丽改变呢? 首先,我们需要了解胶原蛋白肽是什么…

【编译原理复习笔记】中间语言

中间语言 中间语言的特点和作用 (1)独立于机器 (2)复杂性介于源语言和目标语言之间 中间语言可以使编译程序的结构在逻辑上更为简单明确 常用的中间语言 后缀式 图表示:抽象语法树,有向无环图 三地址代…