大模型应用开发基础

ops/2024/11/20 11:49:27/

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

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

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

AI 产品开发者的核心能力模型

三懂:

  1. 懂业务,就是懂用户、懂客户、懂需求、懂市场、懂运营、懂商业模式
  2. 懂 AI,就是懂 AI 能做什么,不能做什么;怎样才能做得更好,更快,更便宜
  3. 懂编程,就是懂如何编程实现一个符合业务需求的产品

建议:

  1. 编程向的,要尽可能靠近业务,争取全栈,否则走不远

  2. 业务向的,试试学编程,自主性更强。AI 编程,门槛已经低多了(但绝不是没门槛)

  3. 原理:不懂原理就不会举一反三,走不了太远。

  4. 实践:不懂实践就只能纸上谈兵,做事不落地。

  5. 认知:认知不高就无法做对决策,天花板太低。

大模型 AI 能干什么?

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

国家公司对话产品大模型网址
美国OpenAIChatGPTGPT-3.5、GPT-4https://chat.openai.com/
美国MicrosoftCopilotGPT-4 和未知https://copilot.microsoft.com/
美国GoogleGeminiGeminihttps://bard.google.com/
美国AnthropicClaudeClaudehttps://claude.ai/
中国百度文心一言文心 4.0https://yiyan.baidu.com/
中国阿里通义千问通义千问https://tongyi.aliyun.com/qianwen
中国智谱 AI智谱清言GLM-4https://chatglm.cn/
中国月之暗面Kimi ChatMoonshothttps://kimi.moonshot.cn/
中国MiniMax星野abab6https://www.xingyeai.com/

当下,如何发挥大模型的现有能力呢?最大障碍是没有形成认知对齐。

image-20240420162013552

成功落地大模型五要素:

  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 仍是主流,但其实已经不是最先进的了。

架构设计者特点链接
TransformerGoogle最流行,几乎所有大模型都用它OpenAI 的代码
RWKVPENG Bo可并行训练,推理性能极佳,适合在端侧使用官网、RWKV 5 训练代码
MambaCMU & Princeton University性能更佳,尤其适合长文本生成GitHub

目前只有 transformer 被证明了符合 scaling-law。(缩放定律) 算力越大效果越好

用好 AI 的核心心法

OpenAI 首席科学家 Ilya Sutskever 说过:

数字神经网络和人脑的生物神经网络,在数学原理上是一样的。

所以,我们要:

把 AI 当人看

  1. 用「当人看」来理解 AI
  2. 用「当人看」来控制 AI
  3. 用「当人看」来说服别人正确看待 AI 的不足

当什么人呢?

  1. 学习时当老师
  2. 工作时当助手
  3. 休闲时当朋友

这是贯彻整门课的心法,乃至我们与 AI 相伴的人生的心法。

大模型应用业务架构

image-20240420163633974

Agent 还太超前,Copilot 值得追求。

理清业务,拆出 SOP,非常关键。

大模型应用技术架构

大模型应用技术特点:门槛低,天花板高。

纯 Prompt

当人看:你说一句,ta 回一句,你再说一句,ta 再回一句……

image-20240420163818491

Agent + Function Calling

  • Agent:AI 主动提要求
  • Function Calling:AI 要求执行某个函数
  • 当人看:你问 ta 过年去哪玩,ta 先问你有多少预算

image-20240420163845093### RAG(Retrieval-Augmented Generation)检索增强生成

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

image-20240420164113343

百分之80的行业大模型都是用Rag做的,都没有做训练,因为用不上,解决效果足够好,成本还低,实时性好,我个人理解像动态库

Fine-tuning(精调/微调)

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

image-20240420164737019

得到专有的垂直领域大模型

如何选择技术路线

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

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

image-20240420165341594

值得尝试 Fine-tuning 的情况:

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

如何选择基础模型

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

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

需求国外闭源大模型国产闭源大模型开源大模型
国内 2C🛑
国内 2G🛑
国内 2B
出海
数据安全特别重要🛑🛑

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

推荐:

  1. 用 ChatALL 做测试,比较高效
  2. 唯一值得相信的榜单:LMSYS Chatbot Arena Leaderboard

http://www.ppmy.cn/ops/4363.html

相关文章

位操作符 — 、|、^、~

&:按位与 (注意区分&&-逻辑与(并且)) |:按位或 (注意区分 | | -逻辑或(或者)) ^:按位异或 ~:按位取反 &&#x…

HarmonyOS开发实例:【分布式邮件】

概述 基于TS扩展的声明式开发范式编程语言编写的一个分布式邮件系统,可以由一台设备拉起另一台设备,每次改动邮件内容,都会同步更新两台设备的信息。效果图如下: 搭建OpenHarmony开发环境 完成本篇Codelab我们首先要完成开发环境…

OD机试题(四)

文章目录 1. 字符创合并处理2. 单词倒排:3. 整数与IP地址间的转换 1. 字符创合并处理 描述:按照指定规则对输入的字符串进行处理。 详细描述: 第一步: 将输入的两个字符串str1和str2进行前后合并。如给定字符串 “dec” 和字符串…

【ROS2笔记六】ROS2中自定义接口

6.ROS2中自定义接口 文章目录 6.ROS2中自定义接口6.1接口常用的CLI6.2标准的接口形式6.3接口的数据类型6.4自定义接口Reference 在ROS2中接口interface是一种定义消息、服务或动作的规范,用于描述数据结构、字段和数据类型。ROS2中的接口可以分为以下的几种消息类型…

springboot 启动非web应用

问题描述 非web应用,启动完成自动退出 问题原因 因为任务完成了,所以系统退出了。需要给spring一个任务,而且这个任务无法解决 包括: web定时任务一个无法完成的任务 解决方案 其中一个是: 非web不自动退出 注意…

mysql 查询实战3-解答

对mysql 查询实战3-题目,进行一个解答 11、查询每⽉产品交易与退款情况 目标:查询每⽉产品交易(交易总额,交易数)与退款情况(退款总额,退款数) 1,先把日期格式化 使用 E…

GitHub-single_file_libs

GitHub - nothings/single_file_libs: List of single-file C/C libraries. 翻译(英语很差)(自己翻着玩)了解 拥有最小依赖的单文件公共领域/开源库 我是 许多 single-file C/C public domain libraries. 的作者。我不是唯一一…

STM32之HAL开发——CubeMX配置串行Flash文件系统

配置流程 在开始配置FATFS前,需要提前配置好RCC的时钟,以及时钟的频率,另外还要配置好Debug选项(选择串行) 选项介绍 文件系统适用于SD卡,Disk磁盘等,需要我们将对应的驱动打开才可以使用。 …