# quantum-llm **Repository Path**: craftsman_lei/quantum-llm ## Basic Information - **Project Name**: quantum-llm - **Description**: 量子大模型微调 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2025-01-17 - **Last Updated**: 2025-04-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 量子大模型微调 近些年随着大模型的普及,以及大模型规模的逐渐增加,导致训练大规模的量子机器学习模型会导致训练成本显著增加,为了减少大模型在微调过程中所需要的训练资源, 一些大模型微调方法被提出,不再对大模型全参数进行微调,而是通过提出的微调方法对少量的参数进行训练,从而使大模型在下游任务中依旧能取得不弱于全参数微调的效果, 而基于量子线路来进行微调的方式尚未得到普及。 通过量子机器学习框架 ``pyVQNet`` 通过与 ``Llama factory``, ``peft`` 结合, 实现基于量子线路来进行大模型微调任务。 ``pyVQNet`` 相关内容见 https://vqnet20-tutorial.readthedocs.io/en/latest/index.html ## 量子大模型微调依赖包安装 该模块介绍在使用量子线路用于大模型微调中, 如何去对所需依赖包进行安装。 使用量子大模型微调, 主要基于当前 ``quantum-llm`` 和 ``pyvqnet`` 两个包即可, ``pyvqnet`` 版本要求 ``2.15.0`` 或者以上即可。 完成 ``quantum-llm`` 库的下载后 ```bash git clone https://gitee.com/craftsman_lei/quantum-llm.git ``` 随后根据 ``quantum-llm`` 中 ``README.md`` 文档中内容完成其他依赖库以及文件安装 ```bash # 下载其他依赖库 pip install -r requirements.txt # 安装peft_vqc cd peft_vqc && pip install -e . # 安装pyvqnet pip install pyvqnet # pyvqnet>=2.15.0 ``` ## 量子大模型微调训练步骤 完成需求包安装后, 可以参考文件目录 ``/quantum-llm/examples/qlora_single_gpu/`` 下 ``train.sh`` 等脚本, 根据脚本指定训练基准模型,微调模块选择,微调模块输出路径等参数. 下载 Qwen2.5-0.5B 模型可在网址 https://huggingface.co/Qwen/Qwen2.5-0.5B?clone=true 上下载, 其他模型一样, 若无法下载,则可以针对网址上文件单一进行下载后使用: ```bash # 下载Qwen2.5-0.5B git clone https://huggingface.co/Qwen/Qwen2.5-0.5B ``` ## 量子微调模块 在量子大模型微调模块中, 相较经典的大模型微调模块, 添加了三种额外的微调方式, 分别为: - vqc : 基于pyqvnet实现的vqc微调模块 - quanTA : 量子张量分解模块 - tq : 基于torch quantum实现的vqc模块 通过 ``/quantum-llm/examples/qlora_single_gpu/`` 目录下 ``train.sh`` 脚本文件, 在基准模型 ``Qwen2.5-0.5B`` , 数据集 ``alpaca_gpt4_en`` 上训练的结果如下 ![训练结果](images/peft1.png) 通过相同目录下的 ``eval.sh`` 文件, 通过调整 ``adapter_name_or_path`` 参数完成在相同基准模型,不同模块上的评估,在基准模型 ``Qwen2.5-0.5B`` , 数据集 ``mmlu`` 上的评估结果如下: | 方法 | Humanities | Social Sciences | STEM | Other | Average | | ---------------------- | ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | | vqc | 63.46 | 60.62 | 38.89 | 37.50 | 48.68 | | quanTA | 59.62 | 56.25 | 48.67 | 46.63 | 52.19 | | tq | 55.77 | 56.25 | 43.06 | 51.79 | 50.88 | ## 致谢 本项目受益于 [PEFT](https://github.com/huggingface/peft)、[LLaMA-Factory](https://github.com/hiyouga/LLaMA-Factory),感谢以上诸位作者的付出。