【AI大模型】 应用开发基础

news2024/11/27 2:31:25

目录

迎接 AGI 时代

什么是 AI?

AGI 和AIGC

大模型 AI 能干什么?

大模型落地情况综述

Killer App 没有影

AI 原生待证明

成功落地大模型五要素

大模型是怎样工作的?

通俗原理

略深一点的通俗原理

再深一点点

用好 AI 的核心心法

大模型应用产品架构

大模型应用技术架构

纯 Prompt

Agent + Function Calling

RAG(Retrieval-Augmented Generation)

Fine-tuning(精调/微调)

如何选择技术路线

如何选择基础模型


迎接 AGI 时代

AGI(Artificial General Intelligence)多久会到来?

  • 乐观预测:明年
  • 主流预测:3-5 年(OpenAI、DeepMind、NVIDIA 持此观点)
  • 悲观预测:10 年

AGI 时代,AI 无处不在,形成新的社会分层:

  1. AI 使用者,使用别人开发的 AI 产品
  2. AI 产品开发者,设计和开发 AI 产品
  3. 基础模型相关,训练基础大模型,或为大模型提供基础设施

越向下层,重要性越高,从业人数越少。

什么是 AI?

一种观点:基于机器学习、神经网络的是 AI,基于规则、搜索的不是 AI。 

AGI 和AIGC

AGI: Artificial General Intelligence,通用人工智能。是一个人工智能理论研究领域,研究如何开发具有类人智能和自学能力的软件。其目标是让软件能够执行训练或开发目的之外的任务。 AGI 旨在开发具有自主自我控制、合理的自我理解以及新技能学习能力的人工智能系统。AGI 是AI发展的终极目标。

AIGC:是指由AI自动创作生成的内容( AI Generated Content),即AI接收到人下达的任务指令,通过处理人的自然语言,自动生成图片、视频、音频等。

大模型 AI 能干什么?

大模型,全称「大语言模型」,英文「Large Language Model」,缩写「LLM」。

注意,我们所说的大模型和大模型应用产品是两个概念。例如,OpenAI 的gpt3.5、gpt4.0是大模型,Chatgpt是基于gpt大模型生成的上层应用产品。

大模型的特点:

  1. 大模型就是一个函数,给输入,生成输出
  2. 任何可以用语言描述的问题,都可以输入文本给大模型,就能生成问题的结果文本。任意数据,都可以输入给大模型,生成任意数据

大模型落地情况综述

Killer App 没有影

  • AI 没有创造新的使用场景,只是旧场景的增强,所以没有 Killer App 的土壤
  • 可以乐观期待 Killer App,但别苦苦追求
  • 请忽略一切张嘴就是 Killer App 的人

AI 原生待证明

AI 原生,是指产品的核心功能是 AI,而不是 AI 作为辅助功能。典型特点是,有 AI 后才出现。

  • 助手类,打不过 Siri 们
    • ChatGPT
    • Kimi Chat
    • 文心一言
    • 通义千问
    • 智谱清言
    • ……
  • 搜索类,谷歌百度不会袖手旁观
    • Perplexity
    • 秘塔 ai
    • Devv
  • 情感陪伴类,社交巨头正谨慎观察
    • Character.AI
    • 星野
    • Replika
  • 定制 Agent,商业模式待验证
    • ChatGPT GPTs
    • 扣子
    • Dify

成功落地大模型五要素

  1. 业务人员的积极
  2. 对 AI 能力的认知
  3. 业务团队自带编程能力
  4. 小处着手
  5. 老板的耐心

找落地场景的思路:

  1. 从最熟悉的领域入手
  2. 尽量找能用语言描述的任务
  3. 别求大而全。将任务拆解,先解决小任务、小场景
  4. 让 AI 学最厉害员工的能力,再让 ta 辅助其他员工,实现降本增效

大模型是怎样工作的?

通俗原理

其实,它只是根据上文,猜下一个词(的概率)……

OpenAI 的接口名就叫「completion」,也证明了其只会「生成」的本质。

下面用程序演示「生成下一个字」。你可以自己修改 prompt 试试。还可以使用相同的 prompt 运行多次。

略深一点的通俗原理

训练推理是大模型工作的两个核心过程。

用人类比,训练就是学,推理就是用。学以致用,如是也。

训练:

  1. 大模型阅读了人类说过的所有的话。这就是「机器学习
  2. 训练过程会把不同 token 同时出现的概率存入「神经网络」文件。保存的数据就是「参数」,也叫「权重

推理:

  1. 我们给推理程序若干 token,程序会加载大模型权重,算出概率最高的下一个 token 是什么
  2. 用生成的 token,再加上上文,就能继续生成下一个 token。以此类推,生成更多文字

Token 是什么?

  1. 可能是一个英文单词,也可能是半个,三分之一个
  2. 可能是一个中文词,或者一个汉字,也可能是半个汉字,甚至三分之一个汉字
  3. 大模型在开训前,需要先训练一个 tokenizer 模型。它能把所有的文本,切成 token

