ChatGLM-6B 部署与 P-Tuning 微调实战

ChatGLM-6B (介绍以及本地部署) ChatGLM-6B 是一个开源的、支持中英双语问答的对话语言模型,基于架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。ChatGLM-6B 使用了和ChatGLM相同的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。 阅读详情

自从 ChatGPT 爆火以来,树先生一直琢磨想打造一个垂直领域的 LLM 专属模型,但学习文本大模型的技术原理,从头打造一个 LLM 模型难度极大,所以这事儿就一直搁置了。

但最近一个月,开源文本大模型如雨后春笋般接踵而至,例如 LLaMA、Alpaca、Vicuna、 ChatGLM-6B 等。树先生觉得这个事有着落了,毕竟站在巨人的肩膀上,离成功就会更近一步。

经过比较,我选择了ChatGLM-6B 作为预训练模型,一方面是它的中文支持效果好,另一方面是它的参数是 62 亿,对 GPU 性能要求相对较低,可以压缩成本。

概念科普

ChatGLM-6B 是什么?

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。

为了方便下游开发者针对自己的应用场景定制模型,同时实现了基于 P-Tuning v2 的高效参数微调方法,INT4 量化级别下最低只需 7GB 显存即可启动微调。

不过,由于 ChatGLM-6B 的规模较小,目前已知其具有相当多的局限性,如事实性/数学逻辑错误,可能生成有害/有偏见内容,较弱的上下文能力,自我认知混乱,以及对英文指示生成与中文指示完全矛盾的内容。更大的基于 1300 亿参数 GLM-130B 的 ChatGLM 正在内测开发中。

硬件需求
量化等级最低 GPU 显存(推理)最低 GPU 显存(高效参数微调)
FP16(无量化)13 GB14 GB
INT88 GB9 GB
INT46 GB7 GB

最低只需 7GB 显存即可启动微调,就问你香不香~

这样个人和小公司都可以部署自己的语言模型,用自有的数据集训练出对行业领域和业务场景有着深刻理解的语言模型,还避免了用户的数据可能泄露到第三方,公司训练自己的语言模型可以在专业性、差异性、可控性等多方面为产品和业务带来很大的优势和价值。

P-Tuning 微调是什么?

P-Tuning 是一种对预训练语言模型进行少量参数微调的技术。所谓预训练语言模型,就是指在大规模的语言数据集上训练好的、能够理解自然语言表达并从中学习语言知识的模型。P-Tuning 所做的就是根据具体的任务,对预训练的模型进行微调,让它更好地适应于具体任务。相比于重新训练一个新的模型,微调可以大大节省计算资源,同时也可以获得更好的性能表现。

ChatGLM-6B 部署

这里我们还是白嫖阿里云的机器学习 PAI 平台,使用 A10 显卡。

环境准备好了以后,就可以开始准备部署工作了。

下载源码

git clone https://github.com/THUDM/ChatGLM-6B

安装依赖

cd ChatGLM-6B   # 其中 transformers 库版本推荐为 4.27.1,但理论上不低于 4.23.1 即可   pip install -r requirements.txt

下载模型

# 这里我将下载的模型文件放到了本地的 chatglm-6b 目录下   git clone https://huggingface.co/THUDM/chatglm-6b /mnt/workspace/chatglm-6b

参数调整

# 因为前面改了模型默认下载地址,所以这里需要改下路径参数   # 分别修改 web_demo.py、cli_demo.py、api.py 文件   tokenizer = AutoTokenizer.from_pretrained("/mnt/workspace/chatglm-6b", trust_remote_code=True)   model = AutoModel.from_pretrained("/mnt/workspace/chatglm-6b", trust_remote_code=True).half().cuda()      # 如果想要暴露在公网上,需要修改 web_demo.py 文件   demo.queue().launch(share=True, inbrowser=True, server_name='0.0.0.0', server_port=7860)

Web 模式启动

pip install gradio   python web_demo.py

web 模式启动

在这里插入图片描述

web 页面

API 模式启动

pip install fastapi uvicorn   python api.py

API 模式启动

在这里插入图片描述

Curl 测试

命令行模式启动

python cli_demo.py

在这里插入图片描述

命令行模式交互

PS:因为这里使用的是 A10 GPU,显存绰绰有余,所以使用的是 FP16(无量化)精度,INT8 与 INT4 精度的量化加载方式可以参考官方文档。

基于 P-Tuning 微调 ChatGLM-6B

