Large-Language-Model-Notebooks-Course
Large-Language-Model-Notebooks-Course 是一个专注于大语言模型(LLM)实战的开源课程仓库。它为工程师、研究人员和开发者提供了一系列基于 Jupyter Notebook 的手册和项目案例,旨在将抽象的理论知识转化为可落地的代码能力。
很多人学习 LLM 时面临“懂原理却不会用”的困境,这个项目通过循序渐进的教程解决了这一问题。课程内容涵盖三大板块:首先是基础技术与库的使用,包括 Chatbot 构建、代码生成及向量数据库;其次是具体项目实战,讲解设计决策与 LLMOps;最后是面向企业的规模化解决方案。
其独特亮点在于紧跟前沿技术,不仅涉及 OpenAI API 和 Hugging Face 生态,还深入讲解了 PEFT、LoRA、QLoRA 等高效微调方法以及知识蒸馏。虽然它与某本出版书籍内容相关,但项目处于永久开发中,会不断融入新示例和章节。对于希望快速掌握 LLM 应用开发并构建实际产品的技术人员来说,这是一个非常实用的资源库。
使用场景
某科技公司的资深后端工程师小王,负责搭建企业内部的知识库智能助手,希望利用大模型技术提升员工查询效率,但缺乏从零构建 LLM 应用的全栈经验。
没有 Large-Language-Model-Notebooks-Course 时
- 学习路径混乱,需要在 GitHub 和博客间反复切换才能拼凑出 LangChain 与向量数据库的集成方案
- 面对私有数据微调时,对 LoRA、QLoRA 等参数高效微调技术理解不深,导致显存占用过高且效果不佳
- 缺乏生产环境部署经验,不清楚如何设计包含评估指标和监控的企业级架构
- 遇到 Prompt Engineering 或 RAG 检索增强生成问题时,只能靠试错,调试周期漫长
使用 Large-Language-Model-Notebooks-Course 后
- 跟随实战 Notebook 逐步完成从 API 调用到自定义项目构建,直接复用经过验证的代码模块
- 深入掌握 PEFT 微调与知识蒸馏技巧,能够根据业务需求低成本地定制和优化开源模型
- 参考企业级解决方案章节,学会如何将 LLM 融入现有 IT 基础设施并处理大规模并发请求
- 通过结构化的课程路径图,快速定位所需知识点,显著降低了从原型到上线的开发门槛
Large-Language-Model-Notebooks-Course 帮助工程师跨越了从理论认知到工程落地的鸿沟,实现了高效的技术转型。
运行环境要求
- 未说明
未说明
未说明

快速开始
使用大型语言模型(LLMs)、GPT、LLaMA、LangChain 和 Hugging Face 构建:面向工程师、研究人员和开发者的动手实践项目
🚨 新闻:我正在与 Manning 合作撰写《Rearchitecting LLMs》!学习如何使用剪枝(Pruning)、知识蒸馏(Knowledge Distillation)和注意力绕过(Attention Bypass)来拆解和重建 Transformer——这些是顶尖 AI 实验室用于推动模型效率边界的相同技术。在此查看 MEAP。使用代码 MLMartra 可享 50% 折扣。🚨
|
这是本书的非官方仓库: Large Language Models: Apply and Implement Strategies for Large Language Models (Apress)。 本书基于该仓库的内容,但笔记本(Notebook)正在更新,我正在添加新的示例和章节。 如果您在寻找包含原始笔记本的书籍官方仓库,请访问 Apress 仓库,您可以在那里找到以书中出现的原始格式存在的所有笔记本。购买地址:[Amazon] [Springer] |
请注意,GitHub 上的课程并不包含书中的所有信息。
这个关于大型语言模型及其应用的实用免费动手课程 👷🏼处于永久开发中👷🏼。我将随着完成进度发布不同的课程和示例。
本课程提供使用 OpenAI 和 Hugging Face 库中的模型的动手体验。我们将看到并使用大量工具,并通过小型项目进行练习,随着我们应用新获得的知识,这些项目将不断增长。

