LLM(Large Language Model Course)大模型学习路线(课程推荐)

LLM 学习笔记

Github(中文版)分享:https://github.com/WSake/LLM


Large Language Model Course分享的学习课程,整理出来的中文版,希望对您有帮助~😀

🧑‍💻 大模型学习课程

📙 GitHub


Mlabonne大佬推荐以及贡献的课程分为三个部分:

  1. 🧩 LLM Fundamentals 涵盖有关数学、Python 以及神经网络的基本知识
  2. 🧑‍🔬 The LLM Scientist 专注于使用最新技术构建最好的 LLM
  3. 👷 The LLM Engineer 重点介绍如何创建基于 LLM 的应用程序并进行部署

有意思的,对于课程的交互式版本,Mlabonne微调了两个 LLM 助手,它们将以个性化的方式回答你的问题:


学习路线

🧩 第一部分 LLM 基础

介绍有关数学、Python 和神经网络的基本知识。您可能不需要从这里开始,但您可以参考它的学习路线,或者推荐给您的朋友。

1、机器学习与数学

✍ 如果你是初学者,在掌握机器学习之前,了解为这些算法提供动力的基本数学概念非常重要

  • 线性代数: 这对于理解许多算法至关重要,尤其是深度学习中使用的算法。关键概念包括向量、矩阵、行列式、特征值和特征向量、向量空间和线性变换。
  • 微积分: 许多机器学习算法涉及连续函数的优化,这需要了解导数、积分、极限和级数。多变量微积分和梯度的概念也很重要。
  • 概率与统计: 这些对于理解模型如何从数据中学习和进行预测至关重要。关键概念包括概率论、随机变量、概率分布、期望、方差、协方差、相关性、假设检验、置信区间、最大似然估计和贝叶斯推理。

🔖 推荐课程:

2、Python

Python 是一种功能强大且灵活的编程语言,由于其可读性、一致性和强大的数据科学库生态系统,特别适合机器学习

  • Python 基础知识: Python 编程需要对基本语法、数据类型、错误处理和面向对象编程有很好的理解
  • 常用的库s: 包括熟悉用于数值运算的 NumPy、用于数据操作和分析的 Pandas、用于数据可视化的 Matplotlib 和 Seaborn
  • 数据预处理: 这涉及特征扩展和归一化、处理缺失数据、异常值检测、分类数据编码以及将数据拆分为训练集、验证集和测试集
  • 机器学习: 熟练使用 Scikit-learn(一个提供多种监督和无监督学习算法的库)至关重要。了解如何实现线性回归、逻辑回归、决策树、随机森林、k 最近邻 (K-NN) 和 K-means 聚类等算法非常重要。PCA 和 t-SNE 等降维技术也有助于可视化高维数据。

📚 推荐课程:

3、神经网络

神经网络是许多机器学习模型的基本组成部分,尤其是在深度学习领域。为了有效地利用它们,必须全面了解它们的设计和机制

  • 基础知识: 包括了解神经网络的结构,例如层、权重、偏差和激活函数(sigmoid、tanh、ReLU 等)

  • 训练及优化: 熟悉反向传播和不同类型的损失函数,如均方误差 (MSE) 和交叉熵。了解各种优化算法,如 Gradient Descent、Stochastic Gradient Descent、RMSprop 和 Adam

  • 过拟合: 了解过拟合的概念(模型在训练数据上表现良好,但在无标签的测试数据上表现不佳),并学习各种正则化技术(dropout、L1/L2 正则化、early stopping、数据增强)来防止过拟合

  • 实现多层感知器 (MLP): 使用 PyTorch 构建 MLP,也称为全连接层

  • 📚 推荐课程:

  • 3Blue1Brown - 什么是神经网络?: 直观地解释了神经网络及其内部工作原理

  • freeCodeCamp - 深度学习速成课程: 高效地介绍了深度学习中所有重要的概念

  • Fast.ai - 实用深度学习: 为有编程经验并想学习深度学习的人设计的免费课程

  • Patrick Loeber - PyTorch 教程: 系列视频,适合完全初学者学习PyTorch

