BitDelta开源项目教程

BitDelta开源项目教程

BitDelta BitDelta 项目地址: https://gitcode.com/gh_mirrors/bi/BitDelta

1. 项目介绍

BitDelta是一个旨在减少GPU内存需求的开源项目,它通过将微调模型的权重变化压缩至1 bit,从而实现高效的模型多租户服务。这种技术不仅揭示了微调过程中信息添加的潜在冗余性,而且对于模型的存储和服务有着重要的意义。BitDelta能够将GPU内存需求减少10倍以上,这对于多租户环境下的生成延迟提升尤为关键。该项目已成功应用于Llama-2和Mistral模型家族,并在高达70B参数的模型上进行了验证,展现了在所有测试设置中极小的性能下降。

2. 项目快速启动

环境准备

首先,您需要克隆BitDelta仓库并设置环境:

git clone https://github.com/FasterDecoding/BitDelta.git
cd BitDelta
conda create -yn bitdelta python=3.9
conda activate bitdelta
pip install -e .

模型压缩示例

以下是一个模型压缩的示例,我们将使用lmsys/vicuna-7b-v1.5模型和meta-llama/Llama-2-7b-hf基础模型:

CUDA_VISIBLE_DEVICES=0,1 python \
bitdelta/train.py \
--base_model meta-llama/Llama-2-7b-hf \
--finetuned_model lmsys/vicuna-7b-v1.5 \
--save_dir $MODEL_SAVE_DIR \
--batch_size 4 \
--num_steps 200 \
--save_full_model True

请确保您已经设置了$MODEL_SAVE_DIR变量,以指定压缩模型的保存目录。

性能验证

压缩完成后,您可以通过以下命令验证压缩模型的困惑度(Perplexity):

CUDA_VISIBLE_DEVICES=0 python \
bitdelta/eval_ppl.py \
--base_model meta-llama/Llama-2-7b-hf \
--dataset_name wikitext \
--subset wikitext-2-raw-v1 \
--save_dir $PPL_SAVE_DIR \
--num_eval_samples 100 \
--model_diff $MODEL_SAVE_DIR/diff.pt

确保您已经设置了$PPL_SAVE_DIR变量,以指定困惑度结果的保存目录。

3. 应用案例和最佳实践

BitDelta项目的官方代码托管平台中提供了一个Gradio demo,展示了如何使用6个基于Mistral-7B模型的批量推理,同时只使用30GB的GPU内存。您可以参考demo/README.md来设置和运行这个demo。

此外,项目中的scripts目录包含了用于压缩您自己的模型的脚本。您可以参考这些脚本来实现模型的压缩和量化。

4. 典型生态项目

BitDelta作为一个优化模型存储和推理的开源项目,可以与多种机器学习和深度学习框架兼容。在生态系统中,您可以找到类似的项目,例如用于模型量化的ONNX Runtime,以及用于高效推理的TensorRT等。这些项目可以共同工作,以实现更高效的人工智能服务。

BitDelta BitDelta 项目地址: https://gitcode.com/gh_mirrors/bi/BitDelta

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

强妲佳Darlene

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值