“最强7B模型”论文发布,揭秘如何超越13B版Llama 2

来自"欧洲OpenAI"的"最强7B开源模型"Mistral最近可谓是圈粉无数。

它各方面的测试指标全面超越了13B的Llama2,甚至让一众网友觉得羊驼不香了。

最新消息是,Mistral AI团队已经发布了相关论文,透露背后的技术细节。

Mistral不仅全面战胜了13B Llama2,在数学、代码和推理方面,34B的Llama1也不是Mistral的对手。

在推理任务上,Mistral的表现更是直逼10倍参数量的Llama2-70B。

但Mistral消耗的资源却很少,只需要6GB显存,MacBook就能流畅运行。

为了用更少消耗达到更好的效果,Mistral可谓是使出了浑身解数。

那么关于Mistral的这篇论文都透露了哪些技术信息呢?

多种机制降低运算消耗

基础结构上,Mistral基于Transformer架构设计,一共有32个n_layer,上下文长度达到了8192 token。

具体的参数如下表所示:

而Mistral能做到高性能低消耗,则要归功于所用到的多种优化策略。

首先是最核心的注意力机制,其直接作用是减少计算量,具体包括了两个方面。

第一种是滑动窗口(Sliding Window)注意力机制。

推理阶段中,会设定出一个窗口长度,并在划分出的注意力层范围之内进行注意力运算,而不是针对全文。

通过滑动方式,各注意力层之间会有所重叠,从而实现长文本序列的处理。

4096的长度,理论上可以处理13.1万token。

这种注意力机制和标准注意力相比,可以将速度提升到两倍。

另一种则是分组查询(Grouped-query)注意力机制。

这种机制将查询(query)拆分成多个组,每个组只与key的一个子集进行注意力运算,然后拼接出结果。

这样不仅能降低运算量,也能让组间通信次数减少,并提高查询吞吐。

除了在注意力机制上下功夫,开发者还引入了滚动缓冲区缓存(Rolling Buffer Cache)。

这种存储方式固定了缓冲区的大小,从而限定了内存消耗的最大值。

如果把缓冲区比作一座仓库,每存进一个新东西,都会占据相应的位置。

而仓库的总容量是固定的,当仓库被装满时,就会把最先放入的东西移除,让新的物品继续进仓。

但入仓时间更接近的物品则会留在仓库中,就能在节约资源的同时保留一定长度的序列。

利用这种缓存机制,只要缓冲区大小设置得合理,就能实现预算效率与记忆力的平衡。

此外还有一种预填充和分块机制,它的直接作用是减少重复运算。

假如需要处理一个很长的句子,那么这个句子将被分割成小块。

训练完前面的小块之后,再加入后面的块,以此类推......

这样存储空间中就有了前面的块信息,用来建立长序列。

这种方式避免了从头开始的重复运算,从而使效率得到了提升。

以上就是开发者在Mistral中使用的优化策略,而为了评估模型的泛化能力,开发者使用了HF上的公开数据集进行了指导性微调。

结果Mistral的表现全面超过了13B参数的Llama 2,其中推理技能更是与70B版本十分接近。

单块3090即可微调

Mistral的火爆程度,直接让第三方工作室也推出了微调教程。

据介绍,用这种方法微调之后,可以进一步提升Mistral的性能并降低消耗。

而这个微调的过程,用一块3090就能完成。

首先是根据使用目的准备数据集,转化为prompt形式并划分出训练和验证集。

然后是对模型进行初始化,加载Mistral并设置4-bit量化和Lora等参数。

接着是构建Trainer,输入数据、模型等信息正式开始训练,然后测试并保存。

具体的细节可以到教程原文中去了解。

论文地址:

https://arxiv.org/abs/2310.06825

微调教程:

https://wandb.ai/byyoung3/ml-news/reports/Fine-Tuning-Mistral7B-on-Python-Code-With-A-Single-GPU---Vmlldzo1NTg0NzY5

本文来源量子位,如有侵权请联系删除

相关推荐
try2find10 小时前
安装llama-cpp-python踩坑记
开发语言·python·llama
西西弗Sisyphus15 小时前
LLaMA-Factory 单卡后训练微调Qwen3完整脚本
微调·llama·llama-factory·后训练
顾道长生'15 小时前
(Arxiv-2024)自回归模型优于扩散:Llama用于可扩展的图像生成
计算机视觉·数据挖掘·llama·自回归模型·多模态生成与理解
Zhijun.li@Studio10 天前
【LLaMA-Factory 实战系列】二、WebUI 篇 - Qwen2.5-VL 多模态模型 LoRA 微调保姆级教程
人工智能·自然语言处理·llama·多模态大模型
1213411 天前
LLM:重构数字世界的“智能操作系统”
gpt·aigc·ai编程·llama·gpu算力
冷雨夜中漫步19 天前
Java中如何使用lambda表达式分类groupby
java·开发语言·windows·llama
扫地的小何尚20 天前
全新NVIDIA Llama Nemotron Nano视觉语言模型在OCR基准测试中准确率夺冠
c++·人工智能·语言模型·机器人·ocr·llama·gpu
CFAteam20 天前
DeepSeek AI功能演示:如何生成Verilog脚本
人工智能·ai·fpga开发·llama
Tadas-Gao23 天前
从碳基羊驼到硅基LLaMA:开源大模型家族的生物隐喻与技术进化全景
人工智能·机器学习·大模型·llm·llama
Run_Clover23 天前
llama-factory微调大模型环境配置避坑总结
llama