AI生成的文本、代码、图片、音频、视频。都可以成为AIGC。
Generative AI(生成式AI)所生成的内容就是AIGC
- 指代计算机人工智能,模仿人类的智能从而解决问题和完成任务。
- 是AI的子集,不需要做显示编程,而是通过算法让计算机自动学习和改进
-
算法接受带有标签的训练数据,也就是期望的输出值(例如进行分类和回归)
-
自主发现数据里的模式或规律( 例如聚类)
-
在环境里采取行动,根据反馈学习(下围棋)
-
使用人工神经网络,模仿人脑处理信息的方式,通过层次化提取和表示数据的特征
-
- 是AI的子集,不需要做显示编程,而是通过算法让计算机自动学习和改进
想象一下你是一个机器人,你要去帮助人们回答问题。但是你自己并不知道所有的答案,所以你需要一个地方来存储这些信息,就像是一个巨大的书库一样,里面装满了各种各样的书。
这个“书库”就是知识库。里面可能有各种书籍,每本书都代表了一个特定的知识领域。比如,有一本书是关于天气预报的,里面包含了各种关于天气的知识,比如什么样的云会带来雨水,哪种气象条件会导致雷暴等等。
另一本书可能是关于烹饪的,里面包含了各种菜谱、食材和烹饪技巧。每本书都是一种知识表示方式,它们可能是规则、概念、图表或者其他形式的知识结构。
当有人向你提问时,你可以去搜索这些书籍,找到相关的信息,并根据它们给出答案。比如,如果有人问你明天的天气如何,你可以去查找天气预报这本书,然后告诉他们明天会是晴天还是多云。它提供了一个结构化的方式来存储和组织知识,使得智能系统能够理解和处理人类的信息需求。
微调指在预训练的基础上,使用特定领域的少量数据进一步训练模型,以适应特定的任务需求。它能让模型更准确地处理特定类型的问题。微调就是在一个已经训练好的人工智能模型基础上,稍微修改一些参数,以便适应新的任务或数据。就像是在一个已经学会了一些知识的学生基础上,再加上一点新的知识,以适应新的考试题目一样。
AI代理(Agent)是一种在人工智能领域中常见的概念,它指的是能够感知环境、进行决策和执行动作的程序或系统。这些代理可以是物理实体,如机器人,也可以是虚拟实体,如在计算机程序中运行的智能系统。
大模型相当为大脑,agent为手脚。模型负责下达指令,agent负责收集执行等。
提示词直接决定了反馈结果的优劣,想让大模型回答我们想要的内容,就需要优化提示词,使得模型的回答更加符合我们的预期的要求。提示词就起到了数据清洗和筛选作用。
提示词的作用有三点
- 更精确的答案:确保大模型能够准确理解并回答用户的问题。
- 多样性:一个稍有不同的提示,会导致截然不同的答案。
- 控制输出风格:提示词可以用来指导模型的输出风格或内容。
提示词的制定环节
- 明确目标:首先确定你希望大模型或者机器人为你做什么?
- 优化提示:可以给大模型更加具体的指示。
- 评估和迭代:通过不同的提示词,来问它同样的问题,查看模型反馈是否满意。
提示词的核心技术
N-gram :通过统计通过计算N个词出现的概率,来预测下一个词(N为不固定的数)
深度学习:由多层神经网络组成,可以自动从数据中心学习,让模型不断自我学习优化,直到反馈符合预期
如何使用提示词
- 语言清晰
- 尽量把任务要求和用户输入用分隔符来隔开,尽量使用英文的""
- 给模型足够的信息,充分引导模型沿着正确的道路得出正确的答案。
提示词结构
-
Context上下文(可选)
- 角色
- 任务
- 知识
-
instruction命令(必选)
- 步骤
- 思维链
- 示例
-
input data输入数据(必选)
-
句子
-
文章
-
问题
-
-
output indicator输出格式(可选)
【偏难,看不懂可跳过】机器学习和神经网络基础知识_哔哩哔哩_bilibili
神经网络的基础概念
- 神经元(Neuron): 神经网络的基本单元,也称为节点或者单元。它模拟了生物神经元的功能,接收输入信号、进行加权求和、经过激活函数处理后产生输出。
- 连接权重(Weights): 连接权重是神经元之间连接的强度,用来调节输入信号对神经元输出的影响程度。权重越大,表示该输入对神经元的影响越大。
- 激活函数(Activation Function): 激活函数决定了神经元是否被激活(输出非零值)。常用的激活函数包括sigmoid、ReLU、tanh等,它们用于引入非线性特性,使神经网络能够学习更复杂的模式。
- 输入层(Input Layer): 输入层接收来自外部的数据输入,并将数据传递给网络中的其他层。每个输入层节点对应输入数据的一个特征。
- 隐藏层(Hidden Layer): 隐藏层位于输入层和输出层之间,负责处理输入数据并提取特征。一个神经网络可以包含多个隐藏层。
- 输出层(Output Layer): 输出层负责将神经网络的计算结果输出,通常用于进行分类、回归等任务。
- 前向传播(Forward Propagation): 前向传播是指输入数据经过神经网络各层的计算和传递过程,最终产生输出结果的过程。
- 反向传播(Backpropagation): 反向传播是一种通过计算梯度来更新神经网络参数的方法,它是训练神经网络的核心算法之一。
卷积神经网络
卷积神经网络(Convolutional Neural Network,CNN)是一种专门用于处理具有网格状拓扑结构数据的人工神经网络。CNN 在图像识别、计算机视觉和自然语言处理等领域取得了巨大成功。
CNN 的核心特点包括:
- 卷积层(Convolutional Layer): CNN 使用卷积层来提取输入数据中的特征。卷积操作将一个滤波器(也称为卷积核)应用于输入数据的不同位置,从而生成特征图。
- 池化层(Pooling Layer): 池化层通常紧随在卷积层之后,用于减少特征图的维度并提取最显著的特征。最常见的池化操作是最大池化,即在特定区域内选择最大值作为输出。
- 激活函数(Activation Function): 在卷积层和池化层之间,通常会添加一个激活函数,如ReLU(Rectified Linear Unit),用于引入非线性特性。
- 全连接层(Fully Connected Layer): 在卷积和池化层之后,通常会有一到多个全连接层,用于将提取的特征映射到输出类别或者结果上。
CNN 的工作流程包括:
- 输入层: 将输入数据(如图像)送入网络。
- 卷积层: 在卷积层中,通过应用多个滤波器来提取输入数据中的不同特征。
- 池化层: 池化层用于减少特征图的尺寸,并提取最显著的特征。
- 全连接层: 最后的全连接层将提取的特征映射到输出类别。
- 输出层: 输出层产生最终的预测结果。
自然语言处理
自然语言处理(NLP)是人工智能领域的一个分支,旨在让计算机能够理解、处理和生成人类自然语言的文本和语音数据。它涉及文本分类、命名实体识别、机器翻译、问答系统等任务,广泛应用于搜索引擎、智能助手、智能客服等领域。
多模态
多模态模型是指能够同时处理多种不同类型数据(例如文本、图像、音频等)的机器学习模型。这些模型通常设计用于解决多模态任务,如图像描述生成、视觉问答、视频理解等。多模态模型通常结合了不同类型数据的处理能力,使其能够更全面地理解和处理复杂的输入信息。
Embedding(嵌入)
嵌入是一种技术,用于将高维、复杂的数据(如文本、图像)转换成计算机容易处理的低维向量表示。在自然语言处理(NLP)中,单词嵌入将单词表示为向量,使得机器学习模型能够更好地理解和处理文本数据。
RAG(检索增强生成)
是一种结合了信息检索和生成技术的AI模型框架。在这个框架中,模型首先通过检索找到相关的文档或信息,然后在生成答案时利用检索结果进行增强。这可以显著提高生成的准确性和相关性。
LangChain 是一个用于构建基于语言模型应用的框架,特别适用于构建复杂的应用程序,如问答系统、对话机器人、智能助理等。它旨在帮助开发者更方便地整合和定制各种功能模块,以充分发挥大型语言模型的潜力。
数据输入(数据清洗)------>数据分析与处理------>数据输出
数据输入:手动、文件上传、数据库连接
数据分析与处理:
- 算法:文本分类模型、情感分析模型、主题建模
- 分析过程与步骤:准备阶段(对数据进行切割等)、烹饪(根据不同的要求选择算法)、调味(进行微调)
数据输出:图表类、文字报告、互动界面
主要特点和概念:
- 链(Chains):LangChain 通过“链”的概念来将不同的语言模型或功能模块组合起来。每个链可以执行不同的任务,例如接收用户输入、与外部数据源交互、生成答案等。这些链可以独立使用,也可以串联起来创建复杂的应用逻辑。
- 代理(Agents):代理是一种高级功能,允许语言模型动态选择并调用不同的工具或功能模块,以执行复杂任务。比如,代理可以根据用户的问题选择调用特定的 API 或数据库,检索到相关信息后返回答案。
- 工具(Tools):这些是与外部数据源或 API 交互的组件,通常包括检索系统、数据库、搜索引擎等。它们为链或代理提供扩展能力,让模型能够回答更复杂的问题。
- 记忆(Memory):LangChain 支持在链或代理的对话过程中引入“记忆”,使其能够在多轮对话中保持上下文一致性。这种记忆可以让应用程序更加个性化和智能化。
- 文档加载(document Loaders):该模块用于加载外部文档(如 PDF、网页内容、数据库记录等),然后供检索或生成模型使用。
应用场景:
- 对话系统:可以基于用户输入构建具有多轮对话能力的系统,并利用链和工具动态检索相关信息。
- 问答系统:结合外部数据源的检索工具,可以回答开放性或特定领域的问题。
- 文档生成:从现有文档中提取相关信息,然后利用生成模型编写新的文档或报告。
LangChain 框架为开发者提供了丰富的组件和接口,便于集成外部工具和服务,从而让语言模型的功能更加强大。
https://www.codewithgpu.com/i/chatchat-space/Langchain-Chatchat/Langchain-Chatchat
cd /root/Langchain-Chatchat/
conda actibate /root/pyenv
python startup.py -a连接: ssh -p 12910 root@connect.westb.seetacloud.com
映射到本地 :ssh -CNg -L 6006:127.0.0.1:6006 root@connect.westb.seetacloud.com -p 12910
密码:ATM8/b/qhG//http://127.0.0.1:6006/
按顺序执行命令
该json文数据集,按照格式修改,然后重新执行如下数据准备和微调模型,命令
__创建阿里云实例(新加坡)__普通2*4c7就可以
投喂的数据集格式:问题和答案要在同一行
bisheng/docker at main · dataelement/bisheng (github.com)
推荐云配置:cpu:32*188 GPU:A10
-
安装docker
-
安装docker -compose
- 安装git并下载项目
- 安装向量数据库Milvus(前面似乎已经安装了)
- 安装ElasticSearch(前面似乎已经安装了)
- 安装 BISHENG-RT 和下载大模型和检查N卡(新终端)
【Gradio系列教程】 https://www.bilibili.com/video/BV19m411U7K8/?p=3&share_source=copy_web&vd_source=d2d1bdec77776a27cbcb4517d05c2c52