翻译: Gen AI生成式人工智能学习资源路线图一

news2024/11/26 17:51:06

Introduction 介绍

本文档旨在作为学习现代人工智能系统背后的关键概念的手册。考虑到人工智能最近的发展速度,确实没有一个好的教科书式的资源来快速了解 LLMs 或其他生成模型的最新和最伟大的创新,但互联网上有大量关于这些主题的优秀解释资源(博客文章、视频等)。我的目标是将这些资源中的“最好的”组织成教科书式的演示文稿,它可以作为满足个人人工智能相关学习目标的先决条件的路线图。我希望这将是一份“活文件”,随着新的创新和范式不可避免地出现而进行更新,并且理想情况下也是一份可以从社区投入和贡献中受益的文件。本指南针对的是那些具有某种技术背景、出于好奇或潜在职业而有兴趣深入研究人工智能的人。我假设您有一些编码和高中数学水平的经验,但否则将提供填写任何其他先决条件的指导。如果您认为有什么需要补充的,请告诉我!
在这里插入图片描述

The AI Landscape 人工智能前景

截至 2024 年 6 月,自 OpenAI 发布 ChatGPT 以来已经过去了大约 18 个月,世界开始更多地谈论人工智能。此后发生了很多事情:Meta 和 Google 等科技巨头发布了自己的大型语言模型,Mistral 和 Anthropic 等较新的组织也被证明是有力的竞争者,无数初创公司开始在他们的 API 基础上构建,每个人都在争夺强大的 Nvidia GPU、论文以极快的速度出现在 ArXiv 上、由 LLMs 驱动的物理机器人和人工程序员的演示在流传,聊天机器人似乎正在寻找进入在线生活的各个方面的方法(在不同程度上)的成功)。与LLM竞赛同时进行的,通过扩散模型生成图像也取得了快速发展; DALL-E 和 Midjourney 正在展示越来越令人印象深刻的结果,这些结果常常在社交媒体上难倒人们,随着 Sora、Runway 和 Pika 的进步,高质量视频生成似乎也指日可待。关于“AGI”何时到来、“AGI”到底意味着什么、开放模型与封闭模型的优点、价值一致性、超级智能、存在风险、假新闻和经济的未来,一直存在争论。许多人担心自动化会导致工作岗位流失,或者对自动化可能推动的进步感到兴奋。世界在不断发展:芯片变得更快,数据中心变得更大,模型变得更智能,上下文变得更长,能力通过工具和愿景得到增强,但目前尚不完全清楚这一切的发展方向。如果您在 2024 年关注“人工智能新闻”,您通常会感觉几乎每天都会发生某种重大的新突破。有很多事情需要跟上,尤其是当你刚刚开始收听时。

随着进展如此之快,那些寻求“参与行动”的人自然倾向于选择最新最好的可用工具(截至撰写本文时,可能是 GPT-4o、Gemini 1.5 Pro 或 Claude 3 Opus) ,取决于你问的是谁)并尝试在它们之上构建一个网站或应用程序。当然还有很大的空间,但这些工具会很快发生变化,对底层基础知识有深入的了解将使您更容易地充分利用您的工具,并在新工具推出时快速使用它们,并评估成本、性能、速度、模块化和灵活性等方面的权衡。此外,创新不仅仅发生在应用层,Hugging Face、Scale AI 和 Together AI 等公司通过专注于开放权重模型的推理、训练和工具(等等)而站稳了脚跟。无论您是想参与开源开发、从事基础研究,还是在因成本或隐私问题而无法使用外部 API 的环境中利用 LLMs,了解这些事情在hood,以便根据需要调试或修改它们。从更广泛的职业角度来看,当前的许多“AI/ML 工程师”角色除了高级框架之外还将重视具体知识,就像“数据科学家”角色通常寻求对理论和基础知识的牢固掌握一样对当前的 ML 框架过于熟练。深入研究是一条更艰难的道路,但我认为这是一条值得的道路。但随着过去几年创新的步伐,您应该从哪里开始呢?哪些主题是必不可少的,您应该按什么顺序学习它们,以及您可以浏览或跳过哪些主题?

The Content Landscape 内容格局

