仅需一块 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 AutoModelMAX_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

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

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

相关文章

GDB对Linux信号的处理方式

前言 在软件开发过程中,调试工具是程序员不可或缺的助手。GDB(GNU Debugger)作为一个强大的调试器,广泛应用于Linux系统中的C/C程序调试。然而,信号处理机制的复杂性常常给调试带来挑战。特别是在处理异步和同步信号时…

深入理解指针(5)

在之前的深入理解指针(4)中我们学习了回调函数相关知识,并且学会了如何使用库函数qsort,以及模拟实现了qsort,接下来在本篇中将对srtlen和sizeof进行细致的讲解,并对相关的题型进行讲解,一起加油吧!&#x…

开放式耳机哪个品牌音质好用又实惠耐用?五大公认卷王神器直入!

​在现今耳机市场,开放式耳机凭借其舒适的佩戴体验和独特的不入耳设计,备受消费者追捧。它们不仅让你在享受音乐时,仍能察觉周围的声音,确保与人交流无障碍,而且有利于耳朵的卫生与健康。对于运动爱好者和耳机发烧友而…

ASP+ACCESS酒店房间预约系统设计

摘要 随着国内经济形势持续发展,国内酒店业进入难得的发展高峰期,使得中外资本家纷纷将目光投向中低端市场。然而,中国酒店业的区域结构不合理、竞争手段不足和市场对经济型酒店的需求日益显露,以及2008年北京奥运会、2010年上海…

数据分析工程师——什么是数据分析?

数据分析工程师 对于目前就业市场上的技术岗位,除了开发、测试、运维等常见职位之外,数据类岗位也越来越成为热门的求职方向。本文将重点介绍 数据分析 这一新兴岗位。 看到「数据分析」这几个字,也许大家的第一印象一样,觉得要做的工作似乎并不难,有大量数据后根据业务…

状态转换图

根据本章开头讲的结构化分析的第3条准则,在需求分析过程中应该建立起软件系统的行为模型。状态转换图(简称为状态图)通过描绘系统的状态及引起系统状态转换的事件,来表示系统的行为。此外,状态图还指明了作为特定事件的结果系统将做哪些动作(例如,处理数据)。因此,状态图提供了…

JS闭包、原型链简单理解

目录 1.闭包概念 1.1简单demo1: 1.2简单demo2 1.3使用let代替var解决这个问题 2.函数对象和原型链 ​编辑 2.1函数对象demo 2.2.原型链demo 3.使用闭包完成JQuery的一个小demo 1.闭包概念 1.当函数声明时,函数会通过内部属性[scope]来创建范围 2.闭包一个…

Android窗口管理

一 概述 本篇文章主要讲 Window、WindowManager、WindowManagerService 三者之间的关系及其运行机制。总的来说 Window 表示的是一种抽象的功能集合,具体实现为 PhoneWindow。WindowManager 是外界访问 Window 的入口,对 Window 的访问必须通过 Window…

微信小程序预览图片和H5使用canvas实现图片+蒙层+文字

1、效果 2.H5实现 <!--* Author: limingfang* Date: 2024-05-20 10:26:51* LastEditors: limingfang* LastEditTime: 2024-05-21 16:31:11* Description: --> <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8&q…

C++ | Leetcode C++题解之第112题路径总和

题目&#xff1a; 题解&#xff1a; class Solution { public:bool hasPathSum(TreeNode *root, int sum) {if (root nullptr) {return false;}if (root->left nullptr && root->right nullptr) {return sum root->val;}return hasPathSum(root->left…

Java的类和对象

Java的类和对象 前言一、面向过程和面向对象初步认识C语言Java 二、类和类的实例化基本语法示例注意事项 类的实例化 三、类的成员字段/属性/成员变量注意事项默认值规则字段就地初始化 方法static 关键字修饰属性代码内存解析 修饰方法注意事项静态方法和实例无关, 而是和类相…

AI早班车5.25

&#x1f4e2;&#x1f4e2;&#x1f4e2;&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;我是「奇点」&#xff0c;江湖人称 singularity。刚工作几年&#xff0c;想和大家一同进步&#x1f91d;&#x1f91d; 一位上进心十足的【Java ToB端大厂…

C# 拓展方法(涉及Linq)

拓展方法 定义一个扩展方法使用扩展方法例如再举个例子终极例子 注意事项与Linq 在C#中&#xff0c;扩展方法是一种特殊的静态方法&#xff0c;允许开发者向现有类型“添加”新的方法&#xff0c;而无需修改该类型的源代码或创建新的派生类型。这种机制提供了一种更为灵活的方式…

Linux更改系统中的root密码

Linux里面的root密码忘记了怎么办&#xff1f; 1 更改系统中的 root 密码 &#xff08;1&#xff09;键盘 CtrlAltT 快捷键打开终端。 &#xff08;2&#xff09;在终端窗口中输入以下代码&#xff1a; sudo passwd root &#xff08;3&#xff09;输入锁屏密码 &#xf…

2024-05学习笔记

最近的学习大多都是和mysql的索引相关的 1.mvcc mvcc是不需要手动配置&#xff0c;是mysql的一个机制 在事务开启时&#xff0c;对涉及到的数据加一个隐藏列&#xff0c;隐藏列对应的值&#xff0c;就是事务id 如果当前是修改操作&#xff0c;就copy一份原来的数据到新的一行…

Topk问题以及二叉树的三种层序遍历和基本操作

一、Topk问题 1、问题描述 TOP-K问题&#xff1a;即求数据结合中前K个最大的元素或者最小的元素&#xff0c;一般情况下数据量都比较大。 比如&#xff1a;专业前10名、世界500强、富豪榜、游戏中前100的活跃玩家等。 2、思路 对于Top-K问题&#xff0c;能想到的最简单直接的…

618快到了,送大家一款自动化脚本工具,一起薅羊毛

前言 一年一次的618活动来了&#xff0c;大家做好准备了&#xff0c;奇谈君为大家准备好用的618神器&#xff0c;解放双手&#xff0c;简单操作就可以把红包拿到手。 京淘自动助手 首次使用前需要进行设置 将手机的无障碍权限和悬浮窗权限打开 设置完成后&#xff0c;可以把…

什么是健康信息卡

健康档案信息卡是交由居民本人保管的个人健康信息卡片。 其内容包括&#xff1a;居民个人主要基本信息、健康档案编码、患有的重要疾病、过敏史以及紧急情况下的联系人及联系方式&#xff0c;还有所属基层医疗机构的责任医生、护士及联系电话等。它主要用于居民在复诊、转诊或接…

UTC与GPS时间转换-[week, sow]

UTC与GPS时间转换-[week, sow] utc2gpsgps2utc测试参考 Ref: Global Positioning System utc2gps matlab源码 function res utc2gps(utc_t, weekStart)%% parameterssec_day 86400;sec_week 604800;leapsec 18; % 默认周一为一周的开始if nargin < 2weekStart d…

算法打卡 Day10(栈与队列)-用栈实现队列 + 用队列实现栈

今天开始进入栈与队列啦&#xff01; 文章目录 栈与队列理论基础栈 Leetcode 232-用栈实现队列题目描述解题思路 Leetcode 225-用队列实现栈题目描述解题思路 首先我们来学习一下栈与队列的基础知识~ 栈与队列理论基础 栈与队列的区别是&#xff1a;栈是先进后出&#xff0c…