大模型微调项目 / 数据集调研汇总,零基础入门到精通,收藏这一篇就够了

【大模型】模型微调(非常详细)从入门到精通,看这一篇就够了 本文结合示例简单讨论如何使用LoRA微调 (FT) 预训练的 LLM。LoRA原理将在接下来的文章里详细讨论。 阅读详情

前言

本文主要总结本人最近跑过的大模型微调项目。

相信大家这几个月都会不断新出的微调大模型项目刷屏,频率基本每天都有高星的项目诞生,部分还宣称自己达到GPT的百分之多少,一方面弄得大家过度乐观,一方面弄得大家焦虑浮躁。

面对这种情况,我的建议是「多动手」。把这些项目 clone 下来,跑跑代码,把项目用到的数据集下载下来做做EDA,把项目训练完的checkpoint下载下来,用自己的例子跑跑。多接触反而心态平定了许多。

回归正题,这篇博文聊聊一些热门的大模型微调项目。首先我觉得大量这些项目的诞生是源于以下三个节点:

  • 节点1 ChatGPT:由于 ChatGPT 惊人的效果,让大家意识到AGI的可能性,并重视起了大模型+开放指令微调+强化学习这种三阶段范式

  • 节点2 LLaMA:LLaMA 是 Meta 在今年2月份推出的基座模型,宣称 LLaMA-13B 在大多数基准测试中超过了 GPT-3 (175B),而 LLaMA-65B 与最好的模型 Chinchilla70B 和 PaLM-540B 相比非常有竞争力。此外,该项目还开源了7B、13B、30B和65B版本。

  • 节点3 Stanford Alpaca:在 LLaMA 的基础上,用 Self-Instruct 去制造了52K的指令微调数据集,最后发现训练出来的模型确实是能听懂指令的,能看出ChatGPT的雏形

这三个节点加起来相当于证明了一条可以低成本复现的道路,然后大量的人沿着这条道路去进行时间。

再来说说这些项目的,本质都是:底座模型(ChatGLM/LLaMA/BLOOM)+ 微调数据(主要是指令微调数据集) + 高效微调方案(Fulltuning/Lora/Freeze/Ptuning)。

项目

这些介绍几个我认为比较好的,好的定义是:Github star 比较高的,持续在维护更新的,同时作者对自己的项目做了详细解析和深入研究的。

ChatGLM-6B

清华唐杰老师团队

项目: https://github.com/THUDM/ChatGLM-6B

