AI基础
下图是广义的AI分支,对于模糊逻辑、贝叶斯网络、进化计算和认知计算是更特定的领域或方法,所以不归为广义的AI分支
AI应用
国内AI应用
- 百度:文心一言https://yiyan.baidu.com/
- 字节跳动:豆包AIhttps://www.doubao.com/chat/?channel=baidu_pz&source=db_baidu_pz_01&keywordid=weizhi1
- 智谱AI:智谱清言https://chatglm.cn/?lang=zh
- 科大讯飞:讯飞星火https://xinghuo.xfyun.cn/
- 商汤:日日新
- 昆仑万维:天工
- 智源研究院:悟道
国外AI应用
- 微软:COPILOT
- Open AI:ChatGPThttps://chatgpt.com/
- 谷歌:geminihttps://gemini.google.com/
如何向AI提问
- 这里主要介绍的是如何向AI提问,能够得到更准确的答案
- 有时候向AI提问,AI回答的问题不是正确的,这就需要一些方法
提问的智慧
- 这是一篇比较短的pdf文档,告诉你怎么样提问,只不过是真对问人的。但是问问题首先要表达清楚问题,询问AI也是一样。
- 对于询问Ai,你可能还需要告诉他该问题的背景,AI要站在什么角度上回答这个问题
小样本提示
- 很多时候直接丢问题给AI,没有给AI样本提示,所以AI的回答有些并不是我想要的格式。
如果我们想要AI按照我们预期的格式回答问题,那么我们就应该给几个对话的例子,让AI进行上下文学习
就像这样,例如这样:
下图是我需要的格式
- 但是如果我直接丢给AI这一串数据,AI的回答却达不到我的期望。
- 所以应该进行,这时如果我给一个样例对AI进行提示,这样AI就会出现我们想要的结果
Think step by step(思维链)
- 使用AI解决一些数学问题,或者其他问题的时候,可以给几个题目加解析,让AI去学习中间的解题过程。
- 这样AI就可以将过程进行分解,使得每一小步问题的难度都大大下降,这样就更容易得出正确答案了
如果你抛出一个问题,没有样例的话,你也可以让AI你思考的详细过程告诉我,这样AI就在一步一步的解题,而不是直接生成答案
例如:Ai回答的答案是37,但是正确的答案不是37而是41
- 要使得AI不容易回答错误,就要给几个例子,这些例子包含了问题、中间步骤和正确答案,这样AI就不容易回答错误了
- AI也会模仿的去生成一些中间步骤
让AI使用工具
使用编程语言
- 我们没办法把大语言模型用作计算器,这是和大语言模型的文本成机制有关系。大语言文本生成机制其实是选择一个概率最高的token来进行输出,这些概率高的token输出后形成了一段完整的话。
- 当我们问大语言模型计算问题的时候,由于文本生成机制,导致生成的数字不准确
- 这时候我们不要让AI直接生成结果,要做的是让AI使用计算器计算出结果,并把结果告诉我们或者编写一个程序用于计算,并且将程序执行后的结果告诉我
使用插件
- AI大语言模型还有一个局限性,AI所了解的知识受训练数据日期的影响。
- 比如:模型是去年训练完成的,但是这并不包含今年的数据,这样模型就不知道今年所发生的事情。这样询问AI,AI就会回答已经过时的信息或者一通乱答
- 这时就需要AI借助一些插件进行上网搜索。当然还有一些其他的插件,不单单指的是搜索插件
让AI自我反思
- AI是具有自我反思功能的。如果AI给出的答案并不是我想要的结果,你可以告诉AI
请你再仔细思考一下你的解题过程是否有错误或者遗漏
。这样AI在反思自己的步骤时,可能会发现问题,进而修改出现问题的地方,进而得到正确的答案。 - 这里GPT-4比较有反省能力,GPT3.5没有什么反省的能力
搜索增强生成(RAG)
RAG有利于搭建企业知识库和个人知识库
受训练数据的影响,AI对一些小众领域的学习可能没有足够的文档。这时候就需要我们额外传入相关资料让AI进行学习。这样再向AI提问,AI就能回答出来并且回答出正确答案
下咒语
- 如果你想让AI回答问题回答的更准确一些,可以在你输入的文本内容加入一些小咒语,让AI提高正确率
- 这里注意:神奇咒语不一定对所有模型、所有任务都适用,具体咒语是什么,这就需要去寻找了
还可以通过训练另外一个专门用来下咒语语言模型,这样可以找到很多有效果的咒语
在某一版本中的大语言模型中,如果在问题的末尾加上
Let's think step by step
这样就可以提高AI回答的正确率。这句话也就是上文所说的思维链
情绪勒索
- 询问一些Ai大模型的时候,可以对AI进行情绪勒索,比如在问AI问题的时候就可以使用
This is very important to my career
即这个对我很重要
,对AI进行情绪勒索,这样也可以使得AI的回答正确率提高。这里有几个比较有趣的发现,但是下面的发现不一定适用于所有的大语言模型- 对模型有礼貌是对正确率没有影响
- 对AI问问题的时候对于你的要求一定要是肯定句,你如果说的是否定句AI往往不是那么的聪明。比如:
帮我写一篇很长的文章
而不是帮我写一篇文章,文章不要太短
- 对AI说
如果你做的好,我将给你一些小费
,这句话能提高AI的正确率 - 对AI说
如果你做不好,你将得到处罚
,这句话也能提高AI的正确率
让多个模型合作
模型分工
- 在询问AI问题的时候,可能这个AI擅长其中一个领域A,另一个AI擅长另外一个领域B,这样我们可以将A领域的问题由A解决,B领域的问题由B解决。
模型讨论
- 可以将一个问题询问多个模型,然后将双方的回答分别发送给对方,让对方进行讨论
- 也可以先询问一个模型,然后再将该模型的回答发送给另一个模型,这样就模型直接就可以相互讨论
大模型
- 大模型是指具有大规模参数和复杂计算结构的机器学习模型。
- 大模型与小模型的区别就是,小模型只局限于单项或某几项任务,大模型会有更加广泛的能力。当然大模型和小模型是有交叉点的。
- 2017年谷歌发表的论文《Attention is All You Need》提出了Transformer架构使得自然语言处理的发展方向被改变;2022年年底,ChatGpt亮相使得大语言模型被人们所熟知
- ChatGPT中的GPT,表示的是Generative Pre-trained Transformer(生成式预训练的Transformer)
大语言模型(LLM)
- 大语言模型(Large Language Model)是用于做自然语言相关任务的深度学习模型。
- 给模型一些文本内容输入,它能返回相应的输出。
- 完成的具体任务可以是:生成、分类、总结、改写
- 大语言的大主要是指参数数量巨大,参数是模型内部的变量,可以理解为模型在训练过程中学到的知识
- 大语言模型的产生过程(以ChatGPT为例子):
- 要得到一个ChatGPT,首先要使用大量的数据进行无监督学习预训练,得到一个能进行文本生成的基座模型
- 通过一些人类撰写的高质量对话数据对基座模型进行监督学习,得到一个微调后的基座模型
- 最后进行训练奖励模型和强化学习训练。用问题和多个对应回答的数据,让人类标注员对回答进行质量排序,然后基于这些数据,训练出一个能对回答进行评分预测的奖励模型
- 目前常见的大语言模型
- GPT-4 (OpenAI):生成式预训练模型, GPT-4 是 OpenAI 的最新一代大型语言模型,比其前身 GPT-3 在多个方面有所改进。它具有更强的理解和生成能力,能够处理复杂的对话任务、生成创意内容以及执行各种自然语言处理任务。GPT-4 还包括对上下文的更好理解和对多样性及安全性的改进。
- Claude (Anthropic):Claude 系列的语言模型注重 AI 的安全性和伦理,旨在减少有害输出并提供更可靠的结果。Claude 设计上强调了对用户意图的理解和避免产生潜在的危险或误导性信息。
- Gemini (Google DeepMind):Gemini 是 Google 的最新语言模型,旨在提供先进的自然语言理解和生成能力。它结合了 Google 的最新技术和算法,致力于提供高质量的文本生成和理解能力,适应各种应用场景。
- LLaMA (Meta):LLaMA(Large Language Model Meta AI)系列是 Meta 推出的开放式语言模型。它旨在为研究人员和开发者提供一个高性能的模型,支持多种语言任务,并推动 NLP 领域的研究。
- Bard (Google):Bard 是 Google 的生成性 AI 模型,设计上以对话和创意内容生成为主要功能。它结合了 Google 的强大计算能力和最新的 NLP 技术,旨在提供丰富的互动体验。
- 以ChatGPT为例子,展现大模型的参数量
部署离线大模型
- 参考博客:本地离线部署Ai大模型的三种方案,含安装教程!_本地ai大模型-CSDN博客
- 图片来源:博客本地离线部署Ai大模型的三种方案,含安装教程!_本地ai大模型-CSDN博客
- 方案一比较简单
- 方案二稍有些麻烦
- 方案三需要安装Docker
部署GPT4All
- 打开github,然后搜索
GPT4All
,点击如下仓库
- 进入仓库后点击如下按钮
- 选择win64的安装程序,进行下载,保存到装门的文件夹里面
- 下载好后打开刚下载好的安装程序,进行安装
- 选择安装的位置,然后点击
Next
,注意:安装的时候选择空文件夹
- 直接下一步
- 点击我接受然后再下一步
- 下一步是开始菜单快捷方式的设置,直接下一步即可
- 然后提示你安装的大小,下一步即可。之后等待安装即可
- 安装完成后继续下一步
- 然后点击完成
- 打开后会有一个提示,问你是不是要将你的对话作为数据给他们训练AI。这点看自己的意愿
- 然后就是应用界面,然后点击开始聊天
- 这时候应用会提示没有下载大模型,现在下载一个大模型
- 有很多模型提供你下载,有离线参数模型和在线的chatGPT(要API的token),这里我的需求是离线的,所以下载该模型
- 在下载该模型的时候先设置一下该模型要下载到哪里
- 下载好后载入模型
- 然后就可以和AI对话了
人工智能基本概念
人工智能历史
人工智能的起源
图灵测试:由英国数学家和计算机科学家艾伦·图灵(Alan Turing)于1950年提出。
- 是一种用于评估计算机是否具有智能的测试方法。
- 如果一个人类评审员与计算机和另一个人类进行对话,且无法区分哪个是计算机,哪个是人类,那么计算机就被认为通过了图灵测试,即具备了类似人类的智能。
人工智能名词的诞生:
1956年8月,在美国汉诺斯小镇宁静的达特茅斯学院中,约翰·麦卡锡(John McCarthy)、马文·闵斯基(Marvin Minsky,人工智能与认知学专家)、克劳德·香农(Claude Shannon,信息论的创始人)、艾伦·纽厄尔(Allen Newell,计算机科学家)、赫伯特·西蒙(Herbert Simon,诺贝尔经济学奖得主)等人,开会研讨“如何用机器模拟人的智能”,首次提出人工智能这一概念,标志着人工智能学科的诞生。
发展历程
- 发展历程目前分为六个阶段:起步发展期、反思发展期、应用发展期、低迷发展期、稳步发展期、蓬勃发展期
一、起步发展期:1956年-20世纪60年代初
- 人工智能概念提出后,相继取得了一批令人瞩目的研究成果,如机器定理证明、跳棋程序等,掀起人工智能发展的第一个高潮。
二、反思发展期:20世纪60年代一70年代初
- 人工智能发展初期的突破性进展大大提升了人们对人工智能的期望,人们开始尝试更具挑战性的任务,并提出了一些不切实际的研发目标。然而,接二连三的失败和预期目标的落空(例如,无法用机器证明两个连续函数之和还是连续函数、机器翻译闹出笑话等),使人工智能的发展走入低谷。
三、应用发展期:20世纪70年代初一80年代中
- 20世纪70年代出现的专家系统模拟人类专家的知识和经验解决特定领域的问题,实现了人工智能从理论研究走向实际应用、从一般推理策略探讨转向运用专门知识的重大突破。专家系统在医疗、化学、地质等领域取得成功,推动人工智能走入应用发展的新高潮。
四、低迷发展期:20世纪80年代中一90年代中
- 随着人工智能的应用规模不断扩大,专家系统存在的应用领域狭窄、缺乏常识性知识、知识获取困难、推理方法单一、缺乏分布式功能、难以与现有数据库兼容等问题逐渐暴露出来。
五、稳步发展期:20世纪90年代中一2010年
- 由于网络技术特别是互联网技术的发展,加速了人工智能的创新研究,促使人工智能技术进一步走向实用化。1997年国际商业机器公司(简称IBM)深蓝超级计算机战胜了国际象棋世界冠军卡斯帕罗夫,2008年IBM提出“智慧地球”的概念。以上都是这一时期的标志性事件。
六、蓬勃发展期:2011年至今
- 随着大数据、云计算、互联网、物联网等信息技术的发展,泛在感知数据和图形处理器等计算平台推动以深度神经网络为代表的人工智能技术飞速发展,大幅跨越了科学与应用之间的“技术鸿沟”,诸如图像分类、语音识别、知识问答、人机对弈、无人驾驶等人工智能技术实现了从“不能用、不好用”到“可以用”的技术突破,迎来爆发式增长的新高潮。