SuperAPI AI 工具集

MicroLlama

MicroLlama 是一个从零开始预训练的 300M 参数小型 Llama 模型,项目预算仅 500 美元,使用完全开源的数据集和模型,基于 TinyLlama 改进,支持在有限算力下构建可用的语言模型,已衍生出文本嵌入和视觉问答模型。

访问官网

工具介绍

MicroLlama 是一个由个人开发者发起的小型大语言模型预训练项目,目标是在有限的计算资源和预算下,从零开始训练一个 300M 参数的 Llama 模型。项目遵循严格的限制:总预算 500 美元,必须使用完全开源的数据集和模型,不允许微调现有模型或使用 GPT-4 等生成训练数据。

用途

MicroLlama 主要用于探索在有限算力条件下构建可用语言模型的可行性。它可作为轻量级模型的基础,用于文本嵌入、句子相似度计算、轻量级聊天机器人等任务,也适合作为研究小型语言模型预训练和评估的参考。

主要能力

  • 基于 TinyLlama 项目修改,支持预训练 300M 参数模型。
  • 使用 Slimpajama 数据集,移除了 Starcoderdata,因此模型本身不具备代码能力,除非后续微调。
  • 增加了在下载数据时处理和 tokenize Slimpajama 的能力,节省时间和存储。
  • 提供辅助脚本和 Python 代码,例如将预训练检查点上传到 Hugging Face Hub。
  • 项目已衍生出 MicroLlama-text-embedding(文本嵌入模型)和 MicroLaVa(轻量视觉问答模型,基于 TinyLLaVA_Factory,总参数 700M,可在单张 Nvidia RTX 4090 上预训练和微调)。
  • 已被 LitGPT 官方支持。

使用方式

项目源码、安装依赖和评估命令均可在 GitHub 仓库中找到。用户可参考仓库中的说明安装依赖,并使用 lm-evaluation-harness 复现评估结果。模型检查点可上传至 Hugging Face Hub。

适用场景

  • 作为轻量级模型的基础,用于句子转换(sentence transformer)、BERTScore 等任务,替代 BERT 系列模型。
  • 经过微调后可用于构建轻量级聊天机器人。
  • 适合个人研究者或资源有限团队进行小型语言模型预训练实验。

限制

  • 模型规模较小(300M),在标准基准测试中表现不及 TinyLlama-1.1B,但优于 google-best/bert-large-uncased(336M),除了 ARC_c 数据集。
  • 由于移除了 Starcoderdata,模型无法直接进行代码相关任务。
  • 项目仍在进行中,部分功能(如微调后的分叉代码)尚未清理发布。
  • 截至资料提供时,已花费 280 美元用于计算(4 张 Nvidia 4090 在 Vast.ai 上训练 4 天,50B tokens),3 美元用于 AWS S3 存储。
  • 模型未经过微调,直接用于下游任务需要额外训练。

评估结果

使用 lm-evaluation-harness 标准设置评估,所有数据集使用 acc_norm 指标,winogrande 和 boolq 使用 acc。与 google-best/bert-large-uncased 相比,MicroLlama 在多数数据集上表现更好,但 ARC_c 上略逊。评估结果可用于验证项目设置,具体数值请参考仓库。