2025版最新如何从头训练大语言模型(非常详细)零基础入门到精通,收藏这篇就够了

大语言模型训练 主要介绍当前大语言模型训练过程中的数据并行、模型并行等方法;模型权重上的混合精度训练、deepspeed训练框架内容,以及LoRA、P-tuning等PEFT方法,推理加速KV cache的原理 阅读详情

写在前面

自打8月底训好自己的1.5B的LLM后,一直都没有发布一个完整的技术报告,不少小伙伴私信我催更,千呼万唤始出来。其实也没有太大动力去做,原因有三:

  • • 搞定全流程之后,对LLM确实豁然开朗不少,不过,发现要学的新东西更多了…尤其是这三个月, qwen, meta, anthropic等等发布的好文章实在太多了,真不想落下,没时间"反刍"当年的剩饭

  • • 对reansoning更感兴趣了(其实训1.5B模型的初衷,就是为了给将来从pretrain开始做reason的增强打基础)

  • • 9月保研季,保研的事情忙的焦头烂额,各种预推免与考核…还好现在终于有书读了!今天来快速捋一下路线,写个简短的technical report,更多是原理介绍性的。按我个人理解,从最简单的部分开始,逐步过渡到最繁复的环节: 模型架构-> Pretrain -> Post-Train -> Infra -> 数据侧。再掺杂一些杂项,比如工具调用,agent, 推理解码, 长文本。

大模型时代,倒不是看谁代码写的好了,只有涉猎广泛, 有训练经验, 能进行Infra的debug, 肯认真做数据,才是王道。所以我觉得眼下最有价值的文章,还得看大厂技术报告。

Model Architecture

分两块讲: 语言模型本身和对应的tokenizer构建。这部分没什么好说的, 比较简单, 大家都差不多。

基本都是llama的魔改,不过今年大家更关注inference消耗和长文本了,所以出现了各种各样的变体。其中Deepseek的MLA架构一枝独秀。不过我不想讨论MoE。

与图像生成模型还在忙着争论模型架构不同,主流自回归LLM基本都是casual attention,只是各家对MHA做了优化而已,目的是为了尽可能减少kv cache, 从而在更少的显存消耗上做到更快的推理速度,降本增效。

MQA->GQA->MLA

MQA就是把多头注意力里的多个attention head去对应一个K与V,非常朴素的想法,是kv cache节约的上界。过于暴力,今年应该没人用了,于是qwen和llama都采用了GQA,这也是我看到用得最多的架构。

GQA介于MHA与MQA之间,把attention head分成多个group, 组内共享KV,十分自然的过渡.

而最后一个MLA ,只需要少量的 KV 缓存,相当于只有 2.25 组的 GQA,但却能获得比 MHA 更强的性能。不过没法直接使用ROPE倒是一个弊病, 需要做一些改动。虽然MLA会增加一些计算,但是推理速度无疑是很快的

MHA,GQA,MQA,MLA一家子

MoE也是天生为推理加速用的…就是实在太难驯了。多模态MoE更是顶级,相当难训

Norm, Activation, Initialization

现在主流共识是用RMSNorm和SwiGLU, 比layernorm和relu两个老东西效果好多了,训练也更稳定。(不过GLM是用的GeLU和deepnorm)

为了保证训练稳定(实在太难了),一般采用预归一化,先归一化,再残差计算。据说post-norm效果更好,但不够稳定

参数初始化策略看模型大小而定。某些策略似乎能缓解loss spike现象,可见Spike No More: Stabilizing the Pre-training of Large Language Models (arxiv.org)

Long Context

今年大家都卷起来了,似乎没有1M窗口都不好意思发布模型,"大海捞针"实验上kimi还是一枝独秀。

位置编码都是ROPE, 不少工作都在探究ROPE怎么做外推/内插。此前基本就是PI和NTK。后续训练中也有逐步增大ROPE基频的.

qwen报告里使用了Dual Chunk Attention(DCA),这是training free的;后面用yarn调整注意力权重做外推.

Tokenizer与词表

不少工作都是直接挪用的别人的tokenizer, 如果自己从头训, 好处可能是在自己数据上有更高的压缩率(词表大小相同的情况下)。主流算法都是BPE或者BBPE比较多。实际训练上主要是工程优化并发的问题。

记得评估一下tokenizer的压缩率。压缩率表示文本向量化后的长度, 压缩率越高向量越短。多语言的时候也留意一下token的覆盖率, 比如llama的中文就不太行, 他们的训练数据本身中文就很少 (不知道为什么meta这么做,反而support一些其他的语言比较多)

一个非常重要的问题就是词表的修改。尤其是SFT阶段有些special token, 做agent的时候更重要了, 最好别等模型训起来了再去补词表, 否则norm的时候会乱掉,调整起来多少有些麻烦。当然,有些人也有词表剪枝的需求, 去掉冗余的token, 比如只要英文, 这样可以大大减少参数量。

