微调前期算力准备
大预言模型微调对于硬件有一定要求,如果硬件设备不达标,可以考虑远程炼丹,通过租借算力,达到自己训练的效果。
市面上提供GPU租赁的平台不少,比如国外的谷歌,vast.ai这种,可以薅资本主义羊毛。因为不花钱,必然多花精力和时间,看各种攻略,想各种办法突破限制。整体看来看来其实不划算,有那精力还是做点更有意义的事情,毕竟人的自由时间才是最大的财富。而国内的服务商,大厂的比如阿里、金山的都比较贵,相反,现在崛起的平价GPU云服务商价格更合适。
推荐的GPU资源:阿里云人工智能PAI,阿里天池实验室、Kaggle、Colab(以上GPU资源均有免费使用的机会)、AutoDL、Gpushare Cloud、Featurize、AnyGPU、阿里云(以上GPU均为付费资源,但基本常有折扣)
微调前期技术准备
大部分算力平台均可使用SSH远程连接,可在cmd中输入:
ssh root@ip地址
然后输入密码,注意,cmd中不会显示密码,直接输入正确密码即可,成功进入系统可以看到:
然后文件传输可以使用sftp,将模型部署到远端,就可以进行微调了。
推荐使用XTerminal可视化窗口,部署模型更加方便。
微调环境部署
微调模型还需要一些额外的环境,进入finetune_chatmodel_demo目录后,目录里还有一个微调所需要的环境文件requirements.txt,所以还需要执行:
pip install -r requirements.txt
微调数据集示例
作为示例,我们使用工作室自行制作的数据集来进行微调。从Google Drive或者Tsinghua Cloud下载处理好的 AdvertiseGen 数据集,将压缩文件AdvertiseGen.tar.gz放到微调文件夹目录(finetune_chatmodel_demo)下。
终端进入finetune_chatmodel_demo,也就是
进入finetune_chatmodel_demo文件夹
cd finetune_chatmodel_demo
解压AdvertiseGen.tar.gz文件
tar -xzf AdvertiseGen.tar.gz
自行制作的数据集可以跳过解压步骤,可以直接将预训练集放入AdvertiseGen文件夹中。
会获得一个解压文件AdvertiseGen.json,可以打开,看看未经处理的训练文件大致是什么样的:
然后,运行下图标注的这个脚本,直接终端运行
python ./scripts/format_advertise_gen.py --path “AdvertiseGen/AdvertiseGen.json”
如果chatglm3的自带format_advertise_gen.py文件运行出现bug,可以使用我们重新写过的方法:
#!/usr/bin/env python3
– coding: utf-8 –
import json
import jsonlines # 引入 jsonlines 库
from argparse import ArgumentParser
import os
parser = ArgumentParser()
parser.add_argument(“–path”, type=str, required=True)
args = parser.parse_args()
# 检查文件是否存在
if not os.path.exists(args.path):
print(f"Error: The file {args.path} does not exist.")
exit(1)
# 读取原始 JSON 文件
with open(args.path, ‘r’, encoding=‘UTF-8’) as f:
data = json.load(f)
train_examples = []
# 遍历数据,构建训练示例
for obj in data:
prompt = obj.get('content', '') # 获取 content 字段,如果不存在则为空字符串
response = obj.get('summary', '') # 获取 summary 字段,如果不存在则为空字符串
train_examples.append({
"prompt": prompt,
"response": response
})
# 确保输出目录存在
os.makedirs(“formatted_data”, exist_ok=True)
# 输出文件路径
output_file = os.path.join(“formatted_data”, “advertise_gen.jsonl”)#此处自定义路径
# 将训练示例写入 JSON Lines 格式的文件
with jsonlines.open(output_file, “w”) as writer:
writer.write_all(train_examples)
运行文件后,会生成一个formatted_data文件夹,文件夹里advertise_gen.jsonl,就是需要送入模型的微调文件,大致长这样:
微调环境、训练文件都准备好了,接下来还需要修改训练脚本,官方代码提供的信息已经很明确了,我们只需要修改BASE_MODEL_PATH=THUDM/chatglm3-6b成BASE_MODEL_PATH="你本地模型的保存路径"即可。
最后,我们启动模型微调,在终端直接输入:
./scripts/finetune_pt.sh
即可,开启微调,模型会自动打印微调日志。
参考显存用量
1.P-Tuning V2 PRE_SEQ_LEN=128, DEV_BATCH_SIZE=1, GRAD_ACCUMULARION_STEPS=16, MAX_SEQ_LEN=2048 配置下约需要 21GB 显存。
2.全量微调时,./scripts/finetune_ds_multiturn.sh 中的配置(MAX_SEQ_LEN=2048, DEV_BATCH_SIZE=16, GRAD_ACCUMULARION_STEPS=1)恰好用满 4 * 80GB 显存。
若尝试后发现显存不足,可以考虑
1.尝试降低 DEV_BATCH_SIZE 并提升 GRAD_ACCUMULARION_STEPS
2.尝试添加 --quantization_bit 8 或 --quantization_bit 4。
3.PRE_SEQ_LEN=128, DEV_BATCH_SIZE=1, GRAD_ACCUMULARION_STEPS=16, MAX_SEQ_LEN=1024 配置下,–quantization_bit 8 约需 12GB 显存,–quantization_bit 4 约需 7.6GB 显存。
如何系统的去学习大模型LLM ?
大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业
?”“谁的饭碗又将不保了?
”等问题热议不断。
事实上,抢你饭碗的不是AI,而是会利用AI的人。
继科大讯飞、阿里、华为
等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?
与其焦虑……
不如成为「掌握AI工具的技术人
」,毕竟AI时代,谁先尝试,谁就能占得先机!
但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。
针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料
分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓
一、LLM大模型经典书籍
AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。
二、640套LLM大模型报告合集
这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)
三、LLM大模型系列视频教程
四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)
LLM大模型学习路线 ↓
阶段1:AI大模型时代的基础理解
-
目标:了解AI大模型的基本概念、发展历程和核心原理。
-
内容:
- L1.1 人工智能简述与大模型起源
- L1.2 大模型与通用人工智能
- L1.3 GPT模型的发展历程
- L1.4 模型工程
- L1.4.1 知识大模型
- L1.4.2 生产大模型
- L1.4.3 模型工程方法论
- L1.4.4 模型工程实践
- L1.5 GPT应用案例
阶段2:AI大模型API应用开发工程
-
目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
-
内容:
- L2.1 API接口
- L2.1.1 OpenAI API接口
- L2.1.2 Python接口接入
- L2.1.3 BOT工具类框架
- L2.1.4 代码示例
- L2.2 Prompt框架
- L2.3 流水线工程
- L2.4 总结与展望
阶段3:AI大模型应用架构实践
-
目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
-
内容:
- L3.1 Agent模型框架
- L3.2 MetaGPT
- L3.3 ChatGLM
- L3.4 LLAMA
- L3.5 其他大模型介绍
阶段4:AI大模型私有化部署
-
目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
-
内容:
- L4.1 模型私有化部署概述
- L4.2 模型私有化部署的关键技术
- L4.3 模型私有化部署的实施步骤
- L4.4 模型私有化部署的应用场景
这份 LLM大模型资料
包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