4、自然语言处理(NLP)

NLP 是人工智能的一个迷人分支,它弥合了人类语言和机器理解之间的差距。

从简单的文本处理到理解语言的细微差别,NLP 在许多应用程序中发挥着至关重要的作用,例如翻译、情感分析、聊天机器人🤖等等

  • 文本预处理: 了解各种文本预处理步骤,如分词(将文本拆分为单词或句子)、词干提取(将单词减少为根形式)、词形还原(类似于词干提取,但要考虑上下文)、停用词删除等
  • 特征提取: 熟悉将文本数据转换为机器学习算法可以理解的格式的技术。主要方法包括词袋 (BoW)、词频逆文档频率 (TF-IDF) 和 n-grams。
  • 文本嵌入: 文本嵌入是一种单词表示形式,它允许具有相似含义的单词具有类似的表示形式。主要方法包括 Word2Vec、GloVe 和 FastText。
  • 递归神经网络(RNN): 了解 RNN 的工作原理,RNN 是一种旨在处理序列数据的神经网络。探索 LSTM 和 GRU,这两种 RNN 变体能够学习长期依赖关系

📚 Resources:


第二部分 🧑‍🔬 The LLM Scientist

这一部分课程侧重于学习如何使用最新技术构建 LLM

1. 大模型架构

虽然不需要对 Transformer 架构有深入的了解,但对其输入 (token) 和输出 (logits) 有很好的理解是很重要的

原版注意力机制是另一个需要掌握的关键组件,因为会介绍它的改进版本

  • 高级视图: 重新审视编码器-解码器 Transformer 架构,更具体地说是每个现代 LLM 中使用的仅解码器 GPT 架构
  • 分词化: 了解如何将原始文本数据转换为模型可以理解的格式,这涉及将文本拆分为标记(通常是单词或子词)
  • 注意力机制: 掌握注意力机制背后的理论,包括自注意力和缩放点积注意力,这使模型在产生输出时能够专注于输入的不同部分
  • 文本生成:了解模型生成输出序列的不同方式。常见的策略包括贪心解码、束搜索、top-k 采样和原子核采样。

📚 推荐课程:

  • 图解 Transformer by Jay Alammar: 对 Transformer 模型的直观解释
  • 图解 GPT-2 by Jay Alammar: 侧重于 GPT 架构,与 Llama 的架构非常相似
  • Transformers 的视觉介绍 by 3Blue1Brown: 简单易懂的 Transformers 视觉介绍
  • LLM 可视化 by Brendan Bycroft: 令人难以置信的 LLM 内部情况的 3D 可视化
  • nanoGPT by Andrej Karpathy: 一个 2 小时的 YouTube 视频,从头开始重新实现 GPT(面向程序员)
  • Attention? Attention! by Lilian Weng: 以更正式的方式介绍注意力机制
  • LLM 中的解码策略: 提供代码和用于生成文本的不同解码策略的直观介绍

2. 构建指令数据集

虽然很容易从 Wikipedia 和其他网站找到原始数据,但自己制作高质量的QA对还是有些困难

与传统机器学习一样,数据集的质量将直接影响模型的质量,这就是为什么它可能是微调过程中最重要的组成部分

  • Alpaca-like dataset: 使用 OpenAI API (GPT) 从头开始生成合成数据。您可以指定种子和系统提示来创建多样化的数据集。
  • Advanced techniques: 学习如何使用 Evol-Instruct 改进现有数据集,如何生成高质量的合成数据,就像 Orcaphi-1 论文一样。
  • 筛选数据: 传统技术涉及正则表达式、删除重复的数据、专注于具有大量标记的答案等
  • 提示词模板: 没有真正的标准方法来格式化说明和答案,这就是为什么了解不同的prompt模板很重要的原因,例如 ChatML, Alpaca, 等.

