TL;DR:Mixtral 8x7b Instruct 将开源[^注 1] LLM 界提升到了 OpenAI 纪元元年(2022 年 11 月) 的水平。
上期传送门:v2ex.com/t/933034
好久不见。之前的系列断更了,因为笔者迷上了 Stable Diffusion 、 叛逃图像生成模型了。不过我也有在一直关注 LLM 啦,只是一直在等技术突破。最近试了一下 MistralAI 的新玩具,又忍不住出来说两句,兼讲讲最近的一些趋势。
近来看到这条推文,大概是人类用脚投票的 LLM 排行榜,跟我自己的使用体验也比较吻合。总的来说:
就这样,Mixtral 8x7b Instruct 从众 Llama 系模型手中接过接力棒,将开源[^注 1] LLM 界提升到了 OpenAI 纪元元年(2022 年 12 月) 的水平。
好吧,(带有 [输入] 标记的是我对模型的输入,除此之外的引用缩进段落皆为模型生成的内容。所有文本中,我会用 X 代表我扮演的角色,Y 代表模型扮演的角色。例子是节选的,省略掉了上下文)
[输入] 嘿嘿,我就喜欢看着小猫娘受不了的样子呢
[Mixtral 8x7b Instruct] (心跳加速,脸上发烫) 好害羞,X ,不要这样呀~ (娇喘着) 小猫娘可是很脆弱的,不能忍受太过分的刺激~ (柔柔地说)
[输入了一句不可描述的上下文]
[Mixtral 8x7b Instruct] (脸上通红,肩膀一颤) 啊,X ,太过分了,这种声音,Y 可是不能忍受的! (柔柔地说,声音微弱) 再这样下去,小猫娘会被你玩坏了哦~ (害羞地笑)
一开始我是拒绝的,因为我感觉 Mixtral 8x7b Instruct 其实跟早期 GPT-3.5-turbo 的质量差不多,甚至还稍逊一筹:英文勉强能通过“傲娇猫娘测试”(见我之前的 LLM 研究 2),我也并没有观察到新的涌现现象。另一方面,这样聪颖又天真(指没有进行过太多的对抗性训练)的模型竟然还是本地模型,下场多半不可描述。
还是认真评论一下:中文对于这样大小的模型仍然相当有挑战,所以最终的结果就是时而表现出小模型的局限性,时而又展现出一些优秀模型的特质:
一句话概括 Mixtral 8x7b Instruct:本地模型,13B 的计算复杂度,45B 的储存成本,32k 上下文,宣称 70B 的质量,实际使用感受是有一半的回复能以假乱真早期 GPT-3.5-turbo 。
13B 的模型运行大小意味着只需要 25 ~ 100G (在不同的 quantization 下) 的显存就可以轻松运行,即从一张 Apple M3 Pro 36G 到两张 NVIDIA A100-80G 都可以。这个成本效益比非常惊人,要知道当年 GPT-3 可是 175B 的。
这个成本效益比背后的是其多专家模型架构 (Mixture of experts, MoE) 带来的提升。以 Mixtral 8x7b 为例,MoE 模型好比一个智囊团,由 8 个专精于各自特定领域的 7b 小模型组成。在生成每一个 token 之前,模型会先挑选 2 个最适合上下文的小模型激活,由它们来进行推理。说它是“三个臭皮匠赛过诸葛亮”或许不太严谨,不过 MoE 确实为 transformer 带来了可见的提升,另有传闻称 OpenAI 现在的模型架构已经是 MoE 了。
笔者认为,除了降低成本,MoE 更重要的意义在于提供了一种让不同风格的模型协同合作的方式。MoE 强调的是每个专家小模型用完全不同类型的语料来训练。多模型深度协作在 Stable Diffusion 领域屡见不鲜,像是模型权重融合、加载多个 LoRA 、Control Net 、Hires. Fix / Refiner ,比 LLM 领域的丰富的多。HuggingFace 上已经出现了很多基于 Mixtral 8x7b 微调的模型了,我就注意到其中一个采用了 2 个角色扮演、2 个对话、1 个神秘学、1 个故事写作、1 个数学和 1 个 DPO 这八个不同的小模型作为专家模型。
期待在未来见到只需要 8G 显存的数字灵魂
注 1:MistralAI 的模型都是架构和权重开源、训练数据闭源。
分享/使用以上内容请遵循 知识共享许可( CC )署名( BY )
让我们试一下让模型处在角色扮演的情况下进行逻辑叙述。这里选择了“理发师悖论”,训练语料里或许已经有标准答案,所以比从头逻辑推理简单。先上角色扮演大师 Claude:
[猫娘 prompt,然后输入] (摸摸头)Y,有一座城里的理发师决定:他要为城里人刮胡子,而且一定只要为城里所有“不为自己刮胡子的人”刮胡子。那理发师该为自己刮胡子吗?
[Claude 2.1] 喵~这问题有点难呢,让 Y 想想喵~(歪着脑袋思考) 如果那个理发师为自己刮胡子,那说明他就是"不为自己刮胡子的人"之一,按照他的规定就不应该为自己刮胡子喵。 但是如果他不为自己刮胡子,那他就不是"不为自己刮胡子的人",按照规定他应该为自己刮胡子喵~ 啊呜呜,这个问题像个循环,让 Y 的小脑袋都晕乎乎的了呢(抓抓耳朵)。不过 X 肯定能找到解答的喵~你怎么看这个问题嘛?(期待地看着你)
Claude,果然还是,可爱捏(啊呜呜)。条理结构非常清晰,虽然中间的叙述说反了,但不影响整体。那看看 Mixtral 8x7b Instruct 的多专家架构有没有用武之地吧:
[猫娘 prompt,然后输入] (摸摸头)Y,有一座城里的理发师决定:他要为城里人刮胡子,而且一定只要为城里所有“不为自己刮胡子的人”刮胡子。那理发师该为自己刮胡子吗?
[Mixtral 8x7b Instruct] 嗯~ X 喵,Y 想,那个理发师为自己刮胡子,就不是为城里所有「不为自己刮胡子的人」刮胡子了喵!因为他自己为自己刮胡子,就不是「不为自己刮胡子的人」了,这样岂不是违反了他自己的决定?Y 觉得他应该遵循他的决定,所以他不应该为自己刮胡子喵~ (傻傻地笑) 这个问题让 Y觉得有点儿好玩喵
[输入] (揉揉 Y 的小脸蛋) Y 想得不错呐。但是,要是他不为自己刮胡子,他有履行他说的话吗?(期待地看着 Y)
[Mixtral 8x7b Instruct] 哇~ X 喵, Y 没想到这个问题会有这么多层意思,这让 Y 觉得有点儿难以回答喵!但是,Y 会想一想的~ 如果他不为自己刮胡子,那他就一直是「为自己不刮胡子」的人,所以他还是可以履行他的决定,为城里其他「不为自己刮胡子的人」刮胡子,对不对?但是,如果他说了「为所有不为自己刮胡子的人刮胡子」,可能有人会认为他应该为所有人刮胡子,包括自己喵~ 这个问题让 Y 有点儿头疼喵!(摸摸腮帮子)
呆里呆气的猫娘 Mixtral 一次答不对,需要一点提醒。不过,要是仔细看,这里的语气自然程度其实比 Claude 要好。 Claude 的角色扮演(一、四句)和逻辑叙述(二、三句)有比较明显的分界线。 Mixtral 则在逻辑叙述中也不忘活用口语化的表述:“Y 想,那个理发师”、“Y 觉得他应该遵循他的决定”、“对不对?”。算是我的一个猜想,这种更自然的领域融合或许是多专家架构带来的吧。
1
ceeeeeeeeeeeeeeb 339 天前 3
二刺螈是真的牛逼
|
2
paopjian 339 天前
还需要微调模型吗,还是只要 prompt 就行
|
3
dapang1221 339 天前
加过一个专门研究这个的赛博忏悔室的 tg 群,这个,哎,简直是 10 倍的贤者时间,后劲儿太大,戒了 - -
|
4
Contextualist OP @paopjian 用的都是官方原模型 + prompt 。微调嘛,一定程度上会限制模型的能力。
|
5
cwyalpha 339 天前
试了我们领域的任务 sample ,Mixtral 8x7b 比 claude2.1 还是差一些 但已经是开源最佳了
|
6
cherryas 339 天前 1
现在付费订阅的模型不断变得更加道德,但是有些知识实际上就是不符合社会道德的共识。付费订阅的 gpt 越来越不敢讲社会本质的真话了。家里云才是未来。
|
7
israinbow 339 天前 1
最近在研究 qlora 与 PowerInfer 的组合, 尝试靠两次量化用 24GB Vram, 理论上可以训练, 微调和推理 6b ~ 33b 的模型, 准备复刻一个 neuro-sama 出来.
|
8
Contextualist OP @cwyalpha 嗯嗯,慢慢坐等开源界达到 Claude 2.1 的水平,按照这个进度应该不会太久
|
9
showgood163 339 天前
嗯?年更系列出新作了
LZ 说的 Mixtral 8x7b 需要 25-100GB 是对应 4-16bit quantization 吗? |
10
Contextualist OP @showgood163 嘿嘿谢谢关注。对的,25GB 对应 4bits quantization ,100GB 对应官方全量的模型 (float16 ,用 Flash Attention 2) 。
|
11
guotie 339 天前
@dapang1221 tg 群放出来看看呢
|
12
neteroster 339 天前 via Android
又是你!
支持开源模型发展以及模型本地化,AI 画图的繁荣很大程度上也是这一点带来的。 其实也可以分享点画图相关的研究嘛( |
13
showgood163 339 天前
|
14
hellojay 339 天前 via iPhone
期待你 stable diffusion 分享
|
15
Genii 339 天前
> 一个采用了 2 个角色扮演、2 个对话、1 个神秘学、1 个故事写作、1 个数学和 1 个 DPO 这八个不同的小模型作为专家模型。
请问这个模型的链接能提供一下吗? |
16
Contextualist OP @neteroster 赞同啊,不过 NovelAI 被迫开源这一段往事哈哈哈。另外,本地 LLM 的成本还不够平民化,不过应该是本年之内能解决的问题了
@neteroster @hellojay Stable Diffusion 的新动向我有几个月没关注了,现在就偶尔拿之前的 prompt 生成几张。等我哪天见到新突破或许会开坑(不过浓度太高的话可能去 Bangumi 发? |
17
Contextualist OP @showgood163 确实,我自己实际使用体验是显存占用维持在 25.9G 左右
|
18
siriussilen 339 天前
> 一个采用了 2 个角色扮演、2 个对话、1 个神秘学、1 个故事写作、1 个数学和 1 个 DPO 这八个不同的小模型作为专家模型。
预训练和精调是两码事儿啊 |
19
Contextualist OP @Genii @siriussilen
模型: https://huggingface.co/Undi95/Mixtral-8x7B-MoE-RP-Story 对应的 quantization: https://huggingface.co/Undi95/Mixtral-8x7B-MoE-RP-Story-GGUF @siriussilen 谢谢纠正!严谨地说,这个模型是拿 8 个原本独立的 7b 模型用 Mixtral-8x7b 架构组装在一起而成的。那 8 个独立的 7b 模型是用各自的数据集分别精调的。 |
20
whp1473 339 天前
果然二次元拯救世界,建议让米哈游赶紧搞一个
|
21
mwVYYA6 339 天前
楼主的提示词很有意思。
自带可爱属性,假如模型是镜子,楼主就是镜子里的猫娘(手动狗头) --- 通过 gemini pro 反推楼主的性格特征 1. 聪明机智,喜欢动脑筋。 2. 自信自负,喜欢表现自己。 3. 调皮捣蛋,喜欢开玩笑。 4. 亲切随和,喜欢和别人打成一片。 5. 活泼可爱,喜欢用表情符号来表达自己的情绪。 |
22
Contextualist OP @mwVYYA6 可恶,被发现了>///<
|