ChatGLM-6B 环境已经有了,接下来开始模型微调,这里我们使用官方的 P-Tuning v2 对 ChatGLM-6B 模型进行参数微调,P-Tuning v2 将需要微调的参数量减少到原来的 0.1%,再通过模型量化、Gradient Checkpoint 等方法,最低只需要 7GB 显存即可运行。

安装依赖

# 运行微调需要 4.27.1 版本的 transformers   pip install rouge_chinese nltk jieba datasets

禁用 W&B

# 禁用 W&B,如果不禁用可能会中断微调训练,以防万一,还是禁了吧   export WANDB_DISABLED=true

准备数据集

这里为了简化,我只准备了5条测试数据,分别保存为 train.json 和 dev.json,放到 ptuning 目录下,实际使用的时候肯定需要大量的训练数据。

{"content": "你好,你是谁", "summary": "你好,我是树先生的助手小6。"}   {"content": "你是谁", "summary": "你好,我是树先生的助手小6。"}   {"content": "树先生是谁", "summary": "树先生是一个程序员,热衷于用技术探索商业价值,持续努力为粉丝带来价值输出,运营公众号《程序员树先生》。"}   {"content": "介绍下树先生", "summary": "树先生是一个程序员,热衷于用技术探索商业价值,持续努力为粉丝带来价值输出,运营公众号《程序员树先生》。"}   {"content": "树先生", "summary": "树先生是一个程序员,热衷于用技术探索商业价值,持续努力为粉丝带来价值输出,运营公众号《程序员树先生》。"}

参数调整

修改 train.sh 和 evaluate.sh 中的 train_file、validation_file和test_file为你自己的 JSON 格式数据集路径,并将 prompt_column 和 response_column 改为 JSON 文件中输入文本和输出文本对应的 KEY。可能还需要增大 max_source_length 和 max_target_length 来匹配你自己的数据集中的最大输入输出长度。并将模型路径 THUDM/chatglm-6b 改为你本地的模型路径。

1、train.sh 文件修改
PRE_SEQ_LEN=32   LR=2e-2      CUDA_VISIBLE_DEVICES=0 python3 main.py \       --do_train \       --train_file train.json \       --validation_file dev.json \       --prompt_column content \       --response_column summary \       --overwrite_cache \       --model_name_or_path /mnt/workspace/chatglm-6b \       --output_dir output/adgen-chatglm-6b-pt-$PRE_SEQ_LEN-$LR \       --overwrite_output_dir \       --max_source_length 128 \       --max_target_length 128 \       --per_device_train_batch_size 1 \       --per_device_eval_batch_size 1 \       --gradient_accumulation_steps 16 \       --predict_with_generate \       --max_steps 3000 \       --logging_steps 10 \       --save_steps 1000 \       --learning_rate $LR \       --pre_seq_len $PRE_SEQ_LEN \       --quantization_bit 4

train.sh 中的 PRE_SEQ_LEN 和 LR 分别是 soft prompt 长度和训练的学习率,可以进行调节以取得最佳的效果。P-Tuning-v2 方法会冻结全部的模型参数,可通过调整 quantization_bit 来被原始模型的量化等级,不加此选项则为 FP16 精度加载。

2、evaluate.sh 文件修改
PRE_SEQ_LEN=32   CHECKPOINT=adgen-chatglm-6b-pt-32-2e-2   STEP=3000      CUDA_VISIBLE_DEVICES=0 python3 main.py \       --do_predict \       --validation_file dev.json \       --test_file dev.json \       --overwrite_cache \       --prompt_column content \       --response_column summary \       --model_name_or_path /mnt/workspace/chatglm-6b \       --ptuning_checkpoint ./output/$CHECKPOINT/checkpoint-$STEP \       --output_dir ./output/$CHECKPOINT \       --overwrite_output_dir \       --max_source_length 128 \       --max_target_length 128 \       --per_device_eval_batch_size 1 \       --predict_with_generate \       --pre_seq_len $PRE_SEQ_LEN \       --quantization_bit 4

CHECKPOINT 实际就是 train.sh 中的 output_dir。

训练

bash train.sh

5 条数据大概训练了 40 分钟左右。

训练结果

推理

bash evaluate.sh

推理结果

