ToB企服应用市场:ToB评测及商务社交产业平台

标题: 通用大模型研究重点之五:llama family [打印本页]

作者: 石小疯    时间: 2024-7-17 10:33
标题: 通用大模型研究重点之五:llama family
LLAMA Family

decoder-only类型
LLaMA(Large Language Model AI)在4月18日公布旗下最大模型LLAMA3,参数高达4000亿。现在meta已经开源了80亿和700亿版本模型,重要升级是多模态、长文本方面工作。
模型特点:采用尺度的decoder-only,tokennizer的分词表128k,24K的GPU集群,15T的公开数据,非英占5%,包括30种语言。训练数据增加7倍,代码量增加2倍。
个人理解:按照Sacling low的研究,当参数一定条件下,增加数据量可以明显提示模型的表达能力。而且研究发展在一定条件下增加数据比增加参数在知识表现方面效果更加显著。固然在Scaling low研究中openai和google的观点从文献上看是对立的,这种对立统一大概帮助我们在计划模型时给出一个指导,数据不敷可以通过参加参数提拔效果,数据充足情况下可以通过模型学习SFT,LORA、MOE三种学习范式提拔效果。
LLaMA模型3:


通用异同点:


LLaMA模型2:


LLaMA模型1:


请留意,具体的技能细节、性能指标和应用场景可能会随着模型版本的更新而变化。此外,对于每个版本的具体优缺点,通常需要通过实际的基准测试和使用体验来确定。如果需要最新和最具体的信息,建议查阅官方发布的技能文档或相关的研究论文。




其他国际着名大模型






也有将MoE作为一个独立的层[2],将多个MoE结构堆叠在另一个网络中,一个MoE层的输出作为下一层MoE层的输入,其输出作为另一个下一层的输入,其具体过程如下图所示:


MoE代码实现
  1. MoE,即Mixture of Experts它允许模型在不同的任务和数据集上进行训练和微调。MoE结构是一种将多个专家网络结合起来,以便处理各种输入的技术。每个专家网络可以专门处理一种类型的任务或数据,而主网络则负责将输入分配给最合适的专家网络。MoE结构的代码简化的MoE结构的概念性伪代码示例原理:
  2. ```python
  3. import torch
  4. import torch.nn as nn
  5. class Expert(nn.Module):
  6.     def __init__(self, size):
  7.         super(Expert, self).__init__()
  8.         self.fc = nn.Linear(size, size)
  9.    
  10.     def forward(self, x):
  11.         return self.fc(x)
  12. class MixtureOfExperts(nn.Module):
  13.     def __init__(self, size, num_experts, top_k_experts):
  14.         super(MixtureOfExperts, self).__init__()
  15.         self.experts = nn.ModuleList(Expert(size) for _ in range(num_experts))
  16.         self.top_k_experts = top_k_experts
  17.    
  18.     def forward(self, x):
  19.         # 假设x是我们的输入,我们将其分发到不同的专家
  20.         expert_outputs = [expert(x) for expert in self.experts]
  21.         
  22.         # 选择top-k专家的输出
  23.         top_k_indices = torch.topk(expert_outputs, self.top_k_experts, dim=0)[1]
  24.         
  25.         # 将选择的专家输出合并起来
  26.         selected_expert_outputs = [torch.index_select(expert_output, 0, top_k_indices) for expert_output, expert in zip(expert_outputs, self.experts)]
  27.         
  28.         # 将所有选定的专家输出相加
  29.         combined_output = torch.stack(selected_expert_outputs).sum(0)
  30.         
  31.         return combined_output
  32. # 假设我们的输入大小为256,我们有5个专家,并且我们选择top-2专家
  33. model = MixtureOfExperts(256, 5, 2)
  34. # 假设输入数据batch的大小为32
  35. input_data = torch.randn(32, 256)
  36. # 前向传播
  37. output_data = model(input_data)
复制代码
Grok

MoE类型
Mistral

MoE类型
Gemma

VLA研究领域(智能体、具身智能)











免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4