勘误反馈
如果对本博客文章有任何问题(如探讨、建议、文字或逻辑错误等)都可以给我发邮件:
- 邮件标题:[wds博客问题反馈] - 希望在XXX文章增加一些细节的补充
- 邮件地址:8851970@qq.com
勘误反馈
如果对本博客文章有任何问题(如探讨、建议、文字或逻辑错误等)都可以给我发邮件:
系列文章见: 《回忆AI时代-从图灵机到人工智能》
在人工智能领域Token被翻译为词元,它是AI模型理解和处理文本的最小基础单位。 模型不能直接阅读人类的文字,它只能理解数字,因此输入给模型的提示词和模型输出的文字,都会先被拆解成一个个 Token,然后再转换成数字进行运算。
我们通过一个案例来介绍大模型Token的统计方式,一共分为三步:
譬如,你问大模型:
1 | “什么是机器学习?” |
对于模型来说,第一步不是理解文字而是通过Tokenizer(分词器)先把它转换成Token ID,譬如:
| 文本 | Token | Token ID |
|---|---|---|
| 什么 | 什么 | 1523 |
| 是 | 是 | 87 |
| 机器学习 | 机器学习 | 9361 |
| ? | ? | 34 |
按照以上表格对应关系,模型会收到 “[1523, 87, 9361, 34]”,模型会再把Token ID转成向量,如下:
| Token ID | 向量 |
|---|---|
| 1523 | [0.12, -0.55, 1.03, …] |
| 87 | [-0.31, 0.98, …] |
| 9361 | [0.42, -0.67, …] |
这也就是说模型不能直接阅读人类的文字,它只能理解数字。到目前已经完整了文字与计算机理解的数字转换。
系列文章见: 《回忆AI时代-从图灵机到人工智能》
1980年,被称为专家系统(Expert Systems)时代,也是第一波AI商业化浪潮,这一时期AI的核心思想属于符号主义(Symbolic AI)或规则驱动 AI(Rule-based AI)。1970年代末研究人员发现与其让计算机像人一样学习,不如先把专家的知识直接写进去,譬如:
如果把这些经验写成IF条件THEN结论,计算机就能够像专家一样推理。
1 | IF |
专家系统的组成,通常分为四个部分:
1 | 用户 |
系列文章见: 《回忆AI时代-从图灵机到人工智能》
ELIZA是规则驱动的对话程序,由Joseph Weizenbaum在1964–1966年开发,ELIZA是人工智能发展史上的一个重要里程碑是最早展示人机自然语言对话可能性的程序之一,它代表了符号主义(规则驱动 AI)的早期成果,虽然它没有真正的语言理解能力,但证明了人机自然语言对话是可行的,也启发了后来的聊天机器人研究。
ELIZA主要的工作原理:
用一个Python来解释它的工作原理:
1 | import re |
运行效果:
1 | You: I feel tired |
系列文章见: 《回忆AI时代-从图灵机到人工智能》
大模型目前主要的交互方式是Prompt(提示词,下文统称”提示词“),因为大模型本质上是一个根据已有内容继续预测下一个Token的模型,假设模型内部其实一直在做这样的事情:
1 | 今天的天气很好, |
如果你什么都不给它,它不知道应该生成什么。所以你必须给它一个开头如”请介绍一下机器学习”,告知大模型朝哪个方向继续生成,这就是”提示词“这个词的来源。
那大模型什么输入的不叫问题? 来看一下问题与提示词差别:
| Question(问题) | Prompt(提示) |
|---|---|
| 一定是疑问句 | 不一定是问题 |
| 主要用于提问 | 可以是任何输入 |
| 例如:”什么是 AI?” | 可以是一篇文章、一段代码、一张表格、一段角色设定等 |
我们聊天也叫Prompt、让模型生成一张图片也是prompt。
在日常应用大模型过程中写好一个提示词至关重要,它能帮你解决问题的同时还可以帮您节约Token的输出量,而Token量的节约也就是为你节约成本,因为目前大模型主要的计费方式就是Toekn。这里推荐一个实用的框架:
| 项目 | 含义 | 示例 |
|---|---|---|
| C(Context) | 背景 | 我正在学习大模型 |
| O(Objective) | 目标 | 帮我理解 Token |
| S(Style) | 风格 | 通俗易懂 |
| T(Tone) | 语气 | 像老师讲课 |
| A(Audience) | 受众 | 零基础程序员 |
| R(Response) | 输出格式 | Markdown,包含流程图和示例 |
提示词示例:
1 | 角色: |
一个好的Prompt并不是越长越好,而是目标明确、上下文充分、要求具体、输出格式清晰。当你把模型当作一位专业人士,清楚地说明”你是谁、要做什么、为什么做、希望如何输出”,回答质量通常会明显提升!
系列文章见: 《回忆AI时代-从图灵机到人工智能》
深度学习是一种机器学习方法,采用多层神经网络(称为深度神经网络)模拟人脑的决策机制。深度学习为大多数人工智能 (AI) 应用提供动力,广泛应用于图像识别、语音识别和自然语言处理 (NLP)等领域。 这里的“深度”是:
1 | 输入层(图片像素) |
层数越多,网络就越“深”。
2006年,通常被认为是现代深度学习的起点,Geoffrey Hinton发表论文《A Fast Learning Algorithm for Deep Belief Nets》提出逐层预训练方法,解决深层网络训练困难的问题。
2012年,图像识别竞赛中(ImageNet Large Scale Visual Recognition Challenge),Geoffrey Hinton团队开发的AlexNet取得压倒性胜利,错误率传统方法26%,AlexNet15%。从此业界开始关注并投入深度学习,深度学习进入了黄金时代。
Scikit-learn(简称 sklearn)是Python最流行的传统机器学习库之一,适合学习机器学习和神经网络基础。业界有两种常见框架Sklearn和TensorFlow,它们区别:
| 项目 | scikit-learn | TensorFlow |
|---|---|---|
| 学习难度 | 简单 | 较复杂 |
| 聚类 | 支持 | 不擅长 |
| 分类 | 支持 | 支持 |
| 神经网络 | 简单版 | 专业版 |
| 深度学习 | 不支持 | 支持 |
| GPU训练 | 不支持 | 支持 |
| 入门推荐 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
所以推荐用Scikit-learn。
案例
假设:
1 | 输入 x |
数据规律:
| x | y |
|---|---|
| 1 | 2 |
| 2 | 4 |
| 3 | 6 |
| 4 | 8 |
安装Scikit-learn。
1 | pip install scikit-learn |
Python代码:
1 | from sklearn.neural_network import MLPRegressor |
它的网络结构:
1 | 输入层 |
实际上神经网络在不断调整:
1 | 权重(w) |
让预测值越来越接近真实值。
马斯克常被总结的“五步工作法”(也有人叫“工程/效率五步法”)核心思想是:不断删减复杂度,把事情推到极简,然后再自动化。
1.质疑需求:不要一开始就接受“别人说必须这样做”。
2.删除:如果某个东西“不必要”,直接删掉。
3.简化:在已经简化的基础上再提速。
4.加速:在已经简化的基础上再提速。
5.自动化:马斯克非常反感“过早自动化”,因为:“如果流程还没稳定,自动化只会放大错误。”只有在:
才值得自动化。