词表的大小也很重要,词表越大,也会导致Loss越大。有些文章在探讨vocal size的scaling law,很有意思: Scaling Laws with Vocabulary: Larger Models Deserve Larger Vocabularies (arxiv.org)。数据瓶颈就减小词表,够的话自然上大词表,vocab size经验一般是64的倍数。

SFT

倒反天罡,先讲SFT而不是pretrain。这只是因为工程上SFT更好做而已,先拿来讲了。

实际上, SFT也有自己的麻烦之处,不比pretrain简单。LLM其实每个部分都不容易,各有各的难处罢了。

本质上也是做next token prediction loss, 和预训练大量文本的直接学习不同,由于 SFT阶段文本都是prompt起手,故而会加一个mask,只在prompt后面的部分学习Loss.

SFT阶段的基本特点:

  • • 很多词表里的special token开始发挥作用了,比如有些用来标识user, assistant之类

  • • 指令微调数据不定长。而pretrain的时候一般都是padding再pack到定长的,比如4K, - 后面可能还会长文本富集一下,逐步提升到16K,32K的训练

  • • SFT主要目的是为了让模型学会新的format,无法在此阶段引入新的知识,哪怕是大量finetune,世界知识还是在吃pretrain的老本。千万不要拿SFT学新知识! 老老实实CPT吧

  • • 和pretrain完模型只会续写不同,SFT模型需要学会在eos停下来,并且follow instruction

  • • Agent的Function call也是一种special token, 工具调用也是一个挺热门的研究方向

  • • 训练的时候SFT的lr很小。相比pretrain一般1e-4到5e-4的量级,sft可能只有1e-5到5e-5

  • • 别忘了SFT的时候也塞一些pretrain数据保持一下。

  • • 其实做SFT的时候最多的时间还是花在数据上…数据评估,配比,多阶段课程学习超超超超级重要!

SFT数据

SFT相比pretrain数据量很小,不过指令跟随能力习得完全靠这部分,所以需要更细粒度的调优把控,尤其是数据。我印象里做SFT的时候几乎100%的时间全砸在数据上了。

Quality is all your need, 应该是今年所有人的共识。数据的diversity和quality的评估一定要做好,数据量倒不是很多。

偷懒,搬运了llama 3.1的数据配比

Diversity

多样性的话一定要保证format形式多,指令涵盖的domain广, 高质量数学代码数据倒是越多越好。

打标签:一般借助强模型对文本进行label,看看Instag那篇文章[2308.07074] #InsTag: Instruction Tagging for Analyzing Supervised Fine-tuning of Large Language Models (arxiv.org), 构造一棵多级标签树, 然后由此控制数据配比。

关于Repeat: 有些难样本是需要repeat多个epoch的,不过具体该多少epoch好像没有统一说法, 一般是暴力跑实验测出来的…或者拍脑袋想个数(bushi)。如果要repeat, 最好还是用另一个强模型把问题重写一下再塞回去训,能多diversity就尽量去做吧,反正不亏。短数据和长数据都很重要,超级长数据也很重要,主打就是一个错落有致。

多轮对话的时候, 有些数据得一直保持某topic, 有些也得中途切换topic, 这种diversity也很重要

千言万语一句话:数据形式要百花齐放,prompt里重要信息分布要足够杂乱,不要给模型机会找到规律。

Quality

数据质量评估就见仁见智了,之前有用IFD测指令跟随分数的, 不过好像不是总能work, 某些人看上去很hard的任务IFD分反而不高,真是奇怪呢…借助强模型打分也是一个思路,比如delta,需要trade-off一下成本

或者各种质量评估方案全部集成进来(bushi)

如何处理低质量数据:看到有不少prompt自动进化的文章,可以一试。Reject sampling也可以提升一下

数据合成这里不展开,那得另写一篇长长的文章了。

SFT训练

你跟我讲LoRA? 我只能嘿嘿一笑。这里只讨论全量微调。

  • • 有人倾向于SFT开始时不用warmup。我还是习惯0.25%warmup起手

  • • lr上面说过了,比较小,1e-5量级,最后衰减为初始的10%,与pretrain一致

  • • 记得记录不同domain的loss变化, 可以给下一阶段数据配比调整做准备。预训练末期的loss一般已经降到1.7左右, 但是SFT不同domain的Loss差别很大,我观察到SFT末期不同domain是0.5到3的loss之间都有

  • • 如果认真做了数据,效果还不好----要么是pretrain知识没学够,要么是special token检查一下

  • • Qwen组的DMT给了一个大致的数据配比方案,二阶段微调。模型最后见到的数据非常重要!直接影响用户体验。所以stage1进行一些数学代码这种特殊任务的提升,stage2进行更general的数据训练,看上去泛化性更好。要是倒过来,模型的输出可能就比较贴近特殊domain了(想刷榜math/code的反着来就行)。不过,还是得记得joint train, stage2也要混合stage1甚至pretrain数据, 保持一定的前阶段能力

    谢谢qwen

  • • SFT还真没见过pretrain的loss spike现象,总体上比较稳定。不过单看各domain的loss曲线似乎不是很稳定…最麻烦的是就是过拟合, 实在不好把握这个度。

  • • 华为有篇文章论证,小模型的SFT epoch可以多跑几次效果会好,大模型复杂度高可能更容易过拟合。可能是我从pretrain过来的惯性,还是很难接受两轮以上的training,所以我只把SFT epoch设为2

  • • 建议做sft的同学一定要自己看一下数据,做到心里有数;我手动看了百来条后,确实获得了不一样的理解。