📚 推荐课程:

3. 预训练模型

预训练是一个非常漫长且昂贵的过程,这不是本课程的重点

对训练前发生的情况有一定程度的了解是件好事,但不需要实践经验

  • Data pipeline: 预训练需要庞大的数据集(例如,Llama 2 在 2 万亿个token上进行训练),这些数据集需要使用预定义的词汇表进行过滤、标记化和整理。

  • Causal language 建模: 了解因果语言建模和掩码语言建模之间的区别。为了进行高效的预训练,请详细了解 Megatron-LMgpt-neox

  • Scaling laws: 缩放定律根据模型大小、数据集大小和用于训练的计算量来描述预期的模型性能

  • High-Performance Computing: 此处不在讨论范围之内,但如果您打算从头开始创建自己的 LLM(硬件、分布式工作负载等),那么了解有关 HPC 的更多知识是必不可少的

  • 📚 推荐课程:

  • LLMDataHub by Junhao Zhao: 用于预训练、微调和 RLHF 的精选数据集列表

  • 从头开始训练因果语言模型 by Hugging Face: 使用 transformers 库从头开始预训练 GPT-2 模型

  • TinyLlama by Zhang et al.: 更好地了解如何从头开始训练 Llama 模型

  • Causal language modeling by Hugging Face: 解释因果语言建模和掩码语言建模之间的区别,以及如何快速微调 DistilGPT-2 模型

  • Chinchilla’s wild implications by nostalgebraist: 讨论缩放定律并解释它们对 LLM 的一般意义

  • BLOOM by BigScience: 描述 BLOOM 模型构建方式的 Notion 页面,其中包含有关工程部分和遇到的问题的大量有用信息

  • OPT-175 Logbook by Meta: 研究日志显示哪里出了问题,什么做对了。如果您计划预先训练一个非常大的语言模型(在本例中为 175B 参数),则非常有用

  • LLM 360: 一个开源 LLM 框架,包含训练和数据准备代码、数据、指标和模型

4. 监督微调(SFT)

预先训练的模型仅在 next-token 预测任务上进行训练

SFT 允许您调整它们以响应说明。此外,它允许您在任何数据上微调您的模型并使用它,而无需为像 OpenAI 这样的 API 付费

  • 全参微调: 全参微调是指训练模型中的所有参数。这不是一种有效的技术,但它会产生稍微好一点的结果
  • LoRA微调: 一种基于低秩适配器的参数高效技术 (PEFT)。我们只训练这些适配器,而不是训练所有参数
  • QLoRA微调: 另一个基于 LoRA 的 PEFT,以 4 位量化模型的权重,并引入分页优化器来管理内存峰值。将其与 Unsloth 结合使用,即可在免费的 Colab 笔记本上高效运行
  • Axolotl: 一个对用户友好且功能强大的微调工具,用于许多最先进的开源模型
  • DeepSpeed: 针对多 GPU 和多节点设置(在 Axolotl 中实现)的 LLM 进行高效的预训练和微调

📚 推荐课程:

5.偏好对齐

在监督微调之后,RLHF 是用于将 LLM 的答案与人类期望保持一致的一个步骤

从人类(或人工)反馈中学习偏好,这可用于减少偏见、审查模型或使它们以更有用的方式运行。它比 SFT 更复杂,通常被视为可选。

  • Preference datasets: 这些数据集通常包含多个具有某种排名的答案,这使得它们比指令数据集更难生成
  • Proximal Policy Optimization: PPO 利用奖励模型来预测给定文本是否被人类高度排名。然后,此预测用于优化 SFT 模型,并根据 KL 散度进行惩罚
  • Direct Preference Optimization: DPO 通过将流程重新定义为分类问题来简化流程。它使用参考模型而不是奖励模型(无需训练),并且只需要一个超参数,使其更加稳定和高效

📚 推荐课程:

6. 评估

评估 LLM 是整个流程中被低估的部分,这虽然耗时但相对可靠

