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

Qwen3.5-9B训练复现:从SFT到RLHF的全流程开源实践指南

Qwen3.5-9B训练复现:从SFT到RLHF的全流程开源实践指南

1. 项目概述

Qwen3.5-9B是一个拥有90亿参数的开源大语言模型,具备强大的逻辑推理、代码生成和多轮对话能力。该模型支持多模态理解(图文输入)和长上下文处理(最高可达128K tokens),是当前开源社区中性能优异的中文大模型之一。

1.1 核心特性

  • 多模态理解:支持图片上传和分析,能够理解图片内容并回答相关问题
  • 长文本处理:最大支持128K tokens的上下文长度
  • 参数规模:90亿参数规模,在推理和生成任务上表现优异
  • 开源可用:完全开源,支持本地部署和二次开发

2. 环境准备与部署

2.1 基础环境配置

项目运行在torch28 Conda环境下,使用Supervisor进行进程管理,服务端口为7860。以下是环境搭建的基本步骤:

# 创建conda环境 conda create -n torch28 python=3.10 conda activate torch28 # 安装基础依赖 pip install torch==2.8.0 transformers>=5.0.0 gradio==6.x huggingface_hub>=1.3.0

2.2 项目结构

项目目录结构如下:

/root/qwen3.5-9b/ ├── app.py # 主程序 (Gradio WebUI) ├── start.sh # 启动脚本 ├── service.log # 运行日志 └── history.json # 对话历史记录

3. 模型训练流程

3.1 SFT阶段(监督微调)

监督微调(SFT)是模型训练的第一步,使用高质量的人类标注数据进行微调:

from transformers import AutoModelForCausalLM, AutoTokenizer model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3.5-9B") tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3.5-9B") # 加载SFT数据集 train_dataset = load_dataset("your_sft_dataset") # 配置训练参数 training_args = TrainingArguments( output_dir="./results", num_train_epochs=3, per_device_train_batch_size=4, save_steps=1000, save_total_limit=2, learning_rate=5e-5, fp16=True ) # 开始训练 trainer = Trainer( model=model, args=training_args, train_dataset=train_dataset, tokenizer=tokenizer ) trainer.train()

3.2 RLHF阶段(基于人类反馈的强化学习)

RLHF阶段通过人类反馈数据进一步优化模型:

from trl import PPOTrainer, AutoModelForCausalLMWithValueHead # 加载SFT后的模型 model = AutoModelForCausalLMWithValueHead.from_pretrained("your_sft_model") tokenizer = AutoTokenizer.from_pretrained("your_sft_model") # 配置PPO训练器 ppo_trainer = PPOTrainer( model=model, config={ "batch_size": 8, "learning_rate": 1.41e-5, "ppo_epochs": 4 }, tokenizer=tokenizer ) # 加载偏好数据集 preference_dataset = load_dataset("your_preference_data") # 执行RLHF训练 for epoch in range(3): for batch in preference_dataset: # 生成响应 query_tensors = tokenizer(batch["query"], return_tensors="pt", padding=True) response_tensors = ppo_trainer.generate(**query_tensors) # 计算奖励 rewards = compute_rewards(batch["query"], response_tensors) # PPO更新 ppo_trainer.step(query_tensors, response_tensors, rewards)

4. 模型部署与使用

4.1 服务启动与管理

使用Supervisor管理服务进程,配置文件位于/etc/supervisor/conf.d/qwen3.5-9b.conf

[program:qwen3.5-9b] command=/bin/bash /root/qwen3.5-9b/start.sh directory=/root/qwen3.5-9b environment=HOME="/root",USER="root",LOGNAME="root",SHELL="/bin/bash",PATH="/opt/miniconda3/envs/torch28/bin:/usr/bin:/bin" user=root autostart=true autorestart=true startsecs=30 startretries=3 redirect_stderr=true stdout_logfile=/root/qwen3.5-9b/service.log stopasgroup=true killasgroup=true

常用管理命令:

# 查看服务状态 supervisorctl status qwen3.5-9b # 重启服务 supervisorctl restart qwen3.5-9b # 停止服务 supervisorctl stop qwen3.5-9b

4.2 Web界面功能

通过Gradio提供的Web界面支持以下功能:

  1. 文本对话:支持中英文对话
  2. 图片上传:支持JPEG, PNG, GIF, WEBP等格式
  3. 图片描述:上传图片后可询问图片内容
  4. 参数调节:可调整max_tokens, temperature, top_p, top_k等参数

5. 模型性能优化

5.1 推理加速

使用以下技术提升推理速度:

# 启用Flash Attention model = AutoModelForCausalLM.from_pretrained( "Qwen/Qwen3.5-9B", torch_dtype=torch.float16, device_map="auto", use_flash_attention_2=True ) # 量化压缩 from transformers import BitsAndBytesConfig quantization_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_compute_dtype=torch.float16, bnb_4bit_quant_type="nf4" ) model = AutoModelForCausalLM.from_pretrained( "Qwen/Qwen3.5-9B", quantization_config=quantization_config )