再深一点点

  • 这套生成机制的内核叫「Transformer 架构」
  • Transformer 是目前人工智能领域最广泛流行的架构,被用在各个领域
  • Transformer 仍是主流,但并不是最先进的

    目前只有 transformer 被证明了符合 scaling-law。

用好 AI 的核心心法

  • 把 AI 当人看
  • 把 AI 当人看
  • 把 AI 当人看

大模型应用产品架构

Agent 模式还太超前,Copilot 是当前主流。

实现 Copilot 的主流架构是多 Agent 架构

  • 模仿人做事,将业务拆成工作流(workflow、SOP、pipeline)
  • 每个 Agent 负责一个工作流节点

大模型应用技术架构

纯 Prompt

  • Prompt 是操作大模型的唯一接口
  • 当人看:你说一句,ta 回一句,你再说一句,ta 再回一句……

 

Agent + Function Calling

  • Agent:AI 主动提要求
  • Function Calling:AI 要求执行某个函数
  • 当人看:你问 ta「我明天去杭州出差,要带伞吗?」,ta 让你先看天气预报,你看了告诉 ta,ta 再告诉你要不要带伞 

RAG(Retrieval-Augmented Generation)

  • Embeddings:把文字转换为更易于相似度计算的编码。这种编码叫向量
  • 向量数据库:把向量存起来,方便查找
  • 向量搜索:根据输入向量,找到最相似的向量
  • 当人看:考试答题时,到书上找相关内容,再结合题目组成答案,然后,就都忘了

Fine-tuning(精调/微调)

当人看:努力学习考试内容,长期记住,活学活用。

如何选择技术路线

面对一个需求,如何开始,如何选择技术方案?下面是个不严谨但常用思路。

其中最容易被忽略的,是准备测试数据

值得尝试 Fine-tuning 的情况:

  1. 提高模型输出的稳定性
  2. 用户量大,降低推理成本的意义很大
  3. 提高大模型的生成速度
  4. 需要私有部署

如何选择基础模型

划重点:没有最好的大模型,只有最适合的大模型

基础模型选型,合规和安全是首要考量因素。

然后用测试数据,在可以选择的模型里,做测试,找出最合适的。

为什么不要依赖榜单?

  • 榜单已被应试教育污染。唯一值得相信的榜单:LMSYS Chatbot Arena Leaderboard
  • 榜单体现的是整体能力。放到一件具体事情上,排名低的可能反倒更好
  • 榜单体现不出成本差异

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1795228.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C#知识|通过ADO.NET实现应用程序对数据库的查询操作。

哈喽,你好啊,我是雷工! 前边学习了通过ADO.NET实现C#应用程序对数据库的增、删、改操作。 接下来接着学习查询操作,以下为学习笔记。 查询返回有两种类型,一种是单行单列的单一结果,一种是结果集,首先了解查询结果是单行单列结果的写法。 01 查询返回单一结果 以前方的…

【Redis学习笔记04】Jedis客户端(通用命令)

Java客户端操作Redis Java生态丰富,自定义的客户端非常多,常见的有Jedis、Lettuce、以及Spring整合后的RedisTemplate,但是对于初学者而言,从Jedis开始入门学习是非常容易上手的,因为Jedis中的API与原生Redis命令高度…

集合进阶相关基础及底层原理

集合体系结构 单列集合: Collenction 每次只能添加一个值,其中红色是接口,蓝色是实现类 图来自黑马程序员网课 List系列集合:添加的元素是有序,可重复,有索引 Set系列集合:添加的元素是…

--- JAVA 多态 ---

多态,顾名思义就时有多种形态,那咋样才嫩共有多种形态呢,再java中就是用不同的对象去调用同一个方法,产生了不同的结果。 看这段代码,我调用的是同一个方法,且只是传入的对象的不同,但是产生了不…

【数据结构】平衡二叉树(AVL树)

目录 前言 一、AVL树概念 二、AVL树节点定义 三、AVL树插入 1. 按照二叉搜索树的方式插入新节点 2. 维护节点的平衡因子与调整树的结构 a. 新节点插入较高左子树的左侧---左左:右单旋 b. 新节点插入较高右子树的右侧---右右:左单旋 c. 新节点插入…

【php实战项目训练】——thinkPhP的登录与退出功能的实现,让登录退出畅通无阻

👨‍💻个人主页:开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏&#xff1a…

【LeetCode】两数相加(基于单向链表)难度:中等

目录 理清题目 解题思路 题目代码 运行结果 我们来看一下题目描述: 理清题目 首先题目要求链表中的节点的值必须在[0,9]之间也就是说我们要处理的数字必为正整数,因此就不会涉及到太复杂的计算,题目其实就是要求对两个链表中的节点的值分…

