【Python】科研代码学习:十七 模型参数合并,safetensors / bin 众所周知,LLM的模型参数一般保存在或者.bin结尾的大文件但是通过一个RLHF的一个训练后,使用了FSDP分布式训练器所以把文件参数保存在了.pt文件中那么问题来了,保存的参数我如何合并到模型里去,做其他推理任务呢?
【Python】科研代码学习:十六 Model架构的代码细节,附架构图:Llama 为例 (v4.28.0) 接下来就是重头戏,我如何修改嵌入层?MLP层?注意力层?解码层?前向传播的逻辑如何实现与修改?损失如何设置和得到?就看这个重要脚本了(在 Github中,请找到自己对应模型的脚本,并建议自己打开来看一看源码)※ 本文使用的版本为v4.28.0,不同版本的源码会有所不同。
【Python】科研代码学习:十五 configuration,tokenization 的代码细节:Llama 为例 对于HF的库的经典API以及大致架构我们都从前面已经学习的差不多了Tokenizer和的运作原理是什么?我如何查看与修改模型的架构?前向与反向传播过程?损失计算?激活函数?这些模型层面的内容,如何学习与具体操作?这里,建议是查看自己使用的模型,并学习其中config与modeling三个最重要的类。
【Python】科研代码学习:十四 wandb (可视化AI工具) 【wandb官网】wandb是的缩写(w and b)核心作用:可视化重要参数云端存储提供各种工具可以和其他工具配合使用,比如下面的等等可以在里面使用matplotlib貌似是的上位替代。
【Python】科研代码学习:十一 Optimization (Optimizer, Scheduler) 无需我们自己创建一个调度器,HF会按照输入的调度器名字,自动创建对应的调度器。相当于,我们通过这个类似枚举类,来指明我们使用的是哪种调度器。可以看一下,有线性的,余弦的,多项式的,常数的,带预热的等。按照这里的学习文章,说一下重要的内容,比如这个是带预热的余弦调度器。首先最重要的一个,是。
【Python】科研代码学习:九 parser,argparse,HfArgumentParser 【代码】【Python】科研代码学习:九 parser,argparse,HfArgumentParser。
【Python】科研代码学习:八 FineTune PretrainedModel (用 trainer,用 script);LLM文本生成 由于默认是右侧padding,而LLM在训练时没有学会从pad_token接下来的生成策略,所以会出问题。有时候默认使用贪心策略来获取 next token,这个时候容易出问题(循环生成等),需要设置。(in one sitting = 一口气) (thug = 暴徒)也可以先选择其中一小部分的数据单独拿出来,做测试或者其他任务。(比如训练时的prompt格式),得到的结果就会不如预期。自定义分词函数,然后使用。如果输入不等长,那么会进行pad操作。比如说,QA的模板就像这样。可以把数据集进行分词。
【Python】科研代码学习:七 TrainingArguments,Trainer 如果是整数,表示多少步保存一次;小数,则是按照总训练步,多少比例之后保存一次。:最多中继文件的保存上限,如果超过上限,会先把最旧的那个中继文件删了再保存新的。:是否保存到 HF hub。
【Python】科研代码学习:三 PreTrainedModel, PretrainedConfig, PreTrainedTokenizer HF 官网API本文主要从官网API与源代码中学习调用HF的关键模组。
【自然语言处理】微调 Fine-Tuning 各种经典方法的概念汇总 (1)一些概念源自LLM(Chatgpt)和网络(百度/知乎等),笔者进行了初步检查。(2)由于其中的各种知识比较琐碎,为了形成较为结构化的知识体系,且使用最简单的、几乎无公式的介绍,故作此博客。(3)着重为自然语言处理领域NLP的,CV领域的不是很详细讲述了【机器学习与自然语言处理】预训练 Pre-Training 各种经典方法的概念汇总(4)比较简单或者过于的概念就不介绍了,默认大家都学会了。不然要写的太多了。比如损失,损失函数,神经网络几个概念,不认识的话单独先去学一下。
【机器学习与自然语言处理】预训练 Pre-Training 各种经典方法的概念汇总 (1)一些概念源自LLM(Chatgpt)和网络(百度/知乎等),笔者进行了初步检查。(2)由于其中的各种知识比较琐碎,为了形成较为结构化的知识体系,且使用最简单的、几乎无公式的介绍,故作此博客。(3)着重为机器学习ML与自然语言处理领域NLP的,CV领域的不是很详细讲述了。