前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mixtral混合专家模型

Mixtral混合专家模型

原创
作者头像
aaronwjzhao
修改2024-08-15 12:12:56
1130
修改2024-08-15 12:12:56
举报
文章被收录于专栏:AI工程落地

模型下载

模型地址:mistralai (Mistral AI_) (huggingface.co),需要在这个网页上申请权限(地址填国外)

申请huggingface token:Hugging Face – The AI community building the future.

下载模型可以用huggingface提供的工具,使用方式如下:

代码语言:txt
复制
export HF_ENDPOINT="https://hf-mirror.com"
huggingface-cli download --exclude "*pytorch_model*"  --token your_token  --resume-download --local-dir-use-symlinks False mistral-community/mixtral-8x22B-v0.3 --local-dir mixtral-8x22B

国内最好使用镜像站,下载速度快一些。

Sliding Window Attention (SWA,滑动窗口Attention)

cache的存储压力之所以变大,是因为我们的Attention是causal decoder形式的,即每一个token,都要和它之前所有的token做Attention,所以cache中存储的数据量才和seq_len正相关。如果现在我们转换一下思路,假设每一个token只和包含其本身在内的前W个token做Attention,这样不就能把cache的容量维持在W吗?而从直觉上来说,这样的做法也有一定的道理:对当前token来说,距离越远的token,能提供的信息量往往越低,所以似乎没有必要浪费资源和这些远距离的token做Attention。

这种Attention思路的改进,就被称为Sliding Window Attention,其中W表示窗口长度。

普通Attention vs Sliding Window Attention
普通Attention vs Sliding Window Attention

Rolling Buffer Cache

当我们使用滑动窗口后,KV Cache就不需要保存所有tokens的KV信息了,你可以将其视为一个固定容量(W)的cache,随着token index增加,我们来“滚动更新” KV Cache。

下图给出了Rolling Buffer Cache的运作流程:

Rolling Buffer Cache
Rolling Buffer Cache

混合专家

让一个网络模型结构有多条分支,每条分支代表一个Expert(专家),每个Expert都有其擅长的领域,当具体任务来临时,可以通过一个门空位Gate来具体选择采用哪一个或者哪几个Experts进行计算,这样的好处就是让每个Expert更专注特定领域,降低了不同领域数据对权重学习的干扰。当然在训练MoE模型时也要注意各个Experts负载均衡,防止赢者通吃,达不到想要的目的。

值得注意的是,prefill或decode每一次模型的计算都可能用到不同的专家。

普通LLM vs Mixtral混合专家
普通LLM vs Mixtral混合专家

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 模型下载
  • Sliding Window Attention (SWA,滑动窗口Attention)
  • Rolling Buffer Cache
  • 混合专家
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档