【LLM大模型】Chatglm3微调教程

微调前期算力准备

大预言模型微调对于硬件有一定要求,如果硬件设备不达标,可以考虑远程炼丹,通过租借算力,达到自己训练的效果。

市面上提供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大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉CSDN大礼包🎁:全网最全《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大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

  • 12
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值