课程分为三个主要部分:
1- 技术与库:
在这一部分,我们将通过小型示例探索不同的技术,使我们能够在下一部分构建更大的项目。我们将学习如何使用大型语言模型世界中最常见的库,始终以实用为重点,同时基于已发表的论文建立我们的方法。本节涵盖的一些主题和技术包括:聊天机器人、代码生成、OpenAI API、Hugging Face、向量数据库、LangChain、微调(Fine Tuning)、参数高效微调(PEFT Fine Tuning)、软提示调优(Soft Prompt tuning)、低秩适应(LoRA)、量化低秩适应(QLoRA)、评估模型、知识蒸馏。
2- 项目:
我们将创建项目,并解释设计决策。每个项目可能有多种实现方式,因为通常不存在唯一的完美解决方案。在本节中,我们还将深入探讨与 LLMOps(大模型运维)相关的主题,尽管这不是课程的主要重点。3- 企业解决方案:
大型语言模型并非独立的解决方案。在大型企业中,它们只是拼图的一部分。我们将探索如何构建能够转变拥有数千名员工的组织的解决方案,以及大型语言模型在这些新解决方案中扮演的关键角色。如何使用课程。
在每个部分下,您可以找到不同的章节,这些章节由不同的课程组成。课程的标题是链接到课程页面的链接,您可以在那里找到该课程的所有笔记本和文章。每个课程由笔记本和文章组成。笔记本包含足够的信息以理解其中的代码,文章则提供更详细的关于代码和所涵盖主题的解释。
我的建议是将文章与笔记本一起打开并跟随操作。许多文章提供了可以在笔记本中引入的小变体技巧。我建议您遵循它们以增强概念的理解清晰度。
大多数笔记本托管在 Colab 上,少数托管在 Kaggle 上。Kaggle 的免费版提供的内存比 Colab 更多,但我发现复制和共享笔记本在 Colab 中更简单,而且并非每个人都有 Kaggle 账户。
一些笔记本需要的内存超过了 Colab 免费版提供的内存。由于我们正在处理大型语言模型,这是一个常见情况,如果您继续与它们一起工作,这种情况会再次出现。您可以在自己的环境中运行笔记本,或者选择 Colab 的专业版。
🚀1- 技术与库。
每个笔记本都配有 Medium 文章支持,其中详细解释了代码。
使用 OpenAI 介绍大型语言模型。
在课程的这一第一部分中,我们将通过学习创建两个小型项目来了解如何使用 OpenAI API。我们将深入研究 OpenAI 的角色以及如何通过提示(Prompt)向模型提供必要的指令,使其按照我们的期望行为。
第一个项目是一个餐厅聊天机器人,模型将接收客户订单。在此基础上,我们将构建一个 SQL 语句生成器。在这里,我们将尝试创建一个安全的提示,仅接受 SQL 创建命令,不接受其他任何内容。
使用 GPT 3.5、OpenAI、Python 和 Panel 创建您的第一个聊天机器人。
我们将利用 OpenAI GPT-3.5 和 Panel 开发一个针对快餐店的简单聊天机器人。在课程期间,我们将探索提示工程(Prompt Engineering)的基础知识,包括理解各种 OpenAI 角色、调整温度设置(temperature settings),以及如何避免提示注入(Prompt Injections)。
| Panel 文章 / Gradio 文章 | Panel 笔记本 / Gradio 笔记本 |
|---|
使用 OpenAI API 创建自然语言到 SQL 翻译器。
遵循前篇文章中用于创建 ChatBot(聊天机器人)的相同框架,我们进行了一些修改来开发一个自然语言到 SQL 翻译器。在这种情况下,模型需要被提供表结构,并对提示词进行了调整以确保功能顺畅并避免任何潜在故障。有了这些修改,该翻译器能够将自然语言查询转换为 SQL 查询。@fmquaglia 创建了一个使用 DBML(数据库标记语言)来描述表的笔记本,这迄今为止是比原始方法更好的方案。
| 文章 / Gradio 文章 | 笔记本 / Gradio 笔记本 / DBML 笔记本 |
|---|
使用 OpenAI 进行提示工程简介。
我们将探索提示工程技术,以改善从模型获得的结果。例如如何使用 Few Shot Samples(少样本示例)来格式化答案并获得结构化响应。
| 文章 | 笔记本 |
|---|
使用大型语言模型 (LLMs) 的向量数据库
对向量数据库的简要介绍,这是一项将在课程许多课程中伴随我们的技术。我们将基于存储在 ChromaDB 中的各种新闻数据集信息,进行检索增强生成 (RAG) 的示例工作。
使用向量数据库通过个性化信息影响语言模型。
如果大型语言模型世界中有一个方面正在变得重要,那就是探索如何利用专有信息与它们协作。在本课中,我们探索了一种可能的解决方案,涉及将信息存储在向量数据库中(在我们的案例中是 ChromaDB),并使用它来创建增强的提示词。
| 文章 | 笔记本 |
|---|
RAG 系统的语义缓存
我们通过引入语义缓存层增强了 RAG 系统,该层能够确定之前是否问过类似的问题。如果是肯定的,它会从使用 Faiss 创建的缓存系统中检索信息,而不是访问向量数据库。
本笔记本中实现的语义缓存的灵感和基础代码源自 Hamza Farooq 的课程:https://maven.com/boring-bot/advanced-llm/1/home。
| 文章 | 笔记本 |
|---|---|
| 进行中 | 笔记本 |
LangChain
LangChain 一直是大型语言模型宇宙中对这场革命贡献最大的库之一。 它允许我们将对模型和其他系统的调用链接起来,使我们能够构建基于大型语言模型的应用程序。在课程中,我们将多次使用它,创建越来越复杂的项目。
检索增强生成 (RAG)。使用大型语言模型 (LLMs) 处理数据框 (DataFrames) 中的数据。
在本课中,我们使用 LangChain 增强了上一课的笔记本,当时我们使用了两个数据集的数据来创建增强提示词。这次,在 LangChain 的帮助下,我们构建了一个管道,负责从向量数据库检索数据并将其传递给语言模型。该笔记本设置为与两个不同的数据集和两个不同的模型一起工作。其中一个模型是为文本生成训练的,而另一个是为文本到文本生成训练的。
| 文章 | 笔记本 |
|---|
使用 LangChain 创建审核系统。
我们将使用基于 LangChain 构建的双模型管道创建一个评论回复系统。在这种设置中,第二个模型将负责审核第一个模型生成的响应。
防止我们的系统生成不期望响应的一个有效方法是使用一个不与用户直接交互的第二个模型来处理响应生成。
这种方法可以降低第一个模型因用户输入而产生不期望响应的风险。
我将为这项任务创建单独的笔记本。其中一个将涉及来自 OpenAI 的模型,其他则将利用 Hugging Face 提供的开源模型。三个笔记本中获得的结果非常不同。系统在 OpenAI 和 LLAMA2 模型上表现要好得多。
| 文章 | 笔记本 |
|---|---|
| OpenAI 文章 | OpenAI 笔记本 |
| Llama2-7B 文章 | Llama2-7B 笔记本 |
| 无文章 | GPT-J 笔记本 |
使用 LLM Agent(大语言模型智能体)创建数据分析师助手。
智能体(Agent)是大语言模型领域中最强大的工具之一。该智能体能够解释用户的请求,并利用其可用的工具和库,直到达成预期结果。
使用 LangChain Agents,我们将用短短几行代码创建一个最简单却极其强大的智能体。该智能体将充当数据分析师助手,帮助我们分析任何 Excel 文件中包含的数据。它将能够识别趋势、使用模型、进行预测。总之,我们将创建一个简单的智能体,用于我们日常工作中分析数据。
| 文章 | 笔记本 |
|---|
使用 LangChain 和 ChromaDB 创建医疗聊天机器人。
在此示例中,结合了之前看到的两种技术:智能体和向量数据库。医疗信息存储在 ChromaDB 中,并创建了一个 LangChain Agent,它仅在必要时获取这些信息,以创建一个增强型提示(prompt),该提示将被发送给模型以回答用户的问题。
换句话说,创建了一个 RAG(检索增强生成)系统来辅助医疗聊天机器人。
注意!!!仅将其作为示例使用。任何人都不应将机器人的建议视为真实医生的建议。我对聊天机器人可能产生的使用后果不承担任何责任。我构建它仅仅是为了展示不同技术的示例。
| 文章 | 笔记本 |
|---|
评估 LLMs(大语言模型)。
用于衡量大语言模型性能的指标与我们在传统模型中使用的指标有很大不同。我们正逐渐放弃准确率(Accuracy)、F1 分数或召回率(recall)等指标,转而采用 BLEU、ROUGE 或 METEOR 等指标。
这些指标是专门为分配给语言模型的具体任务量身定制的。
在本节中,我们将探讨其中几种指标的示例,以及如何利用它们来确定某个模型在给定任务上是否优于另一个模型。我们将深入探讨这些指标帮助我们就不同模型的性能做出明智决策的实际场景。
使用 BLEU 评估翻译质量。
BLEU 是最早建立的用于评估翻译质量的指标之一。在笔记本中,我们比较了 Google 制作的翻译与来自 Hugging Face 的开源模型的翻译质量。
| 文章 WIP | 笔记本 |
|---|
使用 ROUGE 评估摘要生成。
我们将探索如何使用 ROUGE 指标来衡量语言模型生成的摘要的质量。 我们将使用两个 T5 模型,一个是 t5-Base 模型,另一个是专门设计用于创建摘要的 t5-base 微调模型。
| 文章 | 笔记本 |
|---|
使用 LangSmith 监控智能体。
在这个初始示例中,您可以观察如何使用 LangSmith 监控构成智能体的各个组件之间的流量。该智能体是一个 RAG 系统,利用向量数据库构建增强型提示并将其传递给模型。LangSmith 捕获智能体工具的使用情况以及模型做出的决策,随时提供有关发送/接收数据、消耗 token、查询持续时间的信息,并且这一切都在一个真正用户友好的环境中呈现。
| 文章 | 笔记本 |
|---|
使用 LangSmith 通过嵌入距离评估摘要质量。
之前在笔记本"Rouge Metrics: Evaluating Summaries"中,我们学习了如何使用 ROUGE 来评估哪个摘要最接近人工创建的摘要。这次,我们将使用嵌入距离和 LangSmith 来验证哪个模型生成的摘要更接近参考摘要。
| 文章 | 笔记本 |
|---|
使用 Giskard 评估 RAG 解决方案。
我们采用充当医疗助手的智能体,并整合 Giskard 来评估其回复是否正确。这样,不仅评估模型的回复,还评估向量数据库中的信息检索。Giskard 是一种允许评估完整 RAG 解决方案的解决方案。
| 文章 | 笔记本 |
|---|
Eluther.ai 的 lm-evaluation 库简介。
EleutherAI 的 lm-eval 库提供了对已成为行业标准的学术基准的便捷访问。它支持评估开源模型以及像 OpenAI 这样的提供商的 API,甚至允许评估使用 LoRA 等技术创建的适配器。
在这个笔记本中,我将专注于该库的一个小而重要的功能:评估兼容 Hugging Face Transformers 库的模型。
| 文章 - WIP | 笔记本 |
|---|
微调与优化。
在“微调与优化”部分,我们将探索不同的技术,例如 Prompt Fine Tuning(提示微调)或 LoRA(低秩适应),并将使用 Hugging Face 的 PEFT(参数高效微调)库来高效地微调大型语言模型(Large Language Models)。我们将探索量化(quantization)等技术以减少模型的权重占用。
使用 Hugging Face 的 PEFT 库进行 Prompt Tuning。
在此笔记本中,我们使用来自 PEFT 库的 Prompt Tuning 训练了两个模型。该技术不仅允许我们通过修改极少参数的权重来进行训练,还使我们能够在内存中加载不同的专用模型,这些模型都使用同一个基础模型。
Prompt Tuning 是一种添加式技术,预训练模型的权重不会被修改。在这种情况下,我们修改的是添加到提示词中的虚拟 token 的权重。
| 文章 | 笔记本 |
|---|
使用 Hugging Face 的 PEFT 进行 LoRA 微调。
在简要解释 LoRA 微调技术的工作原理后,我们将微调一个来自 Bloom 系列的模型,教它构建可用于指令大型语言模型的提示词。
| 文章 | 笔记本 |
|---|
使用 QLoRA 在单个 16GB GPU 上微调 7B 模型。
我们将简要介绍量化(quantization),用于减小大型语言模型的大小。通过量化,你可以加载大模型并减少所需的内存资源。这也适用于微调过程,你可以在单个 GPU(图形处理器)上微调模型而无需消耗所有资源。 简要解释之后,我们将看到一个示例,展示如何在 Google Colab 上的 T4 16GB GPU 上微调 Bloom 7B 模型。
| 文章 | 笔记本 |
|---|
大型语言模型的剪枝技术
本部分仍在建设中。目标是构建一个课程,将我们从最基础的剪枝技术引导至使用领先公司(如 Microsoft、Google、Nvidia 或 OpenAI)构建其模型时采用的相同技术来创建模型。
使用 L1 范数剪枝 distilGPT2 模型以确定不太重要的神经元。
在第一个笔记本中,剪枝(Pruning)过程将应用于 distilGPT2 模型的前馈层。这意味着该特定层的模型权重将减少。要剪枝的神经元是根据其重要性分数选择的,我们使用其权重的 L1 范数(L1 norm)来计算这些分数。这是一个简单的方法,用于此第一个示例,当你想要创建一个在所有方面都模仿基础模型的剪枝模型时可以使用它。
通过更改模型结构,必须创建一个新的配置文件以确保它能与 transformers 库正确配合工作。
| 笔记本:剪枝 distilGPT2 模型。 |
|---|
剪枝 Llama3.2 模型。
在第一个笔记本中,我们尝试复制用于 distilGPT2 模型的剪枝过程,但将其应用于 Llama 模型。如果不考虑模型的特性,剪枝过程会导致生成完全无法使用的模型。此笔记本作为一个练习,旨在理解了解将要进行剪枝的模型结构是多么关键。
| 笔记本:剪枝 Llama3.2 模型 错误方法。 |
|---|
第二个笔记本解决了将用于 distilGPT2 的相同剪枝过程应用于 Llama 模型时所遇到的问题。
正确的方法是将模型的 MLP(多层感知机)层视为成对而非单独层,并通过同时考虑这两层来计算神经元的重要性。此外,我们改用最大绝对权重来决定哪些神经元保留在剪枝后的层中。
| 剪枝 Llama3 文章 | 笔记本:剪枝 Llama3.2 模型 正确方法。 |
|---|
结构化深度剪枝。消除大型语言模型中的完整模块。
Llama-3.2 模型中的深度剪枝。
在此笔记本中,我们将查看深度剪枝的一个示例,这涉及从模型中移除整个层。 首先需要注意的是,从 Transformer 模型中移除整个层通常会对模型性能产生重大影响。与之前示例中看到的从 MLP 层中简单移除神经元相比,这是一种更为剧烈的架构变更。
| 笔记本:Llama 模型深度剪枝。 |
|---|
注意力旁路
剪枝注意力层。
本笔记本实现了论文中提出的理念:Transformer 中什么最重要?并非所有注意力都是必需的。
在本笔记本中,对模型贡献最小的注意力层被标记为跳过,从而提高推理效率并减少模型的资源消耗。为了识别贡献最小的层,使用简单的提示激活,并测量该层输入和输出之间的余弦相似度。差异越小,该层引入的修改就越少。
笔记本中实现的层选择过程是迭代式的。也就是说,选择贡献最小的层,并使用相同的提示重新计算剩余层的贡献。重复此过程,直到禁用所需数量的层为止。
由于这种类型的剪枝不改变模型结构,因此它不会减少模型的大小。
| 文章:进行中。 | 笔记本:剪枝注意力层。 |
|---|
自适应注意力绕过。
自适应模型是指那些能够动态调整其结构或更改其执行部分的模型,无论是在生成响应时还是在接收用户请求时。本笔记本代表了与 Transformers 库兼容的自适应模型的最早实现之一,如果不是第一个的话。
生成的模型能够根据接收到的提示的复杂性来决定执行哪些注意力层。它是整个仓库中最复杂的笔记本,非常接近可被视为纯研究的内容。事实上,没有论文描述所实现方法的运作机制,因此它被认为是作者(Pere Martra)的原创作品。
模型经过校准过程,在此过程中决定每个层的重要性,并创建配置文件。对于接收到的每个提示,使用其长度和嵌入方差计算复杂度,然后模型决定应使用哪些层来向用户提供响应。
| 文章:进行中。 | 笔记本:自适应注意力绕过。 |
|---|
知识蒸馏 (Knowledge Distillation)。
知识蒸馏涉及训练一个较小的“学生”模型来模仿一个较大的、训练良好的“教师”模型。学生不仅从正确的标签中学习,还从教师模型产生的概率分布(软目标)中学习,有效地将教师学到的知识转移到更紧凑的形式中。
当与剪枝结合使用时,你首先通过移除不太重要的连接来创建基础模型的剪枝版本。在此过程中,一些知识不可避免地会丢失。为了恢复这些丢失的知识,你可以应用知识蒸馏,使用原始基础模型作为教师,剪枝后的模型作为学生,帮助恢复部分丢失的性能。
这两种技术都解决了同一个挑战:在保持性能的同时减少模型大小和计算需求,使它们对于在移动设备等资源受限环境中部署 AI 至关重要。
使用知识蒸馏 (KD) 从基础模型恢复知识。
在本笔记本中,我们将使用知识蒸馏来恢复模型剪枝过程中丢失的部分知识。Llama-3.2-1B 将用作教师模型,40% 剪枝版本将用作学生模型。我们将专门提高在 Lambada 基准上的性能。
| 笔记本:知识蒸馏 Llama 3.2。 |
|---|
大型语言模型 (LLM) 中的偏见与公平性。
本节介绍了一项初步工作,侧重于通过可视化神经激活来检测大型语言模型 (LLM) 中的偏见。虽然仍处于早期阶段,但这些分析为未来的公平感知剪枝策略铺平了道路,其中结构性剪枝决策也会考虑到对不同人口统计或语义群体的影响。
在最先进的 Transformer 模型中可视化偏见。
本笔记本介绍了在 Transformer 模型中可视化神经激活的技术,作为检测和缓解语言模型偏见的初步步骤。 采用的技术:
- 使用主成分分析 (PCA) 进行降维
- 使用热力图进行可视化
- 对比组之间的差异激活分析
| 文章 | 笔记本 |
|---|---|
| 从偏见到平衡:可视化并修复 Transformer 模型中的偏见 | 8_1_transformer_activations_visualization.ipynb |
针对 Transformer 模型偏见缓解的目标剪枝
本笔记本介绍了一种新颖的剪枝方法,旨在缓解大型语言模型 (LLM) 中的偏见。通过使用成对的对比提示(例如,“黑人男性”与“白人男性”),该方法识别出根据人口统计线索以不同方式响应的神经元。然后根据结合偏见贡献和结构重要性的混合评分系统选择性删除这些神经元。
该技术是使用 optipfair 库 实现的,该库提供了逐层激活和内部偏见指标的详细可视化。您可以通过配套的 Hugging Face 空间交互式探索模型的内部行为:🌐 Hugging Face 上的 Optipfair 偏见分析器。
结果不言自明:仅剪枝 0.13% 的参数,模型的内部偏见指标就降低了 22%,且性能损失极小。这一概念验证表明,偏见感知剪枝既可以精确又高效——为构建更公平的 AI 系统提供实用工具。
| 笔记本:8_2_Targeted_Pruning_for_Bias_Mitigation.ipynb |
|---|
🚀2- 项目。
自然语言转 SQL。。
在这个简单的基础项目中,我们将开发一个从自然语言生成 SQL 的工具。我们将从创建提示词(Prompt)开始,以实现两种解决方案:一种使用运行在 Azure 上的 OpenAI 模型,另一种使用来自 Hugging Face 的开源模型。
| 文章 | 笔记 |
|---|---|
| 为 OpenAI 创建 NL2SQL 提示词 | OpenAI 提示词创建 |
| 进行中 | defog/SQLCoder 提示词创建 |
| 推理 Azure 配置。 | 使用 Azure 推理端点 |
创建并发布大语言模型。
在这个小项目中,我们将创建一个新模型,使用 DPO(直接偏好优化)对齐 microsoft-phi-3 模型,然后将其发布到 Hugging Face。
| 文章 | 笔记 |
|---|---|
| 进行中 | 使用 DPO 对齐 phi3-3 模型。 |
🚀3- 构建企业级解决方案。
为大型数据库构建 NL2SQL 企业级解决方案。
在这个初始方案中,我们设计了一个能够在大型数据库上运行的 NL2SQL(自然语言转 SQL)系统架构。该系统旨在配合两到三个不同的模型使用。事实上,我们在示例中使用了三个模型。
这是一种能够快速启动项目的架构,仅对数据库中的少量表提供服务,允许我们按自己的节奏添加更多表。
解码风险:利用客户嵌入(Embeddings)技术变革银行业。
在这个方案中,我们探索了嵌入技术和大语言模型(LLM)在金融行业客户风险评估和产品推荐中的变革力量。我们将改变存储客户信息的格式,因此,我们也将改变这些信息在系统内的传输方式,从而实现重要的优势。
课程贡献:
如果您发现任何问题,请打开一个 问题 。我会尽最大努力尽快修复它,并署名感谢。
如果您想做出贡献或建议主题,请随时发起一个 讨论 。我很乐意接收任何意见或建议。
不要害羞,在您的社交网络上与朋友分享本课程。在 LinkedIn 或 Twitter 上联系我,随时分享您想分享的内容或提出您的问题。
给仓库点个 Star ⭐️。这对我帮助很大,也鼓励我继续添加课程。这是支持像这样免费开源课程的好方法。
课程中使用的参考文献与论文:
Pere Martra Fragile Knowledge, Robust Instruction-Following: The Width Pruning Dichotomy in Llama-3.2。宽度剪枝。
Tom Kocmi, Christian Federmann, Large Language Models Are State-of-the-Art Evaluators of Translation Quality。使用 LLM 评估 LLM。
Pere Martra, Introduction to Large Language Models with OpenAI
ReAct: Synergizing Reasoning and Acting in Language Models。LangChain 与智能体部分。医疗助手示例。
The Power of Scale for Parameter-Efficient Prompt Tuning。微调与优化部分。提示词调优示例。
LoRA: Low-Rank Adaptation of Large Language Models。微调与优化部分。LoRA 微调示例。
QLoRA: Efficient Finetuning of Quantized LLMs。微调与优化部分。QLoRA 微调示例。
How to Prompt LLMs for Text-to-SQL: A Study in Zero-shot, Single-domain, and Cross-domain Settings。项目。自然语言转 SQL。
Saurav Muralidharan, Sharath Turuvekere Sreenivas, Raviraj Joshi, Marcin Chochowski, Mostofa Patwary, Mohammad Shoeybi, Bryan Catanzaro, Jan Kautz, Pavlo Molchanov, "Compact Language Models via Pruning and Knowledge Distillation," arXiv preprint arXiv:2407.14679, 2024。可用地址:https://doi.org/10.48550/arXiv.2407.14679。
He, S., Sun, G., Shen, Z., & Li, A. (2024)。What matters in transformers? not all attention is needed。arXiv preprint arXiv:2406.15786。https://doi.org/10.48550/arXiv.2406.15786
Kim, B. K., Kim, G., Kim, T. H., Castells, T., Choi, S., Shin, J., & Song, H. K. (2024)。Shortened llama: A simple depth pruning for large language models。arXiv preprint arXiv:2402.02834, 11。https://doi.org/10.48550/arXiv.2402.02834
Martra, P. (2024, December 26)。Exploring GLU Expansion Ratios: Structured Pruning in Llama-3.2 Models。https://doi.org/10.31219/osf.io/qgxea
@software{optipfair2025,
author = {Pere Martra},
title = {OptiPFair: A Library for Structured Pruning of Large Language Models},
year = {2025},
url = {https://github.com/peremartra/optipfair}
}
常见问题
相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。