你的下游任务应该决定你想要评估什么,但永远记住古德哈特定律:“当一个度量成为目标时,它就不再是一个好的度量。

  • 传统指标: 困惑度和 BLEU 分数等指标并不像以前那样受欢迎,因为它们在大多数情况下都存在缺陷。但了解它们以及何时可以应用它们仍然很重要。
  • General 基准: 基于 语言模型评估工具Open LLM Leaderboard 是通用 LLM(如 ChatGPT)的主要基准。还有其他流行的基准测试,如 BigBenchMT-Bench 等。
  • 特定于任务的基准测试: 摘要、翻译和问答等任务有专门的基准、指标,甚至子领域(医疗、金融等),例如用于生物医学问答的 PubMedQA
  • 人工评估: 最可靠的评估是用户的接受率或人类的比较。除了聊天跟踪之外,记录用户反馈(例如,使用 LangSmith) 有助于确定需要改进的潜在领域

📚 推荐课程:

7. 量化

量化是使用较低精度转换模型的权重(和激活)的过程

例如,使用 16 位存储的权重可以转换为 4 位表示。这种技术对于降低与 LLM 相关的计算和内存成本变得越来越重要。

  • 基本技术: 了解不同级别的精度(FP32、FP16、INT8 等)以及如何使用 absmax 和零点技术执行朴素量化
  • GGUF and llama.cpp: llama.cpp 和 GGUF 格式最初设计为在 CPU 上运行,现已成为在消费级硬件上运行 LLM 的最流行工具
  • GPTQ and EXL2: GPTQ 更具体地说, EXL2 格式提供了令人难以置信的速度,但只能在 GPU 上运行,模型也需要很长时间才能被量化
  • AWQ: 这种新格式比 GPTQ 更准确(更低的困惑度),但使用的 VRAM 要多得多,而且不一定更快

📚 推荐课程:

8.新趋势

未来趋势

  • Positional embeddings: 学习大型语言模型如何编码位置,特别是像相对位置编码方案RoPE这样的方法。实现YaRN(将注意力矩阵乘以一个温度因子)或ALiBi(基于标记距离的注意力惩罚)以扩展上下文长度
  • Model merging: 合并训练模型已成为在不进行任何微调的情况下创建高性能模型的流行方法。流行的 mergekit 库实现了最流行的合并方法,如 SLERP、DARETIES
  • Mixture of Experts: Mixtral 因其出色的性能重新普及了 MoE 架构。与此同时,一种称为 frankenMoE 的模型在 OSS 社区中出现,通过合并像 Phixtral 这样的模型,它成为了一种更便宜且性能良好的选择
  • Multimodal models: 这些模型(如CLIPStable DiffusionLLaVA)通过统一的嵌入空间处理多种类型的输入(文本、图像、音频等),这解锁了强大的应用,如文本到图像

📚 推荐课程:


第三部分👷 The LLM Engineer

这部分课程侧重于学习如何构建可在实际生活中使用的 LLM 驱动的Agent,重点是增强模型并且部署

1. 运行 LLMs

这一部分侧重于学习如何构建可在生产中使用的 LLM 驱动的应用程序,重点是强化模型然后进行部署,由于硬件要求较高,运行 LLM 可能很困难

但如果只想通过 API(如 GPT-4)使用模型或在本地运行它。在任何情况下,修改prompt可以改进和限制应用程序的输出

  • LLM APIs:API 是部署大型语言模型(LLM)的一种便捷方式。(如 OpenAIGoogleAnthropicCohere 等)和开源 LLM(如 OpenRouterHugging FaceTogether AI 等)
  • 开源 LLMs: Hugging Face Hub 是寻找大型语言模型的绝佳去处。你可以在 Hugging Face Spaces 中直接运行其中一些模型,或者下载并在像 LM Studio 这样的应用程序中本地运行它们,也可以通过命令行界面使用 llama.cppOllama 运行它们。
  • Prompt 工程: 常用技术包括零样本提示、少样本提示、思维链和ReAct。这些技术在更大模型上效果更好,但也可以适应较小的模型
  • 结构化输出: 许多任务需要结构化的输出,例如严格的模板或JSON格式。像LMQLOutlinesGuidance等库可以用于指导生成并遵守给定的结构

