LLM-SFT,新微调数据集-MWP-Instruct(多步计算 + 一、二元方程),微调Bloom, ChatGLM, LlaMA(支持QLoRA, TensorBoardX)

这篇具有很好参考价值的文章主要介绍了LLM-SFT,新微调数据集-MWP-Instruct(多步计算 + 一、二元方程),微调Bloom, ChatGLM, LlaMA(支持QLoRA, TensorBoardX)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

LLM-SFT

中文大模型微调(LLM-SFT), 支持模型(ChatGLM, LlaMA, Bloom), 支持(LoRA, QLoRA, DeepSpeed, UI, TensorboardX), 支持(微调, 推理, 测评, 接口)等.

项目地址

https://github.com/yongzhuo/LLM-SFT

踩坑

LoRA: ChatGLM已经微调比较好了, 垂直领域数据继续微调甚至会带来性能下降, 建议至多不超过200w-epoch(R=8的情况);
QLoRA: 不要使用.cuda(), GPU至少为英伟达图灵架构往上【备注】当前(2023.06)QLoRA只是节约显存, 并不能加速训练;

LoRA权重

Bloomz-7B-GPT4ForALL: https://huggingface.co/Macropodus/MWP-Instruct
ChatGLM-6B-GPT4ForALL: https://huggingface.co/Macropodus/MWP-Instruct
LlaMA-7B-GPT4ForALL: https://huggingface.co/Macropodus/MWP-Instruct
ChatGLM-6B-MWP: https://huggingface.co/Macropodus/MWP-Instruct

微调数据

  1. 原始数据来自https://github.com/LYH-YF/MWPToolkit

处理后的微调数据(多步计算+一/二元解方程)-MWP: https://huggingface.co/datasets/Macropodus/MWP-Instruct

  1. 大数加减乘除来自: https://github.com/liutiedong/goat.git

微调样例

地址: llm_sft/ft_chatglm

配置: llm_sft/ft_chatglm/config.py
训练: python train.py
推理: python predict.py
验证: python evaluation.py
接口: python post_api.py

环境配置

1.详见LLM-SFT/requirements.txt
transformers>=4.26.1
torch>=1.10.1
peft>=0.2.0

2.注意QLoRA需要的版本更高些, 详见LLM-SFT/llm_sft/ft_qlora/requirements.txt
transformers>=4.30.0.dev0
accelerate>=0.20.0.dev0
bitsandbytes>=0.39.0
peft>=0.4.0.dev0
torch>=1.13.1

数据集-中文

  • https://huggingface.co/datasets/JosephusCheung/GuanacoDataset
  • https://huggingface.co/datasets/shareAI/shareGPT_cn
  • https://huggingface.co/datasets/Mutonix/RefGPT-Fact
  • https://huggingface.co/datasets/BAAI/COIG
  • https://github.com/Instruction-Tuning-with-GPT-4/GPT-4-LLM
  • https://github.com/carbonz0/alpaca-chinese-dataset
  • https://github.com/LianjiaTech/BELLE
  • https://github.com/PhoebusSi/Alpaca-CoT
  • https://github.com/Hello-SimpleAI/chatgpt-comparison-detection
  • https://github.com/yangjianxin1/Firefly
  • https://github.com/XueFuzhao/InstructionWild
  • https://github.com/OpenLMLab/MOSS
  • https://github.com/thu-coai/Safety-Prompts
  • https://github.com/LAION-AI/Open-Assistant
  • https://github.com/TigerResearch/TigerBot

参考/感谢

  • https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard
  • https://github.com/THUDM/ChatGLM-6B
  • https://github.com/THUDM/GLM
  • https://github.com/tatsu-lab/stanford_alpaca
  • https://github.com/LianjiaTech/BELLE
  • https://github.com/huggingface/peft
  • https://github.com/mymusise/ChatGLM-Tuning
  • https://github.com/huggingface/transformers
  • https://github.com/bojone/bert4keras
  • trl
  • https://github.com/LYH-YF/MWPToolkit
  • math23k
  • https://github.com/ymcui/Chinese-LLaMA-Alpaca
  • https://github.com/bigscience-workshop/petals
  • https://github.com/facebookresearch/llama
  • https://huggingface.co/spaces/multimodalart/ChatGLM-6B/tree/main
  • https://huggingface.co/spaces/stabilityai/stablelm-tuned-alpha-chat/tree/main
  • https://github.com/artidoro/qlora

Reference

For citing this work, you can refer to the present GitHub project. For example, with BibTeX:

