Redian新闻
>
​TinyLlama-1.1B:从零开始训练一个精悍的语言模型

​TinyLlama-1.1B:从零开始训练一个精悍的语言模型

科技


©PaperWeekly 原创 · 作者 | StatNLP
单位 | 新加坡科技设计大学

TinyLlama 项目旨在在 3 万亿 tokens 上进行预训练,构建一个拥有 11 亿参数的 Llama 模型。经过精心优化,我们“仅”需 16 块 A100-40G 的 GPU,便可在 90 天内完成这个任务🚀🚀。模型训练已于 2023-09-01 开始,目前还在训练中。

我们采用了与 Llama 2 完全相同的架构和分词器。这意味着 TinyLlama 可以在许多基于 Llama 的开源项目中即插即用。此外,TinyLlama 只有 1.1B 的参数,体积小巧,适用于需要限制计算和内存占用的多种应用。




背景与动机


1.1 从Llama 1/2 中的一些观察开始

以上是从 Llama 2 论文中摘取的训练损失曲线。他们论文中提到即使在对 2 万亿个 token 进行预训练后,模型仍然没有显示出任何饱和迹象。这意味着 Llama 2 的训练可以继续下去,而且还有较大的提升空间。这与之前 Chinchilla Scaling Law 的预期非常不一样(Chinchilla Scaling Law 认为 7B 的模型最优的训练 token 数量是 140B 左右)。

上图是一位 reddit 网友 [1] 分析的 llama2 不同大小模型的训练花费 v.s. Perplexity 的数据,从图中其实也可以观察到,很多情况下,更小的模型达到相同的 Perplexity 所需要的花费反而更小,这更坚定了我们的想法:我们可以在更多的数据上面训练更小的模型

1.2 为什么要训练更小的Llama模型
  • 最近大热的模型推理加速算法 speculative decoding 需要一个小模型来辅助对大模型的加速,Llama2 最小的模型就是 7B 了,但我们认为用一个更小的模型作为 speculator 可以让 speculative decoding 更加实用。(注:此方法要求大小模型的 tokenizer 保持一致,所以 Pythia 等最近相对热门的小模型没法作为 Llama2 的 speculator,而 TinyLlama 可以)

  • 更小的模型可以在更多的场景下使用比如在手机上离线运行,TinyLlama-1.1B 经过 4-bit 量化的模型权重只需要 550MB 的内存。

  • 可能可以用在大型单机游戏里面,因为这种场景下必须留足够的显存给游戏本身,所以模型要尽可能的小。



发布时间表和训练细节

我们会根据以下计划逐步发布中间 checkpoint。我们也列了一些基线模型进行比较。

从上面可以看出,TinyLlama 目前的进展非常好🎉🎉。
你也可以在这里 [6] 实时跟踪 TinyLlama 的训练损失。

以下是我们训练设置的一些细节:




速度&显存占用

我们的代码库支持以下特性:
  • multi-gpu and multi-node distributed training with FSDP.

  • flash attention 2.

  • fused layernorm.

  • fused swiglu.

  • fused cross entropy loss .

  • fused rotary positional embedding.
有了这些优化, 我们可以达到 24k tokens/秒/A100 的训练速度,也就是 56% 的 MFU(在 A100-80G 上的 MFU 会更高)。这个速度可以让你可以在 8 个 A100 上用 32 小时训练一个 chinchilla-optimial 的模型(11 亿参数,220 亿token)。
这些优化也大大减少了显存占用, 我们可以把 11 亿参数的模型塞入 40GB 的 GPU 里面还能同时维持 16k tokens 的 per-gpu batch size。只需要把 batch size 改小一点, 你就可以在 RTX 3090/4090 上面训练 TinyLlama。下面是我们的代码库与 Pythia 和 MPT 的训练速度的比较。
▲ Pythia 的数字来自他们的论文。MPT 的数字来自这里 [9],作者说 MPT-1.3B“was trained on 440 A100-40GBs for about half a day”on 200B tokens。
TinyLlama 是一个相对较小的模型, 同时我们用了 GQA,这意味着它在推理期间也很快。以下是我们测量的一些推理速度:




代码链接

我们的代码可以给初学者做一个入门预训练的简洁参考(3090/4090 能跑,一共就十多个.py文件)。虽然如今预训练比较通用的框架中 Megatron-LM 占据了半壁江山,但是对于小白来说实在上手难度太大了。而我们 TinyLlama 对于小实验室来说也相当友好。不要 999,也不用 99,只需要 16 张 A100 就可以在一个月左右让 LLama 1.1B 的模型完成预训练 (1T token)。

