LLaMA-MoE学习资料汇总 - 基于LLaMA的轻量级混合专家模型

Ray

LLaMA-MoE:基于LLaMA的轻量级混合专家模型

LLaMA-MoE是一个基于LLaMA和SlimPajama的开源混合专家(Mixture-of-Experts, MoE)模型系列。该项目旨在构建一个轻量级且人人可用的MoE模型。本文将为大家介绍LLaMA-MoE的主要特点、安装使用方法以及相关学习资源。

项目简介

LLaMA-MoE通过以下两个步骤构建:

  1. 将LLaMA的前馈网络划分为稀疏专家,并为每层专家插入top-K门控。
  2. 使用来自Sheared LLaMA的优化数据采样权重和SlimPajama的过滤数据集,对初始化的MoE模型进行持续预训练。

MoE Routing

主要特点

  1. 轻量级模型:激活的模型参数仅为3.0-3.5B,便于部署和研究使用。
  2. 多种专家构建方法:包括神经元独立和神经元共享两大类。
  3. 多种MoE门控策略:TopK Noisy Gate和Switch Gating。
  4. 快速持续预训练:集成FlashAttention-v2,支持快速流式数据集加载。
  5. 丰富的监控项:包括门控负载、损失、TGS、MFU等。
  6. 动态权重采样:支持自定义静态采样权重和Sheared LLaMA的动态批处理加载。

快速开始

以下是使用LLaMA-MoE模型的简单示例:

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

model_dir = "llama-moe/LLaMA-MoE-v1-3_5B-2_8"
tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_dir, torch_dtype=torch.bfloat16, trust_remote_code=True)
model.eval()
model.to("cuda:0")

input_text = "Suzhou is famous of"
inputs = tokenizer(input_text, return_tensors="pt")
inputs = inputs.to("cuda:0")

pred = model.generate(**inputs, max_length=50, temperature=0.0)
print(tokenizer.decode(pred.cpu()[0], skip_special_tokens=True))

安装指南

  1. 准备conda环境:conda create -n smoe python=3.11
  2. 安装PyTorch: pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
  3. 安装依赖: pip install -r requirements.txt
  4. 安装flash-attn: pip install flash-attn==2.0.1 --no-build-isolation
  5. 克隆仓库: git clone git@github.com:pjlab-sys4nlp/llama-moe.git
  6. 安装smoe: pip install -e .[dev]

详细的安装步骤请参考项目README

模型性能

LLaMA-MoE提供了多个版本的模型,包括3.0B和3.5B参数规模。以下是部分模型在各项任务上的表现:

模型平均分SciQPIQAWinoGrandeARC-eARC-cHellaSwagLogiQABoolQLAMBADANQMMLU
LLaMA-MoE-3.0B55.584.277.563.660.240.970.830.671.966.617.026.8
LLaMA-MoE-3.5B (4/16)57.787.677.965.565.644.273.329.775.069.520.326.8
LLaMA-MoE-3.5B (2/8)57.688.477.666.765.343.173.329.673.969.419.827.0

完整的性能数据请查看项目README

相关资源

总结

LLaMA-MoE项目为研究人员和开发者提供了一个轻量级且易于使用的混合专家模型。通过本文介绍的资源,读者可以快速了解项目的核心概念,并开始使用LLaMA-MoE进行实验和开发。欢迎大家探索这个有趣的项目,为NLP领域的发展贡献力量。

avatar
0
0
0
最新项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号