@misc{Keras-TextClassification,
    howpublished = {\url{https://github.com/yongzhuo/LLM-SFT}},
    title = {LLM-SFT},
    author = {Yongzhuo Mo},
    publisher = {GitHub},
    year = {2023}
}

免责申明

本项目相关资源仅供学术研究之用,严禁用于商业用途。 使用涉及第三方代码的部分时,请严格遵循相应的开源协议。模型生成的内容受模型计算、随机性和量化精度损失等因素影响,本项目不对其准确性作出保证。对于模型输出的任何内容,本项目不承担任何法律责任,亦不对因使用相关资源和输出结果而可能产生的任何损失承担责任。文章来源地址https://www.toymoban.com/news/detail-530737.html

  • 大模型权重的详细协议见THUDM/chatglm-6b, bigscience/bloomz-7b1-mt, decapoda-research/llama-7b-hf
  • 指令微调数据协议见GPT-4-LLM, LYH-YF/MWPToolkit, yangjianxin1/Firefly

到了这里,关于LLM-SFT,新微调数据集-MWP-Instruct(多步计算 + 一、二元方程),微调Bloom, ChatGLM, LlaMA(支持QLoRA, TensorBoardX)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 人工智能大语言模型微调技术:SFT 监督微调、LoRA 微调方法、P-tuning v2 微调方法、Freeze 监督微调方法

    SFT(Supervised Fine-Tuning)监督微调是指在源数据集上预训练一个神经网络模型,即源模型。然后创建一个新的神经网络模型,即目标模型。目标模型复制了源模型上除了输出层外的所有模型设计及其参数。这些模型参数包含了源数据集上学习到的知识,且这些知识同样适用于目

    2024年02月15日
    浏览(59)
  • LLaMA-Factory微调(sft)ChatGLM3-6B保姆教程

    下载LLaMA-Factory 下载ChatGLM3-6B 下载ChatGLM3 windows下载CUDA ToolKit 12.1 (本人是在windows进行训练的,显卡GTX 1660 Ti) CUDA安装完毕后,通过指令 nvidia-smi 查看 1、选择下载目录:E:llm-trainLLaMA-Factory,并打开 2、创建新的python环境,这里使用conda创建一个python空环境,选择python3.10 参考

    2024年04月13日
    浏览(67)
  • GPT3 SFT微调中文1.3B参数量文本生成模型

    本模型在中文 GPT-3 1.3B 预训练模型的基础上,通过 有监督的sft数据 训练得到,具备更强的通用生成能力,对话能力等。目前模型可以支持 单轮对话,多轮对话,知识增强 等不同输入模式。 GPT-3模型使用Transforme r的Decoder结构 ,并对Transformer Decoder进行了一些改动,原本的De

    2024年02月08日
    浏览(86)
  • GPT-LLM-Trainer:如何使用自己的数据轻松快速地微调和训练LLM

    想要轻松快速地使用您自己的数据微调和培训大型语言模型(LLM)?我们知道训练大型语言模型具有挑战性并需要耗费大量计算资源,包括收集和优化数据集、确定合适的模型及编写训练代码等。今天我们将介绍一种实验性新方法,实现特定任务高性能模型的训练。 我们的目

    2024年02月11日
    浏览(43)
  • LLMs 缩放指令模型Scaling instruct models FLAN(Fine-tuned LAnguage Net,微调语言网络)

    本论文介绍了FLAN(Fine-tuned LAnguage Net,微调语言网络),一种指导微调方法,并展示了其应用结果。该研究证明,通过在1836个任务上微调540B PaLM模型,同时整合Chain-of-Thought Reasoning(思维链推理)数据,FLAN在泛化、人类可用性和零射推理方面相对于基础模型取得了改进。论文

    2024年02月11日
    浏览(36)
  • 【llm 微调code-llama 训练自己的数据集 一个小案例】

    根据情况改就行了,jsonl格式,三个字段:context, answer, question 主要参考 https://zhuanlan.zhihu.com/p/660933421

    2024年01月21日
    浏览(67)
  • LLM微调(四)| 微调Llama 2实现Text-to-SQL,并使用LlamaIndex在数据库上进行推理

            Llama 2是开源LLM发展的一个巨大里程碑。最大模型及其经过微调的变体位居Hugging Face Open LLM排行榜(https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard)前列。多个基准测试表明,就性能而言,它正在接近GPT-3.5(在某些情况下甚至超过它)。所有这些都意味着,对于从

    2024年02月03日
    浏览(56)
  • LLM微调(二)| 微调LLAMA-2和其他开源LLM的两种简单方法

    本文将介绍两种开源工具来微调LLAMA-2。         AutoTrain是一种无代码工具,用于为自然语言处理(NLP)任务、计算机视觉(CV)任务、语音任务甚至表格任务训练最先进的模型。 核心参数含义 : llm : 微调模型的类型 — project_name : 项目名称 — model : 需要微调的基础模型

    2024年02月04日
    浏览(43)
  • LLM中的微调演变

    首先是任务驱动了微调的发展,GPT1和BERT遵循经典的预训练+微调范式,到GPT3时期,预训练任务表现为句子接龙,给定前文持续预测下一个word,当模型参数规模和训练数据增大后,GPT3面对few shot甚至是zero shot任务的表现都超越了原本的SOTA方法。 下面是几个关于zero shot,few s

    2024年02月14日
    浏览(34)
  • 【LLM】Prompt微调

    在机器学习中,Prompt通常指的是一种生成模型的输入方式。生成模型可以接收一个Prompt作为输入,并生成与该输入相对应的输出。Prompt可以是一段文本、一个问题或者一个片段,用于指导生成模型生成相应的响应、续写文本等。 一般大模型蕴含的训练数据量往往是百亿级别甚

    2024年01月17日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包