5.2 内存优化

针对大模型的内存优化策略:

  1. 梯度检查点:减少训练时的内存占用
  2. ZeRO优化:分布式训练中的内存优化
  3. 激活值压缩:减少前向传播时的内存消耗

6. 常见问题与解决方案

6.1 模型加载问题

问题:模型加载缓慢或卡住
解决方案

  • 检查GPU显存是否足够(至少需要20GB)
  • 确认模型文件完整(约19GB)
  • 首次加载需要2-3分钟,耐心等待

6.2 服务启动失败

排查步骤:

  1. 检查conda环境是否正确激活
  2. 查看日志文件/root/qwen3.5-9b/service.log
  3. 确认端口7860未被占用

6.3 图片上传无响应

可能原因:

  • 图片格式不支持
  • 图片文件损坏
  • 网络请求超时

解决方案:

  • 尝试较小尺寸的图片
  • 转换格式为PNG/JPEG
  • 检查网络连接

7. 总结与展望

Qwen3.5-9B作为一款开源大语言模型,通过完整的SFT到RLHF训练流程,在多模态理解和长文本处理方面表现出色。本文详细介绍了从模型训练到部署的全流程实践,包括:

  1. SFT阶段的监督微调方法
  2. RLHF阶段的强化学习优化
  3. 模型部署与服务管理
  4. 性能优化与问题排查

未来可以进一步探索:

  • 更大规模的分布式训练
  • 更高效的多模态融合方法
  • 更智能的对话策略优化

获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

http://www.jsqmd.com/news/579721/

相关文章:

  • 《常见三维CAD模型表示法》
  • 零基础入门:Windows下OpenClaw对接百川2-13B-4bits全流程
  • AI开发效率翻倍:TensorFlow-v2.9镜像完整开发环境实测体验
  • 2026年化工车间局部通风降温/通风降温管道/整体通风降温优质供应商推荐 - 行业平台推荐
  • AgentCPM-Report轻量化部署:Pixel Epic智识终端GPU显存优化方案
  • 从SolidWorks到Gazebo:一个单关节机器人的完整仿真配置流程(含URDF、ROS Control与YAML文件详解)
  • 百考通:AI精准赋能文献综述,让学术梳理全流程智能化
  • OpenClaw学术研究助手:Qwen2.5-VL-7B处理论文图表与文献综述
  • 2026年整烫车间管道岗位工厂空调/卧式工厂空调/车间厂房工厂空调优质厂家推荐榜 - 品牌宣传支持者
  • Ostrakon-VL-8B惊艳效果:高清像素界面下实时价签OCR识别演示
  • 基于PLC称重混料小车运行控制系统
  • Qwen3-ASR-1.7B一文详解:方言识别泛化能力、跨地域口音迁移学习实践
  • Phi-4-mini-reasoning效果展示:同一题不同temperature(0.1/0.3/0.7)输出对比
  • GreatDB 与 MySQL 的适配性对比
  • 2026年化工车间通风降温管道/整体通风降温稳定供货厂家推荐 - 品牌宣传支持者
  • 【Linux】FinalShell上传文件失败?真相:SFTP权限坑及终极解决方案
  • 基于非线性偏振旋转锁模光纤激光器数值计算模型的探索
  • Phi-3-mini-4k-instruct-gguf部署案例:Kubernetes中以StatefulSet方式部署轻量推理服务
  • 2026年,AI到底杀死了哪些行业?又催生了哪些新机会?
  • 2026年大棚车间通风降温管道/厂房车间通风降温/局部通风降温生产厂家推荐 - 品牌宣传支持者
  • 行车记录仪关键时刻掉链子?实测此品牌的CFexpress卡如何守护影像安全
  • Qwen-Image-Edit-2511-Unblur-Upscale功能体验:上传即修复,模糊人像秒变高清大片
  • Qwen3.5-2B效果惊艳展示:真实图片识别+代码生成+摘要翻译三合一案例
  • Qwen3.5-2B多模态教程:上传截图提问软件Bug,自动生成修复建议
  • GLM-OCR效果展示:带复杂背景纹理(纸张肌理/水印底纹)文档抗干扰识别
  • AI SaaS创业:从0到1打造爆款产品的核心方法论
  • 2026年口碑好的行星减速机/行星伺服减速机厂家对比推荐 - 品牌宣传支持者
  • OpenClaw备份恢复指南:Phi-3-vision-128k-instruct模型配置与技能包迁移
  • 水墨江南模型微信小程序开发:移动端中式美学创作工具
  • GLM-4.1V-9B-Base实操手册:生成参数(max_new_tokens等)调优指南