通义千问Qwen1.5系列大模型(低参数版本)实验

简介:

目标是基于通义千问1.5版本系列大模型,尝试本地部署和运行,对比测试实验(重点是低量级参数的Qwen1.5系列大模型:0.5B,1.8B,4B,7B)。

其中,通义千问1.5-7B(Qwen1.5-7B) 是阿里云研发的通义千问大模型系列的70亿参数规模的模型。

本文在单机CPU运行环境下,对比了通义千问Qwen1.5系列量化版本的四版大模型:0.5B,1.8B,4B,7B

考虑到硬件资源限制及模型性能资料,都采用量化后的文件

Qwen1.5-0.5B-Chat-GGUF/qwen1_5-0_5b-chat-q5_k_m.gguf

Qwen1.5-1.8B-Chat-GGUF/qwen1_5-1_8b-chat-q5_k_m.gguf(注:2023.12.1 与Qwen1.5-72B同时发布)

Qwen1.5-4B-Chat-GGUF/qwen1_5-4b-chat-q5_k_m.gguf

Qwen1.5-7B-Chat-GGUF/qwen1_5-7b-chat-q5_k_m.gguf

实验过程:

首先从阿里Modelscope平台查找和下载不同版本的大模型(魔搭社区),

然后使用llama.cpp(GitHub - ggerganov/llama.cpp: LLM inference in C/C++)工具加载和运行。

例如:Qwen1.5-4B-Chat-GGUF

下载地址:魔搭社区汇聚各领域最先进的机器学习模型,提供模型探索体验、推理、训练、部署和应用的一站式服务。icon-default.png?t=N7T8https://modelscope.cn/models/qwen/Qwen1.5-4B-Chat-GGUF/summary

可以使用modelscope (pip install modelscope) 直接下载相应的模型:

from modelscope.hub.file_download import model_file_download
 	
model_dir = model_file_download(model_id='qwen/Qwen1.5-4B-Chat-GGUF',file_path='qwen1_5-4b-chat-q5_k_m.gguf',revision='master',cache_dir='path/to/local/dir')

然后在通过 llama.cpp运行大模型:

make -j && ./main -m /path/to/local/dir/qwen/Qwen1.5-4B-Chat-GGUF/qwen1_5-4b-chat-q5_k_m.gguf -n 512 --color -i -cml -f prompts/chat-with-qwen.txt

实验结果(个别用例):

0.5B的对话:

4B的对话:

1.8B的对话:

7B的对话:

实验结论:

1、实验中使用了基础和逻辑能力相关的20个测试样本做比较。从评测推理效果看,7B明显好于前三个。 1.8B要好于0.5和4B。4B的效果与0.5B差不多,都很差,有些奇怪。

2、如果单机性能比较好的话,可以基于Qwen1.5-7B量化版本本地做测试,整体效果还不错

      Qwen1.5-7B-Chat-GGUF/qwen1_5-7b-chat-q5_k_m.gguf

魔搭社区汇聚各领域最先进的机器学习模型,提供模型探索体验、推理、训练、部署和应用的一站式服务。icon-default.png?t=N7T8https://www.modelscope.cn/models/qwen/Qwen1.5-7B-Chat-GGUF/summary

目前在百度文心大模型3.5免费版(文心一言)和阿里通义千问2.5(通义)上面,测试的20个问题几乎都可以回答正确,而且大部分的解释也较为合理,让我们看到了国产大模型正在持续、快速迭代中, 为中国 AI 加油!!

### SwanLabCallback 使用方法及参数配置 SwanLabCallback 是一种用于集成实验跟踪功能的工具,能够帮助开发者更好地管理模型训练过程中的各种参数和指标。以下是关于其使用方法及其主要参数 `project`、`experiment_name`、`description` 和 `config` 的详细介绍。 #### 参数说明 1. **project**: 表示项目的唯一标识符,通常是一个字符串形式的名字。可以通过环境变量或直接传递给回调函数来指定。 2. **experiment_name**: 定义当前实验的具体名称。如果未提供,则可能采用默认值或其他替代方案(如输出目录路径)[^1]。 3. **description**: 提供一段文字描述该次实验的目的、背景或者其他相关信息。 4. **config**: 配置字典,允许用户自定义额外的关键参数,比如工作区 (`workspace`) 或者运行模式 (`mode`) 等。 #### 示例代码 下面展示了一个完整的例子,演示如何初始化并应用 SwanLabCallback: ```python from transformers import TrainerCallback class SwanLabCallback(TrainerCallback): def __init__(self, project=None, experiment_name=None, description="", config={}): self.project = project or os.getenv('SWANLAB_PROJECT', 'default-project') self.experiment_name = experiment_name or os.getenv('SWANLAB_EXP_NAME', None) self.description = description self.config = { "swanlab_token": os.getenv('SWANLAB_TOKEN'), "swanlab_project": self.project, "swanlab_workspace": config.get('workspace') or os.getenv('SWANLAB_WORKSPACE', None), "swanlab_exp_name": self.experiment_name, "swanlab_mode": config.get('mode') or os.getenv('SWANLAB_MODE', 'cloud') } def on_train_begin(self, args, state, control, **kwargs): print(f"Starting training with configuration: {self.config}") # 初始化实例 callback = SwanLabCallback( project="my-first-project", experiment_name="test-run-001", description="This is a test run to evaluate model performance.", config={ "workspace": "custom-workspace", "mode": "local" } ) print(callback.config) ``` 上述脚本创建了一个新的类继承自 `TrainerCallback` 并实现了必要的逻辑以支持 SwanLab 功能调用。 #### 注意事项 当实际部署时,请确保所有必需字段均已正确定义,并且 API 密钥安全存储不泄露。另外需要注意的是,某些依赖项也需要提前安装好才能正常使用这些特性[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值