整理与量化在电脑上调整的Mistral 7B 菜谱
‘电脑上调制Mistral 7B菜谱的整理与量化技巧’廉价督导微调与令人印象深刻的LLM

Mistral 7B是由Mistral AI创建的非常受欢迎的大型语言模型(LLM)。它胜过所有类似规模的其他预训练LLM,甚至比较大的LLM如Llama 2 13B效果更好。
由于使用滑动窗口计算注意力和分组查询注意力(GQA),它还针对快速解码进行了优化,尤其适用于长上下文。您可以在提供Mistral 7B的arXiv文章和此篇优秀文章中找到更多细节,作者是Salvatore Raieli。
Mistral 7B非常优秀,但足够小,可以在可承受的硬件上利用。
在本文中,我将向您展示如何使用QLoRA对Mistral 7B进行微调。我们将使用我为本文修改的数据集“ultrachat”。Hugging Face曾使用Ultrachat创建了Zephyr 7B。我们还将看到如何使用AutoGPTQ对Mistral 7B进行量化。
我编写了实现所有部分的笔记本。您可以在此处找到它们:
使用TRL对Mistral 7B进行监督微调
Mistral 7B是一个70亿参数的模型。您大约需要15 GB的显存才能在GPU上加载它。然后,使用批次进行完整微调将消耗更多的显存。
与标准的完全微调相比,另一个选择是使用QLoRA进行微调。QLoRA在冻结的量化模型上微调LoRA适配器。在以前的文章中,我已经使用它对Llama 2 7B进行了微调。
由于QLoRA量化到4位(NF4),加载模型的内存消耗大约减少了4倍,即使用NF4量化的Mistral 7B大约需要消耗4 GB的显存。如果您拥有一块12 GB的显卡,那么可以为批次大小增加很多空间,并针对更多的模块使用LoRA。
换句话说,您可以免费在您的机器上对Mistral 7B进行微调,如果您有足够的显存,或者使用Google Colab的免费实例,该实例配备了一块T4显卡。
为了使用QLoRA进行微调,您需要安装以下库:
pip install -q -U bitsandbytespip...