执行完成后,会生成评测文件,评测指标为中文 Rouge score 和 BLEU-4。生成的结果保存在 ./output/adgen-chatglm-6b-pt-32-2e-2/generated_predictions.txt。我们准备了 5 条推理数据,所以相应的在文件中会有 5 条评测数据,labels 是 dev.json 中的预测输出,predict 是 ChatGLM-6B 生成的结果,对比预测输出和生成结果,评测模型训练的好坏。如果不满意调整训练的参数再次进行训练。

{"labels": "你好,我是树先生的助手小6。", "predict": "你好,我是树先生的助手小6。"}   {"labels": "你好,我是树先生的助手小6。", "predict": "你好,我是树先生的助手小6。"}   {"labels": "树先生是一个程序员,热衷于用技术探索商业价值,持续努力为粉丝带来价值输出,运营公众号《程序员树先生》。", "predict": "树先生是一个程序员,热衷于用技术探索商业价值,持续努力为粉丝带来价值输出,运营公众号《程序员树先生》。"}   {"labels": "树先生是一个程序员,热衷于用技术探索商业价值,持续努力为粉丝带来价值输出,运营公众号《程序员树先生》。", "predict": "树先生是一个程序员,热衷于用技术探索商业价值,持续努力为粉丝带来价值输出,运营公众号《程序员树先生》。"}   {"labels": "树先生是一个程序员,热衷于用技术探索商业价值,持续努力为粉丝带来价值输出,运营公众号《程序员树先生》。", "predict": "树先生是一个程序员,热衷于用技术探索商业价值,持续努力为粉丝带来价值输出,运营公众号《程序员树先生》。"}

部署微调后的模型

这里我们先修改 web_demo.sh 的内容以符合实际情况,将 pre_seq_len 改成你训练时的实际值,将 THUDM/chatglm-6b 改成本地的模型路径。

PRE_SEQ_LEN=32      CUDA_VISIBLE_DEVICES=0 python3 web_demo.py \       --model_name_or_path /mnt/workspace/chatglm-6b \       --ptuning_checkpoint output/adgen-chatglm-6b-pt-32-2e-2/checkpoint-3000 \       --pre_seq_len $PRE_SEQ_LEN

然后再执行。

bash web_demo.sh

结果对比

原始模型

原模型交互

微调后模型

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

在这里插入图片描述

ChatGLM2-6B、ChatGLM-6B 模型介绍及训练自己数据集实战 ChatGLM2-6B 模型介绍及训练实战 阅读详情

相关推荐

ChatGLM-6B部署和微调实例

ChatGLM-6B是本人尝试使用和微调的第一个大语言模型,自我感觉该模型很适合作为大语言模型的入门级选手,无论是部署配置还是推理微调都十分方便。本文主要介绍如何配置部署ChatGLM-6B,以及ChatGLM-6B推理和P-tuning v2微调基本步骤,希望可以帮助大家使用ChatGLM-6B。

weixin_45734379的博客 2303

ChatGLM-6B (介绍相关概念、基础环境搭建及部署)

chatglm-6b详细部署步骤

王亮的博客 2万+

ChatGLM-6B微调与部署

ChatGPT所展现出的强大能力,足以使许多行业发生翻天覆地的变化,而通过微调及部署较小的模型,在一些垂直领域达到和ChatGPT相近的效果,显得尤为重要。本文从模型参数,中文,微调难度等多角度考虑,选取了ChatGLM-6B模型来进行实验,主要分为3个部分:基于ChatGLM-6B的部署,基于peft框架的LoRA微调ChatGLM-6B,基于P-Tuning v2微调ChatGLM-6B(官方)。

dzysunshine的博客 1万+

(二)ChatGLM-6B模型部署以及ptuning微调详细教程

ChatGLM-6B模型训练,ptuning微调,大语言模型,LLM

西风瘦马 2万+

ChatGLM3-6B P-Tuning v2 微调实战

本文记录了在双卡RTX4090环境下对ChatGLM3-6B进行P-Tuning微调的全过程。针对全参数微调资源消耗大的问题,采用P-Tuningv2方法仅训练200万参数(冻结99.97%),将显存需求降至14GB。文章详细介绍了环境配置(Python3.11+transformers4.30.2)、代码修改、训练优化等关键步骤,包括解决Python版本兼容性、多卡分布式训练配置等问题。通过梯度累积实现有效batch_size=32,1.5小时完成3000步训练,loss从4.89降至3.17。在推理部署

higerwy的博客 1630

FPGA串口通信----uart(一)

