2024年学习人工智能的路线图

慈云数据 2024-05-01 技术支持 101 0

2024年学习人工智能的路线图

一份免费的课程计划,供程序员学习人工智能使用

文章目录

  • 2024年学习人工智能的路线图
    • 一份免费的课程计划,供程序员学习人工智能使用
    • 自上而下的方法
    • 在公开场合学习
    • 使用Twitter
    • 目录
    • 数学
    • 工具
      • Python
      • PyTorch
      • 机器学习
        • 从零开始编写
        • 参加比赛
        • **做副业项目**
        • 部署模型
        • 补充材料
        • 深度学习
          • Fast.ai
          • 参加更多比赛
          • 实现论文
          • 计算机视觉
          • 自然语言处理(NLP)
          • 大型语言模型
            • 观看神经网络:从零到英雄
            • 免费的LLM训练营
            • 使用LLM构建
            • 参加黑客马拉松
            • 阅读论文
            • 从零开始编写Transformer。
            • 一些好的博客
            • 观看[Umar Jamil](https://www.youtube.com/@umarjamilai/videos)
            • 学习如何运行开源模型。
            • 提示工程
            • 微调LLM
            • RAG
            • 如何保持更新
            • 其他可能有用的课程/列表

              img

              使用excalidraw制作

              所以,你想学习人工智能?但你不知道如何开始或从哪里开始?

              我在2020年写了一篇互联网上前20个免费的数据科学、机器学习和人工智能MOOC课程。但我意识到,参加很多课程并不是正确的方法。

              为了摆脱教程地狱并真正学到东西,你必须动手实践,从零开始编写算法,实现论文,并使用人工智能进行有趣的项目来解决问题。

              本文试图制定一份遵循这一理念的免费课程计划。

              首先,关于课程计划的一些说明和学习建议。

              自上而下的方法

              这个课程计划采用自上而下的方法——先写代码,后学理论。

              我喜欢根据需求学习。所以,如果我需要解决一个问题,或者需要制作一个原型,我会广泛地寻找所需的信息,学习、理解并付诸行动。

              例如,我希望成为一个人工智能工程师,在理解LLMs的基本水平上,这涉及到具备从头编写transformers的技能,以及在GPU上微调LLMs等。由于我的知识存在空白,我现在还无法做到这一点,我希望填补这些空白。

              这个课程计划也侧重于自然语言处理;如果你想学习其他人工智能专业,比如计算机视觉或强化学习,

              在我给你提供一堆链接之前,我希望在我开始学习任何东西之前,有人告诉我两件重要的事情。

              在公开场合学习

              有很多东西需要学习,而且你永远不会学完,特别是在人工智能领域,每周都会发布新的革命性论文和想法。

              你最大的错误就是在私下学习。如果你这样做,你就不会为自己创造任何机会。除了能说你完成了某件事之外,你没有任何可以展示的东西。更重要的是,你如何将信息转化为知识,与公众分享,并从这些信息中产生新的想法和解决方案

              所以,你应该在公开场合学习。

              这意味着要有创造的习惯。

              这可以包括:

              • 写博客和教程
              • 参加黑客马拉松并与他人合作
              • 在Discord社区提问和回答问题
              • 从事你热衷的副业项目
              • 推文分享你发现的有趣事物

                说到Twitter,

                使用Twitter

                如果你关注正确的人并正确使用它,Twitter是当今任何人都可以使用的最有价值的社交平台。

                关注谁?看看Suhail的AI列表。

                如何使用Twitter?阅读Near的如何成功使用Twitter。

                在Twitter上给人发私信。真诚、简短,并提出明确的要求。Sriram Krishnan的这篇关于如何写一封冷邮件的指南也适用于私信。

                如何发推文?阅读推文的解剖,由Jason(Instructor的创作者)撰写,他在几个月内从0到14k的关注者增长。

                现在让我们开始吧。

                目录

                • 数学
                • 工具

                  ∘ Python

                  ∘ PyTorch

                • 机器学习

                  ∘ 从零开始编写

                  ∘ 参加比赛

                  ∘ 做副业项目

                  ∘ 部署它们

                  ∘ 补充

                • 深度学习

                  ∘ Fast.ai

                  ∘ 参加更多比赛

                  ∘ 实现论文

                  ∘ 计算机视觉

                  ∘ 自然语言处理

                • 大型语言模型

                  ∘ 观看神经网络:从零到英雄

                  ∘ 免费的LLM训练营

                  ∘ 使用LLMs构建项目

                  ∘ 参加黑客马拉松

                  ∘ 阅读论文

                  ∘ 从零开始编写Transformers

                  ∘ 一些好的博客

                  ∘ 观看Umar Jamil

                  ∘ 学习如何运行开源模型

                  ∘ Prompt工程

                  ∘ 微调LLMs

                  ∘ RAG

                • 如何保持更新
                • 其他你可能会发现有用的课程计划/清单

                  数学

                  img

                  DALL·E

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

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

                    这是一个很好的关于机器学习数学的系列视频:Math for Machine Learning by Weights & Biases(代码)

                    如果你想以代码为先导的方式学习线性代数,可以参考Computational Linear Algebra(视频,代码),由fast.ai的创始人编写。

                    同时阅读Introduction to Linear Algebra for Applied Machine Learning with Python。

                    如果你想要更传统的学习方式,可以看看伦敦帝国学院的讲座——线性代数和多元微积分。

                    观看统计学基础,由StatQuest提供的统计学视频。

                    补充材料

                    • 书籍:数学与机器学习
                    • 论文:你需要的深度学习矩阵微积分

                      工具

                      img

                      DALL·E

                      Python

                      初学者从这里开始:实用的Python编程。

                      如果你已经熟悉Python,可以学习高级Python掌握。

                      这两门课程都是由David Beazley主讲的,他是《Python Cookbook》的作者。

                      之后,观看一些James Powell的演讲。

                      阅读Python设计模式

                      补充材料

                      • 书籍:流畅的Python,第2版(代码)
                      • 播客:Real Python & Talk Python

                        PyTorch

                        视频

                        • PyTorch教程,由Aladdin Persson提供

                          官方

                          • PyTorch示例
                          • 官方PyTorch教程

                            实践

                            • srush/Tensor-Puzzles: 解决难题,提高你的PyTorch技能

                              补充材料

                              • 书籍:深度学习的PyTorch编程

                                机器学习

                                img

                                DALL·E

                                阅读100页机器学习书籍。

                                从零开始编写

                                在阅读过程中,从零开始编写算法。

                                查看以下存储库:

                                • eriklindernoren/ML-From-Scratch
                                • JeremyNixon/oracle
                                • trekhleb/homemade-machine-learning

                                  如果你想挑战自己,可以按照这门课程从零开始编写PyTorch。

                                  • MiniTorch:机器学习工程的自制课程(视频,代码)

                                    参加比赛

                                    将学到的知识应用于比赛中。

                                    • 在bitgrit和Kaggle等平台上参加机器学习比赛;在这篇文章中可以找到更多比赛。

                                    • 查看过去的获奖解决方案并研究它们

                                      做副业项目

                                      阅读Vicki Boykis的文章,了解如何将机器学习部署到生产环境中。

                                      她还写了关于她构建的Viberary的语义搜索引擎的文章。

                                      获取一个数据集并构建一个模型(例如,使用earthaccess获取NASA地球数据)。

                                      使用streamlit创建一个用户界面,并在Twitter上分享。

                                      部署模型

                                      将模型投入生产。跟踪实验。学习如何监控模型。亲身体验数据和模型的漂移。

                                      以下是一些优秀的资源

                                      • Made With ML
                                      • DataTalksClub/mlops-zoomcamp: 免费的MLOps课程
                                      • chiphuyen/machine-learning-systems-design
                                      • Evidently AI — ML系统设计:300个案例研究
                                      • stas00/ml-engineering: 机器学习工程在线书籍

                                        补充材料

                                        • 使用PyTorch和Scikit-Learn进行机器学习(代码)
                                        • [1811.12808] 机器学习中的模型评估、模型选择和算法选择
                                        • 机器学习面试入门书 · MLIB

                                          深度学习

                                          img

                                          如果你想从上到下学习,可以从fast.ai开始。

                                          Fast.ai

                                          • fast.ai(part1,part2)+ W&B Study Group

                                            喜欢fast.ai吗?看看全栈深度学习。

                                            如果你想要一门更全面、传统的课程,可以参考François Fleuret的UNIGE 14x050 — 深度学习。

                                            如果你需要在某个时候深入理论,这些是很好的书籍。

                                            • 深度学习导论(有PyTorch、NumPy/MXNet、JAX和TensorFlow的代码示例)
                                            • 深度学习,作者:Ian Goodfellow、Yoshua Bengio和Aaron Courville
                                            • 神经网络与深度学习
                                            • 理解深度学习(附有实践笔记本)

                                              在你的神经网络收敛时阅读以下内容。

                                              • 训练神经网络的秘诀
                                              • 深度神经网络:33年前和33年后

                                                参加更多比赛

                                                • PlantTraits2024 — FGVC11 | Kaggle(计算机视觉)

                                                  实现论文

                                                  查看labml.ai的注释PyTorch论文实现

                                                  Papers with Code是一个很好的资源;在他们的网站上,可以找到BERT的解释。

                                                  以下是深度学习专业化的一些资源

                                                  计算机视觉

                                                  很多人推荐CS231n:计算机视觉的深度学习。如果你能坚持下去,它是具有挑战性但值得的。

                                                  自然语言处理(NLP)

                                                  另一个很棒的斯坦福课程,CS 224N | 自然语言处理与深度学习

                                                  学习Hugging Face:Hugging Face NLP课程

                                                  好的文章和解析

                                                  • BERT研究 — 第1集 — 关键概念和来源 · Chris McCormick
                                                  • 图解Word2vec — Jay Alammar
                                                  • 图解BERT、ELMo等(NLP如何破解迁移学习)
                                                  • 理解LSTM网络 — colah’s博客
                                                  • 从头开始的PyTorch RNN — Jake Tae

                                                    补充材料

                                                    • 使用Transformer的自然语言处理书籍

                                                      大型语言模型

                                                      img

                                                      首先观看【1小时演讲】大型语言模型简介,由Andrej主讲。

                                                      然后观看Cornell Tech的Alexander Rush的五个公式中的大型语言模型。

                                                      观看神经网络:从零到英雄

                                                      它从零开始解释和编写反向传播,最后从零开始编写GPT。

                                                      神经网络:从零到英雄 by Andrej Karpathy

                                                      你也可以在此期间查看Jay Mody的用60行NumPy编写的GPT。

                                                      免费的LLM训练营

                                                      由Full Stack Deep Learning免费发布的LLM训练营。

                                                      它教授提示工程、LLMOps、LLM的用户体验以及如何在一个小时内启动LLM应用程序。

                                                      现在你已经渴望在这个训练营之后开始构建,

                                                      使用LLM构建

                                                      想要使用LLM构建应用程序吗?

                                                      观看Andrew Ng的使用大型语言模型进行应用开发

                                                      阅读Huyen Chip的构建LLM应用程序

                                                      以及Eugene Yan的基于LLM的系统和产品模式

                                                      参考OpenAI Cookbook获取示例。

                                                      使用Vercel AI模板开始。

                                                      参加黑客马拉松

                                                      lablab.ai每周都有新的AI黑客马拉松。如果你想组队,请告诉我!

                                                      如果你想深入理论并了解一切是如何工作的:

                                                      阅读论文

                                                      Sebastian Raschka的一篇很棒的文章理解大型语言模型,其中列出了一些你应该阅读的论文。

                                                      关注他的Substack Ahead of AI。

                                                      从零开始编写Transformer。

                                                      阅读Lil’Log的Transformer Family Version 2.0以获取概述。

                                                      选择适合你的格式,并从头开始实现它。

                                                      论文

                                                      • Attention Is All You Need
                                                      • The Illustrated Transformer
                                                      • The Annotated Transformer by Harvard
                                                      • Thinking like Transformer

                                                        博客

                                                        • Creating a Transformer From Scratch — Part One: The Attention Mechanism (part 2) (code)
                                                        • Understanding and Coding the Self-Attention Mechanism of Large Language Models From Scratch by Sebastian Raschka, PhD
                                                        • Transformers from scratch

                                                          视频

                                                          • Coding a Transformer from scratch on PyTorch, with full explanation, training and inference
                                                          • NLP: Implementing BERT and Transformers from Scratch

                                                            现在你可以从零开始编写Transformer。但还有更多内容。

                                                            观看这些Stanford CS25 — Transformers United视频。

                                                            一些好的博客

                                                            • Gradient Descent into Madness — Building an LLM from scratch
                                                            • The Illustrated Transformer — Jay Alammar
                                                            • Some Intuition on Attention and the Transformer by Eugene Yan
                                                            • Speeding up the GPT — KV cache | Becoming The Unbeatable
                                                            • Beyond Self-Attention: How a Small Language Model Predicts the Next Token
                                                            • Llama from scratch (or how to implement a paper without crying) | Brian Kitano

                                                              观看Umar Jamil

                                                              他有深入解释论文的精彩视频。他还展示了代码。

                                                              • LoRA: Low-Rank Adaptation of Large Language Models — Explained visually + PyTorch code from scratch
                                                              • Mistral / Mixtral Explained: Sliding Window Attention, Sparse Mixture of Experts, Rolling Buffer
                                                              • Attention is all you need (Transformer) — Model explanation (including math), Inference and Training
                                                              • LLaMA explained: KV-Cache, Rotary Positional Embedding, RMS Norm, Grouped Query Attention, SwiGLU
                                                              • Retrieval Augmented Generation (RAG) Explained: Embedding, Sentence BERT, Vector Database (HNSW)

                                                                还有一些与LLM相关的链接,这里列举的并不详尽。查看LLM课程大纲以获取更全面的LLM课程大纲。

                                                                学习如何运行开源模型。

                                                                使用ollama: Get up and running with Llama 2, Mistral, and other large language models locally

                                                                他们最近发布了Python & JavaScript Libraries

                                                                提示工程

                                                                阅读Lil’Log的Prompt Engineering

                                                                由Ise Fulford(OpenAI)和Andrew Ng编写的ChatGPT Prompt Engineering for Developers

                                                                DeepLearning.ai还有其他短期课程,你可以免费参加。

                                                                微调LLM

                                                                阅读Hugging Face fine-tuning guide。

                                                                一本好的指南书:Fine-Tuning — The GenAI Guidebook

                                                                查看axolotl。

                                                                这是一篇好文章:Fine-tune a Mistral-7b model with Direct Preference Optimization | by Maxime Labonne

                                                                RAG

                                                                Anyscale的一篇很棒的文章:Building RAG-based LLM Applications for Production

                                                                Aman Chadha撰写的Retrieval Augmented Generation的综合概述

                                                                如何保持更新

                                                                结合新闻通讯+播客+Twitter

                                                                对于论文,你可以关注AK (@_akhaliq)

                                                                对于播客,我发现最好的是Swyx和Alessio的Latent Space

                                                                加入他们的Discord。

                                                                他们还有这个新闻通讯Smol Talk,总结了所有重要的AI Discord。

                                                                我喜欢的其他新闻通讯有:

                                                                • The Batch | DeepLearning.AI | AI News & Insights
                                                                • Deep Learning Weekly
                                                                • Interconnects | Nathan Lambert
                                                                • AI Tidbits | Sahar Mor

                                                                  更多内容请参阅这篇文章。

                                                                  其他可能有用的课程/列表

                                                                  我的列表并不全面,但如果你仍然想找到更多,这里有一些。

                                                                  • openai/syllabus.md
                                                                  • AI Canon | Andreessen Horowitz
                                                                  • AI Learning Curation — LLM Utils
                                                                  • Threshold to the AI Multiverse | Open DeepLearning
                                                                  • louisfb01/start-llms: A complete guide to start and improve your LLM skills in 2023

                                                                    我花了足够的时间来写和组织这些内容,现在是学习和建设的时候了。

                                                                    希望这些对你的AI之旅有所帮助!

微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon