2024 年学习 AI 路线图
- 一、数学
- 二、工具
- 2.1 Python
- 2.2 PyTorch
- 三、机器学习
- 3.1 从头开始编写
- 3.2 参加比赛
- 3.3 做副业项目
- 3.4 部署模型
- 3.5 补充材料
- 四、深度学习
- 4.1 fast.ai
- 4.2 多参加一些比赛
- 4.3 论文实现
- 4.4 计算机视觉
- 4.5 强化学习
- 4.6 自然语言处理
- 五、大型语言模型
- 5.1 观看神经网络:从零到英雄
- 5.2 免费LLM训练营
- 5.3 使用LLM构建
- 5.4 参加黑客马拉松
- 5.5 阅读论文
- 5.6 从零开始编写Transformer
- 5.7 一些不错的博客
- 5.8 观看[奥马尔·贾米尔](https://www.youtube.com/@umarjamilai/videos)
- 5.9 了解如何运行开源模型。
- 5.10 提示工程
- 5.11 微调LLM
- 5.12 RAG
- 六、如何保持更新
- 七、其他有用的课程/清单
想学习AI吗?但您不知道如何或从哪里开始?为了逃离教程地狱真的学习时,你必须亲自动手,从头开始编写算法,实现论文,并使用人工智能解决问题来完成有趣的副业项目。
- 自上而下的方法:首先是代码,然后是理论。
- 有很多东西需要学习,而且你永远学不完,尤其是在人工智能方面,当每周都会发布新的革命性论文和想法时。所以,你应该在公共场合学习。
一、数学
机器学习在很大程度上依赖于数学的三大支柱:线性代数、微积分、概率和统计学。每个都在使算法有效运行方面发挥着独特的作用。
- 线性代数:用于数据表示和操作的数学工具包,其中矩阵和向量构成算法解释和处理信息的语言
- 微积分:机器学习优化的引擎,使算法能够通过理解梯度和变化率来学习和改进。
- 概率与统计:不确定性下决策的基础,允许算法预测结果并通过随机性和可变性模型从数据中学习。
这是从程序员角度来看的关于 ML 数学的精彩系列:通过权重和偏差进行机器学习的数学(代码)
如果您想要采用代码优先的方法来学习线性代数,请观看由 fast.ai 的创建者制作的计算线性代数(视频、代码)。
在课程旁边阅读《Python 应用机器学习的线性代数简介》 。
如果您想要更传统的东西,请观看伦敦帝国理工学院的讲座-线性代数和多元微积分。
观看 3Blue1Brown 的《线性代数精华》和《微积分精华》。
观看StatQuest 的统计基础知识了解统计数据
补充
- 书籍:机器学习数学
- 论文:深度学习所需的矩阵微积分
二、工具
2.1 Python
初学者从这里开始:实用 Python 编程。
如果您已经熟悉 Python,请执行此高级 Python 掌握
它们都是 Python Cookbook 的作者 David Beazley 的精彩课程。
之后,观看詹姆斯·鲍威尔的一些演讲
阅读Python 设计模式。
补充
- 书籍:Fluent Python,第二版(代码)
- 播客:真正的 Python和谈论 Python
2.2 PyTorch
观看Aladdin Persson的PyTorch 教程
PyTorch 网站是一个很棒的地方。
- PyTorch 示例
- PyTorch 官方教程
- 常见问题页面
用一些谜题测试你的知识
- srush/Tensor-Puzzles:解决难题。改进你的 PyTorch
补充
- 书籍:深度学习 PyTorch 编程
三、机器学习
阅读100 页的机器学习书籍。
3.1 从头开始编写
当你阅读时,从头开始编写算法。
查看下面的存储库
- eriklindernoren/从头开始的机器学习
- 杰里米尼克松/甲骨文
- Trekhleb/自制机器学习
如果您想要挑战,请按照本课程从头开始编写 PyTorch。
- MiniTorch:机器学习工程 DIY 课程(视频、代码)
3.2 参加比赛
在比赛中应用您所学到的知识。
- 参加bitgrit和Kaggle等平台上的 ML 竞赛;在这篇文章中找到更多内容。
- 查看过去的获胜解决方案并研究它们
3.3 做副业项目
阅读Vicki Boykis 的《将机器学习运用到生产中》
她还写了她在构建Viberary(一种书籍语义搜索)时所学到的知识。
获取数据集并构建模型(即使用Earthaccess获取 NASA 地球数据)。
使用Streamlit创建 UI并在 Twitter 上分享。
3.4 部署模型
获取生产中的模型。跟踪您的实验。了解如何监控模型。亲身体验数据和模型漂移。
这里有一些优秀的资源
- 用机器学习制造
- DataTalksClub/mlops-zoomcamp:免费 MLOps 课程
- Chiphuyen/机器学习系统设计
- 明显的 AI — ML 系统设计:300 个案例研究
- stas00/ml-engineering:机器学习工程在线书籍
3.5 补充材料
- 使用 PyTorch 和 Scikit-Learn 进行机器学习(代码)
- [1811.12808]机器学习中的模型评估、模型选择和算法选择
- 机器学习入门面试书·MLIB
四、深度学习
如果你想要自上而下,请从 fast.ai 开始。
4.1 fast.ai
- fast.ai(第 1 部分、第 2 部分)+ W&B 研究小组
喜欢 fast.ai?查看全栈深度学习。
如果您想要更全面的传统课程,请查看François Fleuret的UNIGE 14x050 — 深度学习。
如果您在某些时候需要接触理论,这些都是很棒的书。
- 深入研究深度学习(包含 PyTorch、NumPy/MXNet、JAX 和 TensorFlow 中的代码示例)
- 深度学习作者:Ian Goodfellow、Yoshua Bengio 和 Aaron Courville
- 神经网络和深度学习
- 了解深度学习(带有动手笔记本)
在手机上阅读《深度学习小书》,而不是滚动 Twitter。
在您的神经网络收敛时阅读这些内容。
- 训练神经网络的秘诀
- 深度神经网络:33 年前和 33 年后
4.2 多参加一些比赛
- PlantTraits2024 — FGVC11 | Kaggle(计算机视觉)
4.3 论文实现
查看labml.ai 带注释的 PyTorch 论文实现
Papers with Code 是一个很好的资源;这是BERT在他们的网站上的解释。
以下是深度学习专业领域的一些资源
4.4 计算机视觉
很多人推荐CS231n:计算机视觉深度学习。这很有挑战性,但如果你能克服它,那就值得了。
4.5 强化学习
对于强化学习来说,这两个都很棒:
- OpenAI在深度强化学习中的旋转
- 🤗 深度强化学习课程——抱脸
4.6 自然语言处理
斯坦福大学的另一门精彩课程,CS 224N |深度学习自然语言处理
学习拥抱脸:拥抱脸NLP课程
看看这个Super Duper NLP 存储库
好文章和细分
- BERT 研究 — Ep. 1 — 关键概念和来源 · 克里斯·麦考密克
- 插图 Word2vec — Jay Alammar
- 插图 BERT、ELMo 等。 (NLP 如何破解迁移学习
- 了解 LSTM 网络 — colah 的博客
- 从头开始的 PyTorch RNN — Jake Tae
补充
- 使用 Transformers 进行自然语言处理图书
五、大型语言模型
首先,观看Andrej 的[ 1 小时演讲] 大型语言模型简介。
然后是五个公式中的大型语言模型,作者:Alexander Rush — 康奈尔科技
5.1 观看神经网络:从零到英雄
它从从头开始解释和编码反向传播开始,到从头开始编写 GPT 结束。
神经网络:从零到英雄作者:Andrej Karpathy
他刚刚发布了一个新视频 →让我们构建 GPT Tokenizer
您还可以在 60 Lines of NumPy | 中查看GPT杰·莫迪,当你在做的时候。
5.2 免费LLM训练营
由 Full Stack Deep Learning 免费发布的付费LLM 训练 营。
它教授即时工程、LLMOps、LLM 的用户体验,以及如何在一小时内启动 LLM 应用程序。
现在你已经渴望在这个新手训练营之后进行构建了,
5.3 使用LLM构建
想要使用LLM构建应用程序吗?
观看Andrew Ng 的《[使用大型语言模型进行应用程序开发》
](https://nips.cc/virtual/2023/tutorial/73948)
阅读Huyen Chip 的《Building LLM applications for production》
以及构建基于法学硕士的系统和产品的模式,作者:Eugene Yan
请参阅OpenAI Cookbook了解食谱。
使用Vercel AI 模板开始使用。
5.4 参加黑客马拉松
lablab.ai每周都会举办新的人工智能黑客马拉松。如果你想组队请告诉我!
如果您想更深入地了解理论并了解一切是如何运作的:
5.5 阅读论文
Sebastian Raschka撰写的一篇关于理解大型语言模型的精彩文章,其中列出了一些您应该阅读的论文。
他最近还发表了另一篇文章,其中包含您应该在 2024 年 1 月阅读的论文,其中涉及米斯特拉尔模型。
关注他的子堆栈Ahead of AI。
5.6 从零开始编写Transformer
阅读Transformer 系列 2.0 版 | Lil’Log的概述。
选择最适合您的格式并从头开始实施。
论文
- 您所需要的就是关注
- 图解变压器
- 哈佛大学的带注释的变压器
- 像变压器一样思考
博客
- 从头开始创建 Transformer — 第一部分:注意力机制(第 2 部分)(代码)
- 从头开始理解和编码大型语言模型的自注意力机制作者:Sebastian Raschka 博士
- 从零开始的变形金刚
视频
- 在 PyTorch 上从头开始编写 Transformer 代码,并提供完整的解释、训练和推理
- NLP:从头开始实施 BERT 和 Transformers
您现在可以从头开始编写变压器代码。但还有更多。
观看这些斯坦福 CS25 — Transformers United视频。
5.7 一些不错的博客
- 梯度下降到疯狂——从头开始建立法学硕士
- 变形金刚插图 — Jay Alammar
- 关于注意力和变压器的一些直觉 作者:Eugene Yan
- 加速GPT——KV缓存|成为无与伦比的
- 超越自我注意力:小型语言模型如何预测下一个标记
- Llama 从头开始(或者如何不哭地实现一篇论文)|布莱恩·北野
- 改进 LoRA:从头开始实现权重分解低秩适应 (DoRA)
5.8 观看奥马尔·贾米尔
他有精彩的深入视频解释论文。他还向您展示了代码。
- LoRA:大型语言模型的低阶适应 - 直观解释 + 从头开始的 PyTorch 代码
- Mistral / Mixtral 解释:滑动窗口注意力、专家稀疏混合、滚动缓冲区
- Attention is all you need (Transformer) — 模型解释(包括数学)、推理和训练
- LLaMA 解释:KV-Cache、旋转位置嵌入、RMS Norm、分组查询注意力、SwiGLU
- 检索增强生成 (RAG) 解释:嵌入、句子 BERT、向量数据库 (HNSW)
还有一些与LLM相关的链接并不详尽。请参阅LLM课程大纲,了解更全面的LLM课程大纲。
5.9 了解如何运行开源模型。
使用ollama:在本地启动并运行 Llama 2、Mistral 和其他大型语言模型
他们最近发布了Python 和 JavaScript 库
5.10 提示工程
阅读提示工程 |莉尔洛格
ChatGPT 为开发人员提供提示工程,作者:Ise Fulford (OpenAI) 和 Andrew Ng
DeepLearning.ai 还提供其他可以免费报名的短期课程。
5.11 微调LLM
阅读Hugging Face 微调指南。
一本好的指南:微调 — GenAI 指南
看看蝾螈。
这是一篇好文章:使用直接偏好优化微调 Mistral-7b 模型 |作者:马克西姆·拉博纳
5.12 RAG
Anyscale 的一篇精彩文章:构建基于 RAG 的 LLM 应用程序用于生产
Aman Chadha对检索增强生成的全面概述
六、如何保持更新
时事通讯 + 播客 + Twitter 的组合
如需论文,您可以关注AK (@_akhaliq)
对于播客,我发现最好的是Swyx 和 Alessio 的Latent Space
加入他们的Discord。
他们还有这份时事通讯Smol Talk,总结了所有重大的人工智能分歧。
我喜欢的其他一些时事通讯是:
- 批次|深度学习.AI |人工智能新闻与见解
- 深度学习周刊
- 互连 |内森·兰伯特
- 人工智能花絮 |萨哈·莫尔
七、其他有用的课程/清单
- openai/syllabus.md
- 人工智能佳能|安德森霍洛维茨
- AI 学习管理 — LLM Utils
- 人工智能多元宇宙的门槛|开放深度学习
- louisfb01/start-llms:2023 年开始和提高 LLM 技能的完整指南
来编写和组织这篇文章花了足够的时间,但它的回报却在递减,是时候学习和构建了。希望这对您的 AI 之旅有所帮助!
[1] https://medium.com/bitgrit-data-science-publication/a-roadmap-to-learn-ai-in-2024-cc30c6aa6e16#3352