大语言模型(Large Language Model,LLM)入门学习路线包括了三个方面:
大语言模型基础: 这涵盖了学习LLM所需的基本知识,包括数学、Python编程语言以及神经网络的原理。
大语言模型前沿算法和框架: 在这一部分,重点是利用最新的技术构建LLM。这包括研究和应用先进的算法和模型架构,以提高模型的性能和效率。
大语言模型工程化: 这一部分专注于创建基于LLM的应用程序,并将这些应用部署到实际环境中。这包括学习如何将LLM集成到各种平台和系统中,以及如何确保这些系统的稳定性和可扩展性。
1. 大语言模型基础
包括了数学基础知识、python基础、神经网络和NLP自然语言四个方面的学习。
1.1 机器学习的数学
线性代数:理解算法的关键。主要概念包括向量、矩阵、行列式、特征值和特征向量、向量空间和线性变换。
微积分:许多机器学习算法涉及连续函数的优化,这需要理解导数、积分、极限和级数。多变量微积分和梯度的概念也很重要。
概率与统计:对于理解模型如何从数据中学习也同样重要。主要概念包括概率论、随机变量、概率分布、期望、方差、协方差、相关性、假设检验、置信区间、最大似然估计和贝叶斯推断。
📚 资源:(可能需要科学上网,国内可访问版本在这里也给出一些链接)
3Blue1Brown - 线性代数的本质:教学视频,以生动直观的方式介绍了线性代数的相关概念。(B站一个已经翻译配音的版本)
StatQuest with Josh Starmer - 统计基础:为许多统计概念提供简单清晰的解释。(只找到B站生肉)
AP Statistics Intuition by Ms Aerin:博文,比较详细和基础,它是Medium文章,需要科学上网才能访问。
沉浸式线性代数:线性代数的另一种视觉解释。
Khan Academy - 线性代数:可汗学院的线性代数课程,适合初学者(B站有中文字幕版)
Khan Academy - 微积分:涵盖了所有的基础的微积分知识。(B站)
Khan Academy - 概率与统计:以易于理解的方式讲授。(B站)
1.2 机器学习的Python
Python一直是机器学习和深度学习的首选语言,这得益于其可读性、一致性和鲁棒的数据科学库生态系统。
Python基础:理解基本语法、数据类型、错误处理和面向对象编程。
数据科学库:包括熟悉NumPy进行数值操作,Pandas进行数据操作和分析,Matplotlib和Seaborn进行数据可视化。
数据预处理:涉及特征缩放和规范化、处理缺失数据、异常值检测、分类数据编码以及将数据分割成训练、验证和测试集。
机器学习库:熟练掌握Scikit-learn,这是一个提供了许多监督和非监督学习算法的库。重点需要了解如何实现线性回归、逻辑回归、决策树、随机森林、最近邻(K-NN)和K均值聚类等算法。
📚 资源:
Real Python:python学习网站
freeCodeCamp - 学习Python:Python中所有核心概念的详细介绍视频。该官网的可以访问,但是视频资源需要通过科学上网观看。
Python数据科学手册:学习pandas、NumPy、Matplotlib和Seaborn的免费书籍。
freeCodeCamp - 机器学习入门:机器学习算法学习。
Udacity - 机器学习入门:免费课程,涵盖了PCA和其他几个机器学习概念。
1.3. 神经网络
基础知识:这包括理解神经网络的结构,如层、权重、偏置和激活函数(sigmoid、tanh、ReLU等)。
训练和优化:熟悉反向传播和不同类型的损失函数,如均方误差(MSE)和交叉熵。理解各种优化算法,如梯度下降、随机梯度下降、RMSprop和Adam。
过拟合:理解过拟合的概念(模型在训练数据上表现良好但在未见数据上表现差)并学习各种正则化技术(dropout、L1/L2正则化、早停、数据增强)以防止它。
实现多层感知器(MLP):使用PyTorch构建一个MLP,也称为全连接网络。
📚 资源:
3Blue1Brown - 但什么是神经网络?:直观地解释了神经网络及其内部工作原理。(B站配音版本)
吴恩达深度学习
lfreeCodeCamp - 深度学习速成课:深度学习中所有最重要的概念的视频
Fast.ai - 实用深度学习:为想学习深度学习的有编程经验的人设计的免费课程
推荐书籍《一起动手学习深度学习》
李宏毅深度学习:更适合中国宝宝的深度学习视频
1.4. 自然语言处理(NLP)
NLP在许多应用中扮演着关键角色,如翻译、情感分析、聊天机器人等。
文本预处理:学习各种文本预处理步骤,如分词(将文本分割成单词或句子)、词干提取(将单词还原为其根形式)、词形还原(类似于词干提取但考虑上下文)、停用词去除等。
特征提取技术:熟悉将文本数据转换为机器学习算法能理解的格式的技术。关键方法包括词袋模型(BoW)、词频-逆文档频率(TF-IDF)和n-gram。
词嵌入:词嵌入是一种单词表示,允许具有相似含义的单词具有相似的表示。关键方法包括Word2Vec、GloVe和FastText。
循环神经网络(RNNs):理解RNNs的工作原理,这是一种为序列数据设计的神经网络类型。探索LSTMs和GRUs,两种RNN变体,它们能够学习长期依赖关系。
📚 资源:
RealPython - 使用spaCy进行Python自然语言处理:关于在Python中使用spaCy库进行NLP任务的详尽指南。
Kaggle - NLP指南:一些notebook和资源,用于手把手解释Python中的NLP。
Jay Alammar - Word2Vec的插图解释:理解著名的Word2Vec架构的好参考。
Jake Tae - 从头开始的PyTorch RNN:在PyTorch中实现RNN、LSTM和GRU模型的实际和简单操作。
colah的博客 - 理解LSTM网络:关于LSTM网络的理论性文章。
针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料
分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓
👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈
2. 大语言模型前沿算法和框架
2.1. 大语言模型(LLM)架构
需要清楚地了解模型的输入(token)和输出(logits),而原始的注意力机制( attention mechanism)是另一个必须掌握的关键部分,因为它是很多改进算法的基础,具体来说需要包括以下技术。
高层视角(High-level view:):编码器encoder-解码器decoder的Transformer架构,特别是仅有解码器的GPT架构,几乎所有流行LLM都应用了该架构。
令牌化(Tokenization):如何将原始文本数据转换成模型能理解的格式,这包括将文本拆分成Token(通常是单词或子词)。
注意力机制(Attention mechanisms):掌握注意力机制的理论,包括自注意力和缩放点积注意力,这使得模型能够在产生输出时关注输入的不同部分。
文本生成(Text generation):模型生成输出序列的多种方式。常见方法包括了贪婪解码(greedy decoding)、束搜索(beam search)、top-k采样(top-k sampling,)和核心采样(nucleus sampling)。
📚 资源:
Jay Alammar《揭秘Transformer》:对Transformer模型进行了直观和形象的解释。
Jay Alammar《揭秘GPT-2》:重点讨论了与Llama非常相似的GPT架构。
Brendan Bycroft《LLM可视化》:对LLM内部发生情况的进行3D可视化。
Andrej Karpathy《nanoGPT》:一个2小时长的YouTube视频,从头开始重新实现GPT(面向程序员)。(B站中文字幕版)
Lilian Weng《注意力?注意力!》:以更正式的方式介绍注意力机制的需求。
《LLM中的解码策略》:提供代码和对生成文本不同解码策略的视觉介绍。
2.2. 构建指令数据集
虽然从维基百科和其他网站可以轻松地找到原始数据,但何如将数据转换为问题和答案的配对配对却很难。而数据集的质量将直接影响模型的质量,它们是大模型微调(finetune)过程中最重要的组成部分。
Alpaca-样式数据集:使用OpenAI API(GPT)从头开始生成合成数据。你可以指定种子和系统提示以创建多样化的数据集。
高级技术:学习如何通过Evol-Instruct改进现有数据集,如何像在Orca和phi-1论文中那样生成高质量的合成数据。
数据过滤:使用正则表达式、移除近似重复项、关注令牌数较多的答案等传统技术。
提示模板:在没有真正标准的问题和答案的情况下,了解不同的聊天模板很重要,比如ChatML、Alpaca等。
📚 参考资料:
由Thomas Capelle撰写的《为指令调优准备数据集》:探索Alpaca和Alpaca-GPT4数据集及其格式化方法。
由Solano Todeschini撰写的《生成葡萄牙语临床指令数据集》:教程,介绍如何使用GPT-4创建合成指令数据集。
由Kshitiz Sahay撰写的《使用GPT 3.5为新闻分类创建指令数据集》:使用GPT 3.5创建指令数据集以微调Llama 2进行新闻分类。
《为LLM微调创建数据集》:包含一些过滤数据集和上传结果的技术的笔记本。
由Matthew Carrigan撰写的《聊天模板》:Hugging Face关于提示模板的页面。
2.3. 模型预训练
是指从大量的无监督数据集中进行模型预训练,模型预训练是一个非常漫长和消费资源的过程,因此它不是本学习路线教程的重点。但是我们可以了解它,以方便后续的学习。它主要包括以下几个部分:
数据管道:预训练需要巨大的数据集(例如,Llama 2是在2万亿令牌上训练的),这些数据集需要被过滤、令牌化,并与预定义的词汇表进行整合。
因果语言模型:了解因果和掩码语言模型的区别,以及在这种情况下使用的损失函数。为了有效的预训练,了解更多关于Megatron-LM或gpt-neox。
规模化定律:规模化定律描述了基于模型大小、数据集大小和用于训练的计算量的预期模型性能。
高性能计算:这里不讨论,但如果你计划从头开始创建自己的LLM(硬件、分布式工作负载等),则需要更多关于HPC的知识是基础。
📚 参考资料:
Junhao Zhao《LLMDataHub》:为预训练、微调和RLHF策划的数据集列表。
Hugging Face《从头开始训练因果语言模型》:使用transformers库从头开始预训练GPT-2模型。
Zhang等人创建的《TinyLlama》:检查此项目以了解如何从头开始训练Llama模型。
Hugging Face提供的《因果语言模型》:解释因果和掩码语言模型的区别,以及如何快速微调DistilGPT-2模型。
nostalgebraist撰写的《Chinchilla的狂野含义》:讨论规模化定律并解释它们对LLM通常意味着什么。
BigScience提供的《BLOOM》:Notion页面,描述了如何构建BLOOM模型,包括大量有关工程部分和遇到的问题的有用信息。
Meta提供的《OPT-175日志》:研究日志显示了什么出了问题,什么做得对。如果你计划预训练一个非常大的语言模型(在这种情况下,是175B参数),这将非常有用。
《LLM 360》:一个开源LLM框架,提供训练和数据准备代码、数据、指标和模型。
2.4. 监督式微调(Supervised Fine-Tuning)
监督式微调就是让我们在已经标注的数据集上对已经预训练好的模型进行再次训练,以符合任务需求,它是一个非常重要的过程。
完全微调(Full fine-tuning):完全微调指的是训练模型中的所有参数。这不是一种高效的技术,但它产生稍好的结果。
LoRA:一种基于低秩适配器的参数高效技术(PEFT)。我们只训练这些适配器,而不是所有参数。
QLoRA:另一种基于LoRA的PEFT,它还将模型的权重量化为4位,并引入分页优化器来管理内存峰值。将其与Unsloth结合使用,可以在免费的Colab笔记本上有效运行。
Axolotl:一个用户友好且强大的微调工具,被用于许多最先进的开源模型。
DeepSpeed:高效的预训练和微调LLM,适用于多GPU和多节点设置(在Axolotl中实现)。
📚 参考资料:
由Alpin撰写的《LLM训练新手指南》:概述微调LLM时要考虑的主要概念和参数。
由Sebastian Raschka提供的《LoRA洞察》:关于LoRA的实际洞察和如何选择最佳参数。
《自己微调Llama 2模型》:关于如何使用Hugging Face库微调Llama 2模型的动手教程。
由Benjamin Marie撰写的《为因果LLM填充训练示例》:因果LLM填充训练示例的最佳实践。
《LLM微调初学者指南》:关于如何使用Axolotl微调CodeLlama模型的教程。
如何学习AI大模型?
大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业
?”“谁的饭碗又将不保了?
”等问题热议不断。
不如成为「掌握AI工具的技术人
」,毕竟AI时代,谁先尝试,谁就能占得先机!
想正式转到一些新兴的 AI 行业,不仅需要系统的学习AI大模型。同时也要跟已有的技能结合,辅助编程提效,或上手实操应用,增加自己的职场竞争力。
但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高
那么针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料
分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程
等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓
👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈
学习路线
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