小身板,大能量。
当大家都在研讨大模型(LLM)参数规模达到百亿甚至千亿级别的同时,小巧且兼具高机能的小模型开始受到研讨者的关注。
小模型在边缘设备上有着广泛的应用,如智能手机、物联网设备和嵌入式系统,这些边缘设备通常具有有限的计算能力和存储空间,它们无法有效地运转大型说话模型。因此,深入探究小型模型显得尤为重要。
接下来我们要介绍的这两项研讨,可能满足你对小模型的需求。
TinyLlama-1.1B
来自新加坡科技设计大学(SUTD)的研讨者近日推出了 TinyLlama,该说话模型的参数量为 11 亿,在大约 3 万亿个 token 上预训练而成。
论文地址:https://arxiv.org/pdf/2401.02385.pdf
项目地址:https://github.com/jzhang38/TinyLlama/blob/main/README_zh-CN.md
TinyLlama 以 Llama 2 架构和分词器(tokenizer)为基础,这意味着 TinyLlama 可以在许多基于 Llama 的开源项目中即插即用。此外,TinyLlama 只有 11 亿的参数,体积小巧,适用于需要限制计算和内存占用的多种应用。
该研讨表示仅需 16 块 A100-40G 的 GPU,便可在 90 天内完成 TinyLlama 的训练。
该项目从上线开始,持续受到关注,目前星标量达到 4.7K。
TinyLlama 模型架构详细信息以下所示:
训练细节以下:
研讨者表示,这项研讨旨在挖掘使用较大数据集训练较小模型的潜力。他们重点探究在用远大于扩展定律(scaling law)建议的 token 数量进行训练时,较小模型的行为表现。
具体来说,该研讨使用大约 3 万亿个 token 训练具有 1.1B 个参数的 Transformer (仅解码器)模型。据了解,这是第一次尝试使用如此大量的数据来训练具有 1B 参数的模型。
尽管规模相对较小,但 TinyLlama 在一系列下游恣意中表现相当出色,它的机能显著优于同等大小的现有开源说话模型。具体来说,TinyLlama 在各种下游恣意中都超越了 OPT-1.3B 和 Pythia1.4B 。
此外,TinyLlama 还用到了各种优化方法,如 flash attention 2、FSDP( Fully Sharded Data Parallel )、 xFormers 等。
在这些技术的加持下,TinyLlama 训练吞吐量达到了每 A100-40G GPU 每秒 24000 个 token。例如,TinyLlama-1.1B 模型对于 300B token 仅需要 3,456 A100 GPU 小时,而 Pythia 为 4,830 小时,MPT 为 7,920 小时。这显示了该研讨优化的有效性以及在大规模模型训练中节省大量时间和资源的潜力。
TinyLlama 实现了 24k tokens / 秒 / A100 的训练速度,这个速度好比用户可以在 8 个 A100 上用 32 小时训练一个具有 11 亿参数、220 亿 token 的 chinchilla-optimial 的模型。同时,这些优化也大大减少了显存占用,用户可以把 11 亿参数的模型塞入 40GB 的 GPU 里面还能同时维持 16k tokens 的 per-gpu batch size。只需要把 batch size 改小一点, 你就可以在 RTX 3090/4090 上面训练 TinyLlama。
实验中,该研讨主要关注具有纯解码器架构的说话模型,包含大约 10 亿个参数。具体来说,该研讨将 TinyLlama 与 OPT-1.3B、Pythia-1.0B 和 Pythia-1.4B 进行了比较。
TinyLlama 在常识推理恣意上的机能以下所示,可以看出 TinyLlama 在许多恣意上都优于基线,并获得了最高的平均分数。
此外,研讨者在预训练期间跟踪了 TinyLlama 在常识推理基准上的准确率,如图 2 所示,TinyLlama 的机能随着计算资源的增加而提高,在大多数基准中超过了 Pythia-1.4B 的准确率。
表 3 表明,与现有模型相比,TinyLlama 表现出了更好的问题解决能力。
手快的网友已经开始整活了:运转效果出奇得好,在 GTX3060 上运转,能以 136 tok / 秒的速度运转。
「确实是快!」
小模型 LiteLlama
由于 TinyLlama 的发布,SLM(小型说话模型)开始引起广泛关注。德克萨斯工农大学的 Xiaotian Han 发布了 SLM-LiteLlama。它有 460M 参数,由 1T token 进行训练。这是对 Meta AI 的 LLaMa 2 的开源复刻版本,但模型规模显著缩小。
项目地址:https://huggingface.co/ahxt/LiteLlama-460M-1T
LiteLlama-460M-1T 在 RedPajama 数据集上进行训练,并使用 GPT2Tokenizer 对文本进行 token 化。作者在 MMLU 恣意上对该模型进行评估,结果以下图所示,在参数量大幅减少的情况下,LiteLlama-460M-1T 仍能取得与其他模型相媲美或更好的成绩。
以下为该模型的机能表现,更详细内容请参阅:
https://huggingface.co/datasets/open-llm-leaderboard/details_ahxt__llama2_xs_460M_experimental
面对规模大幅缩小的 LiteLlama,有网友好奇,它是否能够在 4GB 的内存上运转。如果你也想知道,不如亲自试试看吧。
参考链接:
LiteLlama is out
an open-source reproduction of Meta AI's LLaMa 2. However, with significantly reduced model sizes, LiteLlama-460M-1T has 460M parameters trained with 1T tokens.https://t.co/qRtKo81oSo pic.twitter.com/gq9TGEax8m
— AK (@_akhaliq) January 7, 2024
With the recent release of #TinyLlama, SLMs have attracted a lot of attention. I re-released my previously trained SLM – LiteLlama under the MIT license, which has 460M parameters trained with 1T tokens. I hope to contribute a bit to the community.https://t.co/NRQPv6Jlr9
— Xiaotian (Max) Han (@XiaotianHan1) January 7, 2024
The tinyllama model clearly shows that small models are actually *saturating* in terms of performance… it's 1.55% better than OPT? Tinyllama was trained on a whopping 16x more tokens… pic.twitter.com/9PJ4SK6FSJ
— anton (@abacaj) January 5, 2024