大模型开源有几个等级,开源程度从低到高:
实际上大部分的模型开源诸如LLaMa2、Mistral、Qwen等,只做到Level-1,像DeepSeek这样的可以做到Level-2。而Level-4及以上的开源一个都没有。
LLM时代的典型特征:学习速度跟不上知识的更新速度(下载速度跟不上模型的开源速度)。
参考:
https://www.zhihu.com/question/584132646
中国的大语言模型“悟道2.0”参数是GPT-3十倍,是否中国在大语言模型训练技术上已经远远超过美国?
https://zhuanlan.zhihu.com/p/463352552
稀疏性在机器学习中的发展趋势——Sparsity,稀疏激活,高效计算,MoE,稀疏注意力机制
https://zhuanlan.zhihu.com/p/254821426
乘风破浪的PTM:两年来预训练模型的技术进展(2020年之前的主流技术)
https://zhuanlan.zhihu.com/p/597586623
通向AGI之路:大型语言模型(LLM)技术精要
https://mp.weixin.qq.com/s/eV_9Mi2879w_gfoyiSm8Ug
LLM全景图(The Landscape of LLM)
https://www.zhihu.com/question/604592470
前两个月国产类ChatGPT大模型如雨后春笋,为何最近都没声音了?
https://mp.weixin.qq.com/s/oqhi58NcEVH1oVrW2p4xlQ
大模型参数高效微调技术原理综述(一)-背景、参数高效微调简介
https://mp.weixin.qq.com/s/fUAUr9X3XLndfjga2QIHbA
大模型参数高效微调技术原理综述(二)-BitFit、Prefix Tuning、Prompt Tuning
https://mp.weixin.qq.com/s/f4l04f78F507JRrCawnV8w
大模型参数高效微调技术原理综述(三)-P-Tuning、P-Tuning v2
https://mp.weixin.qq.com/s/nUAcCz6mcgGuUeuTfgqmOQ
大模型参数高效微调技术原理综述(四)-Adapter Tuning及其变体
https://mp.weixin.qq.com/s/N_N6RqKB9pjZ1tozfM5f5A
大模型参数高效微调技术原理综述(五)-LoRA、AdaLoRA、QLoRA
https://mp.weixin.qq.com/s/M2nds_FJBXooi08qDU-4yA
大模型参数高效微调技术原理综述(六)-MAM Adapter、UniPELT
https://mp.weixin.qq.com/s/P_AmTa4s8dOyc_0fZBgNPA
大模型参数高效微调技术原理综述(七)-最佳实践、总结
https://zhuanlan.zhihu.com/p/618695885
LLaMA, Alpaca, ColossalChat系列模型研究
https://zhuanlan.zhihu.com/p/638809556
大模型高效微调综述上:Adapter Tuning、AdaMix、PET、Prefix-Tuning、Prompt Tuning、P-tuning、P-tuning v2
https://zhuanlan.zhihu.com/p/651564985
主流大语言模型从预训练到微调的技术原理
代码:
https://github.com/facebookresearch/llama
有用的LLAMA模型:
https://huggingface.co/TheBloke/Llama-2-7B-Chat-GPTQ
https://huggingface.co/Trelis/Llama-2-7b-chat-hf-sharded-bf16
Inference:
https://clay-atlas.com/blog/2023/09/21/huggingface-transformers-streaming/
使用HuggingFace Transformer中的TextStreamer和TextIteratorStreamer來實現串流式(stream)輸出生成token
各类开源LLM打榜:
https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard
参考:
https://github.com/jacoblee93/fully-local-pdf-chatbot
一个本地版本的阅读PDF的chatbot
https://s-tm.cn/2023/06/10/SaveModelSharding/
使用HuggingFace transformers进行模型分片存储
https://www.zhihu.com/question/653373334
如何看待Meta发布Llama3,并将推出400B+版本?
https://mp.weixin.qq.com/s/VU_qUQEjqUNHd0UK6RLM9g
一文带你了解LLAMA(羊驼)系列
官网:
https://www.kaggle.com/models/google/gemma
llama 3是Meta于2024年发布的LLM。
论文:
《The Llama 3 Herd of Models》
本论文发布于2024.7,它实际上是Llama 3.1的技术报告。
https://blog.csdn.net/v_JULY_v/article/details/140659420
一文速览Llama 3.1——对其92页paper的全面细致解读:涵盖语言、视觉、语音的架构、原理
GPT-J是一个由EleutherAI开发的自然语言处理(NLP)模型,基于GPT-3的架构,拥有6B个参数。它在800GB的开源文本数据集上进行训练,具有强大的语言生成和理解能力。
大语言模型参与的芯片前端设计迭代流程
最为知名的规模定律包括“Kaplan定律”和“Chinchilla定律”。
Kaplan定律指出,在固定计算量的前提下,扩大模型规模通常比增加数据量更为有效;
而Chinchilla定律则认为,模型规模和数据量同样重要。
DeepMind研究了在给定算力预算下训练Transformer语言模型的最佳模型大小和tokens数量。
在LLaMA-1预训练时候,从各种开源数据集,凑够了1.4T的tokens。按照Chinchilla Law,应该使用1,400B (1.4T) tokens来训练参数量大小为70B的LLM最佳。即:每个参数需要大约20个文本token。
https://zhuanlan.zhihu.com/p/627821763
训练LLM需要多少数据?
https://www.zhihu.com/question/628395521
如何看待微软论文声称ChatGPT是20B(200亿)参数量的模型?
6B模型可以在在12/16/24G显存的消费级显卡部署和训练。如果一个公司的模型不打算在消费级显卡部署,通常不会训6B这个规模。而且通常还会有一个1.4b或者2.8b,这个是比较适合在手机、车载端量化部署的尺寸。
13B模型按照4k长度组织数据,数据并行=2,刚好占满一个8卡机,并且可以量化部署在A10甚至4090。
下一档也不是130B,目前更大模型有16B、34B、52B、56B、65B、70B、100B、130B、170B、220B这几个规模,基本都是刚好占满某种规格的算力,要么是训练要么是推理。如果需要加快训练速度,只需要倍增卡数即可。比如我们训7B模型以8卡为单位,8x8卡训,70B模型以80卡为单位,80x6卡训。
https://www.zhihu.com/question/627258986
现在LLM的大小为什都设计成6/7B、13B和130B几个档次?
Meta在LLaMA的观点是:给定模型的目标性能,并不需要用最优的计算效率在最快时间训练好模型,而应该在更大规模的数据上,训练一个相对更小模型,这样的模型在推理阶段的成本更低,尽管训练阶段的效率不是最优的(同样的算力其实能获得更优的模型,但是模型尺寸也会更大)。
https://zhuanlan.zhihu.com/p/667489780
解析大模型中的Scaling Law
当batch size较小时,更新方向(即对真实梯度的近似)会具有很高的方差,导致的梯度更新主要是噪声。
当batch size非常大时,我们从训练数据中抽样的任何两组数据都会非常相似(因为它们几乎完全匹配真实梯度)。
所以就有了Gradient Noise Scale Law。
https://zhuanlan.zhihu.com/p/666997679
大Batch训练LLM探索
Mixture of Experts(MoE)
挑出模长最大的k个向量来逼近n个向量之和:模长越大的向量,在求和过程中越不容易被抵消,从而作用越突出。
https://kexue.fm/archives/10699
MoE环游记:从几何意义出发
开源项目:
https://github.com/XueFuzhao/OpenMoE
https://github.com/laekov/fastmoe
https://mp.weixin.qq.com/s/XQSEg2_8_1lFqWdHVG6TVA
Switch Transformer: 高效稀疏的万亿参数Transformer
https://zhuanlan.zhihu.com/p/362525526
深入解读首个万亿级语言模型Switch Transformer
https://zhuanlan.zhihu.com/p/676980004
使用PyTorch实现混合专家(MoE)模型
https://huggingface.co/blog/zh/moe
混合专家模型(MoE)详解
https://zhuanlan.zhihu.com/p/662518387
MOE并行
https://zhuanlan.zhihu.com/p/1431483173
聊聊MoE实验性工作Upcycling Large Language Models into Mixture of Experts
https://zhuanlan.zhihu.com/p/672712751
大模型LLM之混合专家模型MoE(上-基础篇)
https://zhuanlan.zhihu.com/p/673048264
大模型LLM之混合专家模型MoE(下-实现篇)
Mixtral是由Mistral AI团队推出的MoE模型,参数大小为47B。
https://zhuanlan.zhihu.com/p/676010571
欢迎Mixtral-当前Hugging Face上最先进的MoE模型
《DeepSeekMoE: Towards Ultimate Expert Specialization in Mixture-of-Experts Language Models》
《DeepSeek-V2: A Strong, Economical, and Efficient Mixture-of-Experts Language Model》
《DeepSeek-V3 Technical Report》
DeepSeek认为在同等专家参数量和计算成本不变的前提下,更多数量的小专家,比数量少的大专家好。这种更精细的专家分割使得激活专家的组合更加灵活且适应性更强。
专家路由事实上引入了一个不连续的门控函数(对梯度计算不友好),这导致梯度下降优化方法在MoE训练中表现不佳,甚至出现“路由崩溃”,即模型容易陷入始终为每个Token激活相同的少数专家的窘境,而不是将计算合理的传播到所有的可用专家。这也是MoE模型训练的难点。
传统的规避路由崩溃的方法是强制“平衡路由”,即通过训练策略让每个专家在足够大的训练批次中被激活的次数大致相等。这一策略也就是“辅助损失”。但这种强制性的辅助损失会由于训练数据的结构不均衡特征,导致同领域的专家能力分散到不同的专家模块之中,极度损害MoE模型的性能。理想的MoE应该有一些经常访问高频通用信息,并具备其他访问较少的专业领域专家。如果强制平衡路由,将失去实现此类路由设置的能力,并且必须在不同的专家之间冗余地复制信息。
您的打赏,是对我的鼓励