V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Contextualist
V2EX  ›  OpenAI

LLM 综述:猫娘 Mixtral 与近半年 LLM 进展的杂谈

  •  3
     
  •   Contextualist ·
    Contextualist · 2023-12-25 08:20:57 +08:00 · 3631 次点击
    这是一个创建于 369 天前的主题,其中的信息可能已经有所发展或是发生改变。

    TL;DR:Mixtral 8x7b Instruct 将开源[^注 1] LLM 界提升到了 OpenAI 纪元元年(2022 年 11 月) 的水平。

    上期传送门:v2ex.com/t/933034

    背景

    好久不见。之前的系列断更了,因为笔者迷上了 Stable Diffusion 、 叛逃图像生成模型了。不过我也有在一直关注 LLM 啦,只是一直在等技术突破。最近试了一下 MistralAI 的新玩具,又忍不住出来说两句,兼讲讲最近的一些趋势。

    当此之时

    近来看到这条推文,大概是人类用脚投票的 LLM 排行榜,跟我自己的使用体验也比较吻合。总的来说:

    • GPT-4 系列仍是 LLM 界的事实标准
    • Claude 越迭代越放不开,过度对齐 (over-alignment) 影响了其创造力和自然程度
    • Mixtral 8x7b Instruct 异军突起,能跟 GPT-3.5-turbo 打得有来有回了

    就这样,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 远没有达到 32k 上下文就开始遗忘了。

    多专家模型 Mixtral 8x7b 带来的可能性

    一句话概括 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 )

    第 1 条附言  ·  2023-12-25 08:56:05 +08:00

    附录:关于领域融合的不严谨对比实验

    让我们试一下让模型处在角色扮演的情况下进行逻辑叙述。这里选择了“理发师悖论”,训练语料里或许已经有标准答案,所以比从头逻辑推理简单。先上角色扮演大师 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 觉得他应该遵循他的决定”、“对不对?”。算是我的一个猜想,这种更自然的领域融合或许是多专家架构带来的吧。

    22 条回复    2023-12-25 16:15:01 +08:00
    ceeeeeeeeeeeeeeb
        1
    ceeeeeeeeeeeeeeb  
       2023-12-25 09:03:00 +08:00   ❤️ 3
    二刺螈是真的牛逼
    paopjian
        2
    paopjian  
       2023-12-25 09:06:59 +08:00
    还需要微调模型吗,还是只要 prompt 就行
    dapang1221
        3
    dapang1221  
       2023-12-25 09:50:07 +08:00
    加过一个专门研究这个的赛博忏悔室的 tg 群,这个,哎,简直是 10 倍的贤者时间,后劲儿太大,戒了 - -
    Contextualist
        4
    Contextualist  
    OP
       2023-12-25 09:50:13 +08:00
    @paopjian 用的都是官方原模型 + prompt 。微调嘛,一定程度上会限制模型的能力。
    cwyalpha
        5
    cwyalpha  
       2023-12-25 10:54:09 +08:00
    试了我们领域的任务 sample ,Mixtral 8x7b 比 claude2.1 还是差一些 但已经是开源最佳了
    cherryas
        6
    cherryas  
       2023-12-25 11:08:57 +08:00   ❤️ 1
    现在付费订阅的模型不断变得更加道德,但是有些知识实际上就是不符合社会道德的共识。付费订阅的 gpt 越来越不敢讲社会本质的真话了。家里云才是未来。
    israinbow
        7
    israinbow  
       2023-12-25 11:12:50 +08:00   ❤️ 1
    最近在研究 qlora 与 PowerInfer 的组合, 尝试靠两次量化用 24GB Vram, 理论上可以训练, 微调和推理 6b ~ 33b 的模型, 准备复刻一个 neuro-sama 出来.
    Contextualist
        8
    Contextualist  
    OP
       2023-12-25 11:20:29 +08:00
    @cwyalpha 嗯嗯,慢慢坐等开源界达到 Claude 2.1 的水平,按照这个进度应该不会太久
    showgood163
        9
    showgood163  
       2023-12-25 11:23:13 +08:00
    嗯?年更系列出新作了

    LZ 说的 Mixtral 8x7b 需要 25-100GB 是对应 4-16bit quantization 吗?
    Contextualist
        10
    Contextualist  
    OP
       2023-12-25 11:49:12 +08:00
    @showgood163 嘿嘿谢谢关注。对的,25GB 对应 4bits quantization ,100GB 对应官方全量的模型 (float16 ,用 Flash Attention 2) 。
    guotie
        11
    guotie  
       2023-12-25 11:58:38 +08:00
    @dapang1221 tg 群放出来看看呢
    neteroster
        12
    neteroster  
       2023-12-25 12:09:04 +08:00 via Android
    又是你!

    支持开源模型发展以及模型本地化,AI 画图的繁荣很大程度上也是这一点带来的。

    其实也可以分享点画图相关的研究嘛(
    showgood163
        13
    showgood163  
       2023-12-25 12:10:17 +08:00
    @Contextualist

    这么说 4bit model 正好卡 24GB ,也没法放到 4090 上,是吗?
    hellojay
        14
    hellojay  
       2023-12-25 12:16:14 +08:00 via iPhone
    期待你 stable diffusion 分享
    Genii
        15
    Genii  
       2023-12-25 12:22:15 +08:00
    > 一个采用了 2 个角色扮演、2 个对话、1 个神秘学、1 个故事写作、1 个数学和 1 个 DPO 这八个不同的小模型作为专家模型。

    请问这个模型的链接能提供一下吗?
    Contextualist
        16
    Contextualist  
    OP
       2023-12-25 12:36:11 +08:00   ❤️ 1
    @neteroster 赞同啊,不过 NovelAI 被迫开源这一段往事哈哈哈。另外,本地 LLM 的成本还不够平民化,不过应该是本年之内能解决的问题了

    @neteroster @hellojay Stable Diffusion 的新动向我有几个月没关注了,现在就偶尔拿之前的 prompt 生成几张。等我哪天见到新突破或许会开坑(不过浓度太高的话可能去 Bangumi 发?
    Contextualist
        17
    Contextualist  
    OP
       2023-12-25 12:49:13 +08:00
    @showgood163 确实,我自己实际使用体验是显存占用维持在 25.9G 左右
    siriussilen
        18
    siriussilen  
       2023-12-25 13:00:59 +08:00
    > 一个采用了 2 个角色扮演、2 个对话、1 个神秘学、1 个故事写作、1 个数学和 1 个 DPO 这八个不同的小模型作为专家模型。

    预训练和精调是两码事儿啊
    Contextualist
        19
    Contextualist  
    OP
       2023-12-25 13:18:57 +08:00
    @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 模型是用各自的数据集分别精调的。
    whp1473
        20
    whp1473  
       2023-12-25 15:16:49 +08:00
    果然二次元拯救世界,建议让米哈游赶紧搞一个
    mwVYYA6
        21
    mwVYYA6  
       2023-12-25 15:24:25 +08:00
    楼主的提示词很有意思。

    自带可爱属性,假如模型是镜子,楼主就是镜子里的猫娘(手动狗头)

    ---

    通过 gemini pro 反推楼主的性格特征
    1. 聪明机智,喜欢动脑筋。
    2. 自信自负,喜欢表现自己。
    3. 调皮捣蛋,喜欢开玩笑。
    4. 亲切随和,喜欢和别人打成一片。
    5. 活泼可爱,喜欢用表情符号来表达自己的情绪。
    Contextualist
        22
    Contextualist  
    OP
       2023-12-25 16:15:01 +08:00
    @mwVYYA6 可恶,被发现了>///<
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1671 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:45 · PVG 00:45 · LAX 08:45 · JFK 11:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.