当前位置: 首页 > news >正文

【AI】Ubuntu 22.04 4060Ti16G 基于SWIFT框架的LoRA微调 模型Qwen3-1.8B 数据集弱智吧 微调笔记

下载Qwen3-1.8B

先更新安装modescope,然后下载模型

pip install -U modelscope
modelscope download --model Qwen/Qwen3-1.7B

下载日志

部署模型

参考:【AI】Ubuntu 22.04 4060Ti 16G vllm-api部署Qwen3-8B-FP8_wsl ubantu rtx4060 vllm镜像-CSDN博客

vllm serve //home/yeqiang/.cache/modelscope/hub/models/Qwen/Qwen3-1.7B \
--served-model-name Qwen3-1.7B \
--port 8003 \
--dtype auto \
--gpu-memory-utilization 0.8 \
--max-model-len 4096 \
--tensor-parallel-size 1

GPU情况(显存紧张)

显存占用比预想的多,后续微调不确定成功- -#

验证基础功能

curl http://localhost:8003/v1/completions \-H "Content-Type: application/json" \-d '{"model": "Qwen3-1.7B","prompt": "你好,介绍下你自己","max_tokens": 50,"temperature": 0.8}'

准备训练环境

 

下载弱智吧数据集

魔搭社区

只下载 ruozhiba_qa.json

modelscope download --dataset zhuangxialie/SFT-Chinese-Dataset ruozhiba/ruozhiba_qa.json

部分内容如下

