ChatGPT 人工智能 GPT4 伦理 生成式 医疗 监管 安全 机器学习 深度学习 神经网络 计算机视觉 强化学习 模型 算法 应用 开发 研究 工具 平台 框架 数据集 训练 部署 安全 合规 培训 投资 LLM,llm AI,ai,Ai 大模型 大语言模型 制图 生图 绘图 文生图 文生视频 生成式AI AGI 世界模型 sora chatGPT,chatgpt,ChatGpt claude openai Llama deepseek midjourney 红熊猫模型 Red panda,panda Stable Diffusion,StableDiffusion,stable DALL- E 3 DALL E DALL Flux,flux 扩散模型 混元大模型 文心一言 通义千问 可灵 Pika PixelDance 豆包 月之暗面 零一万物 阶跃星辰 搜索增强 MiniMax Talkie Agent prompt fastai LangChain TTS 微调 提示词 知识库 智能体
# 热门搜索 #
搜索
14天速成LLM高手!大佬开源学习笔记,GitHub狂揽700星
4587点击    2024-11-17 14:34

无论是面试找工作、还是自学创业,甚至想要在圈子内讨论一下AGI的潜力,但凡想要深度参与到AI浪潮中,不可避免的就是学习大型语言模型(LLM)的底层原理。


但AI发展这么多年,论文、学习资料多如牛毛,并且更新换代极快,如何快速入门,学习到那些真正的基础知识,对于新手来说都是一个难题。


最近,一位AI从业者在网上分享了自己的学习过程,仅用14天就学完了LLM所需要的核心知识,学习笔记在GitHub上斩获了675+星星,并且还在持续上涨。


仓库链接:https://github.com/hesamsheikh/ml-retreat


学习路线中的主要知识点包括token嵌入、位置嵌入、自注意力、Transformer、对Q、K、V的直观理解、因果和多头注意力、温度、top-k、top-p、分类和指令微调、旋转位置编码(RoPE)、KV缓存、无限注意力(长上下文窗口)、专家混合(MoE)、分组查询注意力(grouped query attention)、llama-2架构及相关技术等。


学习LLM三步走


作者把学习路线分为了三个步骤:


1. 从头开始构建大模型(Build an LLM from Scratch)


这部分主要是总结语言模型的基础知识,包括token、位置嵌入、自注意力机制、Transformer架构、最初版本的注意力机制(Attention is All You Need论文)和微调的基本原理。



虽然网络上已经有很多资源,但其中最关键的参考资料是Sebastian Raschka编写的《从头开始构建大型语言模型》(Build a Large Language Model From Scratch),这本书解释技术原理时非常巧妙,读者也很容易理解。



在学习构建智能体时,一个无法绕过的难题就是研究自注意力机制的工作原理:自注意力机制可以让模型在处理文本时,能够理解每个单词或短语(也可以叫做token)在整体上下文中的位置和重要性。


整个过程会涉及到三个关键概念:查询(query)、键(key)和值(value),其中查询代表模型在寻找信息时提出的问题,键则是数据库中的索引,帮助智能体快速找到相关信息,而值则是查询所寻求的具体信息或数据。


三个组件的相互作用,使得智能体能够在处理语言时,不仅可以关注单个单词,还能理解单词之间的相互关系,从而更准确地捕捉文本的深层含义。


2. 大模型幻觉(LLM Hallucination)


在学习的第二部分,作者推荐学习「什么是幻觉」以及「LLMs为什么会产生幻觉」,可能也是潜伏在很多学习者脑海中的问题,对理解语言模型也有很大帮助。


幻觉是指模型生成的文本与现实世界的事实或用户的输入不一致的现象,对于研究人员以及使用LLM构建应用的人来说是一个巨大的挑战。



在研究过程中,你可能会意识到大模型的各种问题,诸如:


位置偏差(positional bias),即模型倾向于关注距离较近的token,而忽略了更远的token,偏差可能会影响模型对文本整体含义的理解。


曝光偏差(exposure bias),在推理阶段,模型预测出一个错误的token可能会影响后续token的生成,可能会导致模型在生成文本时出现一连串的错误,从而降低输出质量。


还会意识到数据、训练和推理对「幻觉」问题都有不同的影响。


为了缓解幻觉问题,可以尝试不同的训练策略,以减少模型在训练和推理时的不一致性;还可以考虑如何通过引入位置编码来解决位置偏差问题,以及如何通过增加模型的上下文理解能力来减少幻觉的发生。


总的来说,这些问题的解决需要深入理解模型的工作原理,以及如何通过各种技术手段来优化,随着研究的深入,可以开发出更加强大和可靠的智能体,以支持各种语言处理任务。


