[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-karpathy--nn-zero-to-hero":3,"tool-karpathy--nn-zero-to-hero":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":81,"owner_email":82,"owner_twitter":80,"owner_website":83,"owner_url":84,"languages":85,"stars":90,"forks":91,"last_commit_at":92,"license":93,"difficulty_score":94,"env_os":95,"env_gpu":96,"env_ram":95,"env_deps":97,"category_tags":103,"github_topics":80,"view_count":23,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":104,"updated_at":105,"faqs":106,"releases":147},3080,"karpathy\u002Fnn-zero-to-hero","nn-zero-to-hero","Neural Networks: Zero to Hero","nn-zero-to-hero 是一套从零开始系统讲解神经网络原理与实战的开源教程。它通过一系列 YouTube 视频配合 Jupyter Notebook 代码，引导用户亲手编写并训练神经网络，旨在解决初学者面对深度学习时“只懂调用库、不懂底层逻辑”的痛点。\n\n这套课程非常适合具备基础 Python 能力、希望深入理解 AI 内部机制的开发者、学生及研究人员。不同于直接套用现成框架的教学，nn-zero-to-hero 的独特亮点在于“造轮子”式的学习路径：从第一节课仅用纯 Python 构建微型自动微分引擎 micrograd 讲起，逐步过渡到使用 PyTorch 实现字符级语言模型 makemore。课程内容层层递进，涵盖反向传播推导、多层感知机（MLP）、超参数调优、批量归一化（BatchNorm）等核心概念，甚至包含手动推导梯度流动的进阶练习。\n\n通过这种由浅入深、理论与实践高度结合的方式，nn-zero-to-hero 帮助学习者建立对神经网络计算图、梯度流动及优化过程的直观直觉，为后续调试复杂模型或进行算法创新打下坚实基础。无论你是想夯实理论基础，还是渴望看透深度学习黑盒","nn-zero-to-hero 是一套从零开始系统讲解神经网络原理与实战的开源教程。它通过一系列 YouTube 视频配合 Jupyter Notebook 代码，引导用户亲手编写并训练神经网络，旨在解决初学者面对深度学习时“只懂调用库、不懂底层逻辑”的痛点。\n\n这套课程非常适合具备基础 Python 能力、希望深入理解 AI 内部机制的开发者、学生及研究人员。不同于直接套用现成框架的教学，nn-zero-to-hero 的独特亮点在于“造轮子”式的学习路径：从第一节课仅用纯 Python 构建微型自动微分引擎 micrograd 讲起，逐步过渡到使用 PyTorch 实现字符级语言模型 makemore。课程内容层层递进，涵盖反向传播推导、多层感知机（MLP）、超参数调优、批量归一化（BatchNorm）等核心概念，甚至包含手动推导梯度流动的进阶练习。\n\n通过这种由浅入深、理论与实践高度结合的方式，nn-zero-to-hero 帮助学习者建立对神经网络计算图、梯度流动及优化过程的直观直觉，为后续调试复杂模型或进行算法创新打下坚实基础。无论你是想夯实理论基础，还是渴望看透深度学习黑盒，这都是一份不可多得的入门指南。","\n## Neural Networks: Zero to Hero\n\nA course on neural networks that starts all the way at the basics. The course is a series of YouTube videos where we code and train neural networks together. The Jupyter notebooks we build in the videos are then captured here inside the [lectures](lectures\u002F) directory. Every lecture also has a set of exercises included in the video description. (This may grow into something more respectable).\n\n---\n\n**Lecture 1: The spelled-out intro to neural networks and backpropagation: building micrograd**\n\nBackpropagation and training of neural networks. Assumes basic knowledge of Python and a vague recollection of calculus from high school.\n\n- [YouTube video lecture](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=VMj-3S1tku0)\n- [Jupyter notebook files](lectures\u002Fmicrograd)\n- [micrograd Github repo](https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fmicrograd)\n\n---\n\n**Lecture 2: The spelled-out intro to language modeling: building makemore**\n\nWe implement a bigram character-level language model, which we will further complexify in followup videos into a modern Transformer language model, like GPT. In this video, the focus is on (1) introducing torch.Tensor and its subtleties and use in efficiently evaluating neural networks and (2) the overall framework of language modeling that includes model training, sampling, and the evaluation of a loss (e.g. the negative log likelihood for classification).\n\n- [YouTube video lecture](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=PaCmpygFfXo)\n- [Jupyter notebook files](lectures\u002Fmakemore\u002Fmakemore_part1_bigrams.ipynb)\n- [makemore Github repo](https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fmakemore)\n\n---\n\n**Lecture 3: Building makemore Part 2: MLP**\n\nWe implement a multilayer perceptron (MLP) character-level language model. In this video we also introduce many basics of machine learning (e.g. model training, learning rate tuning, hyperparameters, evaluation, train\u002Fdev\u002Ftest splits, under\u002Foverfitting, etc.).\n\n- [YouTube video lecture](https:\u002F\u002Fyoutu.be\u002FTCH_1BHY58I)\n- [Jupyter notebook files](lectures\u002Fmakemore\u002Fmakemore_part2_mlp.ipynb)\n- [makemore Github repo](https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fmakemore)\n\n---\n\n**Lecture 4: Building makemore Part 3: Activations & Gradients, BatchNorm**\n\nWe dive into some of the internals of MLPs with multiple layers and scrutinize the statistics of the forward pass activations, backward pass gradients, and some of the pitfalls when they are improperly scaled. We also look at the typical diagnostic tools and visualizations you'd want to use to understand the health of your deep network. We learn why training deep neural nets can be fragile and introduce the first modern innovation that made doing so much easier: Batch Normalization. Residual connections and the Adam optimizer remain notable todos for later video.\n\n- [YouTube video lecture](https:\u002F\u002Fyoutu.be\u002FP6sfmUTpUmc)\n- [Jupyter notebook files](lectures\u002Fmakemore\u002Fmakemore_part3_bn.ipynb)\n- [makemore Github repo](https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fmakemore)\n\n---\n\n**Lecture 5: Building makemore Part 4: Becoming a Backprop Ninja**\n\nWe take the 2-layer MLP (with BatchNorm) from the previous video and backpropagate through it manually without using PyTorch autograd's loss.backward(). That is, we backprop through the cross entropy loss, 2nd linear layer, tanh, batchnorm, 1st linear layer, and the embedding table. Along the way, we get an intuitive understanding about how gradients flow backwards through the compute graph and on the level of efficient Tensors, not just individual scalars like in micrograd. This helps build competence and intuition around how neural nets are optimized and sets you up to more confidently innovate on and debug modern neural networks.\n\nI recommend you work through the exercise yourself but work with it in tandem and whenever you are stuck unpause the video and see me give away the answer. This video is not super intended to be simply watched. The exercise is [here as a Google Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1WV2oi2fh9XXyldh02wupFQX0wh5ZC-z-?usp=sharing). Good luck :)\n\n- [YouTube video lecture](https:\u002F\u002Fyoutu.be\u002Fq8SA3rM6ckI)\n- [Jupyter notebook files](lectures\u002Fmakemore\u002Fmakemore_part4_backprop.ipynb)\n- [makemore Github repo](https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fmakemore)\n\n---\n\n**Lecture 6: Building makemore Part 5: Building WaveNet**\n\nWe take the 2-layer MLP from previous video and make it deeper with a tree-like structure, arriving at a convolutional neural network architecture similar to the WaveNet (2016) from DeepMind. In the WaveNet paper, the same hierarchical architecture is implemented more efficiently using causal dilated convolutions (not yet covered). Along the way we get a better sense of torch.nn and what it is and how it works under the hood, and what a typical deep learning development process looks like (a lot of reading of documentation, keeping track of multidimensional tensor shapes, moving between jupyter notebooks and repository code, ...).\n\n- [YouTube video lecture](https:\u002F\u002Fyoutu.be\u002Ft3YJ5hKiMQ0)\n- [Jupyter notebook files](lectures\u002Fmakemore\u002Fmakemore_part5_cnn1.ipynb)\n\n---\n\n\n**Lecture 7: Let's build GPT: from scratch, in code, spelled out.**\n\nWe build a Generatively Pretrained Transformer (GPT), following the paper \"Attention is All You Need\" and OpenAI's GPT-2 \u002F GPT-3. We talk about connections to ChatGPT, which has taken the world by storm. We watch GitHub Copilot, itself a GPT, help us write a GPT (meta :D!) . I recommend people watch the earlier makemore videos to get comfortable with the autoregressive language modeling framework and basics of tensors and PyTorch nn, which we take for granted in this video.\n\n- [YouTube video lecture](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=kCc8FmEb1nY). For all other links see the video description.\n\n---\n\n**Lecture 8: Let's build the GPT Tokenizer**\n\nThe Tokenizer is a necessary and pervasive component of Large Language Models (LLMs), where it translates between strings and tokens (text chunks). Tokenizers are a completely separate stage of the LLM pipeline: they have their own training sets, training algorithms (Byte Pair Encoding), and after training implement two fundamental functions: encode() from strings to tokens, and decode() back from tokens to strings. In this lecture we build from scratch the Tokenizer used in the GPT series from OpenAI. In the process, we will see that a lot of weird behaviors and problems of LLMs actually trace back to tokenization. We'll go through a number of these issues, discuss why tokenization is at fault, and why someone out there ideally finds a way to delete this stage entirely.\n\n- [YouTube video lecture](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=zduSFxRajkE)\n- [minBPE code](https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fminbpe)\n- [Google Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1y0KnCFZvGVf_odSfcNAws6kcDD7HsI0L?usp=sharing)\n\n---\n\nOngoing...\n\n**License**\n\nMIT","## 神经网络：从零到英雄\n\n这是一门从基础开始讲解神经网络的课程。课程以一系列 YouTube 视频的形式呈现，我们在视频中一起编写代码并训练神经网络。视频中我们构建的 Jupyter 笔记本随后被保存在 [lectures](lectures\u002F) 目录下。每节讲座的视频描述中还附有一组练习题。（未来可能会发展成一个更正式的项目）。\n\n---\n\n**第1讲：神经网络与反向传播的详细入门：构建 micrograd**\n\n反向传播与神经网络的训练。要求具备基本的 Python 知识，并对高中时期的微积分有模糊的记忆。\n\n- [YouTube 视频讲座](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=VMj-3S1tku0)\n- [Jupyter 笔记本文件](lectures\u002Fmicrograd)\n- [micrograd GitHub 仓库](https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fmicrograd)\n\n---\n\n**第2讲：语言建模的详细入门：构建 makemore**\n\n我们实现了一个基于二元语法的字符级语言模型，后续视频将进一步将其复杂化为现代的 Transformer 语言模型，例如 GPT。本视频的重点在于：(1) 介绍 torch.Tensor 及其细微之处，以及如何高效地用于评估神经网络；(2) 语言建模的整体框架，包括模型训练、采样和损失函数的评估（例如分类任务中的负对数似然）。\n\n- [YouTube 视频讲座](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=PaCmpygFfXo)\n- [Jupyter 笔记本文件](lectures\u002Fmakemore\u002Fmakemore_part1_bigrams.ipynb)\n- [makemore GitHub 仓库](https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fmakemore)\n\n---\n\n**第3讲：构建 makemore 第二部分：MLP**\n\n我们实现了一个多层感知机（MLP）的字符级语言模型。在本视频中，我们还介绍了机器学习的许多基础知识（如模型训练、学习率调优、超参数、评估、训练\u002F验证\u002F测试集划分、欠拟合\u002F过拟合等）。\n\n- [YouTube 视频讲座](https:\u002F\u002Fyoutu.be\u002FTCH_1BHY58I)\n- [Jupyter 笔记本文件](lectures\u002Fmakemore\u002Fmakemore_part2_mlp.ipynb)\n- [makemore GitHub 仓库](https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fmakemore)\n\n---\n\n**第4讲：构建 makemore 第三部分：激活值与梯度、批归一化**\n\n我们深入探讨了多层 MLP 的内部机制，仔细分析了前向传播中的激活值统计、反向传播中的梯度，以及它们在尺度不当情况下可能出现的一些问题。同时，我们也了解了一些常用的诊断工具和可视化方法，以便更好地理解深度网络的状态。通过这些内容，我们认识到训练深度神经网络的脆弱性，并引入了使这一过程变得更加容易的第一个现代创新技术——批归一化。残差连接和 Adam 优化器则是后续视频中需要进一步探讨的内容。\n\n- [YouTube 视频讲座](https:\u002F\u002Fyoutu.be\u002FP6sfmUTpUmc)\n- [Jupyter 笔记本文件](lectures\u002Fmakemore\u002Fmakemore_part3_bn.ipynb)\n- [makemore GitHub 仓库](https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fmakemore)\n\n---\n\n**第5讲：构建 makemore 第四部分：成为反向传播高手**\n\n我们以之前视频中的两层 MLP（带批归一化）为基础，手动进行反向传播，而不使用 PyTorch 自动求导模块中的 loss.backward() 函数。也就是说，我们将依次对交叉熵损失、第二层线性层、tanh 激活函数、批归一化层、第一层线性层以及嵌入表进行反向传播计算。在这个过程中，我们能够直观地理解梯度是如何沿着计算图反向流动的，以及在高效的张量层面而非像 micrograd 那样仅在标量层面进行操作。这有助于提升对神经网络优化方式的理解和直觉，从而让你更有信心地对现代神经网络进行创新和调试。\n\n我建议大家先独立完成练习，遇到困难时可以暂停视频，观看我的解答。本视频并非单纯供人观看，而是鼓励大家动手实践。练习链接在此：[Google Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1WV2oi2fh9XXyldh02wupFQX0wh5ZC-z-?usp=sharing)。祝你好运 :)\n\n- [YouTube 视频讲座](https:\u002F\u002Fyoutu.be\u002Fq8SA3rM6ckI)\n- [Jupyter 笔记本文件](lectures\u002Fmakemore\u002Fmakemore_part4_backprop.ipynb)\n- [makemore GitHub 仓库](https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fmakemore)\n\n---\n\n**第6讲：构建 makemore 第五部分：构建 WaveNet**\n\n我们以之前的两层 MLP 为基础，通过树状结构使其更深，最终得到一种类似于 DeepMind 在 2016 年提出的 WaveNet 架构的卷积神经网络。在 WaveNet 论文中，同样的层次化架构是通过因果扩张卷积来更高效地实现的（这部分尚未涉及）。在此过程中，我们对 torch.nn 有了更深入的理解，了解它的本质及其底层工作原理，同时也熟悉了典型的深度学习开发流程（大量阅读文档、跟踪多维张量形状、在 Jupyter 笔记本和代码库之间切换等）。\n\n- [YouTube 视频讲座](https:\u002F\u002Fyoutu.be\u002Ft3YJ5hKiMQ0)\n- [Jupyter 笔记本文件](lectures\u002Fmakemore\u002Fmakemore_part5_cnn1.ipynb)\n\n---\n\n\n**第7讲：让我们从头开始用代码构建 GPT**\n\n我们按照论文《Attention is All You Need》以及 OpenAI 的 GPT-2\u002FGPT-3 构建一个生成式预训练 Transformer（GPT）。我们还会讨论它与风靡全球的 ChatGPT 之间的联系。在视频中，我们将看到由 GPT 驱动的 GitHub Copilot 帮助我们编写另一个 GPT（真是元宇宙般的循环啊！）。建议观众先观看前面的 makemore 视频，以便熟悉自回归语言建模框架以及张量和 PyTorch nn 的基础知识，因为这些内容在本视频中被视为理所当然。\n\n- [YouTube 视频讲座](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=kCc8FmEb1nY)。其他链接请参阅视频描述。\n\n---\n\n**第8讲：让我们构建 GPT 分词器**\n\n分词器是大型语言模型（LLM）中不可或缺且无处不在的一部分，它负责在字符串和标记（文本片段）之间进行转换。分词器实际上是 LLM 流程中的一个独立阶段：它们有自己的训练数据集、训练算法（字节对编码），并在训练完成后实现两个基本功能：将字符串编码为标记，以及将标记解码回字符串。在本讲座中，我们将从头开始构建 OpenAI GPT 系列所使用的分词器。在此过程中，我们会发现许多 LLM 的奇怪行为和问题实际上都源于分词过程。我们将逐一探讨这些问题，分析为什么分词是罪魁祸首，并思考是否有可能彻底消除这一环节。\n\n- [YouTube 视频讲座](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=zduSFxRajkE)\n- [minBPE 代码](https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fminbpe)\n- [Google Colab](https:\u002F\u002Fcolab.research.google.com\u002Fdrive\u002F1y0KnCFZvGVf_odSfcNAws6kcDD7HsI0L?usp=sharing)\n\n---\n\n持续更新中……\n\n**许可证**\n\nMIT","# nn-zero-to-hero 快速上手指南\n\n`nn-zero-to-hero` 是由 Andrej Karpathy 推出的神经网络从零入门课程。本指南将帮助你快速搭建环境并开始跟随视频课程进行代码实践。\n\n## 环境准备\n\n在开始之前，请确保你的开发环境满足以下要求：\n\n*   **操作系统**：Windows, macOS 或 Linux\n*   **Python 版本**：推荐 Python 3.8 或更高版本\n*   **前置知识**：具备基础的 Python 编程能力，对微积分有初步了解（高中水平即可）\n*   **核心依赖**：\n    *   `PyTorch`：用于深度学习模型构建\n    *   `Jupyter Notebook` \u002F `JupyterLab`：用于运行课程提供的笔记文件\n    *   `matplotlib`：用于可视化训练过程\n    *   `numpy`：数值计算基础\n\n> **提示**：如果你没有本地 GPU 环境，推荐使用 **Google Colab**。课程中的部分练习（如 Lecture 5 和 Lecture 8）直接提供了 Colab 链接，无需本地配置即可运行。\n\n## 安装步骤\n\n### 1. 克隆项目仓库\n\n首先，将项目代码克隆到本地：\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fnn-zero-to-hero.git\ncd nn-zero-to-hero\n```\n\n### 2. 创建虚拟环境（推荐）\n\n为了避免依赖冲突，建议创建独立的虚拟环境：\n\n```bash\npython -m venv venv\n# Windows\nvenv\\Scripts\\activate\n# macOS\u002FLinux\nsource venv\u002Fbin\u002Factivate\n```\n\n### 3. 安装依赖\n\n安装 PyTorch 和其他必要库。\n\n**方案 A：使用官方源（全球通用）**\n```bash\npip install torch torchvision torchaudio\npip install jupyterlab matplotlib numpy\n```\n\n**方案 B：使用国内镜像源（推荐中国开发者）**\n为了更快的下载速度，建议使用清华大学或阿里云镜像源：\n\n```bash\n# 安装 PyTorch (CPU 版本示例，如需 GPU 请访问 pytorch.org 获取对应命令)\npip install torch torchvision torchaudio -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n\n# 安装其他工具库\npip install jupyterlab matplotlib numpy -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n> **注意**：若需使用 GPU 加速，请根据显卡型号（NVIDIA）安装对应的 CUDA 版本 PyTorch。例如：\n> `pip install torch torchvision torchaudio --index-url https:\u002F\u002Fdownload.pytorch.org\u002Fwhl\u002Fcu118 -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n\n## 基本使用\n\n本课程的核心是通过运行 `lectures` 目录下的 Jupyter Notebook 文件，配合 YouTube 视频进行学习。\n\n### 1. 启动 Jupyter Lab\n\n在项目根目录下启动服务：\n\n```bash\njupyter lab\n```\n\n浏览器会自动打开界面，导航至 `lectures` 文件夹。\n\n### 2. 运行第一个示例 (Lecture 1: Micrograd)\n\n这是课程的起点，你将从头实现一个微型的自动求导引擎。\n\n1.  进入 `lectures\u002Fmicrograd` 目录。\n2.  打开对应的 `.ipynb` 文件（通常视频会指定具体文件名，如 `micrograd.ipynb`）。\n3.  按照视频讲解，逐个单元格（Cell）运行代码。\n4.  尝试修改代码中的参数（如学习率、初始值），观察输出变化。\n\n### 3. 进阶示例 (Lecture 2: Makemore)\n\n进入语言建模阶段，构建字符级大语言模型。\n\n1.  进入 `lectures\u002Fmakemore` 目录。\n2.  打开 `makemore_part1_bigrams.ipynb`。\n3.  运行代码以加载数据集（通常是名字列表），训练双字模型（Bigram Model）。\n4.  执行采样代码，让模型生成新的名字。\n\n### 4. 在线运行 (Google Colab)\n\n对于部分复杂章节（如 Lecture 5 反向传播手动推导、Lecture 8 Tokenizer），直接使用官方提供的 Colab 链接更为便捷：\n\n*   访问视频中提供的 Google Colab 链接（例如 Lecture 5 的链接）。\n*   点击 \"Open in Colab\"。\n*   在云端环境中直接运行 `Runtime` -> `Run all` 即可开始实验，无需本地安装任何依赖。\n\n---\n*注：本课程内容持续更新中，请关注原仓库获取最新 Lecture 笔记。*","一名刚入门深度学习的计算机专业学生，试图从零开始构建自己的第一个字符级语言模型，却在复杂的数学推导和框架黑盒中迷失方向。\n\n### 没有 nn-zero-to-hero 时\n- **理论脱节**：虽然背熟了反向传播公式，但面对 PyTorch 等框架的 `loss.backward()` 黑盒操作，完全无法理解梯度是如何在计算图中实际流动的。\n- **调试盲目**：模型训练不收敛时，只能盲目调整学习率或层数，缺乏查看激活值分布、梯度直方图等诊断手段，不知道是网络退化还是梯度消失。\n- **基础薄弱**：直接跳进 Transformer 等复杂架构，对张量运算、损失函数计算等底层逻辑一知半解，代码报错时不知从何下手修复。\n- **学习碎片化**：在网络教程间跳跃，缺乏从微梯度（micrograd）到多层感知机再到批量归一化的系统性进阶路径，知识体系支离破碎。\n\n### 使用 nn-zero-to-hero 后\n- **手撕原理**：通过 Lecture 1 和 Lecture 5 亲手实现 micrograd 并手动推导反向传播，彻底打通了从标量计算到张量自动求导的逻辑闭环，不再畏惧框架黑盒。\n- **科学诊断**：在 Lecture 4 中学会利用可视化工具分析前向激活与反向梯度的统计特性，能精准定位并引入 BatchNorm 解决深层网络训练脆弱的问题。\n- **循序渐进**：跟随 makemore 系列课程，从简单的双字模型平滑过渡到带残差连接的现代架构，每一步都扎实掌握了数据加载、训练循环及超参数调优的全流程。\n- **系统构建**：依托完整的 Jupyter Notebook 讲义与视频演练，将零散知识点串联成线，具备了独立复现论文模型及排查深层 Bug 的核心能力。\n\nnn-zero-to-hero 通过将抽象的神经网络理论转化为可执行的代码实践，让学习者从“调包侠”真正蜕变为能洞察模型内部机制的算法工程师。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fkarpathy_nn-zero-to-hero_3886e152.png","karpathy","Andrej","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fkarpathy_75f033eb.jpg","I like to train Deep Neural Nets on large datasets.",null,"Stanford","andrej.karpathy@gmail.com","https:\u002F\u002Ftwitter.com\u002Fkarpathy","https:\u002F\u002Fgithub.com\u002Fkarpathy",[86],{"name":87,"color":88,"percentage":89},"Jupyter Notebook","#DA5B0B",100,21212,3077,"2026-04-04T01:53:21","MIT",1,"未说明","未说明 (课程涵盖从零构建微框架 micrograd，后续章节使用 PyTorch，具体 GPU 需求取决于模型规模，入门章节可在 CPU 运行)",{"notes":98,"python":99,"dependencies":100},"这是一个神经网络教学课程系列，包含 YouTube 视频和 Jupyter Notebook 代码。内容从基础的微框架 (micrograd) 手写开始，逐步过渡到使用 PyTorch 构建大语言模型 (GPT)。部分练习提供 Google Colab 链接，可直接在云端运行而无需本地配置环境。","未说明 (需具备基础 Python 知识)",[101,102],"torch","jupyter",[26,13],"2026-03-27T02:49:30.150509","2026-04-06T10:25:00.306492",[107,112,117,122,127,132,137,142],{"id":108,"question_zh":109,"answer_zh":110,"source_url":111},14176,"为什么只需要对参数（parameters）调用 zero_grad()，而不需要对计算图中的中间节点清零梯度？","因为在每次迭代的前向传播（forward pass）过程中，算术节点（中间节点）都会被重新创建。虽然网络会经历多次迭代，但由前向传播生成的节点树仅用于单次反向传播。因此，中间节点的梯度不会累积到下一次迭代中，只需清零持久化的参数节点即可。","https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fnn-zero-to-hero\u002Fissues\u002F30",{"id":113,"question_zh":114,"answer_zh":115,"source_url":116},14177,"在优化步骤中，为什么将叶子节点的值沿着梯度方向增加（data += step * grad），即使某些梯度是负数，也能保证损失函数 L 减小（或目标函数值改善）？","这是导数的定义决定的。梯度指向函数增长最快的方向。如果我们希望最大化目标函数 L，就沿梯度方向增加参数值；如果希望最小化损失函数（Loss），则应沿梯度的反方向更新（即减去梯度）。在视频中，通过沿梯度方向微调参数，根据数学原理，目标函数 L 的值会向预期方向（更大或更小，取决于符号定义）变化。具体来说，若 L = (a*b + c)*f，无论单个参数的梯度符号如何，只要按照梯度方向更新，整体结果就会符合导数的线性近似预期。","https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fnn-zero-to-hero\u002Fissues\u002F54",{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},14178,"运行 makemore_part1_bigrams 笔记本时，使用 PyTorch 2.0.0 生成的随机样本与视频中不一致，即使设置了随机种子也是如此，原因是什么？","这是 PyTorch 2.0.0 版本的一个已知 Bug，具体出现在调用 `multinomial` 函数且 `num_samples=1` 时。即使设置了相同的随机种子，结果也可能与旧版本不同。解决方案是将 PyTorch 降级到 1.13.1 版本，或者等待该问题在后续版本中修复。","https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fnn-zero-to-hero\u002Fissues\u002F34",{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},14179,"在 micrograd 的 exp 函数实现中，反向传播时的梯度计算应该是 `self.grad += self.data * out.grad` 还是 `self.grad += out.data * out.grad`？","正确的实现是 `self.grad += out.data * out.grad`。因为指数函数 e^x 的导数仍然是 e^x，而在代码中 `out.data` 存储的正是 e^x 的计算结果（即 local gradient），而不是输入值 `self.data`。视频中曾口误使用了等号而非加号，但此处关于使用 `out.data` 的逻辑是正确的。","https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fnn-zero-to-hero\u002Fissues\u002F52",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},14180,"在使用 sum() 函数对自定义的 Value 对象列表求和时，出现 \"TypeError: unsupported operand type(s) for +: 'int' and 'Value'\" 错误，如何解决？","Python 内置的 `sum()` 函数默认从整数 0 开始累加（即 `0 + item1 + item2...`），由于 0 是 int 类型，而列表中的元素是自定义的 `Value` 对象，两者无法直接相加导致报错。解决方法是显式指定 `start` 参数为一个 `Value` 类型的零值，例如：`sum(generator_expression, start=Value(0))`，或者手动编写循环进行累加。","https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fnn-zero-to-hero\u002Fissues\u002F41",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},14181,"在微度（micrograd）讲座笔记本中，调用 draw_dot(L) 绘制计算图时为什么没有显示梯度值？","这是因为在绘制图形之前缺少了反向传播步骤。必须先调用 `L.backward()` 来计算并填充图中各个节点的梯度值，然后再执行 `draw_dot(L)`，这样生成的图表中才会包含梯度信息。","https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fnn-zero-to-hero\u002Fissues\u002F40",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},14182,"YouTube 讲座视频链接在某些设备（如 Windows 浏览器）上无法打开，但在手机上可以，这是什么原因？","部分用户反馈该问题特定于未安装 YouTube 应用程序的设备。如果在 Windows 上的 Chrome、Firefox 或 Edge 浏览器中链接无法打开，尝试在手机端（已安装 YouTube App）通常可以正常访问。这可能是链接格式或重定向机制导致的特定环境问题，建议检查浏览器设置或直接复制链接到新的隐私窗口尝试。","https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fnn-zero-to-hero\u002Fissues\u002F14",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},14183,"在学习本系列课程之前，有什么推荐的资源可以用来介绍神经网络的基础概念？","社区推荐参考 FastAI 的第 3 课（FastAI lecture 3），该课程以简单易懂的方式介绍了神经网络的基础。此外，也有用户制作了相关的补充介绍视频，可以在 YouTube 上搜索相关频道获取更直观的基础讲解，以便更好地衔接本课程的反向传播内容。","https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fnn-zero-to-hero\u002Fissues\u002F15",[]]