HuggingFace镜像/Viking-33B
模型介绍文件和版本分析
下载使用量0

Viking 33B

Viking 33B 是一个拥有 330 亿参数的仅解码器 transformer 模型,其预训练数据涵盖芬兰语、英语、瑞典语、丹麦语、挪威语、冰岛语及代码。该模型的训练基于 2 万亿 tokens(截至本版本发布时已完成 13000 亿 tokens 的训练量)。Viking 33B 是一款完全开源的模型,基于 Apache 2.0 许可证对外发布。

Viking 模型由图尔库大学的 TurkuNLP 团队、Silo AI 旗下的 SiloGen 以及 High Performance Language Technologies(HPLT)联合开发。模型训练在 LUMI 超级计算机 上进行,所使用的计算资源由芬兰 IT 科学中心 CSC 慷慨提供。

本项目是为非英语语言,尤其是像芬兰语这样的低资源语言开发开源大型语言模型这一持续努力的一部分。该模型能够流畅处理芬兰语、英语及斯堪的纳维亚诸语言,并具备它们之间的基本翻译能力。同时,它还能够理解和生成代码。

模型系列

Viking 是 LumiOpen 发布的第二套模型系列,提供以下三种参数规模版本:

Viking 7B

Viking 13B

Viking 33B

模型概述

注意:Viking 是基础模型,在大多数使用场景下需要进一步微调。

Viking 是一个生成式预训练 transformer 模型,采用类 LLaMA 的 GPT 架构,并运用了旋转位置嵌入(rotary positional embeddings)和 FlashAttention 技术。

超参数数值
n_parameters33B
n_layers56
n_heads56
d_model7168
vocab_size131072
sequence_length4096

训练详情

Viking 33B 的训练在 LUMI 超级计算机上完成,使用了 1024 块 AMD MI250X GPU。每块 MI250X GPU 包含两个图形复合核心(Graphics Complex Dies, GCD),因此训练时的全局规模(world size)为 2048。训练过程中采用了激活检查点(activation checkpointing)技术,微批次大小(micro batch size)设为 1,梯度累积(gradient accumulation)步数为 16,并采用了 TP=4、PP=4、DP=128 的 3D 并行策略。

训练于 2023 年 9 月启动,所使用的框架是基于 Megatron-Deepspeed 的 自定义分支。

训练超参数

超参数数值说明
精度bfloat16
优化器AdamW
学习率3e-410B tokens 预热,余弦衰减至 3e-5
权重衰减1e-1
批大小10241024 样本 × 4096 tokens = 4194304 tokens

分词器

Viking 使用自定义的 128K Bloom 分词器,该分词器是在与训练模型相同的英语、芬兰语、瑞典语、丹麦语、挪威语、冰岛语和代码数据集上训练的。

数据集

Viking 正在一个包含 2 万亿 tokens 的混合数据集上进行训练,该数据集涵盖英语、芬兰语、瑞典语、丹麦语、挪威语、冰岛语和代码。

完整详情即将发布。

评估结果

完整评估结果将随最终模型一同发布。

训练检查点

训练检查点以仓库分支的形式提供。检查点大约每 100B tokens 发布一次。主分支将始终指向最新的检查点。以下是可用的检查点:

  • 100B
  • 200B
  • 300B
  • 400B
  • 500B
  • 600B
  • 700B
  • 800B
  • 900B
  • 1000B
  • 1100B
  • 1200B
  • 1300B
  • 1400B
  • 1500B
  • 1600B
  • 1700B
  • 1800B
  • 1900B
  • 2000B

transformers 库允许您通过以下方式从分支加载检查点:

branch = "200B"
model = transformers.AutoModelForCausalLM.from_pretrained(
    "LumiOpen/Viking-33B",
    torch_dtype=torch.bfloat16,
    revision=branch,
)

伦理考量与局限性

Viking-33B 是部分训练模型的版本,使用任何输出时都应格外谨慎。

Viking 是一款先进的语言模型,主要针对英语、芬兰语、瑞典语、挪威语、丹麦语、冰岛语和代码进行了优化,在其他语言上不具备有意义的使用能力。与大多数人工智能驱动的系统一样,Viking 是其训练所使用的海量数据的产物,这些数据可能反映了更广泛网络中的缺陷、偏见和特质。Viking 有时可能会生成被认为不准确、带有偏见或具有争议性的输出。使用和开发 Viking 的用户与开发者应保持审慎态度,并考虑进行额外的评估和定制,以确保模型的响应符合其特定需求和伦理标准。

许可协议

Viking 根据 Apache 2.0 许可协议发布。