diff --git a/Translated_Book/ch01/1.7构建大语言模型.ipynb b/Translated_Book/ch01/1.7构建大语言模型.ipynb new file mode 100644 index 0000000..34629b1 --- /dev/null +++ b/Translated_Book/ch01/1.7构建大语言模型.ipynb @@ -0,0 +1,89 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1.7 构建大型语言模型" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "在本章中,我们奠定了理解 LLMs 的基础。在本书的剩余部分,我们将从头开始编写一个 LLM 。我们将以 GPT 背后的基本思想作为蓝图,并按照图1.9中概述的三个阶段来解决这个问题。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**图 1.9 本书涵盖的构建大型语言模型(LLM)的阶段包括实现LLM架构和数据准备过程、预训练LLM以创建基础模型,以及微调基础模型,使其成为个人助理或文本分类器。**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![fig-1.7-1](../img/fig-1.7-1.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "source": [ + "首先,我们将了解基本的数据预处理步骤,并编写每个LLM核心的注意力机制。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "接下来,在第二阶段,我们将学习如何编写和预训练一个类似GPT的LLM,这种模型能够生成新文本。我们还将讨论评估LLM的基本原则,这对于开发能力强大的自然语言处理系统至关重要。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "请注意,从头开始预训练一个大型LLM是一项重大的工作,对于类似GPT的模型,计算成本可能需要数千到数百万美元。因此,第二阶段的重点是使用小数据集实施训练,目的是用于教育。此外,本书还将提供加载公开可用模型权重的代码示例。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "最后,在第三阶段,我们将采用预训练的LLM,并微调它以执行诸如回答查询或分类文本之类的指令——这是许多实际应用和研究中最常见的任务。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "希望您期待着开始这一激动人心的旅程!" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Translated_Book/ch01/1.8总结.ipynb b/Translated_Book/ch01/1.8总结.ipynb new file mode 100644 index 0000000..b167eae --- /dev/null +++ b/Translated_Book/ch01/1.8总结.ipynb @@ -0,0 +1,54 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 1.8 总结" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "- 大型语言模型(LLMs)已经彻底改变了自然语言处理领域,该领域之前主要依赖于明确的基于规则的系统和更简单的统计方法。LLMs的出现引入了新的深度学习驱动的方法,这些方法推动了对人类语言的理解、生成和翻译的进步。\n", + "- 现代LLMs主要通过两个步骤进行训练。\n", + "- 首先,它们在大量未标记的文本语料库上进行预训练,使用句子中下一个词的预测作为“标签”。\n", + "- 然后,它们在较小的、有标签的目标数据集上进行微调,以执行指令或进行分类任务。\n", + "- LLMs基于 transformer 架构。transformer 架构的关键思想是注意力机制,它在生成输出时,使LLM能够选择性地访问整个输入序列中的每一个词。\n", + "- 原始的 transformer 架构包括用于解析文本的编码器和用于生成文本的解码器。\n", + "- 用于生成文本和执行指令的LLMs,如GPT-3和ChatGPT,只实现了解码器模块,简化了架构。预训练LLMs需要数十亿词的大型数据集。在本书中,我们将在小型数据集上实现和训练LLMs,用于教育目的,但也将展示如何加载公开可用的模型权重。\n", + "- 尽管GPT类模型的一般预训练任务是预测句子中的下一个词,这些LLMs表现出了“突现”属性,如分类、翻译或总结文本的能力。\n", + "- 一旦LLM被预训练,得到的基础模型可以更有效地针对各种下游任务进行微调。\n", + "- 在定制数据集上微调的LLMs可以在特定任务上胜过通用的LLMs。" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "[1] 有机器学习背景的读者可能注意到,传统的机器学习模型和通过常规监督学习范式训练的深度神经网络通常需要标签信息。然而,在LLMs的预训练阶段并非如此。在这一阶段,LLMs利用自监督学习,模型从输入数据中生成自己的标签。本章后面将介绍这一概念。\n", + "\n", + "[2] GPT-3,价值460万美元的语言模型。https://www.reddit.com/r/MachineLearning/comments/h0jwoz/d_gpt3_the_4600000_language_model/" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "vscode": { + "languageId": "plaintext" + } + }, + "outputs": [], + "source": [] + } + ], + "metadata": { + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Translated_Book/img/fig-1.7-1.jpg b/Translated_Book/img/fig-1.7-1.jpg new file mode 100644 index 0000000..8aa0a50 Binary files /dev/null and b/Translated_Book/img/fig-1.7-1.jpg differ