AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


IBM 全新发布:PowerLM-3B 和 PowerMoE-3B 模型的突破性进展!
发布日期:2024-09-13 08:25:28 浏览次数: 1660 来源:Halo咯咯


IBM 最近发布的 PowerLM-3B 和 PowerMoE-3B 模型,是在语言模型训练效率和可扩展性方面的重要进步。这些模型不仅展示了 IBM 在优化计算成本方面的承诺,还引入了创新的方法论,旨在解决大规模模型训练中的一些关键挑战。本文将深入探讨这两个新模型的核心特性、技术创新、性能评估以及实际应用,帮助读者全面了解 IBM 的最新突破。

01

模型概述 

PowerLM-3B 和 PowerMoE-3B 代表了 IBM 在语言模型领域的新突破。这两个模型基于 IBM 的 Power 调度器构建,展示了在提升训练效率和模型可扩展性方面的创新。这些模型的推出,标志着 IBM 在优化计算资源利用和推动 AI 能力方面的又一里程碑。
大型语言模型已经成为从自动客户支持到高级自然语言理解系统等众多应用的核心。然而,这些模型的训练通常需要巨大的计算资源,超参数的最优设置如学习率、批量大小和令牌数量在确保模型有效训练中起着至关重要的作用。尽管早期模型在这些方面有所改进,但在扩展到数十亿参数时,优化这些超参数依然面临挑战。

02

Power 调度器 

突破传统的学习率调度
在训练大型深度神经网络时,学习率调度是关键超参数之一。一个合理的学习率可以加快收敛速度并避免过拟合。传统的学习率调度器如余弦调度器虽然在训练中广泛应用,但它们通常需要预先定义训练步骤的数量,并且在面对训练过程中数据的变化时显得不够灵活。
IBM 的 Power 调度器通过引入一种与批量大小和令牌数量无关的学习率调度方法,解决了这些问题。该调度器基于学习率与训练令牌数量之间的幂律关系,使模型能够在训练过程中动态调整学习率,而无需预先指定训练步骤的数量。这种方法不仅克服了传统调度器的局限性,还允许在训练中进行持续调整,避免了训练中断后的效率损失。

03

PowerLM-3B 

高性能密集型模型
PowerLM-3B 是一个具有 30 亿参数的密集型变换器模型。它使用高质量的开源数据集和合成语料库进行训练,共计使用了 1.25 万亿令牌。密集型模型架构确保了所有模型参数在推理期间都是活跃的,提供了跨任务的一致性能。
尽管与其他先进模型相比,PowerLM-3B 使用的训练令牌数量较少,但它在性能上展示了与更大模型相当的效果。这突显了 Power 调度器在确保模型有效学习方面的效率,即使在训练令牌数量有限的情况下也能保持优异的性能。
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
device = "cuda" # or "cpu"
model_path = "ibm/PowerLM-3b"
tokenizer = AutoTokenizer.from_pretrained(model_path)
# drop device_map if running on CPU
model = AutoModelForCausalLM.from_pretrained(model_path, device_map=device)
model.eval()
# change input text as desired
prompt = "Write a code to find the maximum value in a list of numbers."
# tokenize the text
input_tokens = tokenizer(prompt, return_tensors="pt")
# transfer tokenized inputs to the device
for i in input_tokens:
    input_tokens[i] = input_tokens[i].to(device)
# generate output tokens
output = model.generate(**input_tokens, max_new_tokens=100)
# decode output tokens into text
output = tokenizer.batch_decode(output)
# loop over the batch to print, in this example the batch size is 1
for i in output:
    print(i)

04

PowerMoE-3B

计算高效的专家混合模型
与 PowerLM-3B 不同,PowerMoE-3B 采用了 IBM 创新的专家混合(MoE)架构。在推理期间,MoE 模型只激活一部分模型参数,这种计算上的高效性使其在保持高性能的同时,显著降低了计算成本。
PowerMoE-3B 拥有 30 亿参数,但在推理过程中仅激活 8 亿参数。它在 2.5 万亿令牌上进行了训练,使用了与 PowerLM-3B 类似的数据混合。专家混合架构与 Power 调度器的结合,使该模型能够实现与更多参数的密集型模型相当的性能,同时保持计算效率。
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
device = "cuda" # or "cpu"
model_path = "ibm/PowerMoE-3b"
tokenizer = AutoTokenizer.from_pretrained(model_path)
# drop device_map if running on CPU
model = AutoModelForCausalLM.from_pretrained(model_path, device_map=device)
model.eval()
# change input text as desired
prompt = "Write a code to find the maximum value in a list of numbers."
# tokenize the text
input_tokens = tokenizer(prompt, return_tensors="pt")
# transfer tokenized inputs to the device
for i in input_tokens:
    input_tokens[i] = input_tokens[i].to(device)
# generate output tokens
output = model.generate(**input_tokens, max_new_tokens=100)
# decode output tokens into text
output = tokenizer.batch_decode(output)
# loop over the batch to print, in this example the batch size is 1
for i in output:
    print(i)

05

模型评估

PowerLM-3B 和 PowerMoE-3B 在各种自然语言处理任务中表现出色,包括多项选择问题回答、常识推理和代码生成等。尽管 PowerLM-3B 在训练令牌数量上较少,但它在 ARC(AI2 推理挑战)和 PIQA(物理交互问题回答)等任务上表现优异,超越了许多同参数数量的模型。
另一方面,PowerMoE-3B 在需要高计算效率的任务中表现出色,以更低的推理成本取得了有竞争力的结果。这些结果突显了 IBM 的 Power 调度器和 MoE 架构在训练和部署大型语言模型方面的潜力,展示了优化学习率和减少计算需求所带来的显著好处。

06

结语

IBM 的 PowerLM-3B 和 PowerMoE-3B 模型标志着在大型语言模型和自然语言处理领域的一个重要进步。通过创新的 Power 调度器和 MoE 架构,IBM 不仅优化了模型的训练过程,还提供了高效且强大的模型框架。无论是在高效训练还是在降低计算开销方面,这些模型都为希望利用先进语言模型的组织提供了一条新的前进道路,展示了 IBM 在推动 AI 技术发展的持续努力。


53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询