[{"instruction": "只剩一个心脏了还能活吗?","output": "能,人本来就只有一个心脏。"},{"instruction": "爸爸再婚,我是不是就有了个新娘?","output": "不是的,你有了一个继母。\"新娘\"是指新婚的女方,而你爸爸再婚,他的新婚妻子对你来说是继母。"},{"instruction": "樟脑丸是我吃过最难吃的硬糖有奇怪的味道怎么还有人买","output": "樟脑丸并不是硬糖,而是一种常见的驱虫药,不能食用。虽然它的味道可能不太好,但是由于其有效的驱虫效果,所以仍然有很多人会购买。"},{"instruction": "马上要上游泳课了,昨天洗的泳裤还没干,怎么办","output": "游泳时泳裤本来就会湿,不用晾干。"},{"instruction": "为什么没人说ABCD型的成语?🤔","output": "这是因为中文成语一般都是四字成语,每个字都有其特定的含义,四个字合在一起构成一个完整的意思。而ABCD型的成语最常见,所以大家不会刻意强调。"},{"instruction": "我只出生了一次,为什么每年都要庆生","output": "庆生并不是为了庆祝出生,而是为了庆祝每一次的生日,也就是出生后的每一年。这是一个纪念自己在过去一年中成长和经历的方式,也是对未来一年的期待和祝福。"},{"instruction": "我25岁 我爸50岁 那我爸两岁就生了我啦?","output": "不对,你25岁,你爸50岁,那么你爸在你出生时应该是25岁,而不是两岁。"},{"instruction": "为什麽我老婆内裤拔下来没有马赛克?","output": "因为现实生活中并没有马赛克这种东西,马赛克是电视、网络等媒体为了遮挡一些不适宜公开的画面或者保护隐私而使用的一种手段。"},

转换成Qwen3需要的数据格式

converDataSetToQwen3.py

import json
from datasets import Datasetdef convert_ruozhiba_format(item):"""核心转换函数"""# 生成简化版思考链(弱智吧风格模板)think_content = f"<think>\n用户问题存在逻辑跳跃,需用反常识幽默逻辑回应\n</think>"return {"response": f"{think_content}\n\n{item['output']}","messages": [{"role": "user", "content": item["instruction"]},{"role": "assistant", "content": f"{think_content}\n\n{item['output']}"}]}# 1. 加载原始数据
with open("/home/yeqiang/.cache/modelscope/hub/datasets/zhuangxialie/SFT-Chinese-Dataset/ruozhiba/ruozhiba_qa.json", "r", encoding="utf-8") as f:original_data = json.load(f)  # 假设原始数据是 JSON 数组# 2. 格式转换
converted_data = [convert_ruozhiba_format(item) for item in original_data]# 3. 保存为 SWIFT 支持的格式(JSONL)
with open("ruozhiba_sft.jsonl", "w", encoding="utf-8") as f:for item in converted_data:f.write(json.dumps(item, ensure_ascii=False) + "\n")# (可选)转换为 Hugging Face 数据集格式
dataset = Dataset.from_list(converted_data)
dataset.save_to_disk("./ruozhiba_sft_dataset")

转换后的格式

yeqiang@yeqiang-Default-string:/tmp$ head -n 1 /tmp/ruozhiba_sft.jsonl 
{"response": "<think>\n用户问题存在逻辑跳跃,需用反常识幽默逻辑回应\n</think>\n\n能,人本来就只有一个心脏。", "messages": [{"role": "user", "content": "只剩一个心脏了还能活吗?"}, {"role": "assistant", "content": "<think>\n用户问题存在逻辑跳跃,需用反常识幽默逻辑回应\n</think>\n\n能,人本来就只有一个心脏。"}]}

基于SWIFT框架的LoRA微调

安装swift

yeqiang@yeqiang-Default-string:/data/ai/finetune$ python -m venv venv
yeqiang@yeqiang-Default-string:/data/ai/finetune$ source venv/bin/activate
(venv) yeqiang@yeqiang-Default-string:/data/ai/finetune$ 
# 安装核心框架(包含Qwen3支持)
pip install ms-swift -U
# 安装辅助工具包(flash attention加速)
pip install flash-attn --no-build-isolation
# 安装量化支持库(启用bnb_4bit需要)
pip install bitsandbytes
pip install "transformers>=4.51" -U

安装故障,cuda版本低了(暂时不管他,先不要硬件加速...)

微调

停止vllm释放显存

编辑ruozhiba.sh

CUDA_VISIBLE_DEVICES=0 \
swift sft \--model /home/yeqiang/.cache/modelscope/hub/models/Qwen/Qwen3-1.7B/ \--train_type lora \--dataset /tmp/ruozhiba_sft.jsonl \--lora_rank 8 \--lora_alpha 32 \ --target_modules q_proj v_proj \ --quantization_bit 4 \  --per_device_train_batch_size 4 \--gradient_accumulation_steps 4 \--learning_rate 3e-5 \--num_train_epochs 5 \--logging_steps 10 \--output_dir /data/ai/finetune/Qwen-3-1.7B-ruozhiba \--torch_dtype bfloat16 \  --save_total_limit 2 \  --report_to none  

执行

bash -x ruozhiba.sh

负载情况, GPU显存非常极限

微调完成,这个规模,速度还是比较快的。

查看微调输出目录

成果验证

快速验证微调成果(swift infer)

loadCheckPoint.sh

#!/bin/bashcd /data/ai/finetune/Qwen-3-1.7B-ruozhiba/
CUDA_VISIBLE_DEVICES=0 swift infer \--ckpt_dir ./v2-20250518-163818/checkpoint-460 \--model /home/yeqiang/.cache/modelscope/hub/models/Qwen/Qwen3-1.7B/ \--stream false

执行

bash -x loadCheckPoint.sh

结果还行

测试微调前的输出

输入

yeqiang@yeqiang-Default-string:~$ curl http://localhost:8003/v1/completions \-H "Content-Type: application/json" \-d '{"model": "Qwen3-1.7B","prompt": "只剩一个心脏了还能活吗?","max_tokens": 4000,"temperature": 0.8}'

结果逻辑错误

{"id":"cmpl-fd5bc9e0fdd046a09f6ae80b8120fc5c","object":"text_completion","created":1747554099,"model":"Qwen3-1.7B","choices":[{"index":0,"text":",心脏移植后能不能吃海鲜?,心脏移植术后患者术后一个月内能做哪些康复锻炼?,心脏移植手术后能不能吃火锅?\n\n这些问题都是关于心脏移植术后康复和生活注意事项的。下面我将一一为您解答。\n\n首先,关于“只剩一个心脏了还能活吗?”,心脏移植是治疗终末期心脏病的常见方法。当患者的心脏功能衰竭到无法维持生命时,医生可能会建议进行心脏移植手术。在手术后,患者的心脏由供体的心脏提供,因此,只要术后恢复良好,患者是可以存活的。不过,术后需要长期服药、定期复查,以防止排斥反应和其他并发症的发生。\n\n其次,关于“心脏移植后能不能吃海鲜?”,海鲜通常指各种海洋生物,包括鱼类、贝类、甲壳类等。一般来说,海鲜在心脏移植术后是可以吃的,但需要注意以下几点:\n1. 食用海鲜时应避免生食,以免感染寄生虫或细菌。\n2. 食用海鲜时应确保卫生,避免交叉污染。\n3. 食用海鲜后应避免与某些药物发生反应,如抗凝血药等。不过,目前常见的心脏移植术后患者通常不会服用抗凝血药,因此这一问题可能不适用。\n4. 食用海鲜后应避免与某些食物同时食用,如含咖啡因或酒精的饮料,以免影响药物效果。\n\n第三,关于“心脏移植术后患者术后一个月内能做哪些康复锻炼?”,心脏移植术后患者在术后一个月内通常需要进行一些基本的康复锻炼,以促进身体恢复和预防并发症。这些锻炼包括:\n1. 深呼吸练习:帮助患者恢复肺功能,防止肺部感染。\n2. 肺活量训练:通过深呼吸和咳嗽练习来增强肺功能。\n3. 简单的肢体活动:如坐起、站立、行走等,以促进血液循环和肌肉力量。\n4. 适度的拉伸和柔韧性训练:如拉伸肌肉、做简单的瑜伽或太极等,以防止肌肉萎缩和关节僵硬。\n5. 逐步增加运动量:在医生指导下,逐步增加运动强度和时间,以避免过度劳累和受伤。\n\n第四,关于“心脏移植手术后能不能吃火锅?”,火锅通常包含大量的肉类、蔬菜、调料等,这些食物在心脏移植术后可能对患者的健康产生一定影响。因此,建议患者在心脏移植术后:\n1. 避免食用过热的食品,以免烫伤口腔或食道。\n2. 避免食用过于油腻或辛辣的食物,以免刺激消化系统或引发炎症。\n3. 避免食用过量的肉类,因为肉类可能含有较高的脂肪和蛋白质,影响身体恢复。\n4. 避免食用含咖啡因或酒精的饮料,以免影响药物效果或引起副作用。\n\n总的来说,心脏移植术后患者需要在医生的指导下进行合理的饮食和康复锻炼,以促进身体恢复和预防并发症。同时,患者应保持良好的生活习惯,如戒烟限酒、保持适当体重、定期复查等。\n\n最后,关于“心脏移植术后患者术后一个月内能做哪些康复锻炼?”,在术后一个月内,患者应逐步开始进行轻度的康复锻炼,以促进身体恢复。这些锻炼包括:\n1. 简单的日常活动:如坐起、站立、行走等,以促进血液循环和肌肉力量。\n2. 深呼吸和咳嗽练习:帮助患者恢复肺功能,防止肺部感染。\n3. 肢体活动:如拉伸、关节活动等,以防止肌肉萎缩和关节僵硬。\n4. 适度的运动:如散步、骑自行车等,以增强心肺功能和体能。\n\n总之,心脏移植术后患者需要在医生的指导下进行康复锻炼,以促进身体恢复和预防并发症。同时,患者应保持良好的生活习惯,如戒烟限酒、保持适当体重、定期复查等。\n\n希望以上解答能帮助您更好地了解心脏移植术后的生活和注意事项。如有其他问题,欢迎继续提问。\n**答案**\n心脏移植手术后,患者通常需要长期服用药物以防止排斥反应,并进行定期复查。在术后一个月内,患者应逐渐开始进行轻度的康复锻炼,如深呼吸练习、肢体活动和简单的拉伸等,以促进身体恢复。关于饮食,心脏移植术后患者可以适量食用海鲜,但需注意避免生食和交叉污染。火锅虽美味,但建议避免过热、油腻和辛辣的食物,以减少对身体的刺激。\n\n心脏移植术后患者应避免食用过热的食品,以免烫伤口腔或食道;避免食用过于油腻或辛辣的食物,以免刺激消化系统或引发炎症;避免食用过量的肉类,以减轻心脏负担;避免食用含咖啡因或酒精的饮料,以防止影响药物效果或引起副作用。同时,患者应保持良好的生活习惯,如戒烟限酒、保持适当体重、定期复查等,以促进身体恢复和预防并发症。\n\n心脏移植术后患者在术后一个月内应逐步进行康复锻炼,以促进身体恢复。这些锻炼包括深呼吸练习、肢体活动、拉伸和适度的运动等,具体可根据医生的建议进行调整。\n**答案**\n心脏移植后,患者可以存活,但需长期服药和定期复查。术后一个月内,患者可逐渐进行轻度康复锻炼,如深呼吸、肢体活动和拉伸。饮食方面,可适量食用海鲜,但避免生食和交叉污染。火锅需注意避免过热、油腻和辛辣食物。术后应避免过热、油腻、辛辣及含咖啡因或酒精的饮料,以减少对身体的刺激。\n\n心脏移植术后患者需在医生指导下进行康复锻炼,逐步增加运动量。饮食应避免刺激性食物,保持清淡,适量食用海鲜。术后一个月内,患者可进行深呼吸练习、肢体活动和拉伸等锻炼,以促进身体恢复。同时,患者应保持良好的生活习惯,如戒烟限酒、保持适当体重、定期复查等,以促进身体恢复和预防并发症。\n**答案**\n心脏移植术后患者可以存活,但需长期服药和定期复查。术后一个月内,患者可逐步进行轻度康复锻炼,如深呼吸、肢体活动和拉伸。饮食方面,可适量食用海鲜,但避免生食和交叉污染。火锅需注意避免过热、油腻和辛辣食物。术后应避免过热、油腻、辛辣及含咖啡因或酒精的饮料,以减少对身体的刺激。\n\n心脏移植术后患者需在医生指导下进行康复锻炼,逐步增加运动量。饮食应避免刺激性食物,保持清淡,适量食用海鲜。术后一个月内,患者可进行深呼吸练习、肢体活动和拉伸等锻炼,以促进身体恢复。同时,患者应保持良好的生活习惯,如戒烟限酒、保持适当体重、定期复查等,以促进身体恢复和预防并发症。\n**答案**\n心脏移植后,患者可以存活,但需长期服药和定期复查。术后一个月内,患者可逐步进行轻度康复锻炼,如深呼吸、肢体活动和拉伸。饮食方面,可适量食用海鲜,但避免生食和交叉污染。火锅需注意避免过热、油腻和辛辣食物。术后应避免过热、油腻、辛辣及含咖啡因或酒精的饮料,以减少对身体的刺激。\n\n心脏移植术后患者需在医生指导下进行康复锻炼,逐步增加运动量。饮食应避免刺激性食物,保持清淡,适量食用海鲜。术后一个月内,患者可进行深呼吸练习、肢体活动和拉伸等锻炼,以促进身体恢复。同时,患者应保持良好的生活习惯,如戒烟限酒、保持适当体重、定期复查等,以促进身体恢复和预防并发症。\n**答案**\n心脏移植后,患者可以存活,但需长期服药和定期复查。术后一个月内,患者可逐步进行轻度康复锻炼,如深呼吸、肢体活动和拉伸。饮食方面,可适量食用海鲜,但避免生食和交叉污染。火锅需注意避免过热、油腻和辛辣食物。术后应避免过热、油腻、辛辣及含咖啡因或酒精的饮料,以减少对身体的刺激。\n\n心脏移植术后患者需在医生指导下进行康复锻炼,逐步增加运动量。饮食应避免刺激性食物,保持清淡,适量食用海鲜。术后一个月内,患者可进行深呼吸练习、肢体活动和拉伸等锻炼,以促进身体恢复。同时,患者应保持良好的生活习惯,如戒烟限酒、保持适当体重、定期复查等,以促进身体恢复和预防并发症。\n**答案**\n心脏移植后,患者可以存活,但需长期服药和定期复查。术后一个月内,患者可逐步进行轻度康复锻炼,如深呼吸、肢体活动和拉伸。饮食方面,可适量食用海鲜,但避免生食和交叉污染。火锅需注意避免过热、油腻和辛辣食物。术后应避免过热、油腻、辛辣及含咖啡因或酒精的饮料,以减少对身体的刺激。\n\n心脏移植术后患者需在医生指导下进行康复锻炼,逐步增加运动量。饮食应避免刺激性食物,保持清淡,适量食用海鲜。术后一个月内,患者可进行深呼吸练习、肢体活动和拉伸等锻炼,以促进身体恢复。同时,患者应保持良好的生活习惯,如戒烟限酒、保持适当体重、定期复查等,以促进身体恢复和预防并发症。\n**答案**\n心脏移植后,患者可以存活,但需长期服药和定期复查。术后一个月内,患者可逐步进行轻度康复锻炼,如深呼吸、肢体活动和拉伸。饮食方面,可适量食用海鲜,但避免生食和交叉污染。火锅需注意避免过热、油腻和辛辣食物。术后应避免过热、油腻、辛辣及含咖啡因或酒精的饮料,以减少对身体的刺激。\n\n心脏移植术后患者需在医生指导下进行康复锻炼,逐步增加运动量。饮食应避免刺激性食物,保持清淡,适量食用海鲜。术后一个月内,患者可进行深呼吸练习、肢体活动和拉伸等锻炼,以促进身体恢复。同时,患者应保持良好的生活习惯,如戒烟限酒、保持适当体重、定期复查等,以促进身体恢复和预防并发症。\n**答案**\n心脏移植后,患者可以存活,但需长期服药和定期复查。术后一个月内,患者可逐步进行轻度康复锻炼,如深呼吸、肢体活动和拉伸。饮食方面,可适量食用海鲜,但避免生食和交叉污染。火锅需注意避免过热、油腻和辛辣食物。术后应避免过热、油腻、辛辣及含咖啡因或酒精的饮料,以减少对身体的刺激。\n\n心脏移植术后患者需在医生指导下进行康复锻炼,逐步增加运动量。饮食应避免刺激性食物,保持清淡,适量食用海鲜。术后一个月内,患者可进行深呼吸练习、肢体活动和拉伸等锻炼,以促进身体恢复。同时,患者应保持良好的生活习惯,如戒烟限酒、保持适当体重、定期复查等,以促进身体恢复和预防并发症。\n**答案**\n心脏移植后,患者可以存活,但需长期服药和定期复查。术后一个月内,患者可逐步进行轻度康复锻炼,如深呼吸、肢体活动和拉伸。饮食方面,可适量食用海鲜,但避免生食和交叉污染。火锅需注意避免过热、油腻和辛辣食物。术后应避免过热、油腻、辛辣及含咖啡因或酒精的饮料,以减少对身体的刺激。\n\n心脏移植术后患者需在医生指导下进行康复锻炼,逐步增加运动量。饮食应避免刺激性食物,保持清淡,适量食用海鲜。术后一个月内,患者可进行深呼吸练习、肢体活动和拉伸等锻炼,以促进身体恢复。同时,患者应保持良好的生活习惯,如戒烟限酒、保持适当体重、定期复查等,以促进身体恢复和预防并发症。\n**答案**\n心脏移植后,患者可以存活,但需长期服药和定期复查。术后一个月内,患者可逐步进行轻度康复锻炼,如深呼吸、肢体活动和拉伸。饮食方面,可适量食用海鲜,但避免生食和交叉污染。火锅需注意避免过热、油腻和辛辣食物。术后应避免过热、油腻、辛辣及含咖啡因或酒精的饮料,以减少对身体的刺激。\n\n心脏移植术后患者需在医生指导下进行康复锻炼,逐步增加运动量。饮食应避免刺激性食物,保持清淡,适量食用海鲜。术后一个月内,患者可进行深呼吸练习、肢体活动和拉伸等锻炼,以促进身体恢复。同时,患者应保持良好的生活习惯,如戒烟限酒、保持适当体重、定期复查等,以促进身体恢复和预防并发症。\n**答案**\n心脏移植后,患者可以存活,但需长期服药和定期复查。术后一个月内,患者可逐步进行轻度康复锻炼,如深呼吸、肢体活动和拉伸。饮食方面,可适量食用海鲜,但避免生食和交叉污染。火锅需注意避免过热、油腻和辛辣食物。术后应避免过热、油腻、辛辣及含咖啡因或酒精的饮料,以减少对身体的刺激。\n\n心脏移植术后患者需在医生指导下进行康复锻炼,逐步增加运动量。饮食应避免刺激性食物,保持清淡,适量食用海鲜。术后一个月内,患者可进行深呼吸练习、肢体活动和拉伸等锻炼,以促进身体恢复。同时,患者应保持良好的生活习惯,如戒烟限酒、保持适当体重、定期复查等,以促进身体恢复和预防并发症。\n**答案**\n心脏移植后,患者可以存活,但需长期服药和定期复查。术后一个月内,患者可逐步进行轻度康复锻炼,如深呼吸、肢体活动和拉伸。饮食方面,可适量食用海鲜,但避免生食和交叉污染。火锅需注意避免过热、油腻和辛辣食物。术后应避免过热、油腻、辛辣及含咖啡因或酒精的饮料,以减少对身体的刺激。\n\n心脏移植术后患者需在医生指导下进行康复锻炼,逐步增加运动量。饮食应避免刺激性食物,保持清淡,适量食用海鲜。术后一个月内,患者可进行深呼吸练习、肢体活动和拉伸等锻炼,以促进身体恢复。同时,患者应保持良好的生活习惯,如戒烟限酒、保持适当体重、定期复查等,以促进身体恢复和预防并发症。\n**答案**\n心脏移植后,患者可以存活,但需长期服药和定期复查。术后一个月内,患者可逐步进行轻度康复锻炼,如深呼吸、肢体活动和拉伸。饮食方面,可适量食用海鲜,但避免生食和交叉污染。火锅需注意避免过热、油腻和辛辣食物。术后应避免过热、油腻、辛辣及含咖啡因或酒精的饮料,以减少对身体的刺激。\n\n心脏移植术后患者需在医生指导下进行康复锻炼,逐步增加运动量。饮食应避免刺激性食物,保持清淡,适量食用海鲜。术后一个月内,患者可进行深呼吸练习、肢体活动和拉伸等锻炼,以促进身体恢复。同时,患者应保持良好的生活习惯,如戒烟限酒、保持适当体重、定期复查等,以促进身体恢复和预防并发症。\n**答案**\n心脏移植后,患者可以存活,但需长期服药和定期复查。术后一个月内,患者可逐步进行轻度康复锻炼,如深呼吸、肢体活动和拉伸。饮食方面,可适量食用海鲜,但避免生食和交叉污染。火锅需注意避免过热、油腻和辛辣食物。术后应避免过热、油腻、辛辣及含咖啡因或酒精的饮料,以减少对身体的刺激。\n\n心脏移植术后患者需在医生指导下进行康复锻炼,逐步增加运动量。饮食应避免刺激性食物,保持清淡,适量食用海鲜。术后一个月内,患者可进行深呼吸练习、肢体活动和拉伸等锻炼,以促进身体恢复。同时,患者应保持良好的生活习惯,如戒烟限酒、保持适当体重、定期复查等,以促进身体恢复和预防并发症。\n**答案**\n心脏移植后,患者可以存活,但需长期服药和定期复查。术后一个月内,患者可逐步进行轻度康复锻炼,如深呼吸、肢体活动和拉伸。饮食方面,可适量食用海鲜,但避免生食和交叉污染。火锅需注意避免过热、油腻和辛辣食物。术后应避免过热、油腻、辛辣及含咖啡因或酒精的饮料,以减少对身体的刺激。\n\n心脏移植术后患者需在医生指导下进行康复锻炼,逐步增加运动量。饮食应避免刺激性食物,保持清淡,适量食用海鲜。术后一个月内,患者可进行深呼吸练习、肢体活动和拉伸等锻炼,以促进身体恢复。同时,患者应保持良好的生活习惯,如戒烟限酒、保持适当体重、定期复查等,以促进身体恢复和预防并发症。\n**答案**\n心脏移植后,患者可以存活,但需长期服药和定期复查。术后一个月内,患者可逐步进行轻度康复锻炼,如深呼吸、肢体活动和拉伸。饮食方面,可适量食用海鲜,但避免生食和交叉污染。火锅需注意避免过热、油腻和辛辣食物。术后应避免过热、油腻、辛辣及含咖啡因或酒精的饮料,以减少对身体的刺激。\n\n心脏移植术后患者需在医生指导下进行康复锻炼,逐步增加运动量。饮食应避免刺激性食物,保持清淡,适量食用海鲜。术后一个月内,患者可进行深呼吸练习、肢体活动和拉伸等锻炼,以促进身体恢复。同时,患者应保持良好的生活习惯,如戒烟限酒、保持适当体重、定期复查等,以促进身体恢复和预防并发症。\n**答案**\n心脏移植后,患者可以存活,但需长期服药和定期复查。术后一个月内,患者可逐步进行轻度康复锻炼,如深呼吸、肢体活动和拉伸。饮食方面,可适量食用海鲜,但避免生食和交叉污染。火锅需注意避免过热、油腻和辛辣食物。术后应避免过热、油腻、辛辣及含咖啡因或酒精的饮料,以减少对身体的刺激。\n\n心脏移植术后患者需在医生指导下进行康复锻炼,逐步增加运动量。饮食应避免刺激性食物,保持清淡,适量食用海鲜。术后一个月内,患者可进行深呼吸练习、肢体活动和拉伸等锻炼,以促进身体恢复。同时,患者应保持良好的生活习惯,如戒烟限酒、保持适当体重、定期复查等,以促进身体恢复和预防并发症。\n**答案","logprobs":null,"finish_reason":"length","stop_reason":null,"prompt_logprobs":null}],"usage":{"prompt_tokens":8,"total_tokens":4008,"completion_tokens":4000,"prompt_tokens_details":null}}yeqiang@yeqiang-Default-string:~$ 

SWIFT合并权重到模型(用于发布)

exportModel.sh

#!/bin/bash# 权重合并
cd /data/ai/finetune/Qwen-3-1.7B-ruozhiba
CUDA_VISIBLE_DEVICES=0 swift merge-lora \--ckpt_dir ./v2-20250518-163818/checkpoint-460 \--model /home/yeqiang/.cache/modelscope/hub/models/Qwen/Qwen3-1.7B/ \--output_dir /data/ai/models/Qwen-3-1.7B-ruozhiba \--torch_dtype bfloat16

查看模型

测试发布的模型(vllm)

yeqiang@yeqiang-Default-string:/data/ai/vllm$ source venv/bin/activate
(venv) yeqiang@yeqiang-Default-string:/data/ai/vllm$ vllm serve /data/ai/models/Qwen-3-1.7B-ruozhiba \
--served-model-name Qwen3-1.7B \
--port 8003 \
--dtype auto \
--gpu-memory-utilization 0.8 \
--max-model-len 4096 \
--tensor-parallel-size 1

输入

yeqiang@yeqiang-Default-string:~$ curl http://localhost:8003/v1/completions \-H "Content-Type: application/json" \-d '{"model": "Qwen3-1.7B","prompt": "只剩一个心脏了还能活吗?","max_tokens": 4000,"temperature": 0.8}'

输出(不达预期)

奇怪:

1. 响应很慢(输出内容太多导致)

2. 输出与swift infer结果不一致。

先这样吧,以后再研究。

相关文章:

【AI】Ubuntu 22.04 4060Ti16G 基于SWIFT框架的LoRA微调 模型Qwen3-1.8B 数据集弱智吧 微调笔记

下载Qwen3-1.8B 先更新安装modescope&#xff0c;然后下载模型 pip install -U modelscope modelscope download --model Qwen/Qwen3-1.7B 下载日志 部署模型 参考&#xff1a;【AI】Ubuntu 22.04 4060Ti 16G vllm-api部署Qwen3-8B-FP8_wsl ubantu rtx4060 vllm镜像-CSDN博…...

系分论文《论信息系统缓存的分析和应用》

【摘要】 2023年3月,我作为系统分析师参与了某大型电商平台"云端购物中心"的性能优化项目。该项目日均订单量突破200万,但在促销高峰期频繁出现系统响应迟缓、数据库过载等问题。本项目以构建多级缓存体系为核心,通过系统化分析缓存应用场景和技术选型,重构了平…...

3.4/Q2,Charls最新文章解读

文章题目&#xff1a;Associations between reversible and potentially reversible cognitive frailty and falls in community-dwelling older adults in China: a longitudinal study DOI&#xff1a;10.1186/s12877-025-05872-2 中文标题&#xff1a;中国社区老年人可逆性和…...

Bash fork 炸弹 —— :(){ :|: };:

&#x1f9e0; 什么是 Fork 炸弹&#xff1f; Fork 炸弹是一种拒绝服务&#xff08;DoS&#xff09;攻击技术&#xff0c;利用操作系统的 fork() 系统调用不断创建新进程&#xff0c;直到系统资源&#xff08;如进程表、CPU、内存&#xff09;被耗尽&#xff0c;从而使系统无法…...

HarmonyOS AVPlayer 音频播放器

鸿蒙文档中心&#xff1a;使用AVPlayer播放视频(ArkTS)文档中心https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/video-playback 这张图描述的是 HarmonyOS AVPlayer 音频播放器的状态流转过程&#xff0c;展示了 AVPlayer 在不同状态之间的切换条件和关键操作…...

symfonos: 2靶场

symfonos: 2 来自 <https://www.vulnhub.com/entry/symfonos-2,331/> 1&#xff0c;将两台虚拟机网络连接都改为NAT模式 2&#xff0c;攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 那么攻击机IP为192.168.23.182&#xff0c;靶场IP192.168.23.253 3&…...

微服务项目->在线oj系统(Java版 - 2)

相信自己,终会成功 微服务代码: lyyy-oj: 微服务 接口文档定义 响应数据定义: 响应数据格式:通常&#xff0c;HTTP API 的响应数据采用 JSON 格式 例如:成功响应&#xff08;带数据&#xff09; {"code": 200,"message": "查询成功","…...

整理了 2009 - 2025 年的【199 管综真题 + 解析】PDF,全套共 34 份文件

每年真题原卷 ✅ 每年详细解析 ✅ &#x1f4c2;【管综真题 2009-2025】 &#x1f4c2;【管综解析 2009-2025】 目录树&#xff1a; ├── 2009-2025管综真题 PDF │ ├── 2009年199管综真题.pdf │ ├── 2010年199管综真题.pdf │ ├── 2011年199管综真题.pd…...

HarmonyOS 与 OpenHarmony:同根而不同途

HarmonyOS 与 OpenHarmony&#xff1a;同根而不同途 引言 在操作系统领域&#xff0c;HarmonyOS 和 OpenHarmony 这两个名字频繁出现&#xff0c;它们之间既存在着千丝万缕的联系&#xff0c;又有诸多显著的区别。对于开发者和相关从业者而言&#xff0c;深入了解两者的差异点…...

并发编程(4)

final修饰 1. 用final修饰类 当一个类被final修饰时&#xff0c;意味着它不能被其他类继承&#xff0c;也就是该类无法派生出子类。像 Java 中的String类就是典型的final类。 public final class FinalClass {// 类的内容 }// 下面的代码会报错&#xff0c;因为FinalClass不…...

合并K个升序链表

目录 合并 K 个升序链表 解题思路 ListNode 数组方式给出 k 个链表 ArrayList 方式给出 k 个链表 ArrayList常见操作 合并 K 个升序链表 题目描述 给你一个链表数组&#xff0c;每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中&#xff0c;返回合并后…...

UART、SPI、IIC复习总结

一、UART 1、UART和USART的异同&#xff1f; 相同点 基本功能&#xff1a;都是用于串行通信的数据收发设备&#xff0c;能够实现数据在不同设备之间的传输。在异步通信模式下&#xff0c;二者的工作方式相似&#xff0c;都使用起始位、数据位、校验位&#xff08;可选&#…...

【AWS入门】Amazon Bedrock简介

【AWS入门】Amazon Bedrock简介 [AWS Essentials] Brief Introduction Amazon Bedrock By JacksonML 1. 引言 Amazon Bedrock&#xff0c;在AWS官网&#xff0c;映入眼帘的第一句话就是&#xff0c;“使用基础模型构建和扩展生成式人工智能应用程序的最简单方法”。如下图所…...

报告精读:华为2024年知行合一通信行业数据治理实践指南报告【附全文阅读】

《华为 2024 年知行合一通信行业数据治理实践指南报告》聚焦通信行业数据治理&#xff0c;指出在数字化转型背景下&#xff0c;通信行业面临数据量庞大、类型多样、时效要求高、价值密度低、安全要求高等特点与数据质量、汇聚、开放等难点。报告提出通信行业数据治理需构建包含…...

Eigen与OpenCV矩阵操作全面对比:最大值、最小值、平均值

功能对比总表 功能Eigen 方法OpenCV 方法主要区别最大值mat.maxCoeff(&row, &col)cv::minMaxLoc(mat, NULL, &maxVal, NULL, &maxLoc)Eigen需要分开调用&#xff0c;OpenCV一次获取最小值mat.minCoeff(&row, &col)cv::minMaxLoc(mat, &minVal, NU…...

机器学习(12)——LGBM(1)

文章目录 LightGBM算法详解1. 算法背景2. 核心创新2.1 基于直方图的决策树算法2.2 单边梯度采样(GOSS)2.3 互斥特征捆绑(EFB) 3. 算法细节3.1 树生长策略3.2 特征并行与数据并行3.3 类别特征处理 4. 关键参数说明4.1 核心参数4.2 控制速度参数4.3 控制过拟合参数 5. 与XGBoost对…...

深入理解TCP与UDP:协议对比、头部结构与连接管理

一、TCP与UDP的核心区别 特性TCPUDP连接特性面向连接&#xff08;三次握手建立连接&#xff09;无连接&#xff0c;直接传输数据可靠性通过确认重传、排序、流控保证可靠尽力交付&#xff0c;不保证数据到达流量控制支持滑动窗口机制调节发送速率不支持数据分段支持大数据分段…...

Flask快速入门和问答项目源码

Flask基础入门 源码&#xff1a; gitee&#xff1a;我爱白米饭/Flask问答项目 - 码云 目录 1.安装环境2.【debug、host、port】3.【路由params和query】4.【模板】5.【静态文件】6.【数据库连接】6.1.安装模块6.2.创建数据库并测试连接6.3.创建数据表6.4.ORM增删改查 6.5.ORM模…...

python创建flask项目

好的&#xff0c;我会为你提供一个使用 Flask、pg8000 和 Pandas 构建的后台基本框架&#xff0c;用于手机理财产品 App 的报表分析接口。这个框架将包含异常处理、模块化的结构以支持多人协作&#xff0c;以及交易分析和收益分析的示例接口。 项目结构: financial_report_ap…...

Flink 的窗口机制

&#x1fa9f; 1. 基于时间驱动的滚动时间窗口&#xff08;Tumbling Time Window - Time-based&#xff09; ✅ 定义&#xff1a; 每隔固定的时间周期开启一个新的窗口。窗口之间不重叠。 &#x1f552; 示例&#xff1a; DataStream<Tuple2<String, Integer>>…...

STM32 OTA 中断向量表重定向

在STM32的OTA&#xff08;Over-the-Air&#xff09;升级中&#xff0c;​中断向量表重定向是关键技术需求&#xff0c;其核心原因在于STM32的硬件架构和固件运行机制。以下从原理、实现方式及必要性三个角度详细分析&#xff1a; 一、中断向量表的作用与默认机制 ​中断向量表的…...

先说爱的人为什么先离开

2025年5月19日&#xff0c;15~23℃&#xff0c;贼好的一天&#xff0c;无事发生 待办&#xff1a; 2024年税务申报 《高等数学2》取消考试资格学生名单 《物理[2]》取消考试资格名单 5月24日、25日监考报名 《高等数学2》备课 《物理[2]》备课 职称申报材料 教学技能大赛PPT 遇…...

OnlyOffice秘籍系列.6-表格保护功能详解-灵活设置单元格的权限

最近很多用户在咨询是否可以提供一个灵活控制表格权限的在线协同编辑表格,这里和大家分享如果用OnlyOffice在线表格实现。 OnlyOffice 是一款功能强大的在线协作办公套件&#xff0c;其表格工具&#xff08;Spreadsheet Editor&#xff09;提供了完善的数据保护机制&#xff0c…...

LLM笔记(八)Transformer学习

文章目录 1. Transformer 整体架构2. 核心组件详解2.1. 输入部分 (Input Embedding & Positional Encoding)2.2. 注意力机制 (Attention Mechanism)2.2.1. Padding Mask (填充掩码)2.2.2. Sequence Mask (Look-ahead Mask / Subsequent Mask / Causal Mask) 2.3. Multi-Hea…...

Vue 3 中使用 md-editor-v3 的完整实例markdown文本

下面我将提供一个完整的 Vue 3 项目中使用 md-editor-v3 的 Markdown 编辑器实现&#xff0c;包含常用功能和最佳实践。 1. 基础实现 安装依赖 npm install md-editor-v3也可以是pnpm安装 pnpm install md-editor-v3基础编辑器组件 (BasicEditor.vue) <template> &l…...

OpenCV-图像分割

实验1 实验内容 上述代码通过使用OpenCV和Matplotlib库来执行以下操作&#xff1a; 读取名为’kt.jpg’的图像文件&#xff0c;并存储在变量img中。将图像img转换为灰度图像&#xff0c;将其存储在变量gray中。使用cv2.threshold函数对灰度图gray进行阈值化处理&#xff0c;…...

Vue-计算属性

计算属性 案例 输入姓、名&#xff0c; 全名称姓名 实现 插值语法 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><title>计算属性与监视</title><!-- 引入Vue --><script type&…...

16. 通用配置文件开发.py

16. 通用配置文件开发.py 一、配置文件架构设计 1.1 模块化结构规划 #mermaid-svg-Iuex47psGWeZj6XQ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Iuex47psGWeZj6XQ .error-icon{fill:#552222;}#mermaid-svg-Iu…...

Python训练营打卡 Day29

复习日&#xff1a;类的装饰器 知识点回顾 类的装饰器&#xff1a;餐厅升级计划 假设你是一家餐厅的老板&#xff0c;餐厅已经运营了一段时间&#xff0c;但你希望提升服务质量&#xff0c;比如在每道菜上增加一些特别的服务&#xff08;比如日志记录、额外的装饰等&#xff09…...

解决 Tailwind CSS 代码冗余问题

解决 Tailwind CSS 代码冗余问题 Tailwind CSS 确实可能导致 HTML 类名过长和冗余的问题&#xff0c;以下是几种有效的解决方案&#xff1a; 1. 使用 apply 指令提取重复样式 /* 在CSS文件中 */ .btn {apply px-4 py-2 rounded-md font-medium; }.card {apply p-6 bg-white …...

【藏经阁】加密机服务完整解决方案,包含客户端+服务端

前言 你是否存在这样的苦恼&#xff0c;数据需要安全存储&#xff0c;但是每个系统大家自己写&#xff0c;很浪费时间。 encryption-local 一个离线版本的金融敏感信息加解密工具&#xff0c;用于数据库敏感信息存储。 离线版本的加解密好处是非常的方便。不过缺点也比较明显…...

互联网大厂Java求职面试:AI与大模型应用集成及云原生挑战

互联网大厂Java求职面试&#xff1a;AI与大模型应用集成及云原生挑战 面试场景设定 郑薪苦是一位具有搞笑风格但技术潜力巨大的程序员&#xff0c;正在接受一位严肃专业的技术总监面试。 第一轮提问 面试官&#xff1a;在我们公司的短视频平台中&#xff0c;需要处理千万级…...

ffmpeg -vf subtitles添加字幕绝对路径问题的解决方法

今天遇到奇怪的问题&#xff0c;老是报 Unable to parse option value Error applying option original_size to filter subtitles: Invalid argument 踩坑很长时间&#xff0c;记录下 因subtitles需要指定绝对路径&#xff0c; 注意点&#xff1a; 外面要用单引号 不能…...

JetBrains IDEA,Android Studio,WebStorm 等IDE 字体出现异常时解决方法

JetBrains IDEA,Android Studio,WebStorm 等IDE 中文字体出现异常&#xff0c;很怪的时候&#xff0c;通常需要设置字体回退才能解决。 需要在 Font 中将字体连写打开&#xff0c;并且设置字体回退为 Microsoft YaHei Ul 只有这样 IDEA 在没有中文字体的样式下&#xff0c;会将…...

鸿蒙AI开发:10-多模态大模型与原子化服务的集成

鸿蒙AI开发&#xff1a;10-多模态大模型与原子化服务的集成 在鸿蒙生态中&#xff0c;多模态大模型与原子化服务的集成是一个重要课题。本文将介绍如何在鸿蒙平台上进行多模态大模型与原子化服务的集成&#xff0c;以及相关的技术细节和实际案例。 鸿蒙AI开发概述 什么是鸿蒙AI…...

信奥赛CSP动态规划入门-最大子段和

针对**“最大子段和”**问题的详细分步解析与程序实现,通过动态规划将大问题分解为小问题: 一、问题拆解步骤 1. 明确问题定义 大问题:在数组[-2,1,-3,4,-1,2,1]中,找到连续子数组的和的最大值。 小问题:以每个位置i结尾的子数组能得到的最大和。 2. 状态定义 定义数组…...

Python爬虫实战:通过PyExecJS库实现逆向解密

1. 核心定义 1.1 PyExecJS 库 PyExecJS 是 Python 的第三方库,通过调用 JavaScript 运行时环境(如 Node.js、PhantomJS),实现 Python 与 JavaScript 的无缝交互。其核心功能包括: JavaScript 代码编译与执行跨语言函数调用与数据传递多引擎支持与自动环境检测1.2 字段加…...

网络安全深度解析:21种常见网站漏洞及防御指南

一、高危漏洞TOP 10 1. SQL注入(SQLi) 原理:通过构造恶意SQL语句突破系统过滤机制 典型场景: - 联合查询注入: union select 1,version(),3--+ - 布尔盲注:and (select substr(user(),1,1)=r) - 时间盲注:;if(now()=sysdate(),sleep(5),0)/ 防御方案: - 严格参数化查…...

web系统安全管理

一、概述 认证、授权是JavaWeb项目的核心部分。 二、相关概念 1、认证Authentication 认证&#xff0c;简单来说&#xff0c;就是确认用户身份的过程&#xff0c;确认“你是谁”&#xff08;验证身份&#xff09;。 2、授权&#xff08;Authorization&#xff09; 授权&…...

相机基础常识

相机基础常识 相机中颜色滤镜的作用&#x1f3a8; 1. **捕捉彩色图像**✅ 最常见的颜色滤镜阵列是 **拜耳滤镜&#xff08;Bayer Filter&#xff09;**&#xff1a; &#x1f50d; 2. **实现特定的图像效果或分析功能**✅ 常见的滤镜类型包括&#xff1a; &#x1f6e0;️ 3. *…...

Python训练营打卡Day29

复习日&#xff1a;类的装饰器 知识点回顾 类的装饰器装饰器思想的进一步理解&#xff1a;外部修改、动态类方法的定义&#xff1a;内部定义和外部定义 1. 类的装饰器 类的装饰器是一种特殊的函数&#xff0c;用于修改或扩展类的行为。它们在类定义时被应用&#xff0c;类似于函…...

不同版本 Linux 系统账号操作指令 ——rtkit 账号删除、普通账号的创建 / 删除 / 权限修改超详细大全

不同版本 Linux 系统账号操作指令 ——rtkit 账号删除、普通账号的创建 / 删除 / 权限修改超详细大全 安全提醒 先备份&#xff1a;/etc/passwd 、/etc/shadow 、/etc/group 、/etc/sudoers 以及 Home 目录。系统账户慎删&#xff1a;rtkit 属于实时调度守护进程 RealtimeKit&…...

基于 Zookeeper 部署 Kafka 集群

文章目录 1、前期准备2、安装 JDK 83、搭建 Zookeeper 集群3.1、下载3.2、调整配置3.3、标记节点3.4、启动集群 4、搭建 Kafka 集群4.1、下载4.2、调整配置4.3、启动集群 1、前期准备 本次集群搭建使用&#xff1a;3 Zookeeper 3 Kafka&#xff0c;所以我在阿里云租了3台ECS用…...

Listener method could not be invoked with the incoming message

问题描述 生产者方代码&#xff1a; private void rollbackOrder(long orderId, CorrelationData correlationData) {rabbitTemplate.convertAndSend("order-rollback-exchange","rollback.order",new QuotaRollbackTO(orderId,null,null),correlationData…...

VueUse/Core:提升Vue开发效率的实用工具库

文章目录 引言什么是VueUse/Core&#xff1f;为什么选择VueUse/Core&#xff1f;核心功能详解1. 状态管理2. 元素操作3. 实用工具函数4. 浏览器API封装5. 传感器相关 实战示例&#xff1a;构建一个拖拽上传组件性能优化技巧与原生实现对比常见问题解答总结 引言 在现代前端开发…...

记录一次win11本地部署deepseek的过程

20250518 win11 docker安装部署 ollama安装 ragflow部署 deepseek部署 文章目录 1 部署Ollama下载安装ollama配置环境变量通过ollama下载模型deepseek-r1:7b 2 部署docker2.1 官网下载amd版本安装2.2 配置wsl2.3 Docker配置&#xff1a;位置代理镜像源 3 部署RAGFlow更换ragfl…...

PrimeVul论文解读-如何构建高质量漏洞标签与数据集

目录 1. 引入2. 现有漏洞识别方案的不足2.1 数据集中label不准2.2 数据重复2.3 测评标准不够好 3. 现有漏洞识别数据集分析3.1 关于现有数据集中label的准确率分析3.2 关于现有数据集中数据泄露&#xff08; Data Leakage&#xff09;情况分析 4. 漏洞识别测评5. PrimeVul数据集…...

现代生活健康养生新视角

在科技飞速发展的今天&#xff0c;我们的生活方式发生巨大转变&#xff0c;健康养生也需要新视角。从光线、声音等生活细节入手&#xff0c;能为健康管理开辟新路径。​ 光线与健康密切相关。早晨接触自然光线&#xff0c;可调节生物钟&#xff0c;提升血清素水平&#xff0c;…...

开启健康生活的多元养生之道

健康养生是一门值得终身学习的学问&#xff0c;在追求健康的道路上&#xff0c;除了常见方法&#xff0c;还有许多容易被忽视却同样重要的角度。掌握这些多元养生之道&#xff0c;能让我们的生活更健康、更有品质。​ 室内环境的健康不容忽视。定期清洁空调滤网&#xff0c;避…...

Flink 并行度的设置

在 Apache Flink 中&#xff0c;并行度&#xff08;Parallelism&#xff09; 是控制任务并发执行的核心参数之一。Flink 提供了 多个层级设置并行度的方式&#xff0c;优先级从高到低如下&#xff1a; &#x1f9e9; 一、Flink 并行度的四个设置层级 层级描述设置方式Operator…...