📚 推荐课程:

2.构建 Vector Storage

创建向量存储是构建检索增强生成(RAG)的第一步

文档被加载、拆分,并使用相关块来生成向量表示(嵌入),这些向量表示(嵌入)被存储起来以备将来在推理期间使用。

  • 提取文档: 文档处理器是便捷的包装器,可以处理许多格式:PDF、JSON、HTML、Markdown等。它们还可以直接从一些数据库和API(GitHub、Reddit、Google Drive等)检索数据
  • 拆分文档: 文本拆分器将文档分解为更小的、语义上有意义的部分。与其在n个字符后分割文本,不如按标题或递归地进行分割,并附带一些额外的元数据
  • 嵌入模型: 嵌入模型将文本转换为向量表示。它允许对语言进行更深入和更细致的理解,这对于执行语义搜索是必不可少的
  • 向量数据库: 向量数据库(如 ChromaPineconeMilvusFAISSAnnoy 等)旨在存储嵌入向量。它们能够基于向量相似性高效检索与查询“最相似”的数据

📚 推荐课程:

3.检索增强生成(RAG)

使用RAG,大型语言模型从数据库中检索上下文文档以提高其答案的准确性

RAG是一种在不进行任何微调的情况下增强模型知识的流行方法

  • Orchestrators: 编排器(如LangChainLlamaIndexFastRAG等)是流行的框架,用于将您的LLM与工具、数据库、记忆等连接起来,并增强其能力
  • Retrievers: 用户指令不适合检索。可以应用不同的技术(例如,多查询检索器、HyDE等)来改写/扩展它们,从而提高性能
  • Memory: 为了记住之前的指令和答案,像ChatGPT这样的大型语言模型和聊天机器人会将这一历史添加到它们的上下文窗口中。这个缓冲区可以通过总结(例如使用较小的语言模型)、向量存储+RAG等方法得到改进
  • Evaluation: 我们需要评估文档检索(上下文精确度和召回率)和生成阶段(忠实度和答案相关性)。可以使用工具RagasDeepEval来简化这一过程

📚 推荐课程:

4.高级RAG

实际应用可能需要复杂的流程,包括SQL或图数据库,以及自动选择相关工具和API

这些高级技术可以改进基础解决方案并提供额外的功能

  • Query construction: 存储在传统数据库中的结构化数据需要特定的查询语言,如SQL、Cypher、元数据等。我们可以直接将用户指令翻译成查询语句来访问数据,进行查询构建
  • Agents and tools: 智能体通过自动选择最相关的工具来为LLM提供答案。这些工具可以像使用Google或Wikipedia一样简单,也可以像Python解释器或Jira一样复杂
  • Post-processing: 最终步骤处理输入到LLM的内容。它通过重新排序、RAG融合和分类,增强检索到的文档的相关性和多样性
  • Program LLMs: 像DSPy这样的框架允许你根据自动评估以编程方式优化提示和权重

📚 推荐课程:

5. 推理优化

文本生成是一个昂贵的过程,需要昂贵的硬件,除了量化之外,还提出了各种技术来最大化吞吐量和减少推理成本

  • Flash Attention: 优化注意力机制,将其复杂度从二次变为线性,从而加速训练和推理
  • Key-value cache: 理解键值缓存以及在多查询注意力机制(MQA)和分组查询注意力机制(GQA)中引入的改进
  • Speculative decoding: 使用小型模型生成草稿,然后由较大模型进行审查以加速文本生成

