2024 年学习 AI 路线图

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吗?但您不知道如何或从哪里开始?为了逃离教程地狱真的学习时,你必须亲自动手,从头开始编写算法,实现论文,并使用人工智能解决问题来完成有趣的副业项目。

            1. 自上而下的方法:首先是代码,然后是理论。
            2. 有很多东西需要学习,而且你永远学不完,尤其是在人工智能方面,当每周都会发布新的革命性论文和想法时。所以,你应该在公共场合学习。

            一、数学

            机器学习在很大程度上依赖于数学的三大支柱:线性代数、微积分、概率和统计学。每个都在使算法有效运行方面发挥着独特的作用。

            • 线性代数:用于数据表示和操作的数学工具包,其中矩阵和向量构成算法解释和处理信息的语言
            • 微积分:机器学习优化的引擎,使算法能够通过理解梯度和变化率来学习和改进。
            • 概率与统计:不确定性下决策的基础,允许算法预测结果并通过随机性和可变性模型从数据中学习。

              这是从程序员角度来看的关于 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