Blog: https://chatglm.cn/blog

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于GLM架构,具有62亿参数。ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约1T个标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持。为了方便下游开发者针对自己的应用场景定制模型,项目还开源了基于 P-Tuning v2(https://github.com/THUDM/P-tuning-v2) 的高效参数微调代码。

亮点:

  • GLM 是一种 Prefix decoder 的结构,而目前大模型采用的主流结构是 Casual decoder,可以说GLM走出了自己的道路,但究竟那种结构更优,需要更科学的评定

  • 1T 个token的中英文预训练,对比 175B 的 GPT3 训练了300B个 token,540B的 PaLM 训练了780B个 token,而 ChatGLM-6B 的底座只是6B的模型,却训练了1T个 token,让人有种憧憬,用大数据训练小模型,是否能达到小数据训练大模型的效果

  • 项目号称经过监督微调、反馈自助、人类反馈强化学习

但是 ChatGLM-6B 没有公布它的训练细节和语料是怎么做的,有人说 ChatGLM-6B 的 IFT 也是通过 self-Instruct 得到的,这也不是空穴来风,相信用过 ChatGLM-6B 的人都会觉得,ChatGLM-6B的回复风格跟ChatGPT十分相似。

Alpaca-CoT

中科院的学生做的项目

项目:https://github.com/PhoebusSi/Alpaca-CoT/blob/main/CN_README.md

多接口统一的大模型指令微调平台。该项目做了一个框架,利用这个框架,可以方便地用不同的底座模型+不同的指令数据集进行大模型的微调,不足的地方是,只提供了使用Lora的训练方式。除此之外,该项目主打一个思维链 (CoT),把CoT数据集加入到指令微调中,在项目中还举了很多案例,证明加入了CoT数据集后对模型的提升作用。

亮点:

  • 统一了多个底座模型,包括有 LLaMA、ChatGLM、BLOOM

  • 整理统一了其他公开项目的数据集,如果大家想梳理下现在市面上开源的IFT数据集,建议可以通过这个项目了解

  • 项目集成了 Int8-bitsandbytes、Fp16-mixed precision、LoRA(hugging peft库)等高效训练的方法

  • 首个加入了 CoT 训练后的效果研究

BELLE

贝壳团队开源的项目

项目:https://github.com/LianjiaTech/BELLE

项目基于 Deepspeed-Chat 项目,包括全量参数微调(fine-tuning)和基于LoRA的参数高效微调。

亮点:

  • 开源了一个规模巨大的中文IFT数据集,现在加起来有300万以上,基本都是通过Self-Instructi得到

  • 做了一系列的实验,截止日前已发了4篇技术报告

  • 《Exploring ChatGPT’s Ability to Rank Content: A Preliminary Study on Consistency with Human Preferences》

  • 《Exploring the Impact of Instruction Data Scaling on Large Language Models: An Empirical Study on Real-World Use Cases》

  • 《Towards Better Instruction Following Language Models for Chinese: Investigating the Impact of Training Data and Evaluation》

  • 《A Comparative Study between Full-Parameter and LoRA-based Fine-Tuning on Chinese Instruction Data for Instruction Following Large Language Model》

建议大家把它们的数据集下载下来看看,并把这4篇实验报告都看一次。虽然这些实验并不是很客观,例如最后的test集也是用的belle自己的,然后用的是GPT3.5打分。不过整体的实验思路和实验结果还是可以大致参考的。

Chinese-LLaMA-Alpaca

科大讯飞&哈工大团队,很出名的团队,很多耳熟能详的中文预训练模型,如RoBERTa、MacBERT、PERT都出自它们团队

项目:https://github.com/ymcui/Chinese-LLaMA-Alpaca

该项目包括词表扩充、继续预训练和指令精调三部分,其中词表扩充的代码参见 merge_tokenizers.py ;预训练和指令精调代码参考了 transformers中的 run_clm.py 和 Stanford Alpaca 项目中数据集处理的相关部分。

亮点:

  • 相对完整的流程,不紧紧是指令微调这一步,还包括词表扩充、继续预训练

  • 针对LLaMA模型扩充了中文词表,提升了中文编解码效率。这一步是我觉得假如想用LLaMA去做中文必须要做的一个事情,因为原生LLaMA对中文支持不好,很多中文词不在它们的词表中,会被切成两个token,极大影响了效果

  • 对中文继续做了20G语料的预训练,这个预料规模一看就很熟,它们开源的RoBERTa、MacBERT也是在这个规模的预料上训练得到的

  • 在预训练介绍,分成两部分,第一阶段:冻结transformer参数,仅训练embedding,在尽量不干扰原模型的情况下适配新增的中文词向量,第二阶段:使用LoRA技术,为模型添加LoRA权重(adapter),训练embedding的同时也更新LoRA参数。这给大家做高效继续预训练的提供了一个方向。

StackLLaMA

项目:https://huggingface.co/spaces/trl-lib/stack-llama

Blog: https://huggingface.co/blog/stackllama

Hugging Face的研究人员发布的一个70亿参数的模型——StackLLaMA。这是一个通过人类反馈强化学习在LLaMA-7B微调而来的模型。

个人感觉有价值的是Hugging Face研究人员发布的一篇Blog:用RLHF训练LLaMA的实践指南。

亮点:

  • 博客更像是一个教程和指南,介绍如何使用RLHF来训练模型,而不是主要关注模型的性能表现

  • 重点介绍了指令微调和强化学习部分,其中强化学习部分利用的是StackOverflow构建的数据集,利用网民们的upvotes去进行评分,给我们构造强化学习数据集部分提供了一个思路,能否利用微博点赞、知乎点赞等数据去构造一个中文的强化学习数据集呢?

数据集

介绍几个比较有特色的中文数据集

Alpaca-CoT

对大部份中英文的开源IFT数据集进行了整理和汇总,包括有 Guanaco、belle、firefly、COIG,加上项目自己开源的CoT数据集。假如不想自己去疏离数据集的话,就看这个它们整理好的就行了。

Alpaca_GPT4

https://github.com/Instruction-Tuning-with-GPT-4/GPT-4-LLM

微软论文《INSTRUCTION TUNING WITH GPT-4》开源的数据集。亮点是利用 GPT-4 生成的 Alpaca 数据,并做了中文的翻译。由于GPT4比GPT3.5强大很多的,因此质量自然会更高。

belle_data

https://github.com/LianjiaTech/BELLE/tree/main/data/10M

规模很大、类型也较多的数据集

  • School Math:包含约25万条中文数学题数据,包含解题过程。

  • Multiturn Chat:包含约80万条用户与助手的多轮对话。

  • Generated Chat:包含约40万条给定角色的多轮对话。

  • train_2M_CN:包含约200万条与Alpaca类似生成的多样化指令任务数据。

这些数据都是由ChatGPT生成,部分质量是不过关的,需要自己好好筛选一下。

COIG

https://huggingface.co/datasets/BAAI/COIG

规模很大,类型很全的数据集

  • 翻译指令数据集:基于开源数据集精选得到,并通过DeepL高质量翻译、并进行人工验证+人工修正

  • 考试指令数据集:中国高考、中考、公务员考试得到,可用作思维链 (CoT) 语料库

  • 价值对齐数据集:「中文世界的价值观念不同于英语世界的价值观」,作者构建了与普世华人价值观match的数据集,也是通过 self-instruct 生成的

  • 反事实校正数据集:构建了反事实校正多轮聊天数据集(CCMC)。CCMC 数据集包括学生和老师之间的 5 轮角色扮演聊天,以及他们所参考的相应知识。教师根据基本事实知识生成响应,并在每一轮中纠正学生问题或陈述中的事实错误或不一致之处

  • 代码指令数据集:Leetcode 数据集,包含有代码到文本和文本到代码

总体来说,这份数据集质量非常高,需要我们好好根据任务进行挑选。

个人感悟

数据清洗方案如何更好?

  1. 多样性:例如在 Self-Instruct 论文中,会使用 ROUGE 指标,过滤掉生成的指令与已有指令重合的指令。

  2. 高质量:使用 ChatGPT 生成数据,自然训练出来的模型就是模仿 ChatGPT 的回复风格。然而,ChatGPT(指 GPT3.5)自身的缺点包括浓浓的机翻味道、文绉绉的、不够活泼可爱,其次中文生成不够流畅。一种思路是使用 PPL 等指标筛选出生成的指令和回复,计算困惑度 Perplexity。Perplexity 低的通常是不流畅的,可以将低于一定阈值的去掉。

  3. 启发式:例如过滤掉问题是中文但回答是英文的,过滤掉生成的指令包含需要外部知识库的情况。

更多的清洗方案,可以多看看开源数据集中它们是如何处理的,留意里面的数据清洗方式。

哪种微调方案比较好?

从 BELLE 的技术报告《A Comparative Study between Full-Parameter and LoRA-based Fine-Tuning on Chinese Instruction Data for Instruction Following Large Language Model》中可以看出,Full-Tuning 效果应该是最好的,但 Full-Tuning 需要机器资源多,训练时间长。其次是 P-TuningV2/Lora/Freezing 的话,貌似是 P-TuningV2 效果最佳,具体可以看这个https://github.com/liucongg/ChatGLM-Finetuning。然而,这些比较并不严谨,例如每个方案都有自己的超参,是否每个方法都做了超参搜索。

强化学习部分重要吗?

非常重要。现在发现 ChatGLM-6B 的回复虽然一看过去感觉像模像样,但仔细看会发现胡言乱语的情况很严重,也即幻觉问题。也有人会另辟蹊径,例如 COIG 中的 CCMC 数据集,通过将这些数据集加入到 IFT 训练中,让模型学习纠正不正确回复的能力。还有在 prompt 中加入“请不要生成虚假的、自我捏造的回复”等字眼,目的是让模型在生成更加谨慎。然而,这些都是折中的办法。个人认为减少幻觉问题这一步,还得靠强化学习。希望未来能看到更多构建强化学习数据和开源强化学习数据集、训练的方案。

AI大模型学习福利

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版优快云大礼包:《AGI大模型学习资源包》免费分享

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版优快云大礼包:《AGI大模型学习资源包》免费分享

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版优快云大礼包:《AGI大模型学习资源包》免费分享

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版优快云大礼包:《AGI大模型学习资源包》免费分享

四、AI大模型商业化落地方案

img

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

2024最新版优快云大礼包:《AGI大模型学习资源包》免费分享

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

大模型常用微调数据集 然后,每次随机抽取了 8 个指令作为示例,以此提示 GPT-3 生成了新的指令,之后在这些已有指令的基础上,继续利用 GPT-3 生成实例输入及其对应的输出,从而获得了更多数据。Alpaca-52K 数据集同样是基于 self-instruct 方法进行构建的,它是在 Self-Instruct-52K 的 175 个种子任务上,利用 OpenAI 的 text-davinci-003模型获得了 52K 个不重复的指令,并根据指令和输入生成了输出,进而构成了完整的实例数据。 阅读详情

相关推荐

大语言模型的指令微调(Instruction Tuning)最全综述:从数据集到技术全解析

此前,我们已经介绍了大模型的三类微调技术(实际案例说明AI时代大语言模型三种微调技术的区别——Prompt-Tuning、Instruction-Tuning和Chain-of-Thought:https://www.datalearner.com/blog/1051681306547159)。但实际上,大模型的微调还可以分成很多种。从微调的参数规模来说,可以简单分为全参数微调和高效参数微调。前者一般是用预训练模型作为初始化权重,在特定数据集上继续训练,全部参数都更新的方法。

具身机器人和通用AI 3万+

学大模型必看!手把手带你从零微调大模型!

今天分享一篇技术文章,你可能听说过很多大模型的知识,但却从未亲自使用或微调过大模型。 今天这篇文章,就手把手带你从零微调一个大模型。大模型微调本身是一件非常复杂且技术难度很高的任务,因此本篇文章仅从零开始,手把手带你走一遍微调大模型的过程,并不会涉及过多技术细节。希望通过本文,你可以了解微调大模型的流程。

kiiy2的博客 1830

单片机NTC热敏电阻测温:六种实用电路方案与选型指南

本文详细介绍了单片机系统中NTC热敏电阻测温的六种实用电路方案,包括分压法、恒流源法、RC充放电法、电桥法、频率法及集成专用IC方案,并提供了关键的硬件选型指南和软件处理技巧,帮助工程师实现高精度、低成本的温度测量。

herb5的博客 820

【2024最新】深入了解 大语言模型(LLM)微调方法(总结)

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。即更新模型所有权重的过程,被称为全微调。需要注意的是,与预训练一样,全微调需要足够的内存和计算预算来存储和处理训练过程中的所有梯度、优化器和其他更新组件。其中,大模型微调技术在此过程中起到了非常关键的作用,它提升了模型的生成效率和适应性,使其能够在多样化的应用场景中发挥更大的价值。

m0_48891301的博客 3860

从ResNet到EfficientNet:特征金字塔网络(FPN)在不同骨干网中的适配指南

本文深入探讨了特征金字塔网络(FPN)与ResNet、VGG、EfficientNet等主流骨干网络的适配策略。文章详细解析了FPN的核心原理,并针对不同骨干网络的特征提取特性,提供了通道对齐、参数量估算及迁移学习的系统化指南,旨在帮助开发者在目标检测等视觉任务中构建高性能、高效率的模型。

weixin_29047919的博客 221

新能源知识库(62)组串式、集中式和高压直挂式

因需多台PCS及独立监控设备,单位功率成本比集中式高15%–20%。高压直挂式因省去变压器,大容量项目成本更低(>5MW时优势显著)。组串式储能、集中式储能和高压直挂式储能是当前主流的三类技术路线,其核心差异源于系统架构和控制逻辑的设计差异。组串式交流侧需变压器升压至10kV/35kV,高压直挂式可直接输出6kV/35kV电压,减少转换损耗。多台小功率PCS并联(每簇独立管理)单台大功率PCS(多簇直流侧并联)环流导致容量衰减(损失5%–8%)无变压器损耗(效率>99%)高压直挂电站(≥10MW)

竹君子之家 1515

【2025版】最新大模型微调项目 / 数据集调研汇总,零基础入门到精通,收藏这篇就够了

总结了一些热门的大模微调项目的亮点以及数据集。 >>加入极市CV技术交流群,走在计算机视觉的最前沿本文主要总结本人最近跑过的大模型微调项目。相信大家这几个月都会不断新出的微调大模型项目刷屏,频率基本每天都有高星的项目诞生,部分还宣称自己达到GPT的百分之多少,一方面弄得大家过度乐观,一方面弄得大家焦虑浮躁。面对这种情况,我的建议是「多动手」。把这些项目 clone 下来,跑跑代码,把项目用到的数据集下载下来做做EDA,把项目训练完的checkpoint下载下来,用自己的例子跑跑。多接触反而心态平定了许多。回

Javachichi的博客 4432

告别手动改代码!用SSC工具5分钟搞定EtherCAT从站动态模块配置(含Excel模板)

本文详细介绍了如何利用SSC工具和Excel模板实现EtherCAT从站动态模块配置的自动化流程。通过零代码修改的动态配置方案,大幅提升工业自动化产线的灵活性和效率,配置时间从平均4小时缩短至8分钟,错误率下降96%。文章包含Excel模板设计、实战演示和避坑指南,助力工程师快速掌握这一高效工具。

weixin_28339967的博客 570

大模型微调项目 / 数据集调研汇总

本文主要总结本人最近跑过的大模型微调项目。相信大家这几个月都会不断新出的微调大模型项目刷屏,频率基本每天都有高星的项目诞生,部分还宣称自己达到GPT的百分之多少,一方面弄得大家过度乐观,一方面弄得大家焦虑浮躁。面对这种情况,我的建议是「多动手」。把这些项目 clone 下来,跑跑代码,把项目用到的数据集下载下来做做EDA,把项目训练完的checkpoint下载下来,用自己的例子跑跑。多接触反而心态平定了许多。回归正题,这篇博文聊聊一些热门的大模型微调项目。

优快云_224022的博客 1860

微信支付开发之平台给用户转账到零钱的功能

请求消息中应包含商家批次单号、转账名称、appid、转账总金额、转账总笔数、转账openid、收款用户姓名等信息。批次已受理成功,若发起批量转账的30分钟后,转账批次单仍处于该状态,可能原因是商户账户余额不足等。【转账场景ID】 该批次转账使用的转账场景,如不填写则使用商家的默认场景,如无默认场景可为空,可前往“商家转账到零钱-前往功能”中申请。【转账总笔数】 一个转账批次单最多发起一千笔转账。【商家批次单号】 商户系统内部的商家批次单号,要求此参数只能由数字、大小写字母组成,在商户系统内部唯一。

程序员weixin_sodomany的博客 3450

《数据结构》04-树4 是否同一棵二叉搜索树

题目 给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。 输入格式: 输入包含若干组测试数据。每组数据的第1行给出两个正整数N (≤10)和L,分别是每个序列插入元素的个数和需要...

叫我皮卡丘 2012

大模型微调项目 / 数据集调研汇总,零基础入门到精通,收藏这篇就够了

本文主要总结本人最近跑过的大模型微调项目。相信大家这几个月都会不断新出的微调大模型项目刷屏,频率基本每天都有高星的项目诞生,部分还宣称自己达到GPT的百分之多少,一方面弄得大家过度乐观,一方面弄得大家焦虑浮躁。面对这种情况,我的建议是「。把这些项目 clone 下来,跑跑代码,把项目用到的数据集下载下来做做EDA,把项目训练完的checkpoint下载下来,用自己的例子跑跑。。回归正题,这篇博文聊聊一些热门的大模型微调项目。

Python_0011的博客 1040

【异常】飞书OpenClaw机器人 HTTP 401: Invalid Authentication 报错排查与解决方案

HTTP 401 是HTTP协议标准定义的未授权(Unauthorized)状态码,核心含义为请求方身份认证无效,服务端拒绝执行本次请求。飞书开放平台服务端对自建机器人的全链路鉴权校验失败。无论是机器人接收飞书事件推送的上行请求,还是机器人主动调用飞书开放平台API的下行请求,只要身份凭证无效、鉴权逻辑校验不通过,飞书服务端就会返回该报错,并最终透传到飞书客户端会话窗口中。

奶爸的编程之路,也就一周冷个三天 3761

【2025版】最新大模型微调项目 数据集调研汇总,零基础入门到精通,收藏这篇就够了

本文主要总结本人最近跑过的大模型微调项目。相信大家这几个月都会不断新出的微调大模型项目刷屏,频率基本每天都有高星的项目诞生,部分还宣称自己达到GPT的百分之多少,一方面弄得大家过度乐观,一方面弄得大家焦虑浮躁。面对这种情况,我的建议是「多动手」。把这些项目 clone 下来,跑跑代码,把项目用到的数据集下载下来做做EDA,把项目训练完的checkpoint下载下来,用自己的例子跑跑。多接触反而心态平定了许多。回归正题,这篇博文聊聊一些热门的大模型微调项目。

Python单行客的博客 1199

Oracle 11g安装教程(保姆级超详细安装教程)

Oracle详细安装步骤,每一步都配有图例引导 ORACLE是数据库(Oracle服务端)。是连接数据库的客户端(Oracle客户端)。是连接oracle的可视化客户端软件。

2302_81846649的博客 1万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

大模型微调项目与数据集调研汇总:全景剖析与深度解读

本文主要总结本人最近跑过的大模型微调项目。相信大家这几个月都会不断新出的微调大模型项目刷屏,频率基本每天都有高星的项目诞生,部分还宣称自己达到GPT的百分之多少,一方面弄得大家过度乐观,一方面弄得大家焦虑浮躁。面对这种情况,我的建议是「多动手」。把这些项目 clone 下来,跑跑代码,把项目用到的数据集下载下来做做EDA,把项目训练完的checkpoint下载下来,用自己的例子跑跑。多接触反而心态平定了许多。

2401_85343303的博客 1040

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【2025】LLM微调技术调研,从零基础到精通,精通收藏这篇就够了!

首先对模型微调下个非严谨的定义,大模型微调(Fine-tuning)是指在预训练模型基础之上,采用标注的高质量数据集或基于人类反馈机制对基础模型进行训练,最终输出具备或增强特定领域能力模型的技术。

Python_0011的博客 1895

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

大模型微调调研

经典的Fine tuning就是 算是叫做继续训练?经典的Fine tuning方法包括将预训练模型与少量特定任务数据一起继续训练。在这个过程中,预训练模型的权重被更新,以更好地适应任务。所需的Fine-tuning量取决于预训练语料库和任务特定语料库之间的相似性。如果两者相似,可能只需要少量的Fine tuning。如果两者不相似,则可能需要更多的Fine tuning。与Prompt不同,Instruction通常是一种更详细的文本,用于指导模型执行特定操作或完成任务。

Alexa_的博客 1691

大模型学习的思考,零基础入门到精通,收藏这篇就够了

这就是最近这几周在做的事情。在以往的过去,AI应用很难落地,反正不懂机器学习的小伙伴基本无法使用。现在不一样了,大模型的出现,大大提高了生产效率。也许有小伙伴说,目前也就琴棋书画方面,最近OpenAI的直播,不知道小伙伴们看了没有,反正我是看了,还是挺震惊的。之前我自己的方向是大数据,但是利用工作日外的时间,努力学习大模型的知识。目前感觉到两方面知识是互相补充的,毕竟大模型的要素之一就是数据。

leah126的博客 1133

大模型微调技术调研

根据任务需求和资源情况,选择合适的预训练模型,考虑模型的规模、性能和适用领域等因素。收集和标注高质量的训练数据,并合理划分训练集和验证集,确保数据的代表性和多样性。的任务,适应复杂的业务场景和专业需求。微调周期长,对计算资源要求高。,让模型能够更加精准地处理。

sqaure1的博客 744

大模型产品经理学习路线,2024最新,从零基础入门到精通,非常详细收藏我这一篇

随着人工智能技术的发展,尤其是大模型(Large Model)的兴起,越来越多的企业开始重视这一领域的投入。作为大模型产品经理,你需要具备一系列跨学科的知识和技能,以便有效地推动产品的开发、优化和市场化。以下是一份详细的大模型产品经理学习路线,旨在帮助你构建所需的知识体系,从零基础到精通。

2401_85375151的博客 2651

全面解析大模型产品经理岗位职责:从入门到精通,一篇全懂!收藏我这篇就够了!

产品:开源企业级LLMops(大模型应用开发平台):毕昇BISHENG。7800+ Github Star,被多名开发者评价为“目前见过功能最强大,最适合企业内落地的开源大模型应用开发平台”,已服务工商银行、交通银行、中国人寿、中粮集团、中核集团、宁德时代、快手、中电建等众多头部组织及世界500强企业。详细介绍文档:https://dataelem.feishu.cn/wiki/ZxW6wZyAJicX4WkG0NqcWsbynde。

2401_85343303的博客 2231

大模型微调发展-学习调研总结

针对于小公司,如何能够利用开源的大模型,在自己的数据上继续训练,从而应用于自己的业务场景?或低成本的方法微调大模型。目前主流的方法包括2019年Houlsby N等人提出的, 2021年微软提出的,斯坦福提出的,谷歌提出的, 2022年清华提出的方法各自都有自己的特点,从个人使用情况来说,LORA的效果会好与其他几种方法。

weixin_44077556的博客 9871

AI大模型产品经理学习路线,2025最新,从AI产品经理零基础入门到精通,非常详细收藏我这一篇够了!

随着人工智能技术的发展,尤其是大模型(Large Model)的兴起,越来越多的企业开始重视这一领域的投入。作为大模型产品经理,你需要具备一系列跨学科的知识和技能,以便有效地推动产品的开发、优化和市场化。以下是一份详细的大模型产品经理学习路线,旨在帮助你构建所需的知识体系,从零基础到精通。

m0_63171455的博客 1585
上一篇: 如何高效微调大模型?五大前沿 PEFT 技术为你揭晓,零基础入门到精通,收藏这一篇就够了
下一篇: 干货总结——《网络安全》专业有哪些工作方向?(非常详细)零基础入门到精通,收藏这一篇就够了
程序员_大白
博客等级 码龄5年 1万+粉丝 4001原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值