所以SFT微调链路的交付哥,一天的生活是这样的:每天早上开十几个job, 只改动一点点参数, 然后苦等一天, 期间做做数据, 晚上收割一波模型, 跑测评看结果…

最后各domain的效果一定是有好有坏的,后续可以用DPO偏好数据去定向提升。

复杂指令是另一个很有意思的话题,可以看我知乎号此前发布的另一篇推理增强的文章。先写到这里,更详细的细节以后再来丰富吧

Pretrain

LLM训练的大Boss: Pretrain。

请认真读一下MiniCPM:2404.06395 (arxiv.org)以及openai的2001.08361 (arxiv.org)。会有很大收获的

请认真读一下上面两篇!

请认真读一下上面两篇!

7月份我和洪神在飞书整理了一下scaling law,偷懒,直接截屏放上来了

基本训练setting

  • • 优化器AdamW,weight decay 0.1, (看情况用ZeRO1/2),余弦退火,warmup

  • • Batch: GPT3是32K过渡到3M,动态增大batch。较小的批次对应反向传播的频率更高,训练早期可以使用少量的数据让模型的损失尽快下降;而较大的批次可以在后期让模型的损失下降地更加稳定,使模型更好地收敛。这里也有一些finding optimal batch的方法Scaling Laws for Neural Language Models ,[1812.06162] An Empirical Model of Large-Batch Training (arxiv.org)。不过需要借助scaling law来预测batch,可惜我没做这个实验。我的方案是取让集群tgs(tokens/gpu/second)数最高的batch,毕竟对我来说,最大的瓶颈是集群算力

    from scaling law

  • • scaling law: 建议openai, chinchllia,deepmind那三篇scaling law都要读一下,看完会有不一样的收获。由数据量,算力,大致能估算一个模型大小出来(就是需要很多实验才能测出来…给出的值也是非常不精确的,做到心里有数即可

  • • 开源框架还是用megatron和deepspeed吧,各大公司内部肯定都有自己的infra代码,我也不好讲。记得flash-attn开起来。

  • • lr很重要!玄学的地方。BF16训练稳定是个共识。gradient clip一般1.0。似乎回归任务都不太适合dropout。

    minicpm: lr

    人大aibox收集的图

先讲一下Evaluation

pretrain测评最简单就是看ppl。有一些测评也能看多任务的续写能力。pretrain的评估是不好做的,大部分时间只看看着loss曲线,吹胡子瞪眼。

大模型:你猜我拟合的怎么样了,task_A是升了还是task_B是降了,升了一定不好吗,降了也不一定好。有的人升了,是为了别人将来更好地降;有的人陡降了,是为了别人loss疯狂飙升,是吧 loss spike。

loss

评估是眼下最难做的东西,好像卷的人也不多。

其实,个人感觉,评估比pretrain,sft要难做…可以这么想,作为本科生,我都能跑pretrain了,那大模型训练门槛确实已经低到了一定程度。无非就是数据清洗合成过滤,各种配比和课程学习,学习率优化器,数据质量与多样性,分布式跑通,但是要做评测,真会遇到各种各样的问题。

数据配比怎么调?scaling law怎么算?课程学习几个阶段,该怎么粗粒度调优?这都是经验性和实验性的东西,甚至有时,一拍脑袋确定的数,都比一通可解释性理论推导得到的数,效果更好。这个trick加不加,都是看评估结果。但是至今没什么高效全面的评估,一般都是下面这样:

  • • 跑benchmark

  • • 用强模型来评估,比如gpt4,不过不稳定

当然,用人来评估也是可行的方案,效果肯定最好。把实习生人数scale上去,是最有效的scaling law,有多少人工,就有多少智能。

看榜单benchmark也就图一乐,还是chatbot arena靠谱点。大家多多少少都会把benchmark拿过去拟合一下用。GSM8K已经被卷烂了(我感觉弱智吧都有过拟合的表现),与其信某些模型的性能,不如信我是秦始皇。

llama 3.1诡计多端的8-shot

天工的报告:各大厂商overfit现象

谁掌握了评估,谁就掌握了未来。

预训练数据处理

零一万物数据pipeline,一图胜千言

  • • 基于规则的过滤非常有用,老老实实编造各种各样的规则,带来的效益是稳定的

  • • 不知道为什么llama3的report里用llama2来做主题分类器,实际上训类Bert模型效果会更好。最后,也不能迷信分类结果,粗粒度看一下即可,本来就不是很准的东西,不要纠结于分类器准确率,有总比没有好

  • • 去重很重要。不过什么粒度的去重,还是看场景和成本。

  • • 多语言用fastext检测分类。(不过中译英这种问题,到底是归类到中文好,还是英文好?

  • • 代码和数学的数据pipeline参考deepseek

  • • Textbook is all your need

  • • 数据合成:Cosmopedia: how to create large-scale synthetic data for pre-training Large Language Models (huggingface.co)

(其实我的数据侧偷了很多懒,今年开源了不少质量不错的预训练数据集,比如huggingface的fineweb。天工的skypile,以及一个很大的Redpajama等等,集合起来做一些过滤,去重,分类即可)

数据配比

还是scaling law贯穿始终

llama3: 大家的配比和这个都差不多,不过这里的推理数据量确实占比有点高了

[2406.01375] D-CPT Law: Domain-specific Continual Pre-Training Scaling Law for Large Language Models (arxiv.org)

[2305.10429] DoReMi: Optimizing Data Mixtures Speeds Up Language Model Pretraining (arxiv.org)

具体multi-stage的设计就见仁见智了,每个阶段都是动态的重调配比。长文本和推理数据要稍微靠后一点再加入

末期一定是高质量数据!

所以不少文章都是利用退火来评估末期数据质量,然后选择性加入

训练前准备

按照scaling law估算一下吧。首先统计预测一下tokens数,大概能用多少卡多少天的算力,来推算需要多大模型,总共要多少step

模型参数计算:

假设词表大小V,模型L层,中间状态维度H, FFN维度H’ ,以llama为例

(其实这个MLP ratio也挺有讲究的,llama好像是取得8/3,我暴力穷举在8/3附近搜索,测得tflops数最高时应该是2.6875,和deepseek保持一致

  • • embedding层参数量:VH

  • • MHA:KQV每个变换矩阵都是H^2, 还需要一个MLP来拼接输出,所以一共 4H^2 FFN:三个线性变换,一共3HH’

  • • Norm: MHA和FFN输出需要RMSnorm( post-norm,故而是2H,最后模型输出还有一个norm需要H

  • • 输出层:线性变换需要VH 所以一共是:参数量

= 32000, = 32, = 4096, ′ = 11008的llama 7B参数量计算是6738415616,和实际吻合

运算量计算

假设模型参数量N,batchsize为B,输入seq_len为T,那么训练的总词元数是C=BT

简单的估算是运算量=6CN(如果没用Gradient checkpointing)用了多一次forward,修正为8CN

来自ruc aibox gradient checkpointing介绍

以 LLaMA (7B) 的训练为例介绍运算总量的计算方法。其参数量 N ≈ 6.74×10^9。这里假设训练数据的词元总数均为 = 1×10^9,不使用激活重计算技术, 那么 LLaMA (7B) 的训练过程中浮点运算总量为 6 × 6.74 × 10^9 × 10^9 ≈ 4.04 × 10^19

训练时间估计

运算量数每秒浮点运算数

以 LLaMA (65B) 的预训练为 例,其参数量 N = 6.5 × 10^10,词元数 = 1.4 × 10^12,由于采用了激活重计算技术, 其运算量大致为 8 = 7.28 × 10^23。它在预训练过程中使用了 2,048 张 A100 GPU, 而每张 A100 GPU 每秒最多能进行 3.12 × 10^14 次 BF16 浮点数运算。我们假设在训练过程中,每张 GPU 能达到每秒 2 × 10^14 次 BF16 浮点数运算的实际性能。

可以计算出 LLaMA (65B) 使用 2,048 张 A100 GPU 在 1.4T 个词元上 的训练时间大致为 1.78 × 10^6 秒,即大约为 20.6 天。这个估算结果与论文中公布 的 21 天基本一致。

显存估计

老生常谈的话题。

模型参数和梯度用16位存储,AdamW额外存32位模型参数,动量,动量二阶矩,

设模型参数量P,数据并行数D,流水线并行P,张量并行T,GPU数G,

单卡存储模型参数和优化器显存开销:

  • • 不用ZeRO: 16P字节显存

  • • ZeRO1: 4P+12P/D字节

  • • ZeRO2: 2P+14P/D

  • • 如果用来tp,pp,那么全都除以PT即可得单卡开销

激活值显存:看模型架构,开不开flash-attn,有没有用激活值重计算,具体不再阐述,会算就行,慢慢分析即可

Post train

前面已经写了SFT,但我不会RLHF,(摊手,坦诚.jpg)。只会step-DPO调一下,其实DPO我也训不好,欸

post-training pipeline

今年以及未来很长一段时间的主流都会是Post-Training,实在太重要了,尤其是o1出来之后。大家都热情高涨。虽然真要应用MCTS的下游任务也不是很多,但是着实有趣,大模型推理是一定要拿下的一座山峰。

代码,数学,多轮对话,安全价值观各有各的细节。这里放一个llama 3推理部分的处理,机翻,摆烂了

我们将推理定义为执行多步计算并得出正确最终答案的能力。指导我们训练在数学推理方面表现优异的模型时,存在以下挑战:

  1. 1. 缺乏提示:随着问题的复杂性增加,用于监督微调(SFT)的有效提示或问题的数量减少。这种稀缺性使得创建多样化和代表性的训练数据集以教授模型各种数学技能变得困难。

  2. 2. 缺乏真实值推理链:有效的推理需要一步一步的解决方案来促进推理过程。然而,通常缺乏真实值推理链,这些推理链对于指导模型如何一步一步地分解问题并得出最终答案至关重要。

  3. 3. 中间步骤不正确:当使用模型生成的推理链时,中间步骤可能不总是正确的。这种不准确性可能导致最终答案不正确,需要解决。

  4. 4. 教授模型使用外部工具:增强模型使用外部工具,如代码解释器,允许它们通过交替代码和文本来推理。这种能力可以显著提高它们的问题解决能力。

  5. 5. 训练与推理之间的差异:模型在训练期间微调的方式与在推理期间使用的方式之间往往存在差异。在推理期间,微调后的模型可能会与人类或其他模型互动,需要它通过反馈来改进其推理能力。确保训练和现实世界使用之间的一致性对于保持推理性能至关重要。

为了解决这些挑战,我们应用以下方法论:

  1. 1. 解决缺乏提示的问题:我们从数学上下文中获取相关预训练数据,并将它转换成一种问题-答案格式,然后用于监督微调。此外,我们识别出模型表现不佳的数学技能,并积极从人类那里获取提示/问题来教授模型这些技能。为了促进这一过程,我们创建了一个数学技能分类,并让人类根据相应的问题/问题提供相关提示。

  2. 2. 增加逐步推理轨迹的训练数据:我们使用Llama 3为一系列提示生成一步一步的解决方案。对于每个提示,模型产生一个变数数量的生成。这些生成根据正确答案进行筛选。我们还在自我验证中使用Llama 3,它用于验证对于给定的问题,是否有一个一步一步的解决方案是有效的。这个过程通过消除模型不产生有效推理轨迹的实例,提高了微调数据的质量。

  3. 3. 过滤不正确的推理轨迹:我们训练了结果和逐步奖励模型来过滤中间推理步骤不正确的训练数据。这些奖励模型用于消除数据中的无效一步一步的推理,确保微调的高质量数据。对于更复杂的提示,我们使用蒙特卡洛树搜索(MCTS)与学习到的逐步奖励模型来生成有效的推理轨迹,进一步提高了高质量推理数据的收集。

  4. 4. 交替代码和文本推理:我们提示Llama 3通过结合文本推理和相关的Python代码来解决推理问题。代码执行用作消除推理链无效情况的反馈信号,确保推理过程的正确性。

  5. 5. 从反馈和错误中学习:为了模拟人类反馈,我们利用了错误生成(即导致推理轨迹不正确的生成)并进行了错误校正,通过提示Llama 3来产生正确的生成。错误尝试和校正迭代过程的反馈使用,帮助提高了模型准确推理和从错误中学习的能力。

RLHF一定是非常重要的,SFT后RL一下往往能涨点。其实pretrain和sft都只是在正确的token上进行拟合,模型只知道什么是正确的输出,不知道什么是错误的,缺乏负反馈带来的多元信号。而RLHF在告诉你什么是正确的同时,也告诉了你错误的雷区在哪里,(不过RL完,错误的token是不是概率也增大了,毕竟出现频次比之前高了

Post train,RLHF这块,后面我会单独起一章详细写的,不像本文这样的行文匆匆,充满了草率的味道。我对这块非常感兴趣!欢迎小伙伴们一起交流呀!

写在后面

不知不觉已经写了一万字了。抱歉,很多东西还是没能写出来…

这个工作是今年大三暑假最后一个月做的,第一次上手训练大模型,经验可能比较naive, 多有不足,行文必然多有错漏,请各位多多指教了!

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大模型学习资源包》免费分享

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

大语言模型的预训练[1]:基本概念原理、神经网络的语言模型、Transformer模型原理详解、Bert模型原理介绍 阅读详情

相关推荐

大语言模型之三 ChatGPT训练过程

大语言模型 GPT历史文章中简介的大语言模型的的发展史,并且简要介绍了大语言模型的训练过程,本篇文章详细阐述训练的细节和相关的算法。2020年后全球互联网大厂、AI创业公司研发了不少AI超大模型(百亿甚至千亿参数),典型代表是NLP领域的GPT-3,LlaMA,视觉领域的DALL*E2,Stable Diffusion以及V-MoE。现有的生成式AI工具大部分基于大厂研发的预训练模型,用针对特定场景的小数据进行Fine-Tune的模式快速迭代。

shichaog的专栏 9128

训练大语言模型的步骤

训练底座大模型是一项复杂的任务,需要丰富的数据和大量的计算资源。另外,需要注意的是,底座大模型可能会产生大量的参数和计算复杂度,因此在部署和使用时需要仔细考虑硬件和性能方面的要求。选择适合的模型架构、对于底座大模型,考虑使用Transformer的架构,这种架构在自然语言处理任务中表现出色。根据模型评估的结果和反馈,可以进行迭代和改进,调整模型架构、数据预处理步骤或训练策略,以提高模型的性能。足够的高质量数据来训练模型,确保数据集的多样性和代表性,以便模型能够学习到广泛的模式和特征。

yuyangchenhao的博客 6303

MATLAB小白也能搞定!BCT脑网络分析工具箱安装与入门指南

本文为零基础用户提供了一份详尽的BCT脑网络分析工具箱安装与入门指南。从MATLAB环境配置、BCT工具箱下载与路径添加,到连接矩阵构建、节点度与聚类系数等基础指标计算,手把手带领神经科学研究者跨越编程门槛,快速掌握脑影像数据分析的核心流程。

threejs5artist的博客 1092

[NLP]如何训练自己的大型语言模型

大型语言模型,如OpenAI的GPT-4或谷歌的PaLM,已经在人工智能领域掀起了一场风暴。然而,大多数公司目前没有能力训练这些模型,而且完全依赖少数几家大型科技公司作为技术提供者。在Replit,我们已经大量投资于所需的基础设施,以从头开始训练我们自己的大型语言模型。在这篇博文中,我们将概述我们如何训练LLM,从原始数据到面向用户的生产环境中的部署。

摩登都市天空---专栏 8607

LangChain4j + Milvus 从0-1实现会话管理与RAG检索的AIChat超详细教程

本教程将介绍如何使用LangChain4j和Milvus向量数据库构建一个具备流式输出、会话管理、会话隔离和基于文档RAG检索能力的AI机器人。我们将使用阿里百炼模型作为LLM后端,并通过Docker部署Milvus向量数据库。创建Assistant接口,定义聊天服务:LangChain4j 中文文档 | LangChain4j 中文文档wiringMode :这个属性一般两种,一种是自动装配,我们这里选择手动配置。

2301_80014343的博客 1435

第8讲:基于CST PCB Studio的电源完整性仿真(IR Drop + PDN)

本文系统介绍了电源完整性(PI)仿真的两大核心模块:直流IRDrop仿真与交流PDN阻抗仿真。文章详细阐述了两种仿真的原理、算法(PEEC和3DFE-FD)及完整操作流程,包括参数配置、软件实操步骤和常见问题解决方案。IRDrop仿真用于分析直流供电压降问题,PDN仿真则针对高频电源噪声和谐振问题。文中还提供了优化建议和故障排查方法,如调整铜箔厚度、优化电容布局等,为高速数字系统的电源完整性设计提供了全面的技术指导。(149字)

一只豌豆象的博客 239

2025版最新初学者怎么入门大语言模型开发?(非常详细)零基础入门到精通,收藏这篇就够了

Prompt Engineering 涉及为大型语言模型设计有效的输入(Prompts),以引导模型生成所需的输出。这个过程不仅需要精确表达问题或需求,而且要格式化输出以适应特定应用。

leah126的博客 1617

2025爬虫实战:某音直播间实时弹幕获取原理及源码分析

某音直播弹幕虽然没有直接挂在 DOM 上,但由于用的是西瓜播放器,弹幕是通过 JS 接口动态渲染的,这就给了我们 Hook 的机会。关键点是找到调用的位置,然后拦截并输出对象里的message字段。这个思路其实也适用于其他前端渲染的播放器,比如 B 站的 DPlayer、HLS.js、甚至很多自研播放器都有类似结构。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1813

2025版最新大模型开发流程,(非常详细)零基础入门到精通,收藏这篇就够了

本文内容由datawhale开源LLM开发教程节选点击阅读原文即可跳转学习我们将开发以大语言模型为功能核心、通过大语言模型的强大理解能力和生成能力、结合特殊的数据或业务逻辑来提供独特功能的应用称为。开发大模型相关应用,其技术核心点虽然在大语言模型上,但一般通过调用 API 或开源模型来实现核心的理解与生成,通过 Prompt Enginnering 来实现大语言模型的控制。

leah126的博客 2316

DDR5 输入时钟抖动规范全解析!技术宅必看

简单说,时钟抖动就是时钟信号边沿的“颤抖”——信号本来应该在某个固定时间跳变,但实际时刻可能会前后波动。这种波动可能是随机的,也可能是确定性的。随机抖动(Random Jitter, Rj):符合高斯分布,像是你家猫咪不经意的晃动。确定性抖动(Deterministic Jitter, Dj):受限于特定周期或模式,像是邻居装修时的规律敲击声。⚠️ 注意,如果时钟抖动超出规格,DDR5可能无法正确接收或发送数据,内存错误、系统崩溃可就跟着来了!

weixin_43199439的博客 391

【知识图谱】实践篇——基于知识图谱的《红楼梦》人物关系可视化及问答系统实践:part2知识获取与图谱构建、服务搭建

前序文章:其中原项目提供了关系数据如下: 其中五列数据表示:人物1,人物2,人物1与人物2关系,人物1所属家族,人物2所属家族。关系说明:以第一列为例,贾演是贾代化的父亲。下面我们就将这个数据放到neo4j中。这些需要去连接,需要安装这个包: 程序中,我使用去读取配置文件, 其中为了保持配置全局唯一性,使用单例的写法。 后面就是创建构建关系文件,构建neo4j图谱数据了,如下: 后期可能会将构建图谱内容使用flask去生成命令行的方式构建,暂时在开发的过程查看构建情况,便于调试。导入关系后,我们再查看

让算法融入生活,改变生活! 4081

2025版最新AI Agent万字综述分享!零基础入门到精通,收藏这篇就够了

百宝箱提供了丰富的插件资源,并计划在未来集成支付宝的一方服务能力,例如发放优惠券、支付功能以及芝麻信用等。通过这些集成功能,百宝箱可以支持实时执行插件任务,自动调用外部服务,并实现诸如互联网接口查询、代码执行、绘图以及高德地图搜索等功能。这些插件的交互界面设计直观便捷,用户可以轻松上手操作。

leah126的博客 3139

数据分析案例-汽车客户信息数据可视化分析

本数据集来源于kaggle,原始数据集共有8068条,11个特征变量,各变量含义解释如下:ID:客户IDGender:客户性别Ever_Married:客户婚姻状况Age:客户年龄Graduated:客户是毕业生吗?Profession:客户的职业Work_Experience:多年工作经验Spending_Score:客户的消费评分Family_Size:客户家庭成员人数(含客户)Var_1:客户的匿名类别Segmentation:(目标)客户的客户群。

m0_64336780的博客 1万+

2025版最新大模型入门书籍推荐(非常详细)大模型零基础入门到精通,收藏这篇就够了

不少小伙伴都想要学习大模型技术,转战AI领域,以适应未来的大趋势,寻求更有前景的发展~~然而,在学习大模型技术这条道路上,却不知道如何进行系统的学习,所以本期书单就为大家奉献一场,从大模型理论基础到大模型工具应用,构建自己的LLM应用程序……应有尽有,如果你是AI小白,想要从入门开始学起,或者想要了解AI未来的发展趋势,也有相应的图书哦~~**▊《**张奇,桂韬,郑锐,黄萱菁 著。

Everly_的博客 2983

华为OD机试真题2025双机位B卷 Java&Go 实现【朋友圈个数】

给定一组朋友关系,统计一下该朋友关系网中的朋友圈个数。 朋友圈的定义:一个朋友圈至少由3个朋友组成,且要求同一个朋友圈中的任意两个人都具有直接的朋友关系。 输入描述 输入一个朋友关系列表,如 Fiends =A.B],[A.C],IB,DI,其中的每一个元素 Friendsi表示 Friends[i][0)和 Friends [i][1] 是朋友关系 先输入一个数字 N 代表关系的总数,后面每条关系一行,两个成员以逗号分隔

MISAYAONE的博客 519

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

2025版最新网络安全工程师必读的100本书籍(非常详细),零基础入门到精通,收藏这篇就够了

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。木马免杀问题与防御********必知必会。

Javachichi的博客 1690

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

2025版最新如何微调(Fine-tuning)大语言模型?零基础入门到精通,收藏这篇就够了

图片由DALL-E 生成阿里妹导读本文介绍了微调的基本概念,以及如何对语言模型进行微调。从 GPT3 到 ChatGPT、从GPT4 到 GitHub copilot的过程,微调在其中扮演了重要角色。什么是微调(fine-tuning)?微调能解决什么问题?什么是 LoRA?如何进行微调?本文将解答以上问题,并通过代码实例展示如何使用 LoRA 进行微调。

Libra1313的博客 4492

jre9下载 jdk9

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

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

2025版最新如何在本地部署大语言模型:工具与指南,(非常详细)零基础入门到精通,收藏这一篇就够了

本地部署大语言模型可以通过多种工具和软件实现,每个工具都有其独特的优势和适用场景。通过上述步骤,您可以在本地环境中高效地运行和管理大语言模型,满足不同的应用需求。下面给大家分享一份2025最新版的大模型学习路线,帮助新人小白更系统、更快速的学习大模型!因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取2024最新版优快云大礼包:《AGI大模型学习资源包》免费分享**

Javachichi的博客 2386

【2025版】最新大语言模型LLM基础扫盲速通版,(非常详细)零基础入门到精通,收藏这篇就够了

根据任务需求选择适合的神经网络结构,例如Transformer架构。

Python_0011的博客 1368

【2025版】最新大模型训练微调需要什么样的硬件配置,(非常详细)零基础入门到精通,收藏这篇就够了

==NVIDIA GPU架构的演进过程从V100,到RTX5000,到A100/A800(800为中国合规特供),到H100/H800(800为中国合规特供)如下图所示:目前针对大模型主要使用A800,A100,H100,性能对比如下为了合规对 A100 和 H100 的参数做了微调,A800 相对比 A100 ,限制了GPU之间的互联带宽从A100的600GB/s 降至400GB/s,算力参数无变化。H100相对于H800对算力和互联带宽都进行了调整。

Libra1313的博客 2913

2025版最新RAG知识库问答的应用,零基础入门到精通,收藏这篇就够了

在信息爆炸的时代,企业面临着如何有效获取和利用知识的问题。基于RAG(Retrieval-Augmented Generation)知识库问答的应用,正是解决这一挑战的重要手段。RAG结合了信息检索和文本生成的优势,能够在海量数据中快速提取相关信息,并生成高质量的回答。本文将探讨RAG知识库问答的业务方案及其在垂直应用领域的潜力。

leah126的博客 1423

2025版最新大语言模型进阶:什么是微调?零基础入门到精通,收藏这篇就够了

在当今数字化时代,餐饮企业面临着激烈的市场竞争和不断变化的消费者需求。为了提高运营效率和客户满意度,越来越多的企业开始借助大语言模型进行数据分析和决策支持。然而,通用大语言模型往往无法满足特定行业的需求,这时微调技术便显得尤为重要。不仅可以提升其在特定领域的表现,还能帮助餐饮企业更好地理解市场动态、优化菜单设计和提升客户体验。本文将深入探讨微调大语言模型的必要性、市场上的微调方向以及餐饮企业可以参考的微调策略,旨在为企业提供切实可行的建议和解决方案。

leah126的博客 1162

【2025版】最新AI大模型的原理是什么?零基础入门到精通,收藏这篇就够了

AI大模型的原理基于深度学习和神经网络技术。其中,最著名的大模型之一是使用了变种的转换器(Transformer)架构的模型,比如GPT(Generative Pre-trained Transformer)。以下是AI大模型的基本原理:1数据收集和预处理:大模型的训练需要大量的数据。首先,大量的文本数据被收集和预处理,其中可能包括网页内容、书籍、新闻文章、维基百科等。数据可能会经过一定的清理和标准化处理。2模型架构:大模型通常基于深度神经网络架构,如变种的转换器模型。

leah126的博客 1486

2025版最新大模型微调方法汇总,零基础入门到精通,收藏这篇就够了

主要思路:在预训练模型的每一层(或某些层)中添加适配器模块,微调时冻结预训练模型主体,由适配器模块学习特定下游任务的知识。每个适配器模块由两个前馈子层组成,第一个前馈子层将模型的输出作为输入,将原始输入维度投影到一个较小的维度,第二个前馈子层再将其还原到原始输入维度作为输出。因为对模型的所有参数进行了调整,所以可以充分利用预训练模型的通用特征,能够较好地适应特定任务,在一些情况下可以获得较高的性能表现。例如,在图像分类任务中,如果有足够的计算资源和数据,全量微调可以使模型对特定类别的识别准确率大幅提高。

Libra1313的博客 2576

2025版最新提升大语言模型的三大策略,零基础入门到精通,收藏这篇就够了

在提升大语言模型(LLM)性能的过程中,我发现了三种高效的策略:提示工程、检索增强生成(RAG)和参数高效微调(PEFT)。这三者各有特点,能根据不同需求大幅提升模型表现。首先,提示工程通过优化提问方式,能够显著提高模型的输出质量。这是最简单且立竿见影的方式,尤其适合任务明确且数据量不大的场景。接着,RAG通过引入外部知识库,使得模型能够“查找”最新或领域特定的信息,增强回答的准确性。最后,PEFT利用LoRA等方法,在不修改大部分模型参数的情况下进行高效微调,节省资源同时提升定制化能力。

Javachichi的博客 1610

2025版最新如何微调大语言模型?(非常详细)零基础入门到精通,收藏这篇就够了

本文介绍了微调的基本概念,以及如何对语言模型进行微调。从 GPT3 到 ChatGPT、从GPT4 到 GitHub copilot的过程,微调在其中扮演了重要角色。什么是微调(fine-tuning)?微调能解决什么问题?什么是 LoRA?如何进行微调?本文将解答以上问题,并通过代码实例展示如何使用 LoRA 进行微调。

leah126的博客 887
上一篇: 2025版网络工程11个高含金量证书(非常详细)零基础入门到精通,收藏这篇就够了
下一篇: 2025想做黑客?先来学习 SQL 注入,零基础入门到精通,收藏这篇就够了
程序员_大白
博客等级 码龄5年 1万+粉丝 4001原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值