通过PLL锁相环IP的使用,可以输入时钟进行分频,倍频,也可以产生多路时钟输出信号。外部提供晶振的原因:①Fpga电路大多数需要时序分析②晶振在Fpga内部占空间大,所以放置于外部PCB板上Uart异步传输速率不能很快的原因:考虑到工程实际问题,假如时钟周期大(传输速率慢的话),采取到数据电平变化的边沿时刻的概率会小很多,这样数据也很准确,通常uart适用于2M.

mvpkuku的博客 970

ChatGLM-6B 部署与 P-Tuning 微调实战-使用Pycharm实战

国产大模型Chatglm微调实战

chengjinpei的博客 3290

多模态模型评测神器 | OpenCompass MMBench 了解一下!

MMBench 是 OpenCompass 研究团队自建的视觉语言模型评测数据集,可实现从感知到认知能力逐级细分评估。研究团队从互联网公开信息与权威基准数据集采集约 3000 道单项选择题 ,覆盖目标检测、文字识别、动作识别、图像理解、关系推理等 20 个细粒度评估维度。

OpenCompass的博客 7826

Ubuntu 22.04下ChatGLM2-6B部署与P-Tuning微调实战

大语言模型(Large Language Model)通过海量参数实现复杂语义理解,其核心在于Transformer架构的自注意力机制。在工程实践中,模型部署常面临CUDA环境配置、显存优化等挑战,而P-Tuning等参数高效微调技术能显著降低训练成本。以ChatGLM2-6B为例,在Ubuntu系统中需正确安装NVIDIA驱动和CUDA 11.7工具包,通过8bit量化技术可减少显存占用至6GB。实际应用时,结合gradio可快速搭建Web交互界面,而P-Tuning微调通过调整PRE_SEQ_LEN等关

weixin_34232744的博客 408

蓝牙耳机充电仓——功能框架

数据传输:大部分充电仓会跟耳机通信,控制耳机开机、关机和进入可搜索模式等等。蓝牙耳机给大家的生活带来便利,来讲讲TWS蓝牙耳机的搭档充电仓吧!方便携带:如果耳机单独带着,指定能弄丢一个,有了充电仓就安全多了。收纳保护:把珍爱的耳机放入充电仓里,防止丢失、磕碰、刮花等。给耳机充电:提供电力补给,让耳机持续使用。

改变自己现在能改变的,珍惜自己现在所拥有的 8949

智能变电站协议系列-1、GOOSE、SV、MMS协议简介及GOOSE示例运行问题(IEC61850)

目前有一个新的研究,关于电网使用的GOOSE、SV、MMS协议,并使用相关库来做一下测试。由于goose、sv、mms等都属于IEC61850,因此,需要对IEC61850相关内容有一些了解,都是国际标准,属于电气自动化的一部分,对于自动化或者电气相关领域有接触的专业应该或多或少有一些了解。IEC61850目标是用于变电站自动化、分布式能源、水力和天然气发电厂、风力发电厂、电动汽车作为分布式能源等领域,目前似乎在变电站自动化方面的推广和使用更加广泛。

逍遥游的博客 2万+

LangChain + ChatGLM2-6B 搭建个人专属知识库

•更强大的性能:基于 ChatGLM 初代模型的开发经验,全面升级了基座模型。ChatGLM2-6B 使用了 GLM 的混合目标函数,经过了 1.4T 中英标识符的预训练与人类偏好对齐训练,评测结果显示,相比于初代模型,ChatGLM2-6B 在 MMLU(+23%)、CEval(+33%)、GSM8K(+571%) 、BBH(+60%)等数据集上的性能取得了大幅度的提升,在同尺寸开源模型中具有较强的竞争力。•更长的上下文。

程序员鑫港的博客 1535

JavaScript教程-字符集,Unicode转义序列,标识符,数据类型,数字,未定义值,浮点数,字符串,引用数据类型,类型检测,类型转换,运算符,关系运算符,

前端学习

VAN 212

从零构建AI伴侣开源模型:新手避坑指南与实战解析

无限记忆:存储全部历史会拖慢响应解决方案:滑动窗口保留最近N轮话题跳跃:用户突然切换主题时混乱解决方案:添加特殊标记检测敏感词泄露过滤模板:pythonbanned_words = re.compile(r'暴力|色情|政治敏感词')基于火山引擎豆包大模型,从零搭建一个实时语音通话应用。它不是简单的问答,而是需要你亲手打通 ASR(语音识别)→ LLM(大脑思考)→ TTS(语音合成)的完整 WebSocket 链路。对于想要掌握 AI 原生应用架构的同学来说,这是个绝佳的练手项目。