教科书非常适合提供一系列领域的高级路线图,其中“关键思想”集更加稳定,但据我所知,确实没有公开的 ChatGPT 后“人工智能指南”和教科书-风格的全面性或组织性。目前还不清楚有人编写一本涵盖人工智能当前状况的传统教科书是否有意义;许多关键想法(例如 QLoRA、DPO、vLLM)都还不到一年的时间,到印刷时该领域可能已经发生了巨大变化。经常引用的《Deep Learning》一书(Goodfellow 等人)已经有近十年的历史了,并且只粗略地提到了通过 RNN 进行语言建模。较新的《Dive into Deep Learning》一书涵盖了 Transformer 架构和 BERT 模型的微调,但 RLHF 和 RAG 等主题(按照我们将要涉及的一些更前沿主题的标准来看,这些主题已经“过时”) ) 缺失。即将出版的《Hands-On Large Language Models》一书可能很不错,但它尚未正式出版(现在可以通过付费专区在线获取),并且可能不会免费。如果您是斯坦福大学的学生,CS224n 课程似乎很棒,但如果没有登录,您只能使用幻灯片和主要由密集的学术论文组成的阅读列表。微软的“Generative AI for Beginners面向初学者的生成式人工智能”指南相当可靠,可以帮助您熟悉流行的框架,但它更侧重于应用程序而不是理解基础知识。

据我所知,与我的想法最接近的资源是 Github 上 Maxime Labonne 的 LLM 课程。它具有许多交互式代码笔记本,以及用于学习基本概念的资源链接,其中一些与我将在此处包含的内容重叠。我建议您在阅读本手册时将其作为主要配套指南,特别是如果您对应用程序感兴趣的话;本文档不包括笔记本,但我涵盖的主题范围更广泛,包括一些不太“标准”的研究线程以及多模式模型。

尽管如此,还有大量其他高质量且易于访问的内容涵盖了人工智能的最新进展——只是不是全部都井井有条。快速了解新创新的最佳资源通常是一次性博客文章或 YouTube 视频(以及 Twitter/X 线程、Discord 服务器以及 Reddit 和 LessWrong 上的讨论)。我编写本文档的目标是提供一个导航所有这些内容的路线图,将其组织成教科书式的演示文稿,而无需重新设计各个解释器。在整个过程中,我将尽可能包含多种风格的内容(例如视频、博客和论文),以及我对目标相关知识优先顺序的看法以及我在第一次遇到这些主题时发现有用的“心理模型”注释。

我并不是以“生成式人工智能专家”的身份来创建这份文档,而是以最近有过在短时间内熟悉这些主题的经验的人的身份来创建这份文档。虽然我从 2016 年左右就开始从事人工智能相关工作(如果我们将运行视觉模型评估的实习项目算作“开始”),但我只是在 18 个月后才开始密切关注 LLM 的发展之前,随着 ChatGPT 的发布。大约 12 个月前,我第一次开始使用开放重量 LLMs。因此,过去一年我花了很多时间筛选博客文章、论文和视频,以寻找其中的精华;希望本文档是该路径的更直接版本。它也是我与朋友进行的许多对话的精华,我们试图找到并分享处理复杂主题的有用直觉,以加快彼此的学习速度。编译这篇文章对于填补我自己的理解空白也是一个很大的推动作用。直到几周前我才知道 FlashAttention 是如何工作的,而且我仍然认为我还没有真正理解状态空间模型。但我比刚开始的时候知道了很多。

Resources 资源

我们将借鉴的一些来源是:

Blogs: 博客:

  • Hugging Face blog posts 拥抱脸博客文章
  • Chip Huyen’s blog 博客
  • Lilian Weng’s blog 博客
  • Tim Dettmers’ blog 博客
  • Towards Data Science 走向数据科学
  • Andrej Karpathy’s blog 博客
  • Sebastian Raschka’s “Ahead of AI” blog 博客

YouTube: YouTube:

  • Andrej Karpathy’s “Zero to Hero” videos “从零到英雄”视频
  • 3Blue1Brown videos 3Blue1Brown 视频
  • Mutual Information 互信息
  • StatQuest 统计任务

Textbooks 教科书

  • The d2l.ai interactive textbook d2l.ai 互动教科书
  • The Deep Learning textbook 深度学习教科书

Web courses: 网络课程:

  • Maxime Labonne’s LLM Course
  • Microsoft’s “Generative AI for Beginners” 微软的“面向初学者的生成式人工智能”
  • Fast.AI’s “Practical Deep Learning for Coders” Fast.AI 的“程序员实用深度学习”
  • Assorted university lecture notes 各种大学讲义
  • Original research papers (sparingly) 原创研究论文(少量)

