深入LLM与RAG 原理、实现与应用教程
学习地址1:https://pan.baidu.com/s/1EBacJ8kTrEAycq2oG2QYfA 提取码: y6kx
学习地址2:https://share.weiyun.com/HvHPkhoX 密码:bewrbs
一、了解LLM大模型
LLM大模型,入GPT-3、BERT等,是通过深度学习技术训练的,能够处理、理解和生成自然语言文本的模型。这些模型通常具有数十亿甚至数万亿参数,因此被称为“大模型”。
大模型数据训练:LLM模型使用大规模的文本数据集进行训练,使其能够捕捉到语言的细微差别。
多样性任务适应:经过适当的微调(fine-tuning),LLM可以适用于各种自然语言处理任务,如文本分类、问答系统、文本生成等。
强大的语言理解能力:LLM模型通常具有较好的语言理解能力,能够进行复杂的推理和分析。
二、大模型特点
1、巨大的规模: LLM通常具有巨大的参数规模,可以达到数十亿甚至数千亿个参数。这使得它们能够捕捉更多的语言知识和复杂的语法结构。
2、预训练和微调: LLM采用了预训练和微调的学习方法。它们首先在大规模文本数据上进行预训练(无标签数据),学会了通用的语言表示和知识,然后通过微调(有标签数据)适应特定任务,从而在各种NLP任务中表现出色。
3、上下文感知: LLM在处理文本时具有强大的上下文感知能力,能够理解和生成依赖于前文的文本内容。这使得它们在对话、文章生成和情境理解方面表现出色。
4、多语言支持: LLM可以用于多种语言,不仅限于英语。它们的多语言能力使得跨文化和跨语言的应用变得更加容易。
5、多模态支持: 一些LLM已经扩展到支持多模态数据,包括文本、图像和声音。这意味着它们可以理解和生成不同媒体类型的内容,实现更多样化的应用。
6、涌现能力: LLM表现出令人惊讶的涌现能力,即在大规模模型中出现但在小型模型中不明显的性能提升。这使得它们能够处理更复杂的任务和问题。
7、多领域应用: LLM已经被广泛应用于文本生成、自动翻译、信息检索、摘要生成、聊天机器人、虚拟助手等多个领域,对人们的日常生活和工作产生了深远的影响。
三、LLM能为我们做什么
总体可以概括为:创作内容、处理和分析数据、自动化任务、智能客服
写作:写邮件、计划书、宣传文案、简单的故事等,可以模仿小红书风格、指定作家风格,尤其适合写长篇套话,但目前要写出完整且有趣的小说还比较难。
润色:提供大纲或已有文本,由LLM来扩写、改写,适用于洗稿、避免被查重等场景。
总结:提供会议记录、文章,由LLM自动总结要点和待办。
翻译:多语言翻译、白话文和文言文翻译,结合特定prompt进行多轮翻译可以实现惊艳的结果。
数据分析:从报告中提取数据、分析数据,做成可视化图表。
编程:Github Copilot,程序员都应该用。
提取结构化信息:从用户的自然语言中,提取出结构化的信息,方便传给程序做自动化处理。
智能助手:利用Agent实现工作流
智能客服:基于RAG实现智能客服
四、大模型是厚积薄发的
大模型不是一蹴而就的,发展的早期阶段被称为预训练模型阶段,其核心技术是迁移学习。当目标应用场景的数据不足时,模型首先在大规模的公开数据集上进行训练,然后迁移到特定场景中,并通过少量的目标场景数据进行微调,以达到所需的性能。这种在公开数据集上训练的深度网络模型,被称为“预训练模型”。使用预训练模型可以显著减少下游任务对标注数据的依赖,有效处理数据标注困难的新场景。
2018年,大规模自监督神经网络的出现标志着一次真正的革命。这类模型的核心在于通过自然语言句子创造预测任务,例如预测下一个词或预测被掩码的词或短语。这使得大量高质量的文本语料成为自动获取的海量标注数据源。通过从自身预测错误中学习超过10亿次,模型逐渐积累了丰富的语言和世界知识,从而在问答、文本分类等更有意义的任务中展现出优异的性能。这正是BERT和GPT-3等大规模预训练语言模型的精髓,也是所谓的“大模型”。
五、分词(tokenization)是把输入文本切分成有意义的子单元(tokens)。通过以下代码,根据我们的数据生成一个新的分词器:
from tokenizers import Tokenizer
from tokenizers.models import BPE
from tokenizers.trainers import BpeTrainer
from tokenizers.normalizers import NFKC, Sequence
from tokenizers.pre_tokenizers import ByteLevel
from tokenizers.decoders import ByteLevel as ByteLevelDecoder
from transformers import GPT2TokenizerFast
# 构建分词器 GPT2 基于 BPE 算法实现
tokenizer = Tokenizer(BPE(unk_token="<unk>"))
tokenizer.normalizer = Sequence([NFKC()])
tokenizer.pre_tokenizer = ByteLevel()
tokenizer.decoder = ByteLevelDecoder()
special_tokens = ["<s>","<pad>","</s>","<unk>","<mask>"]
trainer = BpeTrainer(vocab_size=50000, show_progress=True, inital_alphabet=ByteLevel.alphabet(), special_tokens=special_tokens)
# 创建 text 文件夹,并把 sanguoyanyi.txt 下载,放到目录里
files = ["text/sanguoyanyi.txt"]
# 开始训练了
tokenizer.train(files, trainer)
# 把训练的分词通过GPT2保存起来,以方便后续使用
newtokenizer = GPT2TokenizerFast(tokenizer_object=tokenizer)
newtokenizer.save_pretrained("./sanguo")
jecony0
- 粉丝: 26
- 资源: 99
最新资源
- 金盾信安杯-河南网络与数据安全大赛‘金盾信安杯’详解:参赛形式与价值
- 数据分析案例-社交媒体情绪数据集可视化分析(数据集+代码).rar
- 【python毕业设计】信息隐藏算法实现源码(完整前后端+mysql+说明文档+LW).zip
- TongWeb7快速使用手册PDF
- 【python毕业设计】高校社团学生会管理系统(django)源码(完整前后端+mysql+说明文档+LW).zip
- 数据分析案例-2023年TOP100国外电影数据可视化(数据集+代码).rar
- 数据分析案例-基于亚马逊智能产品评论的探索性数据分析(4500字实验报告+数据集+代码).rar
- 鲲鹏麒麟MySQL5.7.22离线安装包
- Vue.js 的通用选择,多选,标记组件.zip
- 数据挖掘实战-基于决策树算法构建北京市空气质量预测模型(数据集+代码).rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