Datawhale开源学习--大模型应用开发(2.0)--Task1

目录

项目地址:

Task1:背景知识+Demo搭建

一、什么是大模型

1.1.统计语言模型

1.2.神经语言模型

1.3.预训练语言模型

1.4.大语言模型

二、大模型是怎么构建的:

2.1.预训练

2.2.有监督微调

2.3.基于人类反馈的强化学习对齐

三、开源大模型和闭源大模型

3.1.开源大模型

3.2.闭源大模型

四、源大模型开源体系

五、大模型时代挖掘模型能力的开发范式

5.1.Prompt工程

5.2. Embedding辅助给LLM外接大脑---RAG

5.3.参数高效微调 

六、大模型应用开发,必知必会

6.1.客户端

6.2.服务端


项目地址:

Datawhaleicon-default.png?t=N7T8https://linklearner.com/activity/14/11/25

Task1:背景知识+Demo搭建

一、什么是大模型

为了对人类语言的内在规律建模,提出语言模型来准确预测词序列中下一个词或者缺失的词的概率。语言模型已经演化了四代:

1.1.统计语言模型

基于马尔科夫假设来建模语言序列的n元(n-gram)语言模型

1.2.神经语言模型

基于神经网络构建语言模型,例如RNN、word2vec

1.3.预训练语言模型

使用大量无标注的数据预训练双向LSTM或者Transformer,然后在下游进行微调。代表:ELMo、Bert、GPT1/2

1.4.大语言模型

基于Scaling law,即通过增加模型参数或者训练数据,可以提升下游任务的性能,同时具有小模型不具有的“涌现能力”,代表作:Llama,Claude,ChatGPT
注:涌现能力指的是当复杂度突破阈值之后,所体现出来的新特性和新能力。

二、大模型是怎么构建的:

2.1.预训练

1.1.预训练指使用海量的数据进行模型参数的初始学习,旨在为模型参数寻找到一个优质的“起点”。这一概念最初在计算机视觉领域萌芽,通过在ImageNet(一个大型图像数据集)上的训练,为模型参数奠定了坚实的基础。

1.2.这一理念被自然语言处理(NLP)领域采纳,word2vec开创先河,利用未标注文本构建词嵌入模型;ELMo、BERT及GPT-1则进一步推动了“预训练-微调”范式的普及。

注1:word2vec是将词映射到连续的向量空间,两种主要的模型架构:CBOW和Skip-Gram

注2:ELMo的核心是一种双向LSTM模型。双向LSTM同时从前向和后向两个方向处理句子的信息,这样可以捕捉到每个词在整个句子中的上下文;ELMo通常使用一个多层的双向LSTM网络(通常是两层)

1.3.预训练+特定任务微调范式 ---》预训练+所有任务共同微调范式。

1.4.decoder-only模型架构。

2.2.有监督微调

在我的专栏下,微调有六篇文章,到时候详细发出来吧

2.3.基于人类反馈的强化学习对齐

3.1.OpenAI在 2022 年初发布了 InstructGPT 论文,详尽阐述了如何实现语言模型与人类对齐。论文提出了基于人类反馈的强化学习对齐(Reinforcement Learning from Human Feedback, RLHF),通过指令微调后的强化学习,提升模型的人类对齐度。RLHF的核心在于构建一个反映人类价值观的奖励模型(Reward Model)。这一模型的训练依赖于专家对模型多种输出的偏好排序,通过偏好数据训练出的奖励模型能够有效评判模型输出的质量。

3.2.目前还有很多工作试图去除复杂的强化学习算法,或其他使用 SFT 方式来达到与 RLHF 相似的效果,从而简化模型的对齐过程。例如,直接偏好优化(Direct Preference Optimization, DPO),它通过与有监督微调相似的复杂度实现模型与人类对齐,是一种典型的不需要强化学习的对齐算法。相比RLHF,DPO不再需要在训练过程中针对大模型进行采样,同时超参数的选择更加容易。

三、开源大模型和闭源大模型

3.1.开源大模型

一是选择将模型开源的组织,他们秉持着促进学术交流和技术创新的理念,让全球的研究者和开发者都能受益于这些模型。通过开放模型的代码和数据集,他们加速了整个AI社区的发展,促进了创新和技术的民主化。这一阵营的代表有Meta AI、浪潮信息等

3.2.闭源大模型

另一类则是保持模型闭源的公司,它们通常将模型作为核心竞争力,用于提供专有服务或产品,以维持商业优势。闭源模型通常伴随着专有技术和服务,企业可以通过API等方式提供给客户使用,而不直接公开模型的细节或代码。这种模式有助于保障公司的商业利益,同时也为用户提供了稳定和安全的服务。这一阵营的代表有OpenAI、百度等。

四、源大模型开源体系

五、大模型时代挖掘模型能力的开发范式

5.1.Prompt工程

上下文学习(In-Context Learning, ICL):将任务说明及示例融入提示文本之中,利用模型自身的归纳能力,无需额外训练即可完成新任务的学习。

思维链提示(Chain-of-Thought, CoT):引入连贯的逻辑推理链条至提示信息内,显著增强了模型处理复杂问题时的解析深度与广度。

5.2. Embedding辅助给LLM外接大脑---RAG

因此,将知识提前转成Embedding向量,存入知识库,然后通过检索将知识作为背景信息,这样就相当于给LLM外接大脑,使大模型能够运用这些外部知识,生成准确且符合上下文的答案,同时能够减少模型幻觉的出现

5.3.参数高效微调 

在实际应用场景中,大模型还会经常出现以下问题:

  • 大模型在当前任务上能力不佳,如果提升其能力?

  • 另外,怎么使大模型学习其本身不具备的能力呢?

这些问题的答案是模型微调。

模型微调也被称为指令微调(Instruction Tuning)或者有监督微调(Supervised Fine-tuning, SFT),首先需要构建指令训练数据,然后通过有监督的方式对大模型的参数进行微调。经过模型微调后,大模型能够更好地遵循和执行人类指令,进而完成下游任务。

问题1:怎么构建指令训练数据?

六、大模型应用开发,必知必会

6.1.客户端

客户端常用Gradio和Streamlit开发

---------------------------------------Gradio基本概念---------------------------------------------------------

Gradio有输入输出组件、控制组件、布局组件。

---输入输出组件用于获取内容和展示内容,如:textbox文本,image图像

---控制组件用于直接调用函数,无法作为输入输出使用,如:button,ClearButton

---布局组件用于更好地规划组件的布局,如:Column(把组件放到一列),Raw(把组件放到一行)

Gradio的设计哲学是将输入和输出组件与布局组件分开。输入组件(如TextboxSlider等)用于接收用户输入,输出组件(如LabelImage等)用于显示函数的输出结果。而布局组件(如TabsColumnsRow等)则用于组织和排列这些输入和输出组件,以创建结构化的用户界面。

---------------------------------------Streamlit基本概念---------------------------------------------------------

Streamlit每个组件都是独立的,需要什么可查看官方文档,主要有:

---页面元素

---应用逻辑

---工具

6.2.服务端

在大模型应用中,服务端需要与大模型进行交互,大模型接受到用户请求后,经过复杂的计算,得到模型输出。目前,服务端主要有以下两种方式:

方式1:直接调用大模型API

方法2:大模型本地部署:在本地GPU上,下载模型文件,并基于推理框架进行部署

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值