📚 推荐课程:

  • GPU Inference by Hugging Face: 解释如何优化GPU上的推理
  • LLM Inference by Databricks: 如何优化生产环境中LLM推理的最佳实践
  • Optimizing LLMs for Speed and Memory by Hugging Face: 解释三种优化速度和内存的主要技术,即量化、Flash Attention(闪存注意力)和架构创新
  • Assisted Generation by Hugging Face: HF版本的推测解码,这是一篇有趣的博客文章,介绍了它是如何工作的以及实现它的代码

6. 部署大型语言模型

大规模部署LLM是一个可能需要多个GPU集群的工程

在其他情况下,演示和本地应用程序可以以低得多的复杂度实现

  • Local deployment: 隐私是开源大型语言模型相较于私有模型的重要优势。本地LLM服务器(如LM StudioOllamaoobaboogakobold.cpp等)利用这一优势为本地应用程序提供支持

  • Demo deployment: 像GradioStreamlit这样的框架有助于原型设计应用程序和分享演示。您还可以轻松地将它们托管在线上,例如使用Hugging Face Spaces

  • Server deployment: 大规模部署LLM需要云(另见SkyPilot)或本地基础设施,并经常利用优化的文本生成框架,如TGIvLLM

  • Edge deployment: 在受限环境下,高性能框架如MLC LLMmnn-llm可以在网页浏览器、Android和iOS上部署大型语言模型

  • 📚 推荐课程:

  • Streamlit - Build a basic LLM app: 使用Streamlit创建基本的类似ChatGPT应用程序的教程

  • HF LLM Inference Container: 在Amazon SageMaker上使用Hugging Face的推理容器部署LLM

  • Philschmid blog by Philipp Schmid: 关于使用Amazon SageMaker部署大型语言模型的高质量文章集合

  • Optimizing latence by Hamel Husain: 在吞吐量和延迟方面的TGI、vLLM、CTranslate2和mlc的比较

7.确保大型语言模型的安全性

除了与软件相关的传统安全问题外,LLM由于其训练和提示方式具有独特的弱点

  • Prompt hacking: 与提示工程相关的不同技术,包括提示注入(附加指令以确保模型的答案)、数据/提示泄露(检索其原始数据/提示)和越狱(设计提示以绕过安全功能)
  • Backdoors: 攻击向量可以针对训练数据本身,通过污染训练数据(例如,使用虚假信息)或创建后门(秘密触发器以在推理期间改变模型的行为)
  • Defensive measures: 保护你的大型语言模型应用的最佳方式是通过针对这些漏洞进行测试(例如,使用红队测试和像garak这样的检查工具),并在生产环境中观察它们(使用像langfuse这样的框架)

📚 推荐课程:

在这里插入图片描述


📝 分享有关学习笔记与文章

一些工具

NotebookDescriptionNotebook
🧐 LLM AutoEval使用 RunPod 自动评估您的 LLMOpen In Colab
🥱 LazyMergekit使用 MergeKit 一键轻松合并模型Open In Colab
🦎 LazyAxolotl使用 Axolotl 一键微调模型Open In Colab
⚡ AutoQuant一键量化 GGUF、GPTQ、EXL2、AWQ 和 HQQ 格式的 LLMOpen In Colab
🌳 Model Family Tree可视化合并模型的family treeOpen In Colab
🚀 ZeroSpace使用免费的 ZeroGPU 自动创建 Gradio 聊天界面Open In Colab

微调教程

NotebookDescriptionArticleNotebook
Fine-tune Llama 2 with QLoRA在 Google Colab 中监督微调 Llama 2 的分步指南ArticleOpen In Colab
Fine-tune CodeLlama using Axolotl用于微调的最先进工具的端到端指南ArticleOpen In Colab
Fine-tune Mistral-7b with QLoRA在带有 TRL 的 Google Colab 中监督微调 Mistral-7bOpen In Colab
Fine-tune Mistral-7b with DPO使用 DPO 提高受监督的微调模型的性能ArticleOpen In Colab
Fine-tune Llama 3 with ORPO使用 ORPO 在单个阶段进行更便捷、更快速的微调ArticleOpen In Colab
Fine-tune Llama 3.1 with UnslothGoogle Colab 中的超高效监督微调ArticleOpen In Colab