我经常会参考原始论文的关键思想,但我们的重点将是更简洁和概念性的说明性内容,针对的是学生或从业者,而不是经验丰富的人工智能研究人员(尽管希望进行人工智能研究的前景会更好)当您在这些来源中取得进展时,就会变得不那么令人畏惧)。如果可能的话,将给出多种资源和媒体格式的指示,并对其相对优点进行一些讨论。

Chapter 1: Preliminaries 第一章:预备知识

Math 数学

如果你想了解现代深度学习,微积分和线性代数几乎是不可避免的,现代深度学习很大程度上是由矩阵乘法和梯度反向传播驱动的。许多技术人员围绕多元微积分或入门线性代数结束了他们的正式数学教育,并且由于必须记住一套不直观的恒等式或手动求逆矩阵而感到口酸,这似乎很常见,这可能会阻碍你的学习。进一步深入数学教育的前景。幸运的是,我们不需要自己进行这些计算——编程库将为我们处理它们——相反,掌握以下概念的实用知识更为重要:

  • Gradients and their relation to local minima/maxima 梯度及其与局部最小值/最大值的关系
  • The chain rule for differentiation 微分的链式法则
  • Matrices as linear transformations for vectors 矩阵作为向量的线性变换
  • Notions of basis/rank/span/independence/etc. 基础/等级/跨度/独立性/等等的概念。

良好的可视化确实可以帮助这些想法深入人心,我认为没有比 3Blue1Brown 的这两个 YouTube 系列更好的资源了:

  • Essence of calculus 微积分的本质
  • Essence of linear algebra 线性代数本质

如果你的数学很生疏,我当然鼓励你在深入研究之前(重新)观看这些内容。为了测试您的理解程度,或者作为我们前进方向的预览,同一频道上较短的神经网络 Neural networks视频系列也非常好,该系列中的最新几个视频对用于语言建模的 Transformer 网络进行了很好的概述。

滑铁卢Waterloo的这些讲义 对与优化相关的多变量微积分进行了一些有用的介绍,Sheldon Axler 的《Linear Algebra Done Right”线性代数》是线性代数的一本很好的参考书。 Boyd 和 Vandenberghe 的“凸优化Convex Optimization”展示了这些主题如何为机器学习中面临的各种优化问题奠定基础,但请注意,它确实具有相当的技术性,如果您最感兴趣的是应用程序,则可能不是必需的。

