本文采用Stanford Alpaca中提供的alpaca_data.json指令数据集进行参数高效微调,但是在Alpaca-LoRA中提到该数据集存在一些噪声,因此,他们对该数据集做了清洗后得到了alpaca_data_cleaned.json文件。采用该数据集进行训练大概率会得到更好结果。 数据预处理 下载ChatGLM-Tuning代码,并切换到对应的commitid保证代码的一致性。
6. 使用Finetune方法,4bit量化的情况下可以用7GB,否则需要十几个GB,全量微调的话需要50多个GB,使用4张A100可以跑起来。 7. 借助NVIDIA Pytorch,可在Linux机器上起一个Torch container,方便快捷地进行环境配置。 8. 下载checkpoint可以参考hugging face view,需首先下载git-lfs并按照操作系统进行操作。手动下载也可...
lora 用的 huggingface 的 peft: https://github.com/huggingface/peft 训练部分写了两个版本: 一个是参考 peft 的 https://github.com/huggingface/peft/tree/main/examples60G 内存 batch size 1 跑了60:06:35,2 跑到200左右个 batch 就内存不足了另一个直...
本文采用Stanford Alpaca中提供的alpaca_data.json指令数据集进行参数高效微调,但是在Alpaca-LoRA中提到该数据集存在一些噪声,因此,他们对该数据集做了清洗后得到了alpaca_data_cleaned.json文件。采用该数据集进行训练大概率会得到更好结果。 数据预处理 下载ChatGLM-Tuning代码,并切换到对应的commitid保证代码的一致性。
Lora Finetune:ChatGLM3/finetune_demo/lora_finetune.ipynb at main · THUDM/ChatGLM3 目标: 未经过训练的 大语言模型, 一般会把"平安格勒战役"当做"列宁格勒战役"解释, 会把 "Ichiban" 当做日语单词"いちばん"解释. 现在要通过对话样本Lora微调, 训练ChatGLM3 6B模型 认知"平安格勒战役" 和 "Ichiban"...
实验中支持使用LoRA Finetune和P-Tuning两种微调方式。 运行train.sh文件,根据自己 GPU 的显存调节batch_size,max_source_seq_len,max_target_seq_len参数: # LoRA Finetune python train.py \ --train_path data/mixed_train_dataset.jsonl \ --dev_path data/mixed_dev_dataset.jsonl \ ...
正常启动(注意模型的位置,可以vim查看cli_demo.py中的MODEL_PATH) 微调依赖 # 官方准备的微调示例cd/root/autodl-tmp/ChatGLM3/finetune_demo/# 安装依赖pipinstall-rrequirements.txt 等待依赖安装完毕 本章小结 到此,环境的准备工作已经完成!下一节我们开始微调!
lora.yaml/ptuning.yaml/sft.yaml: 模型不同方式的配置文件,包括模型参数、优化器参数、训练参数等。 这里选择LoRA,配置文件中的参数描述如下: 训练模式 这里主要使用finetune_hf.py该文件进行微调操作。其中的参数 第一个参数:数据集的路径 第二个参数:模型的路径 ...
使用ChatGLM3-6B模型进行Lora微调旨在解决大语言模型对于专有名词理解的偏差问题。例如,未经过训练的模型可能会将"平安格勒战役"误识别为"列宁格勒战役",将" Ichiban"误解为日语单词"いちばん"。通过对话样本Lora微调,我们训练ChatGLM3-6B模型以准确识别"平安格勒战役"和" Ichiban"。训练过程中,我们...
!python work/finetune_generation.py \ --output_dir soul_lora/chatglm-6b_lora \ --per_device_train_batch_size 4 \ --gradient_accumulation_steps 2 \ --per_device_eval_batch_size 8 \ --model_name_or_path 'THUDM/chatglm-6b' \ --task_name_or_path soul \ --num_train_epochs 20 ...