Kun Li
自古山高水远路,无一不为风尘苦。
展开
-
视觉/AIGC面经->大语言模型
注意力满秩,双向attention的注意力矩阵容易退化为低秩状态,而causal attention的注意力矩阵是下三角矩阵,必然是满秩的,建模能力强;encoder-only主要是mlm,不擅长做生成任务,decoder主要是next token prediction,兼顾理解和生成;11.transformer中encoder和decoder的区别?8.在softmax之前需要对attention进行scaled,为什么除以dk的平方根?10.transformer中的LayerNorm,什么位置?原创 2024-07-15 11:54:12 · 15 阅读 · 0 评论 -
大语言模型推理参数
T越大越发散,T越小,越稳定,温度嘛,其实就是在softmax中增加了一个T,常见做法。true,模型在生成文本时使用采样方法,而不是直接选择概率最高的下一个token。从概率最高的token开始累计,直到累计的概率超过了top p。只考虑概率最大的topk个token。原创 2024-07-05 17:04:47 · 146 阅读 · 0 评论 -
Minillama3->dpo训练
GitHub - leeguandong/MiniLLaMA3: llama3的迷你版本,包括了数据,tokenizer,pt的全流程。"rejected": "\"让你的水瓶成为你的生活伴侣,使用可重复使用的水瓶,让你的水瓶成为你的伙伴\"""prompt": "为给定的产品创建一个创意标语。,输入:可重复使用的水瓶。"chosen": "\"保护地球,从拥有可重复使用的水瓶开始!就注意一点,group_by_length=False,否则会报错。2.训练,详细代码直接看github项目。原创 2024-06-22 10:21:46 · 95 阅读 · 0 评论 -
Minillama3->sft训练
SFT数据集分别为:[generated_chat_0.4M](https://huggingface.co/datasets/BelleGroup/generated_chat_0.4M)、[train_0.5M_CN](https://huggingface.co/datasets/BelleGroup/train_0.5M_CN)和[train_2M_CN](https://huggingface.co/datasets/BelleGroup/train_2M_CN),清洗后剩余约137万行。原创 2024-06-21 11:11:44 · 76 阅读 · 0 评论 -
Minillama3->pt训练
llama3的迷你版本,包括了数据,tokenizer,pt的全流程. Contribute to leeguandong/MiniLLaMA3 development by creating an account on GitHub.GitHub - leeguandong/MiniLLaMA3: llama3的迷你版本,包括了数据,tokenizer,pt的全流程。1.数据预处理,包括去重,shuffle,划分数据集。具体代码都在git上,我这里只做一个主函数简单的演示。原创 2024-06-19 18:08:25 · 75 阅读 · 0 评论 -
How abilities in large lanuage models are affected by supervised fine-tuning data composition
在第二阶段,使用混合数据源执行SFT,该数据源由普通数据以及不同比例的代码和数学数据k(1,1/2,1/4,1/8,1/16,1/32)组合而成。然而,值得注意的是,一般对齐能力仅在1k左右的数据样本(从1/256到1/64)中出现,达到一定阈值(1/64)后,其性能会缓慢提高,表明少量高质量的SFT数据就有可能在LLM中出现一般的人类对齐能力。在第二阶段,该工作使用混合数据源执行SFT,该数据源由普通数据以及不同比例的代码和数学数据k(1,1/2,1/4,1/8,1/16,1/32)组合而成。原创 2024-06-17 19:46:38 · 154 阅读 · 0 评论 -
Minillama3->训练tokenizer
GitHub - charent/ChatLM-mini-Chinese: 中文对话0.2B小模型(ChatLM-Chinese-0.2B),开源所有数据集来源、数据清洗、tokenizer训练、模型预训练、SFT指令微调、RLHF优化等流程的全部代码。中文对话0.2B小模型(ChatLM-Chinese-0.2B),开源所有数据集来源、数据清洗、tokenizer训练、模型预训练、SFT指令微调、RLHF优化等流程的全部代码。2.预处理成wiki.txt。1.wiki数据下载。原创 2024-06-17 19:35:54 · 68 阅读 · 0 评论 -
Minillama3
既然是预训练,那么就是让模型在语料上做无监督学习,也就是我们熟知的 next token prediction,即根据前面的所有输入来预测下一个 token,然后把新的 token 拼接在已有输入上作为下一输入,如此往复,直到触发停止设定(例如触发。选用 LLaMA 2 的分词器,因为二代的词表比较小(32k),LLaMA 3 的词表太大了(128k),在 SLM 中会占用太多的参数比重,并且这只是个专有任务数据训练,没必要用太大的词表。在这里,我采用直接截断的方式,最大截取当前输入序列的后。原创 2024-06-12 15:32:47 · 158 阅读 · 0 评论 -
大语言模型QA
除了发现yi-6B/34B 随着训练 tokens 的增加不同的 cosine 下降趋势外,我们也比较了32 层 layer的 7B open source models 的 cosine 排序,发现大体与模型对应的英文能力对应,我们认为 model cosine 在相同模型结构下,反映着对于 token embedding 的特征提取能力。这个上,有写论文的结论是:通用模型肯定多样性越多越好,典型的是LIMA, 但是有些论文结论是,垂直领域模型,其他领域的大量数据对本领域未必有很好的提升。原创 2024-06-11 17:42:18 · 248 阅读 · 0 评论 -
大模型出现的不断重复的现象
是否已有关于该错误的issue或讨论?我已经搜索过已有的issues和讨论 | I have searched the existing issues / discussions 该问题是否在FAQ中有解答?语言模型这块,pretrain模型能力不强的时候才会发生的问题,复读机的本质是,复读的那部分数据不能给于更多的信息,所以模型attention时候会跳过这部分信息依然从之前的context后进行预测,也就是 ->复读数据->->复读数据。原创 2024-06-11 17:39:58 · 145 阅读 · 0 评论 -
大模型的pt
到底喂多少tokens,小模型的参数才算是充分得到训练,Yi-9B的文档,把每层的输入和输出算cos,来评估模型是否训练的非常充分,有一个巨大的遗漏点,在做long context,把每层单独做了一个分析,结论是模型深度足够的话,有些层其实区分度是降低了,相当于几层做了一层做的事情。以及,小模型每一层的cos都小,有可能每一层都在干不同的事情,或者每一层都会注意到新的东西,大模型某些层cos大,有可能是因为句子太简单了,大模型对结果更加肯定,靠后的功能没有被激活。快速收敛阶段,稳定阶段和退火阶段。原创 2024-06-11 17:05:43 · 232 阅读 · 0 评论 -
大语言模型的sft
LIMA只构建了1K高质量数据,经人工审核和修改格式统一,在llama-65B上效果很好,说明大语言模型的主要知识来源于预训练,而仅需少量优质调整数据即可引导模型高质量输出。训练集本身存在的任务数据不平衡也是一个不可忽视的问题,某个任务占比大,那其他占比小的任务大概率也是不稳定的。针对每个任务独立训练模型,任务的取舍与额外训练,例如在4个任务重,有2个任务比较重要,可以在全部任务训练完毕后,对这两个关键任务额外训练多一个epoch。d.避免引入模型在预训练阶段未接触过的知识,以减少模型产生幻觉的风险。原创 2024-06-07 16:41:45 · 380 阅读 · 0 评论 -
Efficient Multimodal learning from data-centric perspective
llm包括phi 1.3B,StableLM2 1.6B,phi 2.7B,vision encoder包括SigLIP,EVA-CLIP,都是4.28B,cross modality projector,参照llava,使用带有gelu激活函数的两层mlp。对多模态调优可能会损害其从预训练语言模型中继承的认知能力,可能的原因是多模态训练数据中的信息量较少,且多样性不足,在调优数据集中保持一定量的高质量纯文本数据可以缓解这个问题。近期几天会梳理下多模态小模型相关的论文,做个汇总。原创 2024-04-15 20:27:05 · 437 阅读 · 0 评论 -
llama_factory微调QWen1.5
我们开源了包括0.5B、1.8B、4B、7B、14B和72B共计6个不同规模的Base和Chat模型,, 以及一个MoE模型(点击博客 了解详情),并同步放出了各尺寸模型对应的量化模型。请访问here开始使用,我们建议您试用Qwen1.5-72B-chat。模型效果 为了全面洞悉 Qwen1.5 的效果表现,我们对 Base 和 Chat 模型在一系列基础及扩展能力上进行了详尽评估,包括如语言理解、代码、推理等在内的基础能力,多语言能力,人类偏好对齐能力,智能体能力,检索增强生成能力(RAG)等。原创 2024-04-15 17:16:13 · 2716 阅读 · 0 评论 -
llamafactory:unified efficient fine-tuning of 100+ lanuage models
使用transformers的AutoModel API加载模型并初始化参数,为了使框架兼容不同模型架构,建立了一个模型注册表,存储每层的类型,从而更方便的使用高效的微调技术,当word embedding的词汇大小超过tokenizer的容量时,会调整层的大小,并使用噪声均值初始化新参数,为了计算RoPE缩放的缩放因子,计算了输入序列长度的最大值与模型的上下文长度的比率。相反,Lora冻结所有的预训练权重,并在指定层中引入一对可训练的低秩矩阵,当与量化结合时,称之为QLora。原创 2024-04-10 17:18:00 · 487 阅读 · 0 评论 -
modelscope-agent:Building your customizable agent system with open-source large language models
3.agent将使用提取的API参数执行选定的API,并将API结果返回给LLM,LLM将继续计划是否调用其他API,如果需要另一个API调用,则重复这个过程。基于llm构建可定制的智能代理系统。一个工具使用模块和一个内存模块用于交互,在接收到人类指令后,代理程序将自动规划任务,选择性的使用工具,利用内存中的知识,并最终向用户提供有帮助的响应。LLMs作为代理的大脑,负责计划和分解用户请求,选择性的调用工具,执行检索,并整合来自前面步骤的所有信息已生成最终响应。配置和管理代理中使用的各种API集合。原创 2024-04-09 14:32:31 · 330 阅读 · 0 评论 -
scaling laws for neural language models
关于scaling law 的正确认识 - 知乎最近scaling law 成了最大的热词。一般的理解就是,想干大模型,清洗干净数据,然后把数据tokens量堆上来,然后搭建一个海量H100的集群,干就完了。训练模型不需要啥技巧,模型结构也没啥好设计的,对算法精度影响…https://zhuanlan.zhihu.com/p/684955373对于基于transformer的语言模型,假设模型的参数量为N,数据集tokens个数为D(token数),那么模型的计算量C约为6ND,模型的计算量C一定后,模型的原创 2024-04-09 11:56:47 · 455 阅读 · 0 评论 -
[PPT] ChatGLM: An Alternative to ChatGPT
原创 2023-12-10 17:18:46 · 113 阅读 · 0 评论 -
chinese_llama_aplaca训练和代码分析
Chinese-LLaMA-Alpaca是在通用中文语料上训练了基于 sentencepiece 的20K中文词表并与原版LLaMA模型的32K词表进行合并,排除重复的token后,得到的最终中文LLaMA词表大小为49953。训练数据是alpaca_data_zh_51k.json,词表扩充阶段得到的词表是49953,但是sft阶段,alpaca的词表比llama多一个pad token,所以是49954,注意这个chinese_llama_alpaca的词表直接从作者的项目中拉取。原创 2023-11-03 14:06:22 · 706 阅读 · 0 评论 -
transformers-Causal lanuage modeling
causal lanuage model常用于文本生成。预测token系列中的下一个toekn,并且model只能关注左侧的token,模型看不到右侧的token。原创 2023-11-01 17:07:02 · 361 阅读 · 0 评论 -
transformers-Generation with LLMs
请注意,LLM(更精确地说是仅解码器模型)还将输入提示作为输出的一部分返回。由于LLM没有被训练以从填充标记继续生成,因此输入需要进行左填充。默认情况下,generate在每次迭代中选择最可能的标记(greedy decoding),除非在GenerationConfig文件中指定。如果未使用该格式,性能可能会出现悄然下降:模型可以运行,但效果不如按照预期的提示进行操作。停止条件是由模型决定的,模型应该能够学习何时输出一个序列结束(EOS)标记。如果不是这种情况,则在达到某个预定义的最大长度时停止生成。原创 2023-11-01 16:52:29 · 404 阅读 · 0 评论 -
transformers-AutoClass
LayoutLMv2需要一个image procssor处理图像,一个tokenizer处理文本,AutoProcessor将两者结合起来。AutoClass可以自动推断和加载给定checkpoint的正确架构。加载给定任务的预训练模型,原创 2023-11-01 15:41:18 · 183 阅读 · 0 评论 -
QWEN technical report
在中文,增加了常用的汉字和词汇以及其它语言中的词汇,遵循llama系列的方法,将数字拆分成单个数字,最终词汇为152k。去重,精确匹配去重和使用MinHash和LSH模糊去重,过滤低质量的数据,采用了基于规则和基于机器学习的方法的组合,使用多个模型对内容进行评分,包括语言模型、文本质量评分模型以及用于识别有可能含有不合适的内容的模型。阿里在很早前就开源了Qwen-7B模型,但不知道为什么又下架了。就在昨天阿里又开源了Qwen-14B模型(原来的7B模型也放出来了),同时还放出了Qwen的技术报告内容。原创 2023-10-26 18:02:18 · 470 阅读 · 0 评论 -
Baichuan2:Open large-scale language models
分词器需要平衡两个关键因素:高压缩率以实现高效的推理,并适当大小的词汇表以确保每个词embedding的充分训练。数据频率依赖于聚类和去重,构建了一个支持LSH型特征和稠密embedding特征的大规模去重和聚类系统,单个文档、段落和句子被去重评分,这些评分然后用于预训练中的数据采样。baichuan2-7B-chat,baichuan2-13B-chat,对齐包括sft和rlhf。在训练具有数十亿参数的大型语言模型之前,首先训练一些小模型,并为训练更大的模型拟合一个缩放定律。1024块A800 GPU。原创 2023-10-26 17:10:04 · 503 阅读 · 0 评论 -
[PPT] 主流大语言模型的技术细节
比较 LLaMA、ChatGLM、Falcon 等大语言模型的细节:tokenizer、位置编码、Layer Normalization、激活函数等。2. 大语言模型的分布式训练技术:数据并行、张量模型并行、流水线并行、3D 并行、零冗余优化器 ZeRO、CPU 卸载技术 ZeRo-offload、混合精度训练、激活重计算技术、Flash Attention、Paged Attention。主流大语言模型的技术原理细节。原创 2023-10-26 15:49:18 · 1624 阅读 · 0 评论 -
中文大语言和多模态模型测评
GitHub - HqWu-HITCS/Awesome-Chinese-LLM: 整理开源的中文大语言模型,以规模较小、可私有化部署、训练成本较低的模型为主,包括底座模型,垂直领域微调及应用,数据集与教程等。GitHub - HqWu-HITCS/Awesome-Chinese-LLM: 整理开源的中文大语言模型,以规模较小、可私有化部署、训练成本较低的模型为主,包括底座模型,垂直领域微调及应用,数据集与教程等。C-Eval的题目都是模拟题,不适用真题,真题容易被训练。2.C-Eval的目标。原创 2023-10-24 17:35:57 · 474 阅读 · 0 评论 -
[BELLE] Chathome:development and evaluation of a domain-specific llm for home renovation
在预训练过程中整合下游监督数据,在PT阶段整合下游指令数据,MIP:多任务指令预训练,前面是领域数据和通用数据之间的比例实验,MIP是预训练数据和指令数据之间的混合训练,在MIP阶段,训练数据仅包含领域预训练数据和领域指令数据,没有添加通用数据得到了69.03分。领域适应必然面临灾难性遗忘的问题,解决这个问题的一种直接方法是基于回顾的策略,其中包括回顾和重新学习先前获得的知识,考虑到大语言模型是在广泛的通用数据集上预训练,因此在领域适应过程中实现通用数据和领域特定数据的平衡非常重要。原创 2023-10-24 11:16:45 · 254 阅读 · 0 评论 -
[BELLE] A comparative study between full-parameter and LoRA-based fine-tuning on chinese instruction
评估集包含了1000个经过严格的人工筛选和处理的数据条目,涵盖9个类别,包括翻译、开放型问答、封闭性问答、生成以及其他。全量微调效果更好,预训练的大语言模型是为生成下一个单词而进行训练的,而要转换为遵循指令的任务需要更复杂的学习过程。在数学任务上表现不佳,为了验证lora在特定任务上的适应能力使用了增量0.25M的数学数据集math_0.25M,lora和增量微调在数学任务上都显示出了显著的改进。llama-7b和llama-13b,lora的秩=8,8xA100-40G。参数量越高的模型,效果越好。原创 2023-10-23 18:03:19 · 92 阅读 · 0 评论 -
[BELLE] Exploring the impact of instruction data scaling on llm:an empirical study on realworld case
选择了bloomz-7b1-mt,分别使用20w,60w,100w和200w个指令示例来训练Bloomz-7b1-mt模型得到BELLE-7B-0.2M、BELLE-7B-0.6M、BELLE-7B-1M、BELLE-7B-2M模型。数学、代码和COT:模型在仅有20w训练样例时表现较差,数据量增加到100w时,模型的表现改善,进一步提升变得困难,1.这三种类型数据质量较差,随着数据量的增加,错误的训练数据抑制了性能的提升;生成:从20w到100w后,性能有显著提升,之后性能区域稳定。原创 2023-10-23 17:18:10 · 49 阅读 · 0 评论 -
[BELLE] Towards better instruction following language models for chinese: investigating the impact .
使用sentencepiece在1200w行中文文本上基于字节对编码(BPE)算法训练了一个分词器,并将其词汇表大小设置为5w,将训练得到的新词汇与原始llama词汇合并,得到一个新的词汇表,共有79458个标记,之后调整词嵌入的大小,并在34亿个中文本词汇上进一步预训练llama,其他参数保持不变,在5000行中文文本上测试了扩展的分词器和原始分词器,每行的平均标记数从733减少到291.llama、llama-ext:扩展原始llama词汇表,并在其中预训练了3.4B个中文词汇,仅更新词嵌入。原创 2023-10-23 15:52:37 · 80 阅读 · 0 评论 -
[BELLE] Exporing chatgpt ability to rank content:a preliminary study on consistency with human pref
针对每个提示,采用了5个模型来生成回复,通过将chatgpt的排名结果与人工偏好注释进行比较,发现chatgpt的排名偏好与人类有一定程度的一致性。斯皮尔曼相关系数来评估在模型的回答中人类偏好和chatgpt偏好之间的一致性,计算top 1 consistency rate来评估人类和chatgpt之间的一致性。使用chatgpt能够完成排序任务,设计了两种类型的提示:逐一排序提示(one-by-one)和全体排序提示(one-for-all)。这是链家nlp做的belle大模型的系列文章,原创 2023-10-23 14:40:56 · 57 阅读 · 0 评论 -
EcomGPT:Instruction-tuning large lanuage models with chain-of-task tasks for e-commerce
2.确定了常见的几种基本数据类型,包括产品信息,用户评论,用户对话进而搜索查询。1.任务简化,调整模型的输入和真实标签,2.任务反转,对于一些原始任务,可以交换模型的输入和输出顺序来构建新任务,例如,可以从问答任务重构建一个问题生成任务,而根据产品标题生成产品描述的任务可以转换为一个标题生成任务,3.样本重组合,可以利用数据集中多个样本的信息来形成一个新的样本,例如,基于给定两个产品标题和属性的产品匹配任务,可以对这些样本中的产品标题和属性进行分割和洗牌,构建一个匹配产品标题和产品属性的任务。原创 2023-10-09 15:39:17 · 228 阅读 · 0 评论 -
chatgpt综述和报告
它可以根据用户输入的指令完成各种语言相关的任务,例如写文章、写代码、回答问题、日常聊天等等,能够极大地提高人们的生产力,这归功于它所表现出的强大的意图理解能力、流畅的对话能力和丰富的世界知识。【ChatGPT原理】第01篇,ChatGPT原理剖析 李宏毅,10分钟了解ChatGPT为什么是“真正的人工智能”,ChatGPT原理深度解析,深度解析ChatGPT的底层逻辑,为什么他能改变世界?语言模型其实是自回归模型,自回归模型把上一个的输出作为下一个的输入,循环迭代,根据之前的输入来输出。原创 2023-09-17 16:00:26 · 766 阅读 · 0 评论 -
Firefly大语言模型
firefly-train-1.1M:firefly自己收集的常见的nlp任务数据,moss-003-sft-data:moss开源的中英文多轮对话数据100w+,ultrachat:清华开源的英文多轮对话数据,140w+流萤的词表是从bloom模型裁剪而来,bloom是多语言的大模型,其中中文预料占比达到17.7%,仅次于英文,其中裁剪后的bloom词表来自于澜舟科技的孟子模型(langboat)。在本文中,笔者将介绍关于Firefly(流萤)模型的工作,一个中文对话式大语言模型。原创 2023-07-04 11:44:11 · 429 阅读 · 0 评论 -
ChatGLM-6B微调,P-Tuning,LoRA,Full parameter
2个position,一个表征句子,一个表征mask区域的顺序,前缀decoder先对mask掉的句子进行双向attention,从query角度看,x1可以看到x1到M,从mask decoder角度讲,x1作为query肯定看不到x1后面的,满阵表示可以看到整个序列,所以这部分是双向attention,后面的两者掩码是单向的decoder,是gpt。【官方教程】ChatGLM-6B 微调:P-Tuning,LoRA,Full parameter_哔哩哔哩_bilibili。原创 2023-06-06 19:55:48 · 650 阅读 · 0 评论 -
从GLM-130B到ChatGLM:大模型预训练与微调
【原生GPT-4接口】直接使用,不限次数。,【官方教程】ChatGLM-6B 微调:P-Tuning,LoRA,Full parameter,从入门到精通:掌握 ChatGLM6B 模型的流式接口用法,Falcon40B荣登开源AI大模型排行榜首位,【官方教程】VisualGLM技术讲解,清华发布VisualGLM-6B多模态模型 ChatGLM-6B升级版,【官方教程】XrayGLM微调实践,演示ChatGLM-6B加载本地知识库精确回答财税问题。130B,8台80G,24台40G。原创 2023-06-05 19:23:17 · 3102 阅读 · 0 评论 -
轻量微调和推理stanford_alpca
可以对参数进行微调以适应显存,可以修改部分参数来保证在较小显存和单卡上也可以测试,根据预训练路径找到对应的config.json文件,并按照下面的参数修改./llama-7b-hf路径下面的config.json文件修改max_sequence_length和num_hidden_layers等参数可以保证较小显存也可以训练。当前的Alpaca模型是在Self-Instruct论文中使用的技术生成的52K条指令数据,从7B LLaMA模型微调而来,并进行了一些修改。llama-7B的权重大概有12G。原创 2023-06-02 15:54:31 · 401 阅读 · 0 评论 -
基于P-Tuningv2轻量微调和推理chatglm
随着『GPT4多模态/Microsoft 365 Copilot/Github Copilot X/ChatGPT插件』的推出,绝大部分公司的技术 产品 服务,以及绝大部分人的工作都将被革新一遍类似iPhone的诞生 大家面向iOS编程 有了App Store现在有了ChatGPT插件/GPT应用商店,以后很多公司 很多人面向GPT编程(很快技术人员分两种,一种懂GPT,一种不懂GPT)然ChatGPT/GPT4基本不可能开源了,而通过上文《json文件中每条数据是一个字典,记录输入文本和输出文本。原创 2023-06-02 11:27:36 · 909 阅读 · 0 评论 -
开源大模型资料总结
OPT:125M、350M、1.3B、2.7B、6.7B、13B、30B、66B、175B 9个不同的参数规模和版本,175B需要申请。Chinese-LLaMA-Alpaca,LLaMA,7/13B,中英,instruction:2/3M,Phoenix,BLOOMZ,7B,中英,instruction:40+,conversation:40+Guanaco,LLaMA,7B,中/英,instruction:534k,Luotuo,LLaMA,7/13B,中,instruction:52k。原创 2023-05-21 18:07:04 · 1519 阅读 · 0 评论 -
大语言模型架构设计
对大模型进行改造,比如T5的预训练目标是MLM,不是一个很好的生成模型,把目标改成PLM或FLM,继续训练,和微调不同,再次训练用的数据不是下游数据,而是额外的无监督文本数据。masked language modeling,MLM,训练bert时的完形填空,遮盖住文本中一部分token,让模型通过上下文猜测遮盖部分的token,可以像T5一样将任务改造成text2text形式,input和target都是一段文本,可以适配ND和ED,如果将input和target拼接起来,就可以适配CD。原创 2023-05-21 16:05:40 · 1515 阅读 · 0 评论