量化教程

NotebookDescriptionArticleNotebook
Introduction to Quantization使用 8 位量化优化大型语言模型ArticleOpen In Colab
4-bit Quantization using GPTQ量化您自己的开源 LLM,以便在消费类硬件上运行它们ArticleOpen In Colab
Quantization with GGUF and llama.cpp使用 llama.cpp 量化 Llama 2 模型,并将 GGUF 版本上传到 HF HubArticleOpen In Colab
ExLlamaV2: The Fastest Library to Run LLMs量化并运行 EXL2 模型,并将其上传到 HF HubArticleOpen In Colab

其他教程

NotebookDescriptionArticleNotebook
Decoding Strategies in Large Language Models从光速搜索到深度采样的文本生成指南ArticleOpen In Colab
Improve ChatGPT with Knowledge Graphs用知识图谱增强 ChatGPT 的回答ArticleOpen In Colab
Merge LLMs with MergeKit轻松创建你自己的模型,无需 GPU!ArticleOpen In Colab
Create MoEs with MergeKit将多个专家合并为一个 frankenMoEArticleOpen In Colab
Uncensor any LLM with abliteration无需重新训练即可进行微调Article Open In Colab

Acknowledgements

目前这还是不完整的学习笔记,推荐课程链接来自于Large Language Model Course,后续会持续补充具体的学习内容~~🎄

关注一下:https://github.com/WSake/LLM

Disclaimer: I am not affiliated with any sources listed here.

### 使用大模型自动生成课程计划的方法 为了实现基于大模型的自动化课程计划生成,可以采用一种结构化的流程来确保生成的内容既符合教育目标又具有实用性。此过程涉及多个阶段的工作流设计和技术组件的选择。 #### 数据准备与预处理 数据源的质量直接影响到最终产出的效果。对于课程规划而言,应当收集来自不同渠道的教学材料作为输入素材,这些资料可能包括但不限于学术论文、在线教程以及行业报告等[^1]。通过自然语言处理技术对原始文档进行清洗和标注,以便于后续分析。 #### 构建领域特定的知识图谱 借助大型语言模型的能力,可以从上述整理好的文本集合中提取实体关系并建立相应的知识网络。这一环节不仅有助于加深机器理解专业知识体系内部逻辑联系的程度,而且能够为下一步骤提供更加精准的信息支持[^2]。 #### 设计提示词(Prompt Engineering) 针对具体的教学需求编写恰当的问题描述或指令语句,引导LLM按照预期方向展开创作活动。例如,在制定计算机科学入门级编程课表时,可设置如下模板:“请根据给定的主题范围(如Python基础语法),参照国际通行标准大纲格式,列举出至少五个子话题,并附带简短说明。” #### 实现自动写作模块 利用先进的深度学习框架训练定制版的大规模预训练模型,使其具备良好的泛化能力和表达力。当接收到经过精心打磨后的Prompt之后,该系统能迅速响应并输出连贯完整的章节划分方案或是详细的讲义草稿版本。 ```python from transformers import pipeline, set_seed set_seed(42) course_plan_generator = pipeline('text-generation', model='EleutherAI/gpt-neox-20b') prompt = """ Generate a course outline on the topic of Large Language Models. The course should cover introduction to LLMs, their architecture, training methods, applications and future trends. Provide at least five sections with brief descriptions. """ generated_text = course_plan_generator(prompt, max_length=500, num_return_sequences=1)[0]['generated_text'] print(generated_text) ``` #### 后端优化与迭代改进 初次生成的结果往往难以达到尽善尽美的程度;因此有必要引入人工审核机制对其进行润色调整。与此同时,持续积累反馈意见用于指导算法参数微调工作,从而不断提高系统的智能化水平和服务质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Slientsakke

觉得不错的话,点赞鼓励一下吧☺

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值