基于这个代码库, 我们公布了 TinyLlama 计划,目标在 90 天里用 16 个 A100 在 3 万亿 token 上训练一个 1.1B 的 TinyLlama,同时我们的代码库提供了一些预训练优化的同时保持了简洁性,3090/4090 可训练,不失为新手入门预训练的好选择。

https://github.com/jzhang38/TinyLlama


参考文献

[1] https://www.reddit.com/r/LocalLLaMA/comments/154cnvf/llama_2_scaling_laws/
[2] https://huggingface.co/stabilityai/stablelm-base-alpha-3b
[3] https://huggingface.co/EleutherAI/pythia-1b/tree/step50000
[4] https://huggingface.co/EleutherAI/pythia-1b
[5] https://huggingface.co/PY007/TinyLlama-1.1B-step-50K-105b
[6] https://links-cdn.wandb.ai/wandb-public-images/links/lance777/pgvhrsny.html
[7] https://huggingface.co/datasets/cerebras/slimpajama-627b
[8] https://huggingface.co/datasets/bigcode/starcoderdata
[9] https://huggingface.co/mosaicml/mpt-1b-redpajama-200b
[10] https://github.com/ggerganov/llama.cpp
[11] https://github.com/vllm-project/vllm

更多阅读



#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:[email protected] 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



·
·

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
中国最大公有云服务商,如何从零开始构建一支云效团队给自己训练一个研究助手,这款谷歌AI笔记应用有意思北京理工大学发布双语轻量级语言模型,明德大模型—MindLLM,看小模型如何比肩大模型​ACL 2023 | AD-KD:归因驱动的预训练语言模型知识蒸馏框架LeCun再泼冷水:只会看书的语言模型永远无法实现「类人智能」《百年》&《生死契阔》大型语言模型训练加速专场在线研讨会上线,三位专家将主讲AI服务器、训练框架和云上高性能存储架构长篇小说《如絮》第一百五十九章 旧金山-1967年 避难所刘知远等众多机构提出ToolLLM:促进大型语言模型掌握16000+真实世界的APIs从零训练一个多模态LLM:预训练+指令微调+对齐+融合多模态+链接外部系统拳击冠军从零开始改行当魔术师并名声大噪,背后有什么故事?​MIT惊人证明:大语言模型就是「世界模型」?吴恩达观点再被证实,LLM竟能理解空间和时间南洋理工最新视觉语言模型综述:预训练、迁移学习和知识蒸馏啥都有大型语言模型专场上线!四位AI新青年直播讲解MiniGPT-4、LLaVA、Gorilla以及大型语言模型Token危机从原理到代码理解语言模型训练和推理,通俗易懂,快速修炼LLMMIT惊人再证大语言模型是世界模型!LLM能分清真理和谎言,还能被人类洗脑AI大模型背后的惊人数字:问ChatGPT 5个问题,耗水500毫升?训练一次GPT-3,碳排放量相当于开车往返月球?我是不是一个很绝情的人?华为提出Sorted LLaMA:SoFT代替SFT,训练多合一大语言模型H-1B未中签Plan B:申请免抽签H-1BMeta计划曝光:下一个大模型以GPT-4为标准,2024年开始训练大语言模型(LLM)预训练数据集调研分析为企业训练一个标书撰写器,AutogenAI 获得2230 万美元融资MetaMath:新数学推理语言模型,训练大模型的逆向思维南洋理工大学最新视觉语言模型综述:预训练、迁移学习和知识蒸馏啥都有通过例子介绍如何从零开发 Kubernetes Operator开源大模型FLM-101B:训练成本最低的超100B参数大模型DreamLLM:多功能多模态大型语言模型,你的DreamLLM~一定要养盆这么美的吊钟海棠最强大的语言模型仍会变化?从零开始,运用 Ruby 语言创建一个 DNS 查询 | Linux 中国ICCV 2023 | 基于预训练视觉语言模型和大语言模型的零样本图像到文本生成懂3D的语言模型来了!UCLA、上交、MIT等联合提出3D-LLM:性能大涨9%吹尽黄沙不见金(五十六): 逃出生天Transformer是唯一选择吗?无Attention和MLP的语言模型反而更强了
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。