cover_image

AGI方向的探索和测试

郭新法 好未来技术
2024年03月20日 10:00



一、人脑和人工智能的区别




01




图片


图片


所以人工智能现阶段不能产生自我意识的原因在于“人工智能源于逻辑和理性”,而逻辑和理性本身就只是人的心理过程中的一个过程而已,而且位置还是底面上的。相对于“意识”,理性算是低维度的。不管人工智能怎么“学习”,无非就是把这个底面不断的扩大在扩大,只要它的基础源于逻辑这个路径,它就会被困在底面上,只能将底面不断扩大,而不能升维。


图片


AI&ML&DL




二、数据科学




数据科学在大模型中的运用主要体现在以下几个方面:

01




数据预处理:

数据科学方法常用于数据清洗、特征工程和数据转换等预处理过程,以提高模型性能。例如,我们可能需要处理缺失值、异常值,或者使用归一化/标准化来调整特征的尺度。

02




探索性数据分析:

在训练模型之前,可以通过可视化和统计测试等方法来理解并探索我们的数据。这有助于我们发现潜在问题(如类别不平衡或者存在多重共线性等),并决定哪些特征可能对模型预测结果影响最大。

03




建模和评估: 

数据科学为我们提供了从简单线性回归到复杂深度神经网络等各种算法选择,并且为这些算法的训练和优化提供了理论支持。此外, 也提供了交叉验证、ROC曲线、混淆矩阵等多种评估指标帮助我们判断模型质量。

04




后验分析:

即使一个模型表现良好, 我们也需要理解它是如何做出决策的。例如, 在分类问题中, 我们可以查看每个特征对结果的贡献大小;在深度学习中, 可视化隐藏层以理解其内部工作机制。

05




实验设计与假设检验: 

数据科学还包括实验设计与假设检验这样一些基础概念,比如A/B测试就是一种常见应用场景,在推出新功能或者改变某项参数时候通过实验证明其效果是否显著优于原先设置。

06




通信与可视化: 

最后但同样重要的一点是将结果有效地呈现给非专业人士看。无论一个模型多么复杂精确,如果不能被业务方理解接受那么也就失去了意义。因此良好地可视化效果展示及报告撰写能力也是必不可少。

总结起来说,在大规模机器学习或深度学习项目中,核心思想仍然是"以数据为中心,从数据中学习并获取知识"。



三、大模型在通用领域的应用




01




自然语言处理:

大模型如GPT-4可以进行文本生成、问答系统、情感分析等任务。比如,你可以将问题输入到模型中,它会返回一个可能的答案。

02




知识图谱构建:

通过训练大模型来理解和抽象出各种关系和实体,从而构建出知识图谱。

03




个性化推荐:

基于用户的历史行为数据和兴趣偏好,使用大模型进行深度学习以提供个性化推荐。

04




智能客服:

在客户服务领域中, AI助手可以帮助回答常见问题, 提供24/7服务。

05




内容创作与编辑: 

例如文章写作、诗歌创作等。AI能够根据给定主题或开头生成内容或者对已有内容进行优化编辑。

06




教育辅导: 

AI教育辅导系统可以针对学生的学习情况提供个性化指导, 帮助他们更好地理解复杂概念。

07




医疗咨询: 

在医疗领域,AI 可以根据病人描述症状来提供建议或预测可能存在的健康问题(但不能替代专业医生)。

08




市场预测与分析: 

利用AI预测未来市场走向, 或者帮助企业进行销售预测。


四、大模型在垂直领域的应用




(以企业内部办公为例)

01




人力资源:

AI可以帮助进行简历筛选、面试预约、员工满意度调查分析等任务。同时,通过对员工表现和反馈信息的深度分析,AI也能够为人力资源管理提供决策支持。

02




行政管理:

AI可以自动处理日常行政事务,比如会议室预定、报销流程处理等。此外,基于过往数据的分析还能帮助行政团队优化运营策略。

03




产研团队:

AI可以协助进行项目进度跟踪和风险预警,并基于历史数据进行未来规划建议。同时,在软件开发过程中, AI也可用于代码审查, bug检测等。

04




老师:

除了教学内容外, AI还能辅助老师完成课堂管理(例如出勤记录)、学生表现追踪以及与家长沟通等任务。

05




教研人员: 

AI 可以辅助教研人员完成课程设计, 通过对历史数据的挖掘找出哪些教学方法效果更好;也可自动搜集最新的科研成果或者相关资料。

06




智能日程管理: 

对所有角色都有益, AI 可以根据每个人的工作计划和习惯制定合理日程安排并提醒即将到来事件。

07




知识库构建与维护:

建立企业内部知识库, 搜索并获取所需信息,企业内部的知识库构建与维护是一个集结、整理和更新企业所有重要信息的过程。这可以包括产品信息、服务流程、员工手册、常见问题解答(FAQ)、行业新闻等内容。

08




IT部门: 

AI 可以辅助 IT 部门监控系统状态, 提早发现并解决问题; 还可用于网络安全防护。

09




法务

在合同审查、法规更新追踪等方面,AI都有广泛应用。

10




财务:

AI可以帮助进行账单处理、预算分析和财务预测等任务。通过对历史数据的深度分析,AI还能为财务决策提供支持。

图片
图片


五、机器学习的工作流程




图片

获取数据

数据基本处理

特征工程:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已

机器学习(模型训练)

模型评估

线下测试:精准率、召回率、F1

线上验证:小流量复制与线上diff、用户pv和uv


Transformer


图片



自注意力
自回归
生成式
使用了子词、数值向量、实数向量和Transformer模型来表示和生成文本
通过编码、解码、嵌入、预测和生成等步骤,它可以实现从文本到文本的转换


基座大模型(gpt3.5)

图片

GPT 的训练流程可粗略分为四个阶段:预训练、监督式微调、奖励建模、强化学习学习
Openai组织80位不同领域的科学家生成1.3w语料库并进行标记,进行训练
奖励模型3.3w条语料库标记进行微调


Prompt工程

图片


Fain-tuning(微调)

在一个已经预训练好的模型的基础上,使用用户提供的数据进行进一步的训练,从而使模型更适合用户的特定应用场景。


微调过程:

01




选择合适的预训练模型:

选择一个预训练模型,通常选择在大规模数据集上预训练的模型,如 GPT、ResNet、VGG、BERT等。

02




数据准备:

将数据集分为训练集、验证集和测试集。如果数据集比较小,可以将训练集和验证集合并为训练集,同时留出一部分作为测试集。

03




冻结预训练模型的权重:

这确保了我们不会破坏在大规模数据集上学习到的有用特征。

04




确定参数更新范围:

在冻结权重的基础上,确定需要进行微调的参数范围。对于LoRA微调,主要涉及每层的Self-Attention的参数更新,具体包括 W−q、W_k、W_v、W_o四个映射层参数。

05




初始化参数:

对于需要更新的参数,首先进行初始化。例如,矩阵A采用Uniform初始化,矩阵B采用零初始化。这样,最初的LoRA权重为0,从头开始学习,有利于模型收敛。

06




微调:

使用训练数据对模型进行微调。在微调过程中,LoRA会聚焦于Transformer注意力块,以降低GPU内存要求,提高微调速度。

07




调整参数:

在微调过程中,可能会需要对某些参数进行调整。例如,针对不同模型参数名称进行适当调整;根据指令分布的广度,调整Rank的取值等。

08




测试与评估:

完成微调后,需要对模型进行测试与评估,以确定微调是否有效、是否达到了预期的效果。

09




迭代训练:

Fine-tuning过程通常需要多个训练轮次(epochs)来获得更好的效果。每个训练轮次包含将整个对话数据集分为多个小批次(batches),每个小批次包含一定数量的对话样本。对于每个小批次,模型根据输入对话生成响应,并与标准答案进行比较,然后通过反向传播更新模型的参数。这个过程会不断重复,直到达到预定的训练轮次。

10




模型保存和部署:

一旦Fine-tuning过程完成,训练得到的模型将被保存下来,并可以用于实际的应用场景。模型可以部署在服务器上,通过API接口与用户进行交互,接收用户的输入并生成对应的回答。



-验证指标:
性能指标
-准确率:预测正确的结果占总样本的百分比

图片


-精准率:

实际为正的样本占所有被预测为正样本的百分比

图片


-召回率:

被预测为正样本且实际为正样本占实际为正的样本中的百分比

图片


-F1分数

图片

功能完整:多轮、降级、模型切换
效率:响应速度、输出效率
鲁棒性:即模型在面对不同类型输入数据时是否依然保持稳定表现。
安全与隐私:是否可以防止恶意攻击,并确保用户数据安全无泄露。



数据集:

01




公开数据集:

许多研究机构和公司公开了他们在特定领域内收集的大规模数据集,这可以作为一个很好的起点。

02




网络爬虫:

你可以使用网络爬虫从互联网上抓取相关领域的信息。例如,如果你正在建立一个关于电影评论的模型,你可能会想要从豆瓣电影或IMDb等网站上抓取用户评论。

03




众包平台:

众包平台如Amazon Mechanical Turk, 问卷星等可以用来收集人工标注的数据。这种方式成本较高,但能获取到高质量且具有标签信息的样本。


04




合作伙伴提供:

如果你与其他公司或组织有合作关系,他们可能能提供一些私有数据。

05




用户生成内容:

如果你已经有了一款产品在运营,并且它产生了大量用户生成内容(如社交媒体帖子、客户支持票据等),那么这些内容可能对训练模型非常有用。

06




仿真和增强学习环境: 

如自动驾驶汽车训练中使用仿真环境来生成大量训练样本;通过对已存在样本进行旋转、缩放、剪裁等操作以增加样本数量和多样性。

07




传感器采集: 

在某些特定应用场景下(比如语音识别或物体检测),可通过设备传感器采集原始数据并进行处理得到所需格式和类型的训练/测试/验证 数据.

08




通过通用大模型(如GPT-4)生成数据集:
a.定义任务:首先,你需要明确定义你希望生成的数据集类型。例如,你是否需要问答对、对话记录、新闻文章或其他类型的文本?
b.设计提示:为了让模型理解并执行特定任务,需要设计一些提示语句。例如,如果你希望生成问答对,可以给出一个问题作为输入。
c.采样和解码策略:在从模型中生成文本时, 会使用某种采样方法(比如贪婪采样、束搜索或者拓扑采样等)和解码策略来决定输出结果。
d.数据后处理:根据需求进行必要的后处理操作, 比如清洗无关内容、格式化等。
e.验证和修订:在收集到初步数据后, 还需要进行人工检查以验证其质量并进行必要修订。

Science Technology



-样本:
正样本
负样本在机器学习模型的训练和测试中起着至关重要的作用:
1.训练阶段:

在监督学习中,特别是分类问题,负样本为模型提供了反例信息。通过正负样本的对比学习,模型能够更好地理解如何区分不同类别。例如,在垃圾邮件识别任务中,正样本(垃圾邮件)告诉模型什么是我们想要标记出来的对象,而负样本(非垃圾邮件)则告诉模型什么不应该被标记。
2.测试阶段:

测试集中包含负样本可以帮助我们准确评估模型的性能。只有当正、负样本都存在时,我们才能计算出一些重要指标如精确度、召回率、F1值等。如果没有负样本,则无法评估误报率(假阳性率)和漏报率(假阴性率),这将大大影响对模型实际效果的判断。


-样本标签:
问题就是输入样本,而答案则是标签;
测试集样本标签(即正确答案)在训练和验证机器学习或深度学习问答系统时起着至关重要的作用. 它们为算法提供了目标输出, 并使得可以通过比较预测结果与实际结果来评价和优化算法性能。


-分割:训练集、验证集和测试集这三者的比例分布并没有绝对标准,但常见做法如下:
1.70% - 15% - 15%:这是一个常见的划分方式,其中70%的数据用于训练模型,15%用于验证模型以调整参数,并且剩下的15%作为测试数据来评估最终模型。
2.60% - 20% - 20%:也是较常见的划分方式,60%用于训练,20%进行验证(主要用于超参数调优),剩余20%作为测试数据。
3.**80%-10%-10%,50%-25%-25%,40%-30%-30%,**等等也有人使用。其实具体比例应根据你手头上可供使用的总样本数量、问题复杂性以及计算资源等因素来决定。

验证集不仅可以帮助我们调整超参数,还可以帮助我们防止过拟合。
测试集只能在所有训练和验证结束后才能使用一次,它提供了模型泛化能力最公正、客观地评估。
在大规模数据场景下(例如百万级别或更多),可能会看到更小比例(如5%,1%,甚至0.1%) 的验证/测试划分,因为即使很小百分比也足够大量了。
自动化:
1.数据收集
2.测试数据集验证


-Embedding(嵌入)

指将文本或其他内容转换为数值向量的形式,从而可以计算内容之间的相似度或相关性。

01




准备数据:
收集:准备一个本地知识库,提供需要的文本,如文章、报告、日记、博文、网页、论文等等;
分块:将整篇的文档切分成小的文本片段(Chunk)
嵌入:将文本片段使用OpenAl API或者本地Embedding模型来将文本向量化为多维向量数组;
存储:对于大型数据集,需要将向量数组存储,以便于以后调用。对于小型数据集可以选择临时存储的方式。

02




语义检索:
将用户问题使用 OpenAl Embedding API或者本地Embedding 模型来将问题生成Embedding嵌入;通过向量值之间的相似度检索(如余弦相似度或欧式距离算法),查询与问题最相似的文本片段。

03




文本注入和回答:
将用户问题和查询到的最相似的文本片段(TopK)作为提问消息上下文注入到大模型中;大模型根据用户问题和注入的少样本提示回答出问题。


图片



也许你还想看


图片



图片



继续滑动看下一个
好未来技术
向上滑动看下一个