大语言模型工程实践-网络安全大模型

admin 2023年7月31日11:26:57评论71 views字数 1815阅读6分3秒阅读模式

前言

上篇文章我们采用了Vicuna-7B模型进行微调,使其具备了网络安全领域的能力。但是Vicuna-7B模型的问题也很明显,中文能力较差,中文吐字很慢,目前看还不能很好的满足需求。

这次我选用了baichuan-7B/13B进行微调,至于为什么不用GLM系列我在上篇文章也提到过,llama2单从论文上看7b并没有太大能力上的提升,并且中文能力很弱,也不在考虑范围内。

baichuan-13B我采用了Qlora的方式在单卡24G显存上进行了微调,可能因为数据集太少,微调出来效果并不是太好。这里着重写一下7B模型的微调过程。

环境准备

内存:55G

显卡:Tesla P40 24G

软件依赖:CUDA:11.4 Python 3.8+ PyTorch 1.13.1+

大语言模型工程实践-网络安全大模型

模型准备

首先安装git lfs,直接使用git是无法完整下载模型的

大语言模型工程实践-网络安全大模型

git lfs https://huggingface.co/baichuan-inc/baichuan-7B/tree/main

下载LLaMA Efficient Tuning

git clone https://github.com/hiyouga/LLaMA-Efficient-Tuningconda create -n llama_etuning python=3.10conda activate llama_etuningcd LLaMA-Efficient-Tuningpip install -r requirements.txt

训练数据准备

还是使用我们之前用GPT生成的数据以及部分HTTP请求数据,我们的目标是让它辅助我们判断恶意请求。

数据格式如下:

    {        "instruction": "什么是访问控制绕过漏洞?",        "input": "",        "output": "访问控制绕过漏洞允许攻击者通过非法途径绕过应用程序或系统的访问控制机制。这通常由访问控制机制在设计或实现过程的失误所致。攻击者可以利用这些漏洞来获取非授权的访问权限,读取敏感数据或控制关键操作。这需要对应用程序和系统的完整访问控制模型进行全面安全设计与审计,避免直接信任输入的权限声明,进行定期检测等措施来修复访问控制绕过漏洞。"    }

二次预训练效很差,baichuan本身就已经有了大量的预训练数据,我们直接进行监督微调即可

CUDA_VISIBLE_DEVICES=0 python src/train_bash.py     --stage sft     --model_name_or_path  /data/Baichuan-7B     --do_train     --lora_target W_pack     --dataset sec_all     --finetuning_type lora     --output_dir /data/Baichuan-7B-checkpoin     --overwrite_cache     --per_device_train_batch_size 8     --gradient_accumulation_steps 8     --lr_scheduler_type cosine     --logging_steps 10     --save_steps 1000     --learning_rate 5e-4     --num_train_epochs 8.0     --plot_loss     --fp16     --prompt_template baichuan

大语言模型工程实践-网络安全大模型

1. 程序会按照加载模型->加载训练数据->训练->保存到output_dir 4个步骤进行。
2. 每个人的环境不一样,训练的时间不一样,如果看到loss变化不大后,可以自行调整。
3. 当前的配置是1000轮导出一次模型,可以自行修改。

训练结果

大语言模型工程实践-网络安全大模型

启动Web页面

python src/web_demo.py     --model_name_or_path /data/Baichuan-7B     --finetuning_type lora     --checkpoint_dir /data/Baichuan-7B-checkpoin     --prompt_template baichuan

测试下来,baichuan-7B的微调效果还不错,速度也很快,并没有丢失原有能力。

大语言模型工程实践-网络安全大模型

大语言模型工程实践-网络安全大模型

大语言模型工程实践-网络安全大模型

大语言模型工程实践-网络安全大模型



网络安全社团公众号

微信号 : qlnu_ctf

新浪微博:齐鲁师范学院网络安全社团

大语言模型工程实践-网络安全大模型



原文始发于微信公众号(齐鲁师院网络安全社团):大语言模型工程实践-网络安全大模型

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年7月31日11:26:57
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   大语言模型工程实践-网络安全大模型https://cn-sec.com/archives/1918098.html

发表评论

匿名网友 填写信息