3. LLM Edge:不止注意力


最后阶段会学习到一些不那么「基础」的一些知识,但在构建LLM系统时非常关键,主要包括:



暂停(Pause) Tokens:让大模型有更多时间「思考」。


无限注意力(Infini-attention):通过利用之前处理过的token的记忆,可以让大模型的上下文窗口变的非常大,比如Gemini模型的上下文窗口就高达100万个token。


旋转位置编码(RoPE,Rotary Positional Embedding):一种相对位置编码方法,在Llama以及其他许多大型语言模型中广泛使用,主要优势在于能够关注序列中距离较远的token。


KV缓存(KV Cache):消除在生成先前token时重复的计算,可以提高效率。


专家混合(MoE,Mixture of Experts):不止使用单一的大规模模型,而是结合了多个较小的LLMs,由Mistral模型推广(Mistral的8个大小为7B的模型在某些任务上的表现超过了Llama 2的70B模型)。


为了回顾这些主题,作者主要研究了Meta的Llama模型的架构和代码,相关资源可以在代码仓库中找到。


学习资源


在研究这些主题时,作者并不只依赖单一的资源,例如在学习大型语言模型(LLMs)的基础知识时,主要参考了《从头开始构建大型语言模型》这本书;与此同时,读论文也是必不可少的,特别是那些首次提出某项技术的研究(比如原始的Transformer论文),以及综述论文,汇总了众多研究并给出了简洁的总结。



一些教学视频也很有用,可以作为预热,让心里有一个大概的印象,一个比较好的资源是Andrej Karpathy,其中包含了大量「从零开始解释大型语言模型」的教学视频。


预备知识


数学知识


线性代数:向量和矩阵,矩阵乘法

概率论和统计学:概率的基本概念,随机变量和分布,期望值和方差,最大似然估计(MLE)

微积分:微分和积分(尤其是用于反向传播),偏导数(用于基于梯度的优化)

优化:梯度下降,随机梯度下降(SGD),高级优化器(例如Adam)


编程、框架


Python:熟悉如NumPy和Pandas这样的库

深度学习框架:TensorFlow或PyTorch,熟悉模型训练、调试和评估


深度学习概念


理解感知机、激活函数和层。反向传播和梯度下降。损失函数(交叉熵,均方误差)


卷积神经网络(CNNs)(可选,但有帮助):有助于理解模型中层的操作


温馨提示


享受学习过程


虽然作者确实在两周之内把这些主题都学完了,涉及的概念也不是特别复杂,但作者表示,两周只是用来强调这并不是一项难以完成的任务,你并不需要设定一个严格的截止日期来学习这些资源。


在刚开始学习的时候,我也没想过14天就能学完,一切都是顺其自然,即使最后花了一个月,也没有任何问题,要享受发现新事物的乐趣。


不要拘泥于学习路线图


每个人都有自己的学习节奏和背景知识,你可以对学习路线图进行调整。


学习是一个非常个性化的体验,要学什么是基于「你已知的」和「你想知道的」,对于每个人来说,这个问题的答案都是不同的,所以不要完全照搬学习路线图,可以选择其中感兴趣的部分。


没有一本书、资源或路线图是最佳的,所以不要将自己局限于单一的资源。


不必读完所有内容


当你拿起一本书、观看YouTube视频或阅读论文来研究这些材料时,并没有规定要必须从头到尾读完,只需要获取到所需要的信息,就可以关掉了。


特别是论文,完整看完可能会非常耗时,所以在阅读这些材料之前,先确定你心中的问题,并有针对性地寻找答案,可以避免在不相关的内容上浪费时间,即使这些内容可能很有价值,但可能与你的需求无关。


参考资料:

https://towardsdatascience.com/how-i-studied-llms-in-two-weeks-a-comprehensive-roadmap-e8ac19667a31


文章来自于微信公众号“新智元”


关键词: AI , LLM , AI资料 , 人工智能
AITNT资源拓展
根据文章内容,系统为您匹配了更有价值的资源信息。内容由AI生成,仅供参考
1
智能体

【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。

项目地址:https://github.com/Significant-Gravitas/AutoGPT


【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。

项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md

2
RAG

【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。

项目地址:https://github.com/microsoft/graphrag

【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。

项目地址:https://github.com/langgenius/dify


【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。

项目地址:https://github.com/infiniflow/ragflow/tree/main


【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目

项目地址:https://github.com/phidatahq/phidata


【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。

项目地址:https://github.com/TaskingAI/TaskingAI

3
微调

【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。

项目地址:https://github.com/InternLM/xtuner