LLM模型优化:实现3B模型在Mac M2上26tokens/s解码速度

作者:搬砖的石头2023.10.07 11:12浏览量:8

简介:MLC-LLM部署RWKV World系列模型实战(3B模型Mac M2解码可达26tokens/s)

MLC-LLM部署RWKV World系列模型实战(3B模型Mac M2解码可达26tokens/s)
随着人工智能和自然语言处理技术的不断发展,越来越多的企业和组织开始探索如何利用这些技术来提高效率、降低成本并创造新的价值。在这个过程中,部署和优化模型成为了关键的一环。而MLC-LLM是一种备受关注的模型优化技术,它的目的是在减少模型大小和复杂度的同时,保持模型的性能和精度。本文将介绍如何将MLC-LLM技术应用于RWKV World系列模型,实现3B模型在Mac M2上的解码速度达到26tokens/s。
一、RWKV World系列模型介绍
RWKV World系列模型是一种基于Transformer结构的语言模型,由英国DeepMind公司开发。该模型在训练时采用了大量的无监督学习技术,取得了非常出色的效果。具体来说,该模型包含了一个8.3B参数的基础模型和一系列的扩展模型,其中包括3B、9B、17B、67B等不同规模的模型。这些模型在各种不同的任务上都有着广泛的应用,例如文本生成、摘要、翻译、问答等。
二、MLC-LLM技术介绍
MLC-LLM是一种基于知识蒸馏(Knowledge Distillation)技术的模型优化方法。它通过将一个大模型(教师模型)的知识迁移到一个小模型(学生模型)上来实现模型的压缩和加速。在该方法中,教师模型的输出被编码为一个概率分布,然后通过采样来生成一个新的学生模型。这个学生模型具有更小的参数数量和更低的计算复杂度,因此在推理时可以更快地完成任务。此外,由于学生模型学习了教师模型的知识,因此它可以实现与教师模型相似的性能。
三、MLC-LLM部署RWKV World系列模型实战
在本节中,我们将介绍如何将MLC-LLM技术部署到RWKV World系列模型中,并对3B模型在Mac M2上的解码速度进行优化。具体来说,我们采用了以下步骤:
1.准备数据集:首先需要准备一个大型的无监督语料库,例如WebText。对于每个模型,我们使用了相应的预训练权重进行初始化。
2.训练教师模型:使用RWKV World系列的9B模型作为教师模型,并在无监督语料库上进行训练。这个步骤需要耗费大量的计算资源和时间。
3.知识蒸馏:将教师模型的参数作为学生的初始权重,并在教师模型的指导下进行知识蒸馏。这个步骤中,我们采用了温度参数为0.05的知识蒸馏方法进行训练,迭代了20轮。
4.推理加速:通过减少教师模型的层数和使用非自注意力模块来减少计算量,从而实现推理加速。具体来说,我们将教师模型的层数从24减少到了12,并使用了一个名为FastAttention的非自注意力模块来替换原有的自注意力模块。此外,我们还使用了Tensor Cores来加速GPU上的计算。
5.性能评估:我们对优化后的3B模型在Mac M2上进行了解码性能测试。