美业SaaS系统源码分享-收银管理的主要功能

美业SaaS系统 连锁多门店美业收银系统源码 多门店管理 / 会员管理 / 预约管理 / 排班管理 / 商品管理 / 活动促销 PC管理后台、手机APP、iPad APP、微信小程序 ▶ 博弈美业-收银管理功能 1、同时支持支付宝和微信支付,具有简单便捷安全等优点,并且符…

vite+ts设置别名

准备工作 安装 types/node 避免代码爆红 npm install types/node一、根目录下 vite.config.ts 文件中配置 import { resolve } from path;resolve: {// 设置文件./src路径为 alias: [{find: ,replacement: resolve(__dirname, ./src)}] }二、根目录下 tsconfig.json 文件中配…

前端el-table-column使用template的新发现哈哈哈

记录一次无脑copy代码发现的新知识哈哈哈 新知识自己要去查阅相关知识学习&#xff0c;这里我没有描述噢 在el-table中的列el-table-column使用了多个button时&#xff0c;每个button都添加了<template slot-scope"scope">标签&#xff0c;导致只有其中一个but…

Makefile的入门学习

一、Makefile的入门学习 编译工具及构建工具介绍 在之前的课程&#xff0c;都是直接使用gcc对代码进行编译&#xff0c;这对简单的工程是可以的&#xff0c;但当我们遇到复杂的工程时&#xff0c;每次用gcc等编译工具去操作就会显得很低效。因此make工具就出现了&#xff0c;…

Linux高级进阶-ssh配置

Ubuntu-system 允许使用root远程登陆 apt install ssh -y在/etc/ssh/sshd_config 文件修改PermitRootLogin yes systemctl restart ssh远程连接软件用户名为root

Linux——内存管理代码分析

虚空间管理 页框和页的关系 页框 将内存空间分为一个个大小相等的分区(比如:每个分区4KB),每个分区就是一个页框&#xff0c;也叫页帧&#xff0c;即物理页面&#xff0c;是linux划分内存空间的结果。 每个页框都有一个页框号&#xff0c;即内存块号、物理块号。 页 将用户…

【LeetCode 滑动窗口】LC_3_无重复字符的最长子串

文章目录 1. 无重复字符的最长子串 1. 无重复字符的最长子串 题目链接&#x1f517; &#x1f34e;题目思路&#xff1a;&#x1f427;① 滑动窗口的思想&#xff1b;&#x1f427;② 用什么来维护窗口呢 &#xff1f; 用 双指针 和 unordered_set来维护&#xff0c;为什么呢…

《大道平渊》· 玖 —— 把高深的道理讲的通俗,这是一门艺术。

《平渊》 玖 "化繁为简, 点石成金。" 把高深的道理讲得通俗&#xff0c;这是一门艺术&#xff01; 讲述者能够站在群众的角度&#xff0c;用尽可能简单通俗的语言来解释复杂的概念。 讲述者需要对概念有深刻的理解&#xff0c;还要有灵活的表达能力。 群众愿意接受…

新型航标驱鸟器:解决鸟粪污染问题

航标作为船舶航行的重要导向标志&#xff0c;承载着为各类水上活动提供安全信息的重任。近年来&#xff0c;随着环保意识的提升&#xff0c;鸟类种群数量的增加&#xff0c;航标船上的鸟类问题逐渐凸显。许多鸟类会在航标船上停歇、捕食&#xff0c;造成了航标船严重的鸟粪污染…

【实战】kafka3.X kraft模式集群搭建

文章目录 前言kafka2.0与3.x对比准备工作JDK安装kafka安装服务器增加hosts 修改Kraft协议配置文件格式化存储目录 启动集群停止集群测试Kafka集群创建topic查看topic列表查看消息详情生产消息消费消息查看消费者组查看消费者组列表 前言 相信很多同学都用过Kafka2.0吧&#xf…

redis安裝启动

1、下载redis解压 https://github.com/tporadowski/redis/releases 2、打开cmd&#xff0c;切换到解压的文件夹 3、redis-server.exe redis.windows.conf 启动redis redis可通过命令行输入config set requirepass password和直接修改redis.config文件中修改 requirepass 来设…

打破信息孤岛,U-Mail邮件系统轻松集成各类业务系统

随着国家大力推动企业数字化转型&#xff0c;企业内部数字化建设需要各种业务系统来提高企业生产力&#xff0c;然而&#xff0c;随着在业务数据量逐步增大的情形下&#xff0c;如何更加高效地整合、协同各个系统之间的信息交互&#xff0c;并且更好地融合企业邮件系统&#xf…

Visual Studio Code 开发esp8266流程2Arduino 配置 nodemcu

http://arduino.esp8266.com/stable/package_esp8266com_index.json http://arduino.esp8266.com/stable/package_esp8266com_index.json Arduino: Library Manager Arduino: Board