
第四章:文本分类
文本分类(Text Classification) 是 NLP 中常见的任务之一,如不同语义的分类,动物,植物; 肉类,还是水果,蔬菜,开心还是悲伤,或业务分类等。 表示模型和生成模型在文本分类中的作用不容忽视。
下面是用预训练模型对 Hugging Face 上的电影评论数据集
rotten_tomatoes进行文本分类的测试。1from datasets import load_dataset 2data = load_dataset("rotten_tomatoes") 3print(data)里面包含三部分的数据
train训练集,validation验证集,test测试集。我们将用训练集训练模型,使用测试集来验证结果, 附加的验证集用来验证模型的泛化能力。rotten_tomatoes中记录有两个字段,分别为text: 电影评论文本label: 电影评论的标签,0 代表负面评论,1 代表正面评论。

第三章:LLM 的内部机制
这一章才是本书的最重要的部分,一个支撑现在大语言模型的基石,那就是 Transformer 模型, 占据了本书约 12% 的篇幅。学完分词与词嵌入后,现在开始探究 Transformer 模型的工作原理。我们把
Transformer LLM看成是一个接收文本输入并生成响应的系统, 模型总是在预测下一个 Token, 每个 Token 的生成都是模型的一次前向传播(forward pass). 在生成当前 Token 后,会将该生成的 Token 追加到输入序列中,作为下一次预测的输入( 或者说调整下次生成的提示词)--这就是前向传播。这种使用生成的前一个 Token 又作为输入来生成下一个 Token 的模型被称为自回归模型(autoregressive model)。而 BERT 是双向(Bidirectional)编码模型。
前向传播的组成, 分词器后就是由
Read MoreTransformer堆叠而成的神经网络,最后是一个 LM head, 它负责将 Transformer 块的输出转换为 Token 的概率分数。
第一章:大语言模型简介
应该还是在前年读了 《Build a Large Language Model (From Scratch)》前面一小部分,就中断了, 如今又找来一本相关的书籍 《Hands-On Large Language Models》试着啃一啃,能明白多少是多少。拿着中英文的两个版本对照着看,有些中文翻译最好还是不译的好。 这里只会一些杂乱的笔记,算不得什么记要,重要的信息仍然在书上。
学习中相关的测试代码放在 GitHub 仓库 yabqiu/Hands-On-Large-Language-Models, 主要是在 macOS 苹果芯片上进行的测试。虽然官方有一个相应的仓库 HandsOnLLM/Hands-On-Large-Language-Models, 但作为沉浸式学习,亲自根据自己的口味撸一遍代码是非常必要的,所以也会发现我学习时的代码与书中不完全相同。
文字的计算机语义处理有过
Bag-of-words,word2vec,sequence-to-sequence, 再就是BERT,GPT这些概念了。 写作 "Attention Is All You Need" 这篇论文的作者们真是太伟大了,拿不到诺贝尔奖,也应该给他们个图灵奖,虽然其中的技术并非很高级, 但这篇论文在AI发展史中绝对有着里程碑式的意义。模型从大的功能分为
- 仅编码的表示模型(representation model),如种种嵌入模型,都比较小的,约几百兆大小, 像 BERT(bidirectional encoder representations from Transformers)
- 生成模型(generative model),关注生成文本, 通常不会被训练用于生成嵌入, 像 GPT(Generative Pre-trained Transformer)