0:00.000–0:03.849
zh開放了千萬3.8RGB的模型權重。
0:03.849–0:08.151
zh很多人看到RGB之後的第一個問題就是,
0:08.151–0:09.057
zh這東西,
0:09.057–0:12.000
zh我的Mac到底能不能跑呢?
0:12.000–0:16.171
zh有人看到量化以後只需要十幾GB的內存,
0:16.171–0:21.000
zh覺得自己的24GB Mac應該也沒有什麼問題。
0:21.000–0:24.060
zh结果模型下载完以后
0:24.060–0:25.780
zh要么加载失败
0:25.780–0:27.880
zh要么刚开始生成
0:27.880–0:30.380
zh系统内存就直接爆掉
0:30.380–0:34.880
zh有人花了半天时间把模型跑起来
0:34.880–0:38.600
zh最后发现生成速度只有每秒八九个Token
0:38.600–0:41.700
zh打开MTP之后不仅没有加速
0:41.700–0:42.980
zh反而更慢了
0:42.980–0:45.520
zh所以今天这支影片
0:45.520–0:47.660
zh我会从零开始
0:47.660–0:50.840
zh带你在Mac上完整部署一次
0:50.840–0:52.680
zh千万3.8 RGB
0:52.680–0:56.100
zh我们会先搞清楚RGP到底代表什么
0:56.100–0:58.960
zh它和Cloud GPT这些B原模型
0:58.960–1:00.620
zh大概处于什么水平
1:00.620–1:03.880
zh然后算清楚模型运行时
1:03.880–1:05.880
zh到底会占用多少内存
1:05.880–1:11.120
zh接下来我会带你选择正确的MLX量化版本
1:11.120–1:13.560
zh使用Hugging Face的并行下载工具
1:13.560–1:16.440
zh把模型下载到本地
1:17.660–1:21.500
zh先跑出一个没有任何加速的基础速度
1:21.500–1:24.140
zh最后再安装DFlesh 2
1:24.140–1:26.280
zh在下载模型之前
1:26.280–1:28.460
zh我们首先得搞清楚一件事
1:28.460–1:33.620
zh前往3.827B里面的这个27B到底是什么意思
1:33.620–1:37.580
zh这里的B是Billing
1:37.580–1:39.000
zh也就是实义
1:39.000–1:42.840
zh27B代表这个语言的模型部分
1:42.840–1:46.140
zh大约拥有271个参数
1:46.140–1:53.780
zh你可以把参数理解成有模型训练完成以后保留下来的271个数字
1:53.780–1:58.600
zh模型每生成一个token都要读取这些数字进行计算
1:58.600–2:02.640
zh然后判断下一个token最有可能是什么
2:02.640–2:04.720
zh如果想象的更具体一点
2:04.720–2:10.900
zh你可以把它理解成一台拥有271个旋钮的巨大机器
2:10.900–2:15.780
zh训练模型的过程就是不断调整这271个旋钮
2:15.780–2:18.740
zh而我们现在进行的本地推理
2:18.740–2:22.160
zh就是把这些调整好的旋钮加载到内存里
2:22.160–2:24.400
zh然后用它们来生成答案
2:24.400–2:27.240
zh这里还有一个非常重要的概念
2:27.240–2:32.100
zh也就是说千问3.827B是一个Distance模型
2:32.100–2:33.820
zh也就是稠密模型
2:33.820–2:36.720
zh而不是MROE混合专家模型
2:36.720–2:41.840
zh有些模型名称可能写着总参数35B
2:41.840–2:44.160
zh但是后面还有一个A3B
2:44.160–2:45.980
zh所谓的A3B呢
2:45.980–2:47.380
zh这个A3B的意思就是
2:47.380–2:49.980
zh它虽然一共有350亿参数
2:49.980–2:51.780
zh但每次生成Token的时候
2:51.780–2:54.600
zh大约只有30亿参数会被激活
2:54.600–2:57.620
zh前往3.827B不一样
2:57.620–2:59.700
zh它没有A几B的后缀
2:59.700–3:02.980
zh它的语言模型拥有270亿参数
3:02.980–3:05.020
zh每生成一个Token
3:05.020–3:07.800
zh那么就代表着
3:07.800–3:10.740
zh基本要经过这270亿参数的计算
3:10.740–3:13.680
zh所以它的总参数大约是27B
3:13.680–3:16.120
zh激活参数呢
3:16.120–3:18.160
zh同样也是27B
3:18.160–3:23.320
zh这也是为什么同样叫做30B左右的模型
3:23.320–3:25.180
zh千万3.8 27B
3:25.180–3:28.800
zh可能比一些35B A3B的MOE模型大很多
3:28.800–3:29.400
zh当然
3:29.400–3:31.860
zh稠密模型也不是只有缺点
3:31.860–3:36.140
zh它的优势是所有能力都集中在同一套参数里
3:36.140–3:37.940
zh通常在输出稳定性
3:37.940–3:41.060
zh复杂任务和知识调用上会更加均衡
3:41.060–3:44.860
zh如果可以把本地运行的模型简单承评成三个类别
3:44.860–3:47.660
zh3B到8B通常属于轻量模型
3:47.660–3:49.220
zh这类模型速度很快
3:49.220–3:51.580
zh但复杂任务比较容易走偏
3:51.580–3:57.680
zh14B到30B可以看成本地大模型目前最实用的高质量区间
3:57.680–4:02.380
zh能力已经足以处理比较复杂的编程文章生成和工具调用
4:02.380–4:03.720
zh以及agent任务
4:03.720–4:10.860
zh70B以上的稠密模型能力通常会更加稳定
4:10.860–4:15.080
zh但需要的内存和内存带宽也会明显上升
4:15.080–4:17.440
zh对于大部分个人用户来说
4:17.440–4:19.880
zh部署成本其实是比较高的
4:19.880–4:26.880
zh所以千万3.8RGB基本属于个人电脑还能够比较现实的部署
4:26.880–4:30.900
zh同时能力有足够强的高端本地模型
4:30.900–4:34.000
zh那它跟市面上的B1模型相比怎么样呢
4:34.000–4:40.020
zh首先我们不能直接拿RGB去和Cloud和GPT的比较参数量
4:40.020–4:45.080
zh因为大部分B原模型不会公开完整参数量和激活参数
4:45.080–4:47.720
zh即使参数量一样
4:47.720–4:51.800
zh训练数据、模型架构、后训练和推理预算不同
4:51.800–4:54.380
zh最终能力也可能差很多
4:54.380–4:56.240
zh比较稳妥的说法是
4:56.240–5:00.680
zh千万3.8RGB已经进入了可以和B原旗舰模型
5:00.680–5:02.920
zh在部分任务上正面竞争的范围
5:02.920–5:06.920
zh但它还不能全面替代B原旗舰
5:06.920–5:11.260
zh以签问官方测试为例
5:11.260–5:13.000
zh可以看到
5:13.000–5:17.640
zh在Batch Pro里签问3.8
5:17.640–5:19.080
zhRTB是61.7
5:19.080–5:21.440
zhOPLA 4.6 MAX是53.4
5:21.440–5:25.620
zhTerminal Bench则是73对78.2
5:25.620–5:28.840
zhHLE是30.8对40
5:28.840–5:32.240
zh那么这组数据就可以说明
5:32.240–5:35.080
zh它在某些编程和工具调用任务上
5:35.080–5:37.180
zh可以接近甚至超过B元
5:37.180–5:39.120
zh但是复杂开放式推理
5:39.120–5:41.060
zh知识广度和长容稳定性
5:41.060–5:44.040
zhB元旗舰通常还是更强一些
5:44.040–5:48.320
zh而且这是签问官方公布的测试
5:48.320–5:52.180
zh它不是不同模型可能使用了不同的harness
5:52.180–5:57.040
zh所以这也包含官方自己的测试集
5:57.040–6:00.320
zh可以作为一部分定位参考
6:00.320–6:03.080
zh但不能因为某一个分数更高
6:03.080–6:05.320
zh就是说千万已经全面超越了Cloud
6:05.320–6:07.600
zh对我来说最准确的定位是
6:07.600–6:10.680
zh它不是B原旗舰的完整替代品
6:10.680–6:15.680
zh但已经是一款可以真正承担生产任务的高端本地模型
6:15.680–6:18.980
zh接下来我们来算一下它到底需要多少内存
6:18.980–6:23.680
zh很多人看到27B会直接认为它需要27G的内存
6:23.680–6:28.160
zh这个说法只在非常特定的条件下才大致成立
6:29.440–6:32.840
zh如果使用BF16一个参数呢
6:32.840–6:34.160
zh需要两个字节
6:34.160–6:36.900
zh270一个参数乘以两个字节的话
6:36.900–6:41.480
zh光语言模型原始权重就要大约54G
6:41.480–6:43.640
zh这还没有算计算系统
6:43.640–6:46.620
zh缓存和退理过程中的临时内存
6:46.620–6:48.280
zh所以64G Mac
6:48.280–6:50.540
zh虽然理论上可以放下BF16权重
6:50.540–6:53.100
zh但运行语量其实非常有限
6:53.100–6:55.900
zh量化的作用呢
6:55.900–6:59.060
zh就是使用更少的位数保存这些参数
6:59.060–7:02.340
zh8bit理论权重大约27G
7:02.340–7:06.120
zh4bit理论上大约13.5G
7:06.120–7:10.080
zh实际MLX版本还包含量化参数
7:10.080–7:11.400
zh词表和配置
7:11.400–7:14.140
zh8bit纯文字版约28.6G
7:14.140–7:16.420
zh带视觉能力约29.5G
7:16.420–7:18.820
zh4bit版本大约16G
7:18.820–7:22.120
zh那么从这些地方的这些数字
7:22.120–7:24.120
zh只代表模型权重
7:24.120–7:27.280
zh并不是模型启动后的总内存占用
7:27.280–7:29.140
zh每次运行时
7:29.140–7:31.200
zh内存里至少还要放进五类东西
7:31.200–7:33.000
zh第一类也就是最大的一类
7:33.000–7:35.040
zh就是模型群众
7:35.040–7:39.440
zh运行8bit版本光这一向就已经接近29G
7:39.440–7:42.700
zh而且启动后基本都要进入Mac统一内存
7:42.700–7:47.140
zh第二类是KVKISH和线性注意力技术
7:47.140–7:50.160
zh模型需要保存已经处理过的上下文
7:50.160–7:56.700
zh否则每生成一个Token都需要重新计算前文
7:56.700–8:00.000
zhKVKISH和上下文长度直接下文
8:01.400–8:07.760
zh前文原生支持约26万Token,但支持不代表你的Mac适合直接开满。
8:07.760–8:09.780
zh粗略计算
8:09.780–8:11.220
zh32K上下文
8:11.220–8:12.620
zh仅标准注意力
8:12.620–8:14.260
zh64K约4G
8:14.260–8:16.640
zh128K约8G
8:16.640–8:19.120
zh256K就要16G
8:19.120–8:22.760
zh此外还没包含线性注意力状态
8:22.760–8:25.340
zh如果平常只是聊天
8:25.340–8:26.920
zh或者处理普通代码任务
8:26.920–8:29.160
zh先从16K和32K开始
8:29.160–8:31.080
zh通常就已经足够了
8:31.080–8:34.060
zh第三类是MLX和META运行时
8:34.060–8:35.540
zh使用的计算空间
8:35.540–8:38.860
zh包括临时激活值和计算缓冲区
8:38.860–8:41.640
zh那么它不是固定数字
8:41.640–8:44.020
zh会随输入程度和并发变化
8:44.020–8:47.860
zh尤其是在第一次读取大段Prompt
8:47.860–8:49.460
zh也就是Prefill阶段
8:49.460–8:52.020
zh内存占用可能突然上升
8:52.020–8:56.000
zh第四类是视觉编码器
8:56.000–8:59.140
zh那么只做文字
8:59.140–9:00.880
zh写代码或运行Agent
9:00.880–9:02.300
zh可以选择TextOnly
9:02.300–9:04.260
zh需要读取图片或视频
9:04.260–9:06.260
zh才选择完整多模态版本
9:06.260–9:09.500
zh第五类是DFLASH2草稿模型
9:09.500–9:11.020
zh它不是普通开关
9:11.020–9:13.220
zh还需要一个配套的草稿模型
9:13.220–9:17.020
zh本身它大约21个参数
9:17.020–9:21.480
zh并额外占用缓存和缓冲区
9:21.480–9:26.380
zh所以最终的内存杖不是27B等于27G
9:26.380–9:28.220
zh而是模型权重加Cache
9:28.220–9:31.020
zh加运行缓冲加系统占用
9:31.020–9:33.840
zh再加DFLASH2草稿模型
9:33.840–9:37.880
zh如果想运行8bit版本
9:37.880–9:41.820
zh那么48G统一内存可以作为比较现实的起点
9:41.820–9:44.220
zh例如4G会更加舒服
9:44.220–9:47.300
zh32G不是绝对加载不了
9:47.300–9:48.780
zh但余量非常小
9:48.780–9:51.220
zh如果Mac只有24G或32G的话
9:51.220–9:56.980
zh我建议更加直接使用4bit版本是比较好的
9:56.980–9:59.960
zh模型文件大约16G
9:59.960–10:05.000
zh给系统Cache和D-Flash 2留下的空间会宽松很多
10:05.000–10:07.600
zhMac运行本地模型常见的聊线
10:07.600–10:10.500
zhGGUF加Lama CPP一节MLX
10:10.500–10:13.320
zh这次选择MLX
10:13.320–10:18.240
zh因为它针对苹果电脑有比较特殊的一些优化
10:18.240–10:21.880
zh而且后面的D-Flash 2工具可以直接运行MLX权重
10:21.880–10:28.860
zh我这次选择千万3.8RGB的MLX 8bit版本
10:28.860–10:30.860
zh如果内存比较小
10:30.860–10:34.120
zh把8bit换成对应的4bit仓库即可
10:34.120–10:37.680
zh其他流程基本是一样的
10:37.680–10:41.360
zh模型可以直接去HarkinFace下载
10:41.360–10:42.960
zh那么下载的时候
10:42.960–10:44.620
zh不建议打开浏览器
10:44.620–10:46.520
zh一个文件一个文件点击
10:46.520–10:49.940
zh大模型通常拆成多个权重封片
10:49.940–10:52.500
zh浏览器下载非常容易中断
10:52.500–10:54.500
zh也可能漏掉配置文件
10:54.500–10:58.180
zh那么这里更推荐用HarkinFace官方的
10:58.180–10:59.660
zhHF命令航工具
10:59.660–11:02.580
zh使用新版的HUB
11:02.580–11:04.920
zh使用XNET后端
11:04.920–11:06.800
zh它可以支持并行下载
11:06.800–11:09.700
zh就造成你的Transfer
11:09.700–11:11.780
zh已经逐步被淘汰了
11:11.780–11:12.840
zh那么我们这里
11:12.840–11:15.680
zh首先安装最新版Hagenface CLI
11:15.680–11:17.440
zh接下来
11:17.440–11:19.340
zh开启高性能模式
11:19.340–11:22.560
zh然后把模型下载到指定目录
11:22.560–11:25.960
zh那么高性能模式会提高并发
11:25.960–11:28.200
zh尽可能利用网络和CPU资源
11:28.200–11:29.280
zh模型比较大
11:29.280–11:32.560
zh下载前记得磁盘至少还有几十T的空余空间
11:32.560–11:34.000
zh下载完成之后
11:34.000–11:36.580
zh我们先别着急安装D-Flash 2
11:36.580–11:40.600
zh先跑出没有加速的基础版本
11:40.600–11:43.160
zh建议给本地模型单独创建
11:43.160–11:44.660
zhPython虚拟环境
11:44.660–11:48.880
zh避免不同的项目依赖会互相污染
11:48.880–11:50.480
zh创建环境
11:50.480–11:51.880
zh激活环境
11:51.880–11:54.800
zh以及安装MXM和MX
11:54.800–11:56.720
zh第一次测试呢
11:56.720–11:58.420
zh不要开超长的上下纹
11:58.420–12:00.560
zh不要开Dflash 2
12:00.560–12:02.220
zh同时呢
12:02.220–12:04.960
zh也不要修改一大堆采样参数
12:04.960–12:07.300
zh只指定模型路径
12:07.300–12:08.340
zh固定Prompt
12:08.340–12:09.960
zh生成几百个Token
12:09.960–12:12.120
zh运行最基础的生成命令
12:12.120–12:14.200
zh运行完成之后呢
12:14.200–12:17.180
zh我们可以把模型加载时间
12:17.180–12:18.900
zhPrompt处理速度
12:18.900–12:21.660
zh守Token等待时间和生成Token速度
12:21.660–12:23.860
zh这四个数字记录下来
12:23.860–12:26.040
zh如果没有基础数据
12:26.040–12:29.800
zh后面看到每每20几个token也不知道到底快了多少
12:29.800–12:32.020
zh基础9变27是3倍
12:32.020–12:37.380
zh那么基础20变22可能就不值得增加内存和复杂度
12:37.380–12:42.600
zh确认基础模型稳定之后呢
12:42.600–12:45.480
zh我们就可以安装D-Flash 2
12:45.480–12:49.960
zhD-Flash 2本质上是一种推测解码技术
12:49.960–12:51.200
zh正常情况下
12:51.200–12:54.160
zh千万3.827B每生成一个token的话
12:54.160–12:57.580
zh都要让完整270亿参数计算一次
12:57.580–13:00.280
zh那么生成10个token
13:00.280–13:03.280
zh就要连续做10次完整的推理
13:03.280–13:05.400
enDflash 2
13:05.400–13:08.760
zh让一个大约20亿参数的草稿模型
13:08.760–13:12.300
zh一次性并行预测接下来的一组token
13:12.300–13:18.080
zh然后再让27B主模型一次检查这一整组答案
13:18.080–13:20.920
zh如果草稿模型猜的比较准
13:20.920–13:24.200
zh主模型一次计算就可以接受多个Token
13:24.200–13:27.260
zh原本连续走五六四的流程
13:27.260–13:29.620
zh现在可能只需要一次验证
13:29.620–13:32.460
zh草稿模型只负责猜
13:32.460–13:35.960
zh最终决定权依然在27B主模型手上
13:35.960–13:37.740
zh贪心解码下最终输出
13:37.740–13:39.860
zh可以与基础模型一致
13:39.860–13:42.720
zh随机采样则保留主模型原本的分布
13:42.720–13:44.340
zh在Mac上
13:44.340–13:47.320
zh比较直接的实现是MX的D Spark
13:47.320–13:51.240
zh那么这个虽然名字写着Dspark
13:51.240–13:54.280
zh但它同时支持Dspark,Dflash和Dflash2
13:54.280–13:57.082
zh在用的时候对于千万3.8,
13:57.082–13:57.944
en27B,
13:57.944–14:02.040
zhUltra模式会直接使用Dflash2
14:02.040–14:07.200
zh安装命令也非常简单
14:11.880–14:13.360
zh屏幕上的安装命令
14:13.360–14:17.060
zh安装完成以后不要凭感觉判断有没有变快
14:17.060–14:19.520
zh直接运行项目自带的Benchmark
14:19.520–14:21.720
zh使用三轮测试
14:21.720–14:27.140
zh第一次运行会自动下载匹配的DFlesh2草稿模型
14:27.140–14:30.340
zh并根据这台Mac的实际成本测试
14:30.340–14:32.580
zh合适的推理长度
14:32.580–14:35.780
zhM1 M3 M4 M5的最佳参数呢
14:35.780–14:37.440
zh它是不一定一样的
14:37.440–14:40.080
zh如果你想直接生成内容的话
14:40.080–14:42.320
zh建议用这个命令
14:42.320–14:44.780
zh可以使用MXD Spark Generate
14:44.780–14:50.840
zh默认AUTO模式会为千万3.8RCB匹配DFLASH2
14:50.840–14:54.300
zh再用完全相同的Prompt测试
14:54.300–14:55.660
zh对比基础速度
14:55.660–14:59.100
zhDFLASH2速度接受长度和内存占用
14:59.100–15:00.980
zh那么比下来之后
15:00.980–15:03.360
zh项目在特定的M4 Pro测试中
15:03.360–15:06.160
zh8bit的基础约8.4Token每秒
15:06.160–15:09.160
zhDFLASH2平均约30.5Token每秒
15:09.160–15:13.040
zh不同任务约2.8到4倍
15:13.040–15:17.220
zh但这不是你的Mac一定能达到的速度
15:17.220–15:17.980
zh因为呢
15:17.980–15:20.620
zhDFLASH2不是打开以后
15:20.620–15:22.000
zh它就一定变快
15:22.000–15:23.980
zh如果草稿接受率低的话
15:23.980–15:26.980
zh主模型会不断拒绝和重新生成
15:26.980–15:30.080
zh草稿计算反而成为额外的负担
15:30.080–15:33.440
zh对于只有几十个Token的短回答
15:33.440–15:36.240
zh模型刚加载完成和校准
15:36.240–15:37.440
zh任务就结束了
15:37.440–15:39.980
zh实际体感提升可能不是很明显
15:39.980–15:43.040
zhD-Flash 2还会增加内存占用
15:43.040–15:44.460
zh所以呢
15:44.460–15:45.936
zh如果8bit主
15:45.936–15:49.611
zh所以,如果8bit主模型以及頻繁swap,
15:49.611–15:51.361
zh那麼再加載草稿模型,
15:51.361–15:52.936
zh最終速度反而更慢。
15:52.936–15:58.936
zh所以要用自己最常執行的任務去測試一下。寫代碼就測真實代碼修改。
15:58.936–16:02.376
zh生成口播稿就连续输出一两千的token
16:02.376–16:06.236
zh运行agent就测试完整工具调用
16:06.236–16:09.936
zh最后一步是把模型启动成API
16:09.936–16:14.076
zhMLX的Dspark可以兼容OpenAI
16:14.076–16:18.036
zh那么和Astorbit格式的本地服务
16:18.036–16:20.716
zh启动命令是MLXDsparkServe
16:22.796–16:27.656
zh默认是开在本级8080端口去提供接口的
16:27.656–16:32.296
zh客户端BaseURL设置成127.0.18080
16:32.296–16:35.576
zh设置好之后
16:35.576–16:37.276
zh只在自己电脑使用
16:37.276–16:40.016
zh可以不设置真正的API Key
16:40.016–16:41.836
zh需要局域网访问的时候
16:41.836–16:43.396
zh要调整监听地址
16:43.396–16:44.976
zh检查防火墙
16:44.976–16:49.256
zh但不要把无件权接口直接暴露到公网
16:49.256–16:52.756
zh到这里我们完成了整套部署流程
16:52.756–16:53.476
zh第一
16:53.476–16:56.576
zhR7B代表约270亿参数
16:56.576–16:59.596
zh而且它是全量激活的稠密模型
16:59.596–17:00.196
zh第二
17:00.196–17:03.456
zhRGB不等于只需RGB内存
17:03.456–17:05.556
zh把比特权重接近R9G运行
17:05.556–17:09.416
zh是要加CASE缓冲区系统和草稿模型
17:09.416–17:12.136
zh那么第三
17:12.136–17:15.016
zh它属于本地模型高端档
17:15.016–17:18.116
zh部分编程和Agent任务接近B原起见
17:18.116–17:19.996
zh但不是全面的替代
17:19.996–17:21.076
zh第四
17:21.076–17:22.596
zh不要一上来
17:22.596–17:24.516
zh就打开所有加速箱
17:24.516–17:26.976
zh先用MLX跑出基础速度
17:26.976–17:29.436
zh再用相同Prompt做A-B测试
17:29.436–17:32.596
zh决定是否长期使用D-Flash 2
17:32.596–17:35.716
zh如果真实任务从每秒9个Token
17:35.716–17:37.776
zh能够提高到2-30个的话
17:37.776–17:39.356
zh而且内存稳定
17:39.356–17:41.856
zh那么它就值得长期去打开
17:41.856–17:45.996
zh如果频繁Swap或者主要都是短问答的话
17:45.996–17:48.736
zh4bit基础模型可能更舒服一些
17:48.736–17:53.036
zh本地部署大模型的价值不是省API费用
17:53.036–17:55.936
zh当它变成Mac上的本地服务
17:55.936–17:58.696
zh它就可以接入代码Langraph
17:58.696–17:59.936
zh自动剪辑系统
17:59.936–18:00.776
zh知识库
18:00.776–18:03.916
zh以及agent工作流
18:03.916–18:07.556
zh真正好的本地布置方案
18:07.556–18:08.876
zh不是参数最大
18:08.876–18:10.636
zh也不是测试数字最高
18:10.636–18:12.116
zh而是在自己的设备上
18:12.116–18:13.076
zh质量足够好
18:13.076–18:14.316
zh速度能够接受
18:14.316–18:16.236
zh内存保持稳定
18:16.236–18:19.156
zh并且真的进入日常工作流
18:19.156–18:20.756
zh才能长期去使用
18:20.756–18:24.196
zh影片领誘到的模型地址安装命令和测试命令
18:24.196–18:26.416
zh我都会整理在下方
18:26.416–18:33.436
zh如果希望下一期测试4bit 6bit和8bit的品质差距的话
18:33.436–18:36.856
zh以及DFlex 2速度也可以留言给我
18:36.856–18:39.056
zh喜欢这支影片的话
18:39.056–18:42.776
zh记得帮我按赞订阅加分享哦
18:42.776–18:44.956
zh这是我持续创作的最大动力
18:44.956–18:45.916
zh我们下次再见
0:00.000–0:03.849
開放了千萬3.8RGB的模型權重。
0:03.849–0:08.151
很多人看到RGB之後的第一個問題就是,
0:08.151–0:09.057
這東西,
0:09.057–0:12.000
我的Mac到底能不能跑呢?
0:12.000–0:16.171
有人看到量化以後只需要十幾GB的內存,
0:16.171–0:21.000
覺得自己的24GB Mac應該也沒有什麼問題。
0:21.000–0:24.060
结果模型下载完以后
0:24.060–0:25.780
要么加载失败
0:25.780–0:27.880
要么刚开始生成
0:27.880–0:30.380
系统内存就直接爆掉
0:30.380–0:34.880
有人花了半天时间把模型跑起来
0:34.880–0:38.600
最后发现生成速度只有每秒八九个Token
0:38.600–0:41.700
打开MTP之后不仅没有加速
0:41.700–0:42.980
反而更慢了
0:42.980–0:45.520
所以今天这支影片
0:45.520–0:47.660
我会从零开始
0:47.660–0:50.840
带你在Mac上完整部署一次
0:50.840–0:52.680
千万3.8 RGB
0:52.680–0:56.100
我们会先搞清楚RGP到底代表什么
0:56.100–0:58.960
它和Cloud GPT这些B原模型
0:58.960–1:00.620
大概处于什么水平
1:00.620–1:03.880
然后算清楚模型运行时
1:03.880–1:05.880
到底会占用多少内存
1:05.880–1:11.120
接下来我会带你选择正确的MLX量化版本
1:11.120–1:13.560
使用Hugging Face的并行下载工具
1:13.560–1:16.440
把模型下载到本地
1:17.660–1:21.500
先跑出一个没有任何加速的基础速度
1:21.500–1:24.140
最后再安装DFlesh 2
1:24.140–1:26.280
在下载模型之前
1:26.280–1:28.460
我们首先得搞清楚一件事
1:28.460–1:33.620
前往3.827B里面的这个27B到底是什么意思
1:33.620–1:37.580
这里的B是Billing
1:37.580–1:39.000
也就是实义
1:39.000–1:42.840
27B代表这个语言的模型部分
1:42.840–1:46.140
大约拥有271个参数
1:46.140–1:53.780
你可以把参数理解成有模型训练完成以后保留下来的271个数字
1:53.780–1:58.600
模型每生成一个token都要读取这些数字进行计算
1:58.600–2:02.640
然后判断下一个token最有可能是什么
2:02.640–2:04.720
如果想象的更具体一点
2:04.720–2:10.900
你可以把它理解成一台拥有271个旋钮的巨大机器
2:10.900–2:15.780
训练模型的过程就是不断调整这271个旋钮
2:15.780–2:18.740
而我们现在进行的本地推理
2:18.740–2:22.160
就是把这些调整好的旋钮加载到内存里
2:22.160–2:24.400
然后用它们来生成答案
2:24.400–2:27.240
这里还有一个非常重要的概念
2:27.240–2:32.100
也就是说千问3.827B是一个Distance模型
2:32.100–2:33.820
也就是稠密模型
2:33.820–2:36.720
而不是MROE混合专家模型
2:36.720–2:41.840
有些模型名称可能写着总参数35B
2:41.840–2:44.160
但是后面还有一个A3B
2:44.160–2:45.980
所谓的A3B呢
2:45.980–2:47.380
这个A3B的意思就是
2:47.380–2:49.980
它虽然一共有350亿参数
2:49.980–2:51.780
但每次生成Token的时候
2:51.780–2:54.600
大约只有30亿参数会被激活
2:54.600–2:57.620
前往3.827B不一样
2:57.620–2:59.700
它没有A几B的后缀
2:59.700–3:02.980
它的语言模型拥有270亿参数
3:02.980–3:05.020
每生成一个Token
3:05.020–3:07.800
那么就代表着
3:07.800–3:10.740
基本要经过这270亿参数的计算
3:10.740–3:13.680
所以它的总参数大约是27B
3:13.680–3:16.120
激活参数呢
3:16.120–3:18.160
同样也是27B
3:18.160–3:23.320
这也是为什么同样叫做30B左右的模型
3:23.320–3:25.180
千万3.8 27B
3:25.180–3:28.800
可能比一些35B A3B的MOE模型大很多
3:28.800–3:29.400
当然
3:29.400–3:31.860
稠密模型也不是只有缺点
3:31.860–3:36.140
它的优势是所有能力都集中在同一套参数里
3:36.140–3:37.940
通常在输出稳定性
3:37.940–3:41.060
复杂任务和知识调用上会更加均衡
3:41.060–3:44.860
如果可以把本地运行的模型简单承评成三个类别
3:44.860–3:47.660
3B到8B通常属于轻量模型
3:47.660–3:49.220
这类模型速度很快
3:49.220–3:51.580
但复杂任务比较容易走偏
3:51.580–3:57.680
14B到30B可以看成本地大模型目前最实用的高质量区间
3:57.680–4:02.380
能力已经足以处理比较复杂的编程文章生成和工具调用
4:02.380–4:03.720
以及agent任务
4:03.720–4:10.860
70B以上的稠密模型能力通常会更加稳定
4:10.860–4:15.080
但需要的内存和内存带宽也会明显上升
4:15.080–4:17.440
对于大部分个人用户来说
4:17.440–4:19.880
部署成本其实是比较高的
4:19.880–4:26.880
所以千万3.8RGB基本属于个人电脑还能够比较现实的部署
4:26.880–4:30.900
同时能力有足够强的高端本地模型
4:30.900–4:34.000
那它跟市面上的B1模型相比怎么样呢
4:34.000–4:40.020
首先我们不能直接拿RGB去和Cloud和GPT的比较参数量
4:40.020–4:45.080
因为大部分B原模型不会公开完整参数量和激活参数
4:45.080–4:47.720
即使参数量一样
4:47.720–4:51.800
训练数据、模型架构、后训练和推理预算不同
4:51.800–4:54.380
最终能力也可能差很多
4:54.380–4:56.240
比较稳妥的说法是
4:56.240–5:00.680
千万3.8RGB已经进入了可以和B原旗舰模型
5:00.680–5:02.920
在部分任务上正面竞争的范围
5:02.920–5:06.920
但它还不能全面替代B原旗舰
5:06.920–5:11.260
以签问官方测试为例
5:11.260–5:13.000
可以看到
5:13.000–5:17.640
在Batch Pro里签问3.8
5:17.640–5:19.080
RTB是61.7
5:19.080–5:21.440
OPLA 4.6 MAX是53.4
5:21.440–5:25.620
Terminal Bench则是73对78.2
5:25.620–5:28.840
HLE是30.8对40
5:28.840–5:32.240
那么这组数据就可以说明
5:32.240–5:35.080
它在某些编程和工具调用任务上
5:35.080–5:37.180
可以接近甚至超过B元
5:37.180–5:39.120
但是复杂开放式推理
5:39.120–5:41.060
知识广度和长容稳定性
5:41.060–5:44.040
B元旗舰通常还是更强一些
5:44.040–5:48.320
而且这是签问官方公布的测试
5:48.320–5:52.180
它不是不同模型可能使用了不同的harness
5:52.180–5:57.040
所以这也包含官方自己的测试集
5:57.040–6:00.320
可以作为一部分定位参考
6:00.320–6:03.080
但不能因为某一个分数更高
6:03.080–6:05.320
就是说千万已经全面超越了Cloud
6:05.320–6:07.600
对我来说最准确的定位是
6:07.600–6:10.680
它不是B原旗舰的完整替代品
6:10.680–6:15.680
但已经是一款可以真正承担生产任务的高端本地模型
6:15.680–6:18.980
接下来我们来算一下它到底需要多少内存
6:18.980–6:23.680
很多人看到27B会直接认为它需要27G的内存
6:23.680–6:28.160
这个说法只在非常特定的条件下才大致成立
6:29.440–6:32.840
如果使用BF16一个参数呢
6:32.840–6:34.160
需要两个字节
6:34.160–6:36.900
270一个参数乘以两个字节的话
6:36.900–6:41.480
光语言模型原始权重就要大约54G
6:41.480–6:43.640
这还没有算计算系统
6:43.640–6:46.620
缓存和退理过程中的临时内存
6:46.620–6:48.280
所以64G Mac
6:48.280–6:50.540
虽然理论上可以放下BF16权重
6:50.540–6:53.100
但运行语量其实非常有限
6:53.100–6:55.900
量化的作用呢
6:55.900–6:59.060
就是使用更少的位数保存这些参数
6:59.060–7:02.340
8bit理论权重大约27G
7:02.340–7:06.120
4bit理论上大约13.5G
7:06.120–7:10.080
实际MLX版本还包含量化参数
7:10.080–7:11.400
词表和配置
7:11.400–7:14.140
8bit纯文字版约28.6G
7:14.140–7:16.420
带视觉能力约29.5G
7:16.420–7:18.820
4bit版本大约16G
7:18.820–7:22.120
那么从这些地方的这些数字
7:22.120–7:24.120
只代表模型权重
7:24.120–7:27.280
并不是模型启动后的总内存占用
7:27.280–7:29.140
每次运行时
7:29.140–7:31.200
内存里至少还要放进五类东西
7:31.200–7:33.000
第一类也就是最大的一类
7:33.000–7:35.040
就是模型群众
7:35.040–7:39.440
运行8bit版本光这一向就已经接近29G
7:39.440–7:42.700
而且启动后基本都要进入Mac统一内存
7:42.700–7:47.140
第二类是KVKISH和线性注意力技术
7:47.140–7:50.160
模型需要保存已经处理过的上下文
7:50.160–7:56.700
否则每生成一个Token都需要重新计算前文
7:56.700–8:00.000
KVKISH和上下文长度直接下文
8:01.400–8:07.760
前文原生支持约26万Token,但支持不代表你的Mac适合直接开满。
8:07.760–8:09.780
粗略计算
8:09.780–8:11.220
32K上下文
8:11.220–8:12.620
仅标准注意力
8:12.620–8:14.260
64K约4G
8:14.260–8:16.640
128K约8G
8:16.640–8:19.120
256K就要16G
8:19.120–8:22.760
此外还没包含线性注意力状态
8:22.760–8:25.340
如果平常只是聊天
8:25.340–8:26.920
或者处理普通代码任务
8:26.920–8:29.160
先从16K和32K开始
8:29.160–8:31.080
通常就已经足够了
8:31.080–8:34.060
第三类是MLX和META运行时
8:34.060–8:35.540
使用的计算空间
8:35.540–8:38.860
包括临时激活值和计算缓冲区
8:38.860–8:41.640
那么它不是固定数字
8:41.640–8:44.020
会随输入程度和并发变化
8:44.020–8:47.860
尤其是在第一次读取大段Prompt
8:47.860–8:49.460
也就是Prefill阶段
8:49.460–8:52.020
内存占用可能突然上升
8:52.020–8:56.000
第四类是视觉编码器
8:56.000–8:59.140
那么只做文字
8:59.140–9:00.880
写代码或运行Agent
9:00.880–9:02.300
可以选择TextOnly
9:02.300–9:04.260
需要读取图片或视频
9:04.260–9:06.260
才选择完整多模态版本
9:06.260–9:09.500
第五类是DFLASH2草稿模型
9:09.500–9:11.020
它不是普通开关
9:11.020–9:13.220
还需要一个配套的草稿模型
9:13.220–9:17.020
本身它大约21个参数
9:17.020–9:21.480
并额外占用缓存和缓冲区
9:21.480–9:26.380
所以最终的内存杖不是27B等于27G
9:26.380–9:28.220
而是模型权重加Cache
9:28.220–9:31.020
加运行缓冲加系统占用
9:31.020–9:33.840
再加DFLASH2草稿模型
9:33.840–9:37.880
如果想运行8bit版本
9:37.880–9:41.820
那么48G统一内存可以作为比较现实的起点
9:41.820–9:44.220
例如4G会更加舒服
9:44.220–9:47.300
32G不是绝对加载不了
9:47.300–9:48.780
但余量非常小
9:48.780–9:51.220
如果Mac只有24G或32G的话
9:51.220–9:56.980
我建议更加直接使用4bit版本是比较好的
9:56.980–9:59.960
模型文件大约16G
9:59.960–10:05.000
给系统Cache和D-Flash 2留下的空间会宽松很多
10:05.000–10:07.600
Mac运行本地模型常见的聊线
10:07.600–10:10.500
GGUF加Lama CPP一节MLX
10:10.500–10:13.320
这次选择MLX
10:13.320–10:18.240
因为它针对苹果电脑有比较特殊的一些优化
10:18.240–10:21.880
而且后面的D-Flash 2工具可以直接运行MLX权重
10:21.880–10:28.860
我这次选择千万3.8RGB的MLX 8bit版本
10:28.860–10:30.860
如果内存比较小
10:30.860–10:34.120
把8bit换成对应的4bit仓库即可
10:34.120–10:37.680
其他流程基本是一样的
10:37.680–10:41.360
模型可以直接去HarkinFace下载
10:41.360–10:42.960
那么下载的时候
10:42.960–10:44.620
不建议打开浏览器
10:44.620–10:46.520
一个文件一个文件点击
10:46.520–10:49.940
大模型通常拆成多个权重封片
10:49.940–10:52.500
浏览器下载非常容易中断
10:52.500–10:54.500
也可能漏掉配置文件
10:54.500–10:58.180
那么这里更推荐用HarkinFace官方的
10:58.180–10:59.660
HF命令航工具
10:59.660–11:02.580
使用新版的HUB
11:02.580–11:04.920
使用XNET后端
11:04.920–11:06.800
它可以支持并行下载
11:06.800–11:09.700
就造成你的Transfer
11:09.700–11:11.780
已经逐步被淘汰了
11:11.780–11:12.840
那么我们这里
11:12.840–11:15.680
首先安装最新版Hagenface CLI
11:15.680–11:17.440
接下来
11:17.440–11:19.340
开启高性能模式
11:19.340–11:22.560
然后把模型下载到指定目录
11:22.560–11:25.960
那么高性能模式会提高并发
11:25.960–11:28.200
尽可能利用网络和CPU资源
11:28.200–11:29.280
模型比较大
11:29.280–11:32.560
下载前记得磁盘至少还有几十T的空余空间
11:32.560–11:34.000
下载完成之后
11:34.000–11:36.580
我们先别着急安装D-Flash 2
11:36.580–11:40.600
先跑出没有加速的基础版本
11:40.600–11:43.160
建议给本地模型单独创建
11:43.160–11:44.660
Python虚拟环境
11:44.660–11:48.880
避免不同的项目依赖会互相污染
11:48.880–11:50.480
创建环境
11:50.480–11:51.880
激活环境
11:51.880–11:54.800
以及安装MXM和MX
11:54.800–11:56.720
第一次测试呢
11:56.720–11:58.420
不要开超长的上下纹
11:58.420–12:00.560
不要开Dflash 2
12:00.560–12:02.220
同时呢
12:02.220–12:04.960
也不要修改一大堆采样参数
12:04.960–12:07.300
只指定模型路径
12:07.300–12:08.340
固定Prompt
12:08.340–12:09.960
生成几百个Token
12:09.960–12:12.120
运行最基础的生成命令
12:12.120–12:14.200
运行完成之后呢
12:14.200–12:17.180
我们可以把模型加载时间
12:17.180–12:18.900
Prompt处理速度
12:18.900–12:21.660
守Token等待时间和生成Token速度
12:21.660–12:23.860
这四个数字记录下来
12:23.860–12:26.040
如果没有基础数据
12:26.040–12:29.800
后面看到每每20几个token也不知道到底快了多少
12:29.800–12:32.020
基础9变27是3倍
12:32.020–12:37.380
那么基础20变22可能就不值得增加内存和复杂度
12:37.380–12:42.600
确认基础模型稳定之后呢
12:42.600–12:45.480
我们就可以安装D-Flash 2
12:45.480–12:49.960
D-Flash 2本质上是一种推测解码技术
12:49.960–12:51.200
正常情况下
12:51.200–12:54.160
千万3.827B每生成一个token的话
12:54.160–12:57.580
都要让完整270亿参数计算一次
12:57.580–13:00.280
那么生成10个token
13:00.280–13:03.280
就要连续做10次完整的推理
13:03.280–13:05.400
Dflash 2
13:05.400–13:08.760
让一个大约20亿参数的草稿模型
13:08.760–13:12.300
一次性并行预测接下来的一组token
13:12.300–13:18.080
然后再让27B主模型一次检查这一整组答案
13:18.080–13:20.920
如果草稿模型猜的比较准
13:20.920–13:24.200
主模型一次计算就可以接受多个Token
13:24.200–13:27.260
原本连续走五六四的流程
13:27.260–13:29.620
现在可能只需要一次验证
13:29.620–13:32.460
草稿模型只负责猜
13:32.460–13:35.960
最终决定权依然在27B主模型手上
13:35.960–13:37.740
贪心解码下最终输出
13:37.740–13:39.860
可以与基础模型一致
13:39.860–13:42.720
随机采样则保留主模型原本的分布
13:42.720–13:44.340
在Mac上
13:44.340–13:47.320
比较直接的实现是MX的D Spark
13:47.320–13:51.240
那么这个虽然名字写着Dspark
13:51.240–13:54.280
但它同时支持Dspark,Dflash和Dflash2
13:54.280–13:57.082
在用的时候对于千万3.8,
13:57.082–13:57.944
27B,
13:57.944–14:02.040
Ultra模式会直接使用Dflash2
14:02.040–14:07.200
安装命令也非常简单
14:11.880–14:13.360
屏幕上的安装命令
14:13.360–14:17.060
安装完成以后不要凭感觉判断有没有变快
14:17.060–14:19.520
直接运行项目自带的Benchmark
14:19.520–14:21.720
使用三轮测试
14:21.720–14:27.140
第一次运行会自动下载匹配的DFlesh2草稿模型
14:27.140–14:30.340
并根据这台Mac的实际成本测试
14:30.340–14:32.580
合适的推理长度
14:32.580–14:35.780
M1 M3 M4 M5的最佳参数呢
14:35.780–14:37.440
它是不一定一样的
14:37.440–14:40.080
如果你想直接生成内容的话
14:40.080–14:42.320
建议用这个命令
14:42.320–14:44.780
可以使用MXD Spark Generate
14:44.780–14:50.840
默认AUTO模式会为千万3.8RCB匹配DFLASH2
14:50.840–14:54.300
再用完全相同的Prompt测试
14:54.300–14:55.660
对比基础速度
14:55.660–14:59.100
DFLASH2速度接受长度和内存占用
14:59.100–15:00.980
那么比下来之后
15:00.980–15:03.360
项目在特定的M4 Pro测试中
15:03.360–15:06.160
8bit的基础约8.4Token每秒
15:06.160–15:09.160
DFLASH2平均约30.5Token每秒
15:09.160–15:13.040
不同任务约2.8到4倍
15:13.040–15:17.220
但这不是你的Mac一定能达到的速度
15:17.220–15:17.980
因为呢
15:17.980–15:20.620
DFLASH2不是打开以后
15:20.620–15:22.000
它就一定变快
15:22.000–15:23.980
如果草稿接受率低的话
15:23.980–15:26.980
主模型会不断拒绝和重新生成
15:26.980–15:30.080
草稿计算反而成为额外的负担
15:30.080–15:33.440
对于只有几十个Token的短回答
15:33.440–15:36.240
模型刚加载完成和校准
15:36.240–15:37.440
任务就结束了
15:37.440–15:39.980
实际体感提升可能不是很明显
15:39.980–15:43.040
D-Flash 2还会增加内存占用
15:43.040–15:44.460
所以呢
15:44.460–15:45.936
如果8bit主
15:45.936–15:49.611
所以,如果8bit主模型以及頻繁swap,
15:49.611–15:51.361
那麼再加載草稿模型,
15:51.361–15:52.936
最終速度反而更慢。
15:52.936–15:58.936
所以要用自己最常執行的任務去測試一下。寫代碼就測真實代碼修改。
15:58.936–16:02.376
生成口播稿就连续输出一两千的token
16:02.376–16:06.236
运行agent就测试完整工具调用
16:06.236–16:09.936
最后一步是把模型启动成API
16:09.936–16:14.076
MLX的Dspark可以兼容OpenAI
16:14.076–16:18.036
那么和Astorbit格式的本地服务
16:18.036–16:20.716
启动命令是MLXDsparkServe
16:22.796–16:27.656
默认是开在本级8080端口去提供接口的
16:27.656–16:32.296
客户端BaseURL设置成127.0.18080
16:32.296–16:35.576
设置好之后
16:35.576–16:37.276
只在自己电脑使用
16:37.276–16:40.016
可以不设置真正的API Key
16:40.016–16:41.836
需要局域网访问的时候
16:41.836–16:43.396
要调整监听地址
16:43.396–16:44.976
检查防火墙
16:44.976–16:49.256
但不要把无件权接口直接暴露到公网
16:49.256–16:52.756
到这里我们完成了整套部署流程
16:52.756–16:53.476
第一
16:53.476–16:56.576
R7B代表约270亿参数
16:56.576–16:59.596
而且它是全量激活的稠密模型
16:59.596–17:00.196
第二
17:00.196–17:03.456
RGB不等于只需RGB内存
17:03.456–17:05.556
把比特权重接近R9G运行
17:05.556–17:09.416
是要加CASE缓冲区系统和草稿模型
17:09.416–17:12.136
那么第三
17:12.136–17:15.016
它属于本地模型高端档
17:15.016–17:18.116
部分编程和Agent任务接近B原起见
17:18.116–17:19.996
但不是全面的替代
17:19.996–17:21.076
第四
17:21.076–17:22.596
不要一上来
17:22.596–17:24.516
就打开所有加速箱
17:24.516–17:26.976
先用MLX跑出基础速度
17:26.976–17:29.436
再用相同Prompt做A-B测试
17:29.436–17:32.596
决定是否长期使用D-Flash 2
17:32.596–17:35.716
如果真实任务从每秒9个Token
17:35.716–17:37.776
能够提高到2-30个的话
17:37.776–17:39.356
而且内存稳定
17:39.356–17:41.856
那么它就值得长期去打开
17:41.856–17:45.996
如果频繁Swap或者主要都是短问答的话
17:45.996–17:48.736
4bit基础模型可能更舒服一些
17:48.736–17:53.036
本地部署大模型的价值不是省API费用
17:53.036–17:55.936
当它变成Mac上的本地服务
17:55.936–17:58.696
它就可以接入代码Langraph
17:58.696–17:59.936
自动剪辑系统
17:59.936–18:00.776
知识库
18:00.776–18:03.916
以及agent工作流
18:03.916–18:07.556
真正好的本地布置方案
18:07.556–18:08.876
不是参数最大
18:08.876–18:10.636
也不是测试数字最高
18:10.636–18:12.116
而是在自己的设备上
18:12.116–18:13.076
质量足够好
18:13.076–18:14.316
速度能够接受
18:14.316–18:16.236
内存保持稳定
18:16.236–18:19.156
并且真的进入日常工作流
18:19.156–18:20.756
才能长期去使用
18:20.756–18:24.196
影片领誘到的模型地址安装命令和测试命令
18:24.196–18:26.416
我都会整理在下方
18:26.416–18:33.436
如果希望下一期测试4bit 6bit和8bit的品质差距的话
18:33.436–18:36.856
以及DFlex 2速度也可以留言给我
18:36.856–18:39.056
喜欢这支影片的话
18:39.056–18:42.776
记得帮我按赞订阅加分享哦
18:42.776–18:44.956
这是我持续创作的最大动力
18:44.956–18:45.916
我们下次再见
0:00.000–0:03.849
zh開放了千萬3.8RGB的模型權重。
開放了千萬3.8RGB的模型權重。
0:03.849–0:08.151
zh很多人看到RGB之後的第一個問題就是,
很多人看到RGB之後的第一個問題就是,
0:08.151–0:09.057
zh這東西,
這東西,
0:09.057–0:12.000
zh我的Mac到底能不能跑呢?
我的Mac到底能不能跑呢?
0:12.000–0:16.171
zh有人看到量化以後只需要十幾GB的內存,
有人看到量化以後只需要十幾GB的內存,
0:16.171–0:21.000
zh覺得自己的24GB Mac應該也沒有什麼問題。
覺得自己的24GB Mac應該也沒有什麼問題。
0:21.000–0:24.060
zh结果模型下载完以后
结果模型下载完以后
0:24.060–0:25.780
zh要么加载失败
要么加载失败
0:25.780–0:27.880
zh要么刚开始生成
要么刚开始生成
0:27.880–0:30.380
zh系统内存就直接爆掉
系统内存就直接爆掉
0:30.380–0:34.880
zh有人花了半天时间把模型跑起来
有人花了半天时间把模型跑起来
0:34.880–0:38.600
zh最后发现生成速度只有每秒八九个Token
最后发现生成速度只有每秒八九个Token
0:38.600–0:41.700
zh打开MTP之后不仅没有加速
打开MTP之后不仅没有加速
0:41.700–0:42.980
zh反而更慢了
反而更慢了
0:42.980–0:45.520
zh所以今天这支影片
所以今天这支影片
0:45.520–0:47.660
zh我会从零开始
我会从零开始
0:47.660–0:50.840
zh带你在Mac上完整部署一次
带你在Mac上完整部署一次
0:50.840–0:52.680
zh千万3.8 RGB
千万3.8 RGB
0:52.680–0:56.100
zh我们会先搞清楚RGP到底代表什么
我们会先搞清楚RGP到底代表什么
0:56.100–0:58.960
zh它和Cloud GPT这些B原模型
它和Cloud GPT这些B原模型
0:58.960–1:00.620
zh大概处于什么水平
大概处于什么水平
1:00.620–1:03.880
zh然后算清楚模型运行时
然后算清楚模型运行时
1:03.880–1:05.880
zh到底会占用多少内存
到底会占用多少内存
1:05.880–1:11.120
zh接下来我会带你选择正确的MLX量化版本
接下来我会带你选择正确的MLX量化版本
1:11.120–1:13.560
zh使用Hugging Face的并行下载工具
使用Hugging Face的并行下载工具
1:13.560–1:16.440
zh把模型下载到本地
把模型下载到本地
1:17.660–1:21.500
zh先跑出一个没有任何加速的基础速度
先跑出一个没有任何加速的基础速度
1:21.500–1:24.140
zh最后再安装DFlesh 2
最后再安装DFlesh 2
1:24.140–1:26.280
zh在下载模型之前
在下载模型之前
1:26.280–1:28.460
zh我们首先得搞清楚一件事
我们首先得搞清楚一件事
1:28.460–1:33.620
zh前往3.827B里面的这个27B到底是什么意思
前往3.827B里面的这个27B到底是什么意思
1:33.620–1:37.580
zh这里的B是Billing
这里的B是Billing
1:37.580–1:39.000
zh也就是实义
也就是实义
1:39.000–1:42.840
zh27B代表这个语言的模型部分
27B代表这个语言的模型部分
1:42.840–1:46.140
zh大约拥有271个参数
大约拥有271个参数
1:46.140–1:53.780
zh你可以把参数理解成有模型训练完成以后保留下来的271个数字
你可以把参数理解成有模型训练完成以后保留下来的271个数字
1:53.780–1:58.600
zh模型每生成一个token都要读取这些数字进行计算
模型每生成一个token都要读取这些数字进行计算
1:58.600–2:02.640
zh然后判断下一个token最有可能是什么
然后判断下一个token最有可能是什么
2:02.640–2:04.720
zh如果想象的更具体一点
如果想象的更具体一点
2:04.720–2:10.900
zh你可以把它理解成一台拥有271个旋钮的巨大机器
你可以把它理解成一台拥有271个旋钮的巨大机器
2:10.900–2:15.780
zh训练模型的过程就是不断调整这271个旋钮
训练模型的过程就是不断调整这271个旋钮
2:15.780–2:18.740
zh而我们现在进行的本地推理
而我们现在进行的本地推理
2:18.740–2:22.160
zh就是把这些调整好的旋钮加载到内存里
就是把这些调整好的旋钮加载到内存里
2:22.160–2:24.400
zh然后用它们来生成答案
然后用它们来生成答案
2:24.400–2:27.240
zh这里还有一个非常重要的概念
这里还有一个非常重要的概念
2:27.240–2:32.100
zh也就是说千问3.827B是一个Distance模型
也就是说千问3.827B是一个Distance模型
2:32.100–2:33.820
zh也就是稠密模型
也就是稠密模型
2:33.820–2:36.720
zh而不是MROE混合专家模型
而不是MROE混合专家模型
2:36.720–2:41.840
zh有些模型名称可能写着总参数35B
有些模型名称可能写着总参数35B
2:41.840–2:44.160
zh但是后面还有一个A3B
但是后面还有一个A3B
2:44.160–2:45.980
zh所谓的A3B呢
所谓的A3B呢
2:45.980–2:47.380
zh这个A3B的意思就是
这个A3B的意思就是
2:47.380–2:49.980
zh它虽然一共有350亿参数
它虽然一共有350亿参数
2:49.980–2:51.780
zh但每次生成Token的时候
但每次生成Token的时候
2:51.780–2:54.600
zh大约只有30亿参数会被激活
大约只有30亿参数会被激活
2:54.600–2:57.620
zh前往3.827B不一样
前往3.827B不一样
2:57.620–2:59.700
zh它没有A几B的后缀
它没有A几B的后缀
2:59.700–3:02.980
zh它的语言模型拥有270亿参数
它的语言模型拥有270亿参数
3:02.980–3:05.020
zh每生成一个Token
每生成一个Token
3:05.020–3:07.800
zh那么就代表着
那么就代表着
3:07.800–3:10.740
zh基本要经过这270亿参数的计算
基本要经过这270亿参数的计算
3:10.740–3:13.680
zh所以它的总参数大约是27B
所以它的总参数大约是27B
3:13.680–3:16.120
zh激活参数呢
激活参数呢
3:16.120–3:18.160
zh同样也是27B
同样也是27B
3:18.160–3:23.320
zh这也是为什么同样叫做30B左右的模型
这也是为什么同样叫做30B左右的模型
3:23.320–3:25.180
zh千万3.8 27B
千万3.8 27B
3:25.180–3:28.800
zh可能比一些35B A3B的MOE模型大很多
可能比一些35B A3B的MOE模型大很多
3:28.800–3:29.400
zh当然
当然
3:29.400–3:31.860
zh稠密模型也不是只有缺点
稠密模型也不是只有缺点
3:31.860–3:36.140
zh它的优势是所有能力都集中在同一套参数里
它的优势是所有能力都集中在同一套参数里
3:36.140–3:37.940
zh通常在输出稳定性
通常在输出稳定性
3:37.940–3:41.060
zh复杂任务和知识调用上会更加均衡
复杂任务和知识调用上会更加均衡
3:41.060–3:44.860
zh如果可以把本地运行的模型简单承评成三个类别
如果可以把本地运行的模型简单承评成三个类别
3:44.860–3:47.660
zh3B到8B通常属于轻量模型
3B到8B通常属于轻量模型
3:47.660–3:49.220
zh这类模型速度很快
这类模型速度很快
3:49.220–3:51.580
zh但复杂任务比较容易走偏
但复杂任务比较容易走偏
3:51.580–3:57.680
zh14B到30B可以看成本地大模型目前最实用的高质量区间
14B到30B可以看成本地大模型目前最实用的高质量区间
3:57.680–4:02.380
zh能力已经足以处理比较复杂的编程文章生成和工具调用
能力已经足以处理比较复杂的编程文章生成和工具调用
4:02.380–4:03.720
zh以及agent任务
以及agent任务
4:03.720–4:10.860
zh70B以上的稠密模型能力通常会更加稳定
70B以上的稠密模型能力通常会更加稳定
4:10.860–4:15.080
zh但需要的内存和内存带宽也会明显上升
但需要的内存和内存带宽也会明显上升
4:15.080–4:17.440
zh对于大部分个人用户来说
对于大部分个人用户来说
4:17.440–4:19.880
zh部署成本其实是比较高的
部署成本其实是比较高的
4:19.880–4:26.880
zh所以千万3.8RGB基本属于个人电脑还能够比较现实的部署
所以千万3.8RGB基本属于个人电脑还能够比较现实的部署
4:26.880–4:30.900
zh同时能力有足够强的高端本地模型
同时能力有足够强的高端本地模型
4:30.900–4:34.000
zh那它跟市面上的B1模型相比怎么样呢
那它跟市面上的B1模型相比怎么样呢
4:34.000–4:40.020
zh首先我们不能直接拿RGB去和Cloud和GPT的比较参数量
首先我们不能直接拿RGB去和Cloud和GPT的比较参数量
4:40.020–4:45.080
zh因为大部分B原模型不会公开完整参数量和激活参数
因为大部分B原模型不会公开完整参数量和激活参数
4:45.080–4:47.720
zh即使参数量一样
即使参数量一样
4:47.720–4:51.800
zh训练数据、模型架构、后训练和推理预算不同
训练数据、模型架构、后训练和推理预算不同
4:51.800–4:54.380
zh最终能力也可能差很多
最终能力也可能差很多
4:54.380–4:56.240
zh比较稳妥的说法是
比较稳妥的说法是
4:56.240–5:00.680
zh千万3.8RGB已经进入了可以和B原旗舰模型
千万3.8RGB已经进入了可以和B原旗舰模型
5:00.680–5:02.920
zh在部分任务上正面竞争的范围
在部分任务上正面竞争的范围
5:02.920–5:06.920
zh但它还不能全面替代B原旗舰
但它还不能全面替代B原旗舰
5:06.920–5:11.260
zh以签问官方测试为例
以签问官方测试为例
5:11.260–5:13.000
zh可以看到
可以看到
5:13.000–5:17.640
zh在Batch Pro里签问3.8
在Batch Pro里签问3.8
5:17.640–5:19.080
zhRTB是61.7
RTB是61.7
5:19.080–5:21.440
zhOPLA 4.6 MAX是53.4
OPLA 4.6 MAX是53.4
5:21.440–5:25.620
zhTerminal Bench则是73对78.2
Terminal Bench则是73对78.2
5:25.620–5:28.840
zhHLE是30.8对40
HLE是30.8对40
5:28.840–5:32.240
zh那么这组数据就可以说明
那么这组数据就可以说明
5:32.240–5:35.080
zh它在某些编程和工具调用任务上
它在某些编程和工具调用任务上
5:35.080–5:37.180
zh可以接近甚至超过B元
可以接近甚至超过B元
5:37.180–5:39.120
zh但是复杂开放式推理
但是复杂开放式推理
5:39.120–5:41.060
zh知识广度和长容稳定性
知识广度和长容稳定性
5:41.060–5:44.040
zhB元旗舰通常还是更强一些
B元旗舰通常还是更强一些
5:44.040–5:48.320
zh而且这是签问官方公布的测试
而且这是签问官方公布的测试
5:48.320–5:52.180
zh它不是不同模型可能使用了不同的harness
它不是不同模型可能使用了不同的harness
5:52.180–5:57.040
zh所以这也包含官方自己的测试集
所以这也包含官方自己的测试集
5:57.040–6:00.320
zh可以作为一部分定位参考
可以作为一部分定位参考
6:00.320–6:03.080
zh但不能因为某一个分数更高
但不能因为某一个分数更高
6:03.080–6:05.320
zh就是说千万已经全面超越了Cloud
就是说千万已经全面超越了Cloud
6:05.320–6:07.600
zh对我来说最准确的定位是
对我来说最准确的定位是
6:07.600–6:10.680
zh它不是B原旗舰的完整替代品
它不是B原旗舰的完整替代品
6:10.680–6:15.680
zh但已经是一款可以真正承担生产任务的高端本地模型
但已经是一款可以真正承担生产任务的高端本地模型
6:15.680–6:18.980
zh接下来我们来算一下它到底需要多少内存
接下来我们来算一下它到底需要多少内存
6:18.980–6:23.680
zh很多人看到27B会直接认为它需要27G的内存
很多人看到27B会直接认为它需要27G的内存
6:23.680–6:28.160
zh这个说法只在非常特定的条件下才大致成立
这个说法只在非常特定的条件下才大致成立
6:29.440–6:32.840
zh如果使用BF16一个参数呢
如果使用BF16一个参数呢
6:32.840–6:34.160
zh需要两个字节
需要两个字节
6:34.160–6:36.900
zh270一个参数乘以两个字节的话
270一个参数乘以两个字节的话
6:36.900–6:41.480
zh光语言模型原始权重就要大约54G
光语言模型原始权重就要大约54G
6:41.480–6:43.640
zh这还没有算计算系统
这还没有算计算系统
6:43.640–6:46.620
zh缓存和退理过程中的临时内存
缓存和退理过程中的临时内存
6:46.620–6:48.280
zh所以64G Mac
所以64G Mac
6:48.280–6:50.540
zh虽然理论上可以放下BF16权重
虽然理论上可以放下BF16权重
6:50.540–6:53.100
zh但运行语量其实非常有限
但运行语量其实非常有限
6:53.100–6:55.900
zh量化的作用呢
量化的作用呢
6:55.900–6:59.060
zh就是使用更少的位数保存这些参数
就是使用更少的位数保存这些参数
6:59.060–7:02.340
zh8bit理论权重大约27G
8bit理论权重大约27G
7:02.340–7:06.120
zh4bit理论上大约13.5G
4bit理论上大约13.5G
7:06.120–7:10.080
zh实际MLX版本还包含量化参数
实际MLX版本还包含量化参数
7:10.080–7:11.400
zh词表和配置
词表和配置
7:11.400–7:14.140
zh8bit纯文字版约28.6G
8bit纯文字版约28.6G
7:14.140–7:16.420
zh带视觉能力约29.5G
带视觉能力约29.5G
7:16.420–7:18.820
zh4bit版本大约16G
4bit版本大约16G
7:18.820–7:22.120
zh那么从这些地方的这些数字
那么从这些地方的这些数字
7:22.120–7:24.120
zh只代表模型权重
只代表模型权重
7:24.120–7:27.280
zh并不是模型启动后的总内存占用
并不是模型启动后的总内存占用
7:27.280–7:29.140
zh每次运行时
每次运行时
7:29.140–7:31.200
zh内存里至少还要放进五类东西
内存里至少还要放进五类东西
7:31.200–7:33.000
zh第一类也就是最大的一类
第一类也就是最大的一类
7:33.000–7:35.040
zh就是模型群众
就是模型群众
7:35.040–7:39.440
zh运行8bit版本光这一向就已经接近29G
运行8bit版本光这一向就已经接近29G
7:39.440–7:42.700
zh而且启动后基本都要进入Mac统一内存
而且启动后基本都要进入Mac统一内存
7:42.700–7:47.140
zh第二类是KVKISH和线性注意力技术
第二类是KVKISH和线性注意力技术
7:47.140–7:50.160
zh模型需要保存已经处理过的上下文
模型需要保存已经处理过的上下文
7:50.160–7:56.700
zh否则每生成一个Token都需要重新计算前文
否则每生成一个Token都需要重新计算前文
7:56.700–8:00.000
zhKVKISH和上下文长度直接下文
KVKISH和上下文长度直接下文
8:01.400–8:07.760
zh前文原生支持约26万Token,但支持不代表你的Mac适合直接开满。
前文原生支持约26万Token,但支持不代表你的Mac适合直接开满。
8:07.760–8:09.780
zh粗略计算
粗略计算
8:09.780–8:11.220
zh32K上下文
32K上下文
8:11.220–8:12.620
zh仅标准注意力
仅标准注意力
8:12.620–8:14.260
zh64K约4G
64K约4G
8:14.260–8:16.640
zh128K约8G
128K约8G
8:16.640–8:19.120
zh256K就要16G
256K就要16G
8:19.120–8:22.760
zh此外还没包含线性注意力状态
此外还没包含线性注意力状态
8:22.760–8:25.340
zh如果平常只是聊天
如果平常只是聊天
8:25.340–8:26.920
zh或者处理普通代码任务
或者处理普通代码任务
8:26.920–8:29.160
zh先从16K和32K开始
先从16K和32K开始
8:29.160–8:31.080
zh通常就已经足够了
通常就已经足够了
8:31.080–8:34.060
zh第三类是MLX和META运行时
第三类是MLX和META运行时
8:34.060–8:35.540
zh使用的计算空间
使用的计算空间
8:35.540–8:38.860
zh包括临时激活值和计算缓冲区
包括临时激活值和计算缓冲区
8:38.860–8:41.640
zh那么它不是固定数字
那么它不是固定数字
8:41.640–8:44.020
zh会随输入程度和并发变化
会随输入程度和并发变化
8:44.020–8:47.860
zh尤其是在第一次读取大段Prompt
尤其是在第一次读取大段Prompt
8:47.860–8:49.460
zh也就是Prefill阶段
也就是Prefill阶段
8:49.460–8:52.020
zh内存占用可能突然上升
内存占用可能突然上升
8:52.020–8:56.000
zh第四类是视觉编码器
第四类是视觉编码器
8:56.000–8:59.140
zh那么只做文字
那么只做文字
8:59.140–9:00.880
zh写代码或运行Agent
写代码或运行Agent
9:00.880–9:02.300
zh可以选择TextOnly
可以选择TextOnly
9:02.300–9:04.260
zh需要读取图片或视频
需要读取图片或视频
9:04.260–9:06.260
zh才选择完整多模态版本
才选择完整多模态版本
9:06.260–9:09.500
zh第五类是DFLASH2草稿模型
第五类是DFLASH2草稿模型
9:09.500–9:11.020
zh它不是普通开关
它不是普通开关
9:11.020–9:13.220
zh还需要一个配套的草稿模型
还需要一个配套的草稿模型
9:13.220–9:17.020
zh本身它大约21个参数
本身它大约21个参数
9:17.020–9:21.480
zh并额外占用缓存和缓冲区
并额外占用缓存和缓冲区
9:21.480–9:26.380
zh所以最终的内存杖不是27B等于27G
所以最终的内存杖不是27B等于27G
9:26.380–9:28.220
zh而是模型权重加Cache
而是模型权重加Cache
9:28.220–9:31.020
zh加运行缓冲加系统占用
加运行缓冲加系统占用
9:31.020–9:33.840
zh再加DFLASH2草稿模型
再加DFLASH2草稿模型
9:33.840–9:37.880
zh如果想运行8bit版本
如果想运行8bit版本
9:37.880–9:41.820
zh那么48G统一内存可以作为比较现实的起点
那么48G统一内存可以作为比较现实的起点
9:41.820–9:44.220
zh例如4G会更加舒服
例如4G会更加舒服
9:44.220–9:47.300
zh32G不是绝对加载不了
32G不是绝对加载不了
9:47.300–9:48.780
zh但余量非常小
但余量非常小
9:48.780–9:51.220
zh如果Mac只有24G或32G的话
如果Mac只有24G或32G的话
9:51.220–9:56.980
zh我建议更加直接使用4bit版本是比较好的
我建议更加直接使用4bit版本是比较好的
9:56.980–9:59.960
zh模型文件大约16G
模型文件大约16G
9:59.960–10:05.000
zh给系统Cache和D-Flash 2留下的空间会宽松很多
给系统Cache和D-Flash 2留下的空间会宽松很多
10:05.000–10:07.600
zhMac运行本地模型常见的聊线
Mac运行本地模型常见的聊线
10:07.600–10:10.500
zhGGUF加Lama CPP一节MLX
GGUF加Lama CPP一节MLX
10:10.500–10:13.320
zh这次选择MLX
这次选择MLX
10:13.320–10:18.240
zh因为它针对苹果电脑有比较特殊的一些优化
因为它针对苹果电脑有比较特殊的一些优化
10:18.240–10:21.880
zh而且后面的D-Flash 2工具可以直接运行MLX权重
而且后面的D-Flash 2工具可以直接运行MLX权重
10:21.880–10:28.860
zh我这次选择千万3.8RGB的MLX 8bit版本
我这次选择千万3.8RGB的MLX 8bit版本
10:28.860–10:30.860
zh如果内存比较小
如果内存比较小
10:30.860–10:34.120
zh把8bit换成对应的4bit仓库即可
把8bit换成对应的4bit仓库即可
10:34.120–10:37.680
zh其他流程基本是一样的
其他流程基本是一样的
10:37.680–10:41.360
zh模型可以直接去HarkinFace下载
模型可以直接去HarkinFace下载
10:41.360–10:42.960
zh那么下载的时候
那么下载的时候
10:42.960–10:44.620
zh不建议打开浏览器
不建议打开浏览器
10:44.620–10:46.520
zh一个文件一个文件点击
一个文件一个文件点击
10:46.520–10:49.940
zh大模型通常拆成多个权重封片
大模型通常拆成多个权重封片
10:49.940–10:52.500
zh浏览器下载非常容易中断
浏览器下载非常容易中断
10:52.500–10:54.500
zh也可能漏掉配置文件
也可能漏掉配置文件
10:54.500–10:58.180
zh那么这里更推荐用HarkinFace官方的
那么这里更推荐用HarkinFace官方的
10:58.180–10:59.660
zhHF命令航工具
HF命令航工具
10:59.660–11:02.580
zh使用新版的HUB
使用新版的HUB
11:02.580–11:04.920
zh使用XNET后端
使用XNET后端
11:04.920–11:06.800
zh它可以支持并行下载
它可以支持并行下载
11:06.800–11:09.700
zh就造成你的Transfer
就造成你的Transfer
11:09.700–11:11.780
zh已经逐步被淘汰了
已经逐步被淘汰了
11:11.780–11:12.840
zh那么我们这里
那么我们这里
11:12.840–11:15.680
zh首先安装最新版Hagenface CLI
首先安装最新版Hagenface CLI
11:15.680–11:17.440
zh接下来
接下来
11:17.440–11:19.340
zh开启高性能模式
开启高性能模式
11:19.340–11:22.560
zh然后把模型下载到指定目录
然后把模型下载到指定目录
11:22.560–11:25.960
zh那么高性能模式会提高并发
那么高性能模式会提高并发
11:25.960–11:28.200
zh尽可能利用网络和CPU资源
尽可能利用网络和CPU资源
11:28.200–11:29.280
zh模型比较大
模型比较大
11:29.280–11:32.560
zh下载前记得磁盘至少还有几十T的空余空间
下载前记得磁盘至少还有几十T的空余空间
11:32.560–11:34.000
zh下载完成之后
下载完成之后
11:34.000–11:36.580
zh我们先别着急安装D-Flash 2
我们先别着急安装D-Flash 2
11:36.580–11:40.600
zh先跑出没有加速的基础版本
先跑出没有加速的基础版本
11:40.600–11:43.160
zh建议给本地模型单独创建
建议给本地模型单独创建
11:43.160–11:44.660
zhPython虚拟环境
Python虚拟环境
11:44.660–11:48.880
zh避免不同的项目依赖会互相污染
避免不同的项目依赖会互相污染
11:48.880–11:50.480
zh创建环境
创建环境
11:50.480–11:51.880
zh激活环境
激活环境
11:51.880–11:54.800
zh以及安装MXM和MX
以及安装MXM和MX
11:54.800–11:56.720
zh第一次测试呢
第一次测试呢
11:56.720–11:58.420
zh不要开超长的上下纹
不要开超长的上下纹
11:58.420–12:00.560
zh不要开Dflash 2
不要开Dflash 2
12:00.560–12:02.220
zh同时呢
同时呢
12:02.220–12:04.960
zh也不要修改一大堆采样参数
也不要修改一大堆采样参数
12:04.960–12:07.300
zh只指定模型路径
只指定模型路径
12:07.300–12:08.340
zh固定Prompt
固定Prompt
12:08.340–12:09.960
zh生成几百个Token
生成几百个Token
12:09.960–12:12.120
zh运行最基础的生成命令
运行最基础的生成命令
12:12.120–12:14.200
zh运行完成之后呢
运行完成之后呢
12:14.200–12:17.180
zh我们可以把模型加载时间
我们可以把模型加载时间
12:17.180–12:18.900
zhPrompt处理速度
Prompt处理速度
12:18.900–12:21.660
zh守Token等待时间和生成Token速度
守Token等待时间和生成Token速度
12:21.660–12:23.860
zh这四个数字记录下来
这四个数字记录下来
12:23.860–12:26.040
zh如果没有基础数据
如果没有基础数据
12:26.040–12:29.800
zh后面看到每每20几个token也不知道到底快了多少
后面看到每每20几个token也不知道到底快了多少
12:29.800–12:32.020
zh基础9变27是3倍
基础9变27是3倍
12:32.020–12:37.380
zh那么基础20变22可能就不值得增加内存和复杂度
那么基础20变22可能就不值得增加内存和复杂度
12:37.380–12:42.600
zh确认基础模型稳定之后呢
确认基础模型稳定之后呢
12:42.600–12:45.480
zh我们就可以安装D-Flash 2
我们就可以安装D-Flash 2
12:45.480–12:49.960
zhD-Flash 2本质上是一种推测解码技术
D-Flash 2本质上是一种推测解码技术
12:49.960–12:51.200
zh正常情况下
正常情况下
12:51.200–12:54.160
zh千万3.827B每生成一个token的话
千万3.827B每生成一个token的话
12:54.160–12:57.580
zh都要让完整270亿参数计算一次
都要让完整270亿参数计算一次
12:57.580–13:00.280
zh那么生成10个token
那么生成10个token
13:00.280–13:03.280
zh就要连续做10次完整的推理
就要连续做10次完整的推理
13:03.280–13:05.400
enDflash 2
Dflash 2
13:05.400–13:08.760
zh让一个大约20亿参数的草稿模型
让一个大约20亿参数的草稿模型
13:08.760–13:12.300
zh一次性并行预测接下来的一组token
一次性并行预测接下来的一组token
13:12.300–13:18.080
zh然后再让27B主模型一次检查这一整组答案
然后再让27B主模型一次检查这一整组答案
13:18.080–13:20.920
zh如果草稿模型猜的比较准
如果草稿模型猜的比较准
13:20.920–13:24.200
zh主模型一次计算就可以接受多个Token
主模型一次计算就可以接受多个Token
13:24.200–13:27.260
zh原本连续走五六四的流程
原本连续走五六四的流程
13:27.260–13:29.620
zh现在可能只需要一次验证
现在可能只需要一次验证
13:29.620–13:32.460
zh草稿模型只负责猜
草稿模型只负责猜
13:32.460–13:35.960
zh最终决定权依然在27B主模型手上
最终决定权依然在27B主模型手上
13:35.960–13:37.740
zh贪心解码下最终输出
贪心解码下最终输出
13:37.740–13:39.860
zh可以与基础模型一致
可以与基础模型一致
13:39.860–13:42.720
zh随机采样则保留主模型原本的分布
随机采样则保留主模型原本的分布
13:42.720–13:44.340
zh在Mac上
在Mac上
13:44.340–13:47.320
zh比较直接的实现是MX的D Spark
比较直接的实现是MX的D Spark
13:47.320–13:51.240
zh那么这个虽然名字写着Dspark
那么这个虽然名字写着Dspark
13:51.240–13:54.280
zh但它同时支持Dspark,Dflash和Dflash2
但它同时支持Dspark,Dflash和Dflash2
13:54.280–13:57.082
zh在用的时候对于千万3.8,
在用的时候对于千万3.8,
13:57.082–13:57.944
en27B,
27B,
13:57.944–14:02.040
zhUltra模式会直接使用Dflash2
Ultra模式会直接使用Dflash2
14:02.040–14:07.200
zh安装命令也非常简单
安装命令也非常简单
14:11.880–14:13.360
zh屏幕上的安装命令
屏幕上的安装命令
14:13.360–14:17.060
zh安装完成以后不要凭感觉判断有没有变快
安装完成以后不要凭感觉判断有没有变快
14:17.060–14:19.520
zh直接运行项目自带的Benchmark
直接运行项目自带的Benchmark
14:19.520–14:21.720
zh使用三轮测试
使用三轮测试
14:21.720–14:27.140
zh第一次运行会自动下载匹配的DFlesh2草稿模型
第一次运行会自动下载匹配的DFlesh2草稿模型
14:27.140–14:30.340
zh并根据这台Mac的实际成本测试
并根据这台Mac的实际成本测试
14:30.340–14:32.580
zh合适的推理长度
合适的推理长度
14:32.580–14:35.780
zhM1 M3 M4 M5的最佳参数呢
M1 M3 M4 M5的最佳参数呢
14:35.780–14:37.440
zh它是不一定一样的
它是不一定一样的
14:37.440–14:40.080
zh如果你想直接生成内容的话
如果你想直接生成内容的话
14:40.080–14:42.320
zh建议用这个命令
建议用这个命令
14:42.320–14:44.780
zh可以使用MXD Spark Generate
可以使用MXD Spark Generate
14:44.780–14:50.840
zh默认AUTO模式会为千万3.8RCB匹配DFLASH2
默认AUTO模式会为千万3.8RCB匹配DFLASH2
14:50.840–14:54.300
zh再用完全相同的Prompt测试
再用完全相同的Prompt测试
14:54.300–14:55.660
zh对比基础速度
对比基础速度
14:55.660–14:59.100
zhDFLASH2速度接受长度和内存占用
DFLASH2速度接受长度和内存占用
14:59.100–15:00.980
zh那么比下来之后
那么比下来之后
15:00.980–15:03.360
zh项目在特定的M4 Pro测试中
项目在特定的M4 Pro测试中
15:03.360–15:06.160
zh8bit的基础约8.4Token每秒
8bit的基础约8.4Token每秒
15:06.160–15:09.160
zhDFLASH2平均约30.5Token每秒
DFLASH2平均约30.5Token每秒
15:09.160–15:13.040
zh不同任务约2.8到4倍
不同任务约2.8到4倍
15:13.040–15:17.220
zh但这不是你的Mac一定能达到的速度
但这不是你的Mac一定能达到的速度
15:17.220–15:17.980
zh因为呢
因为呢
15:17.980–15:20.620
zhDFLASH2不是打开以后
DFLASH2不是打开以后
15:20.620–15:22.000
zh它就一定变快
它就一定变快
15:22.000–15:23.980
zh如果草稿接受率低的话
如果草稿接受率低的话
15:23.980–15:26.980
zh主模型会不断拒绝和重新生成
主模型会不断拒绝和重新生成
15:26.980–15:30.080
zh草稿计算反而成为额外的负担
草稿计算反而成为额外的负担
15:30.080–15:33.440
zh对于只有几十个Token的短回答
对于只有几十个Token的短回答
15:33.440–15:36.240
zh模型刚加载完成和校准
模型刚加载完成和校准
15:36.240–15:37.440
zh任务就结束了
任务就结束了
15:37.440–15:39.980
zh实际体感提升可能不是很明显
实际体感提升可能不是很明显
15:39.980–15:43.040
zhD-Flash 2还会增加内存占用
D-Flash 2还会增加内存占用
15:43.040–15:44.460
zh所以呢
所以呢
15:44.460–15:45.936
zh如果8bit主
如果8bit主
15:45.936–15:49.611
zh所以,如果8bit主模型以及頻繁swap,
所以,如果8bit主模型以及頻繁swap,
15:49.611–15:51.361
zh那麼再加載草稿模型,
那麼再加載草稿模型,
15:51.361–15:52.936
zh最終速度反而更慢。
最終速度反而更慢。
15:52.936–15:58.936
zh所以要用自己最常執行的任務去測試一下。寫代碼就測真實代碼修改。
所以要用自己最常執行的任務去測試一下。寫代碼就測真實代碼修改。
15:58.936–16:02.376
zh生成口播稿就连续输出一两千的token
生成口播稿就连续输出一两千的token
16:02.376–16:06.236
zh运行agent就测试完整工具调用
运行agent就测试完整工具调用
16:06.236–16:09.936
zh最后一步是把模型启动成API
最后一步是把模型启动成API
16:09.936–16:14.076
zhMLX的Dspark可以兼容OpenAI
MLX的Dspark可以兼容OpenAI
16:14.076–16:18.036
zh那么和Astorbit格式的本地服务
那么和Astorbit格式的本地服务
16:18.036–16:20.716
zh启动命令是MLXDsparkServe
启动命令是MLXDsparkServe
16:22.796–16:27.656
zh默认是开在本级8080端口去提供接口的
默认是开在本级8080端口去提供接口的
16:27.656–16:32.296
zh客户端BaseURL设置成127.0.18080
客户端BaseURL设置成127.0.18080
16:32.296–16:35.576
zh设置好之后
设置好之后
16:35.576–16:37.276
zh只在自己电脑使用
只在自己电脑使用
16:37.276–16:40.016
zh可以不设置真正的API Key
可以不设置真正的API Key
16:40.016–16:41.836
zh需要局域网访问的时候
需要局域网访问的时候
16:41.836–16:43.396
zh要调整监听地址
要调整监听地址
16:43.396–16:44.976
zh检查防火墙
检查防火墙
16:44.976–16:49.256
zh但不要把无件权接口直接暴露到公网
但不要把无件权接口直接暴露到公网
16:49.256–16:52.756
zh到这里我们完成了整套部署流程
到这里我们完成了整套部署流程
16:52.756–16:53.476
zh第一
第一
16:53.476–16:56.576
zhR7B代表约270亿参数
R7B代表约270亿参数
16:56.576–16:59.596
zh而且它是全量激活的稠密模型
而且它是全量激活的稠密模型
16:59.596–17:00.196
zh第二
第二
17:00.196–17:03.456
zhRGB不等于只需RGB内存
RGB不等于只需RGB内存
17:03.456–17:05.556
zh把比特权重接近R9G运行
把比特权重接近R9G运行
17:05.556–17:09.416
zh是要加CASE缓冲区系统和草稿模型
是要加CASE缓冲区系统和草稿模型
17:09.416–17:12.136
zh那么第三
那么第三
17:12.136–17:15.016
zh它属于本地模型高端档
它属于本地模型高端档
17:15.016–17:18.116
zh部分编程和Agent任务接近B原起见
部分编程和Agent任务接近B原起见
17:18.116–17:19.996
zh但不是全面的替代
但不是全面的替代
17:19.996–17:21.076
zh第四
第四
17:21.076–17:22.596
zh不要一上来
不要一上来
17:22.596–17:24.516
zh就打开所有加速箱
就打开所有加速箱
17:24.516–17:26.976
zh先用MLX跑出基础速度
先用MLX跑出基础速度
17:26.976–17:29.436
zh再用相同Prompt做A-B测试
再用相同Prompt做A-B测试
17:29.436–17:32.596
zh决定是否长期使用D-Flash 2
决定是否长期使用D-Flash 2
17:32.596–17:35.716
zh如果真实任务从每秒9个Token
如果真实任务从每秒9个Token
17:35.716–17:37.776
zh能够提高到2-30个的话
能够提高到2-30个的话
17:37.776–17:39.356
zh而且内存稳定
而且内存稳定
17:39.356–17:41.856
zh那么它就值得长期去打开
那么它就值得长期去打开
17:41.856–17:45.996
zh如果频繁Swap或者主要都是短问答的话
如果频繁Swap或者主要都是短问答的话
17:45.996–17:48.736
zh4bit基础模型可能更舒服一些
4bit基础模型可能更舒服一些
17:48.736–17:53.036
zh本地部署大模型的价值不是省API费用
本地部署大模型的价值不是省API费用
17:53.036–17:55.936
zh当它变成Mac上的本地服务
当它变成Mac上的本地服务
17:55.936–17:58.696
zh它就可以接入代码Langraph
它就可以接入代码Langraph
17:58.696–17:59.936
zh自动剪辑系统
自动剪辑系统
17:59.936–18:00.776
zh知识库
知识库
18:00.776–18:03.916
zh以及agent工作流
以及agent工作流
18:03.916–18:07.556
zh真正好的本地布置方案
真正好的本地布置方案
18:07.556–18:08.876
zh不是参数最大
不是参数最大
18:08.876–18:10.636
zh也不是测试数字最高
也不是测试数字最高
18:10.636–18:12.116
zh而是在自己的设备上
而是在自己的设备上
18:12.116–18:13.076
zh质量足够好
质量足够好
18:13.076–18:14.316
zh速度能够接受
速度能够接受
18:14.316–18:16.236
zh内存保持稳定
内存保持稳定
18:16.236–18:19.156
zh并且真的进入日常工作流
并且真的进入日常工作流
18:19.156–18:20.756
zh才能长期去使用
才能长期去使用
18:20.756–18:24.196
zh影片领誘到的模型地址安装命令和测试命令
影片领誘到的模型地址安装命令和测试命令
18:24.196–18:26.416
zh我都会整理在下方
我都会整理在下方
18:26.416–18:33.436
zh如果希望下一期测试4bit 6bit和8bit的品质差距的话
如果希望下一期测试4bit 6bit和8bit的品质差距的话
18:33.436–18:36.856
zh以及DFlex 2速度也可以留言给我
以及DFlex 2速度也可以留言给我
18:36.856–18:39.056
zh喜欢这支影片的话
喜欢这支影片的话
18:39.056–18:42.776
zh记得帮我按赞订阅加分享哦
记得帮我按赞订阅加分享哦
18:42.776–18:44.956
zh这是我持续创作的最大动力
这是我持续创作的最大动力
18:44.956–18:45.916
zh我们下次再见
我们下次再见
尚未產生學習筆記
請在 Telegram 指令最後加上「學習」,例如:videonote 網址 英文 雙語 學習