线性规划当然值得理解,并且基本上是您将遇到的最简单的高维优化问题(但仍然非常实用);这个视频应该为您提供大部分核心思想,如果您想更深入地了解数学,Ryan O’Donnell 的视频(本系列中的 17a-19c,取决于您想要深入的程度)非常好。 Tim Roughgarden 的这些讲座(#10、#11)还展示了线性编程和我们稍后将讨论的“在线学习”方法之间的一些有趣的联系,这将构成 GAN(以及许多其他事物)的概念基础。

Programming 编程

如今,大多数机器学习代码都是用 Python 编写的,这里的一些参考文献将包括用于说明所讨论主题的 Python 示例。如果您不熟悉 Python 或一般编程,推荐 Replit’s 100 Days of Python。一些系统级主题还将涉及 C++ 或 CUDA 中的实现 - 诚然,我在这方面都不是专家,并且将更多地关注可以通过 Python 库访问的更高级别的抽象,但我会尽管如此,在相关部分中仍包含这些语言的潜在有用参考。

Organization 组织

本文档分为几个部分和章节,如下和侧栏中所列。我们鼓励您跳到对您的个人学习目标最有用的部分。总的来说,我建议首先浏览许多链接的资源,而不是逐字阅读(或观看)。希望这至少能让您了解在任何特定学习目标的依赖性方面您的知识差距在哪里,这将有助于指导更有针对性的第二遍。

Section I: Foundations of Sequential Prediction 第一节:序列预测的基础

Goal: Recap machine learning basics + survey (non-DL) methods for tasks under the umbrella of “sequential prediction”.
目标:回顾“序列预测”下任务的机器学习基础知识 + 调查(非深度学习)方法。

Section II: Neural Sequential Prediction 第二节:神经序列预测

Goal: Survey deep learning methods + applications to sequential and language modeling, up to basic Transformers.
目标:调查深度学习方法以及顺序和语言建模的应用,直至基本的 Transformer。

Section III: Foundations for Modern Language Modeling 第三节:现代语言建模的基础

Goal: Survey central topics related to training LLMs, with an emphasis on conceptual primitives.
目标:调查与培训LLMs相关的中心主题,重点是概念原语。

Section IV: Finetuning Methods for LLMs 第四节:LLMs的微调方法

Goal: Survey techniques used for improving and “aligning” the quality of LLM outputs after pretraining.
目标:用于改进和“调整”预训练后 LLM 输出质量的调查技术。

Section V: LLM Evaluations and Applications 第五节:LLM评估和应用

Goal: Survey how LLMs are used and evaluated in practice, beyond just “chatbots”.
目标:调查 LLMs 在实践中的使用和评估方式,而不仅仅是“聊天机器人”。

Section VI: Performance Optimizations for Efficient Inference 第六节:高效推理的性能优化

Goal: Survey architecture choices and lower-level techniques for improving resource utilization (time, compute, memory).
目标:调查用于提高资源利用率(时间、计算、内存)的架构选择和底层技术。

Section VII: Sub-Quadratic Context Scaling 第七节:次二次上下文缩放

Goal: Survey approaches for avoiding the “quadratic scaling problem” faced by self-attention in Transformers.
目标:避免 Transformers 中自注意力所面临的“二次缩放问题”的调查方法。

Section VIII: Generative Modeling Beyond Sequences 第八节:超越序列的生成建模

Goal: Survey topics building towards generation of non-sequential content like images, from GANs to diffusion models.
目标:调查主题旨在生成非序列内容,如图像,从 GAN 到扩散模型。

Section IX: Multimodal Models 第九节:多式联运模型

Goal: Survey how models can use multiple modalities of input and output (text, audio, images) simultaneously.
目标:调查模型如何同时使用多种输入和输出模式(文本、音频、图像)。

一群人走得远
在这里插入图片描述

参考

https://genai-handbook.github.io/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1816638.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

postman教程-21-Newman运行集合生成测试报告

上一小节我们Postman Newman的安装方法,本小节我们讲解一下Postman Newman的具体使用方法。 使用Newman运行集合 1、导出Postman集合: 在Postman中,选择你想要运行的集合,然后点击“导出”按钮,选择导出为“Collect…

Figma文字标注工具的使用方法是什么?

在UI设计过程中,有一个让设计师头疼的工作环节,那就是文字标注的问题。相信大家对Figma软件都很熟悉,但是这个软件的使用也有自己的缺点,就是文字标注等问题,日常使用自己是做不到的,需要依靠第三方工具来执…

推荐使用三丰云免费云服务器、免费虚拟主机

官网地址:www.sanfengyun.com 三丰云服务器: 配置高:能够轻松运行应用程序和网站,在处理大量请求和保持高可靠性方面表现出色。 易用性好:界面直观、简单,能够轻松管理服务器和资源,快速创建和…

面向计算病理学的通用基础模型| 文献速递-视觉通用模型与疾病诊断

Title 题目 Towards a general-purpose foundation model for computational pathology 面向计算病理学的通用基础模型 01 文献速递介绍 组织图像的定量评估对于计算病理学(CPath)任务至关重要,需要从全幻灯片图像(WSIs&…

访问方法(反射)

文章目录 前言一、访问成员方法的方法二、Method类 1.常用方法2.实操展示总结 前言 为了实现在某类中随时可以调用其他类的方法,java.lang.reflect包中提供了Method方法类来实现该效果。每一个Method对象代表着一个方法,利用Methoc对象可以操纵相应的方法…

高效处理风电时序数据,明阳集团的 TDengine 3.0 应用实录

作为全国 500 强企业,明阳集团在风电行业拥有领先实力。目前全球超过 800 个项目采用明阳各种型号风电机组,安装数量超过 15000 台。每台风电机组配备数百至上千个监测点,生成的时序数据每秒一条,每天产生亿级以上的数据量。这些数…

Android RTSP/RTMP多路播放时动态切换输出View类型(SurfaceView和TextureView 动态切换)

SurfaceView和TextureView的区别和优缺点等, 相关的资料很多. 从Android低延时播放器实现角度来看, 总结了下主要区别有: 1. MediaCodec输出到SurfaceView延时一般比到TextureView更低. 2. MediaCodec用SurfaceView比TextureView占用的资源一般更少些(CPU和内存都小一些, 不过还…

【STM32】输入捕获应用-测量脉宽或者频率(方法1)

图1 脉宽/频率测量示意图 1 测量频率 当捕获通道TIx 上出现上升沿时,发生第一次捕获,计数器CNT 的值会被锁存到捕获寄存器CCR中,而且还会进入捕获中断,在中断服务程序中记录一次捕获(可以用一个标志变量来记录&#…

Spring Cloud Netflix 之 Ribbon

前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言前言1、负载均衡1.1、服务端负载均衡1.2、客户端负载均衡 2、Ribbon实现服务…

uni-im:云端一体、全平台、免费开源的即时通讯系统解析

一、引言 随着移动互联网的迅猛发展,即时通讯(IM)系统已成为人们日常沟通不可或缺的一部分。然而,开发一个稳定、高效、跨平台的IM系统并非易事。为了降低开发成本、提高开发效率,越来越多的开发者开始寻找成熟的开源…

LIN 入门(1)

1、概述 LIN 是什么 LIN 是 Local Interconnect Network 的缩写,是基于 UART/SCI(Universal Asynchronous Receiver-Transmitter / Serial Communication Interface,通用异步收发器/串行通信接口)的低成本串行通信协议。可用于汽车、家电、办 公设备等…

图解Mamba——从流体力学的角度理解Mamba

1.Transformer的问题 上面是Transformer的网络结构。对于一句话的每个单词,都需要跟所有单词算注意力机制。因此注意力机制的计算复杂度为 O ( n 2 ) O(n^2) O(n2),其中 n n n为句子的长度,即单词(符号)的个数。如下图所示。 所以这也是现在…

C++中的结构体——结构体中const的使用场景

作用:用const来防止误操作 示例 运行结果

进阶篇02——索引

概述 结构 B树索引 在这里推荐一个可以将个各种数据结构可视化的网站:数据结构可视化 哈希索引 相关的一个面试题 分类 聚集索引和二级索引(非聚集索引) 思考题:索引思考题 创建索引语法 如果一个索引关联多个字段&#xff…

Android native层的线程分析(C++),以及堆栈打印调试

文章目录 Android native层的线程分析(C),多线程实现1.native线程的创建第一部分:android_thread模块第二部分:linux_thread模块 2.测试linux_thread模块3.Android native的Thread类3.1源码分析 4.native层堆栈调试方法 Android native层的线…

[13] CUDA_Opencv联合编译过程

CUDA_Opencv联合编译过程 详细编译过程可见我之前的文章&#xff1a;Win10下OpencvCUDA联合编译详细教程&#xff08;版本455、460、470,亲测可用&#xff01;&#xff01;&#xff01;&#xff09;本文给出Windows\linux下的opencvcuda的编译总结&#xff0c;摘自 <基于GP…

【SSM】医疗健康平台-项目开发准备

知识目标 了解架构&#xff0c;能够说出常用的架构及其优缺点 熟悉项目的技术栈&#xff0c;能够说出每个技术栈的用途 了解项目的功能结构&#xff0c;能够说出医疗健康项目的功能组成 掌握医疗健康项目的环境搭建&#xff0c;能够根据系统模块的划分搭建医疗健康项目中的父…

Java基础面试重点-2

21. JVM是如何处理异常&#xff08;大概流程&#xff09;&#xff1f; 如果发生异常&#xff0c;方法会创建一个异常对象&#xff08;包括&#xff1a;异常名称、异常描述以及异常发生时应用程序的状态&#xff09;&#xff0c;并转交给JVM。创建异常对象&#xff0c;并转交给…

推荐系统三十六式学习笔记:原理篇.近邻推荐09|协同过滤中的相似度计算方法有哪些?

目录 相似度的本质相似度的计算方法&#xff1a;1、欧式距离2、余弦相似度3、皮尔逊相关度4 、杰卡德&#xff08;Jaccard&#xff09;相似度 总结 相似度的本质 推荐系统中&#xff0c;推荐算法分为两个门派&#xff0c;一个是机器学习派&#xff0c;一个是相似度门派。机器学…

pytorch版本与torchvision版本不匹配问题处理

pytorch版本与torchvision版本不匹配问题处理 问题问题复现解决方法两点注意内容其一&#xff1a;pytorch版本与torchvision版本对应关系其二&#xff1a;CPU版本或GPU版本问题 问题 在新环境中&#xff0c;利用yolov8训练模型的时候报错&#xff0c;错误内容如下&#xff1a;…