2600_94960233的博客 503

人工智能面试总结-Python

B站:啥都会一点的研究生 公众号试读:啥都会一点的研究生 目录说说Python程序运行过程?说说Python的作用域?说说Python的数据结构?说说Python中可变与不可变类型?说说进程与线程?说说Python中的多线程?说说Python中的多进程?说说Python互斥锁与死锁?说说Lambda?说说Python的深拷贝与浅拷贝?说说Python多线程是否能用多个CPU,为什么?说说Python垃圾回收机制?说说Python里的生成器?说说迭代器与生成器的区别?说说Python 列表的 del,rem.

啥都生的博客 1万+

C#实现网络寻路(附完整源码)

C#实现网络寻路(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 423

大模型入门难?某学长亲测,这个开源模型最适合新手!附保姆级学习路线

今天直接甩你一套“新手村通关秘籍”,从零代码基础到能跑通第一个模型,手把手教你选对工具、避开深坑!

python1234567_的博客 502

CLASSB类移植(满足IEC 60730-1和60355-1标准)

针对软件认证需要满足IEC 60730-1和60335-1标准,ST公司专门提供的软件扩展包X-CUBE-CLASSB,它包含自测库和文档,支持多种STM32系列芯片,通过预集成测试库和标准化流程,帮助开发者快速满足国际安全标准,适用于家电、工业控制等高可靠性场景。ClassB软件包程序检测内容分为两个主要部分:启动时的自检和运行时的周期自检,MCU在上电的时候会进行复位启动,在启动完成以后会进行运行自检。

m0_61973119的博客 1402

ChatGLM3模型压缩部署终极指南:从训练到移动端的完整优化流程

**ChatGLM3模型压缩部署**是每位开发者都需要掌握的关键技能!作为智谱AI和清华大学KEG实验室联合发布的开源双语对话语言模型,ChatGLM3-6B在保留前两代模型优秀特性的基础上,引入了更强大的基础模型、完整的工具调用支持和全面的开源序列。本文将为您提供从模型训练到移动端部署的完整优化指南,帮助您轻松实现高效部署!🚀 ## 📊 ChatGLM3模型架构与特性 ChatGLM3-

gitblog_00750的博客 1133

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

手把手教你用ChatGLM-6B:从本地部署到Ptuning微调实战(避坑指南)

本文详细介绍了ChatGLM-6B大模型的本地部署与Ptuning微调实战,涵盖环境配置、硬件适配、模型量化及高效微调等关键步骤。针对不同显卡提供优化方案,并分享性能优化技巧,帮助开发者快速实现智能应用部署。特别适合中文处理场景,是构建AI应用的实用指南。

weixin_33713350的博客 561

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

使用自有数据集微调ChatGLM2-6B

P-Tuning v2的原理是通过对已训练好的大型语言模型进行参数剪枝,得到一个更加小巧、效率更高的轻量级模型。具体地,P-Tuning v2首先使用一种自适应的剪枝策略,对大型语言模型中的参数进行裁剪,去除其中不必要的冗余参数。然后,对于被剪枝的参数,P-Tuning v2使用了一种特殊的压缩方法,能够更加有效地压缩参数大小,并显著减少模型微调的总参数量。

十年以上架构设计经验,专注于软件架构和人工智能领域,对机器视觉、NLP、音视频等领域都有涉猎 5675

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

ChatGLM两代的部署/微调/实现:从基座GLM、ChatGLM的LoRA/P-Tuning微调、6B源码解读到ChatGLM2的微调与实现

随着『GPT4多模态/Microsoft 365 Copilot/Github Copilot X/ChatGPT插件』的推出,绝大部分公司的技术 产品 服务,以及绝大部分人的工作都将被革新一遍类似iPhone的诞生 大家面向iOS编程 有了App Store现在有了ChatGPT插件/GPT应用商店,以后很多公司 很多人面向GPT编程(很快技术人员分两种,一种懂GPT,一种不懂GPT)然ChatGPT/GPT4基本不可能开源了,而通过上文《

结构之法 算法之道 6万+
上一篇: 从0入门大模型,看这5本就够了!
下一篇: 10分钟在笔记本上安装Llama 3
Python_金钱豹
博客等级 码龄5年 1万+粉丝 2835原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值