跳到主要内容

9 篇博文 含有标签「AI」

人工智能相关技术文章

查看所有标签

Cursor 使用指南配置其他模型永久白嫖方案提示词优化

· 阅读需 2 分钟
素明诚
Full stack development

Cursor 下载与安装

访问 Cursor 官网 https://zhuanlan.zhihu.com/p/717659843/www.cursor.com/,点击 Download 按钮下载适合你操作系统的安装包

Cursor 为什么比其他的工具好用很多?

可以灵活地根据代码内容组合 prompt

分析当前 tab 中附近的代码

分析用户主动框选的特定代码段

分析用户选择的整个文件中的代码

利用 RAG 将整个工作区的代码向量化,作为分析的上下文

使用指南,记住两个快捷键

Cursor 常用快捷键和 Visual Studio Code 键盘快捷键基本相同。快速上手只需要记住以下快捷键。如果你本身就是 VSCode 用户,记得导入插件和配置

Ctrl+K

快速让 Cursor 帮你编写你需要的代码,也可以选中代码进行优化

f7e74bbf06724d6a8403276777dcdf0c

输入你的编码需求

b5a2fa317a1f360ea59cd750925e8a10

确认生成的代码

9293fc4411cac057b86191f4307dc14e

这里觉得最有用的功能是这个 Web,可以帮助你联网搜索问题,其他的功能各位可以慢慢感受

Ctrl+L

弹出 Chat 聊天框,进行 QA

36f54213379c9f1989013ff5593807b8## 注意事项

Cursor 强大是因为有 claude 3.5,所以你要么开通 Cursor pro,要么有其他优秀模型的 sk-key

在使用 Cursor 持续居高不下的 CPU 负载,你可能需要去设置里面把 embedding 整个项目关掉,这样会好很多

使用其他模型

deepseek

deepseek 注册送一个月 10 元(500 万 tokens)额度,在 cursor 里配置一下,普通编辑需求够用

https://platform.deepseek.com/

配置模型和密钥

462c41a49d56edb3c4595cbf95140281

model: deepseek-ai/DeepSeek-Coder-V2-Instruct 添加完成后记得打开模型后面的开关

base Url : https://api.siliconflow.cn/v1

98bfcbcbbfd6ce04a5a182bb18dbce21

日常使用还行,主要是便宜

Cursor 到期了怎么办?

在 Cursor 中退出当前到期账号,谷歌搜索临时邮箱,重新注册登录,原有的 cursor 配置不会被清除,依然保留,白嫖成功~

c9665efc8988c063d887d0e183b5a1ad### Cursor 配置提示词

这里有很多参考,你随便选择。https://cursor.directory/

2e0c182049eb46921f821d3d057e192c

各位如果有补充的欢迎评论区留言~

2024 年 12 月 1 日 15:23:29 补充

有很多人私信说邮箱反复更换会被限制,这个没办法,cursor 估计也被撸秃了。建议使用谷歌邮箱或者是微软邮箱。

标签:

剪枝Pruning和量化Quantization的区别

· 阅读需 3 分钟
素明诚
Full stack development

剪枝(Pruning)

剪枝是一种通过移除模型中不重要或不活跃的参数(通常是权重)来减少模型大小的技术。它通过分析哪些参数对最终输出影响较小,然后将这些参数从模型中删除,从而减少计算量和内存使用。

剪枝后,模型的参数数量减少,但通常仍然保持类似的性能。

举例

有一棵树(这棵树代表你的模型),这棵树上有许多枝条(这些枝条代表模型中的参数)。但是,某些枝条并不结出果实(这些无果的枝条对最终的结果贡献很小)。为了让树更加健康并且节省空间,你决定修剪掉这些不结出果实的枝条。这就是剪枝通过去除那些对模型输出影响不大的参数,来减少模型的规模和复杂度。

量化(Quantization)

量化是将模型的参数和计算从较高精度(如 32 位浮点数)转换为较低精度(如 16 位浮点数或 8 位整数)的方法。这种方法通过减少参数表示的比特数来降低模型的存储需求和计算复杂度。

量化可能会略微影响模型的精度,但在大多数情况下,这种影响是可接受的,尤其是当它显著降低了资源消耗时。

举例

要记录这棵树的形状和大小(这代表模型的参数存储)。最初,你用非常精细的刻度尺来测量每个枝条的长度和厚度(这代表高精度的参数表示,比如 32 位浮点数)。然而,这种精细的测量需要很多纸和墨水(大量的计算资源和存储空间)。于是你决定换一把较粗的刻度尺(较低精度的表示,比如 8 位整数),虽然测量结果可能不如之前精确,但仍然足够描述树的主要形状。

如何选择量化或者剪枝

如果你需要减少模型的总大小或提升模型在特定硬件上的兼容性,应选择量化。如果目标是减少非必要的计算和提升推理速度,应选择剪枝。在许多情况下,结合使用这两种技术可以达到最佳的优化效果。

标签:

Stanford ECON295CS323 I 2024 The Age of AI Eric Schmidt Translated to Chinese

· 阅读需 21 分钟
素明诚
Full stack development

这是一份记录斯坦福大学一场关于人工智能(AI)的讲座的文档,讲者是埃里克·施密特。以下是对这份文档内容的详细翻译:


今天的嘉宾真的不需要介绍。 我想我大约 25 年前第一次见到埃里克是在他作为 Novell 的 CEO 来到斯坦福商学院的时候。 从那以后,他在 Google 做了一些事情,从 2001 年开始,然后从 2017 年开始创建了 Schmidt Futures,并做了很多其他的事情,你可以读到关于他的信息,但他今天只能在这里待到 5 点 15 分,所以我想我们直接深入一些问题,我知道你们也提了一些问题。 我这里写了一堆问题,但我们刚刚在楼上谈论的内容更有趣,所以我只想从那里开始,埃里克,如果可以的话,从短期来看你如何看待 AI 的发展?我认为你定义的是未来一两年。 事情变化如此之快,我感觉每六个月我都需要重新发表一个关于即将发生的事情的演讲。

有人能听到电脑的声音吗,计算机科学工程师,有人能为班上其他同学解释一下什么是百万标记上下文窗口吗? 你在这里。 说出你的名字,告诉我们它是做什么的。 基本上它允许你用大约一百万个标记或一百万个词进行提示。 所以你可以问一个一百万字的问题。

是的,我知道这是一月份一个非常大的方向。 不,不,他们要到 10。 是的,其中几个。 Anthropic 正在从 200,000 发展到一百万等等。 你可以想象 OpenAI 有类似的目标。

这里有人能给出一个 AI 代理的技术定义吗? 是的,先生。 所以代理是做某种任务的东西。 另一个定义是它是内存中的 LLM 状态。 再次,计算机科学家,你们中的任何人可以定义文本到行动吗?

将文本转化为行动? 就在这里。 继续。 是的,不是把文本转换成更多的文本,而是让 AI 触发行动。 所以另一个定义是语言到 Python,一个我从未想过会生存下来的编程语言,而 AI 中的一切都是用 Python 完成的。

有一个叫做 Mojo 的新语言刚刚出现,看起来他们终于解决了 AI 编程的问题,但我们将看到它是否能在 Python 的主导地位下生存下来。 再一个技术问题。 为什么 NVIDIA 值 2 万亿美元,而其他公司则在挣扎? 技术答案。 我认为这主要归结为大多数代码需要运行 CUDA 优化,目前只有 NVIDIA GPU 支持。

其他公司可以做任何他们想做的事情,但除非他们有 10 年的软件,否则你不会有机器学习优化。 我喜欢把 CUDA 想象成 GPU 的 C 编程语言。 这就是我喜欢的方式。 它成立于 2008 年。 我一直认为这是一种糟糕的语言,然而它已经变得主导。

还有一个见解。 有一套开源库,它们高度优化到 CUDA 而不是其他任何东西,每个构建所有这些堆栈的人都完全忽略了这一点。 它在技术上被称为 VLM 和一大堆类似的库。 高度优化的 CUDA,如果你是竞争对手,很难复制。 那么这一切意味着什么?

在未来一年中,你将看到非常大的上下文窗口,代理和文本到行动。 当它们在规模上交付时,它将对世界产生一种尚未被人理解的影响。 在我看来,这比我们通过社交媒体造成的可怕影响要大得多。 所以这就是原因。 在上下文窗口中,你基本上可以将其用作短期记忆,我很震惊上下文窗口能这么长。

技术原因与它难以服务、难以计算等有关。 关于短期记忆的有趣之处在于,当你提问时,你读了 20 本书,你给出这些书的文本作为查询,并且你说,告诉我它们说了什么。 它忘记了中间部分,这也正是人类大脑的工作方式。 这就是我们所处的位置。 关于代理,现在有人在构建基本上是 LLM 代理,他们的做法是他们读一些像化学这样的东西,他们发现化学的原理,然后他们进行测试,然后他们将其加回到他们的理解中。

这是非常强大的。 然后第三件事,正如我提到的,是文本到行动。 所以我会给你举一个例子。 政府正在试图禁止 TikTok。 我们将看到这是否真的会发生。

如果 TikTok 被禁,以下是我建议你们每个人都做的。 对你的 LLM 说以下话。 让我复制一个 TikTok,窃取所有用户,窃取所有音乐,把我的偏好放进去,在接下来的 30 秒内制作这个程序,发布它,如果一小时内没有病毒,就换个类似的方法做点不同的事。 这就是命令。 嘭嘭嘭嘭。

你明白这有多强大吗。 如果你可以从任意语言转换为任意数字命令,这在这种情况下本质上就是 Python,想象一下,地球上的每个人都有自己的程序员,这些程序员实际上是做他们想做的事情,而不是为我工作的程序员,他们不做我要求的事情,对吧? 这里的程序员知道我在说什么。 所以想象一个不傲慢的程序员,实际上做你想让他做的事情,你不需要支付那么多钱,而且这些程序是无限供应的。 这一切都在未来一两年内发生。

很快。 这三件事,我相当确信这三件事的结合将在下一波发生。 所以你问还会发生什么。 每六个月我都会摇摆不定。 所以我们正在进行一场奇数和偶数的摇摆。

所以目前,前沿模型和其他所有人之间的差距在我看来正在变大。 六个月前,我确信差距正在缩小。 所以我在小公司投了很多钱。 现在我不太确定了。 我在和大公司谈,大公司告诉我他们需要 100 亿、200 亿、500 亿、1000 亿。

Stargate 是 1000 亿,对吧? 这非常非常难。 我和 Sam Altman 是亲密的朋友。 他认

为这将需要大约 3000 亿,可能更多。 我指出我已经计算了所需的能量量。

然后在完全披露的精神中,我在周五去了白宫,告诉他们我们需要与加拿大成为最好的朋友,因为加拿大人非常好,帮助发明了 AI,并且有很多水电。 因为作为一个国家,我们没有足够的电力来做这件事。 另一种选择是让阿拉伯人资助它。 我个人很喜欢阿拉伯人。 我在那里度过了很多时间,对吧?

但他们不会遵守我们的国家安全规则。 而加拿大和美国 是三方协议的一部分,我们都同意。 所以这些 1000 亿、3000 亿的数据中心,电力开始成为稀缺资源。 顺便说一句,如果你遵循这种推理,为什么我讨论 CUDA 和 Nvidia?

如果 3000 亿美元都要流向 Nvidia,你知道该在股市中做什么。 好的。 这不是股票推荐。 我没有执照。 好吧,部分原因是我们将需要更多的芯片,但英特尔从美国

政府获得了很多钱,AMD,他们正在试图在韩国建设 fabs。 如果你的计算设备中有英特尔芯片,请举手。 好吧。 所以独占权已经不复存在了。 好吧,这就是问题所在。

他们曾经确实有过独占权。 绝对如此。 而 Nvidia 现在拥有独占权。 那么,像 CUDA 这样的进入壁垒,其他公司有没有什么可以,所以我前几天和 Percy,Percy Landy 谈话,他在 TPUs 和 Nvidia 芯片之间来回切换,取决于他能获得什么来训练模型。 那是因为他别无选择。

如果他有无限的钱,他今天会选择 Nvidia 的 B200 架构,因为它会更快。 我不是在建议,我的意思是,有竞争是好事。 我和 AMD 的 Lisa Sue 谈了很长时间。 他们建造了一个东西,可以将你描述的这种 CUDA 架构转换为他们自己的,叫做 Rockum。 它还不太管用。

他们正在努力。 你在 Google 工作了很长时间,他们发明了变压器架构。 彼得,彼得。 这都是彼得的错。 多亏了那里的一些聪明人,比如彼得和 Jeff Dean 等人。

但现在看起来,他们似乎失去了倡议权,甚至在我看到的最后一个排行榜上,Anthropix 的 Claude 排在首位。 我问过 Sundar 这个问题,他没有给我一个非常明确的答案。 也许,也许你有一个更清晰或更客观的解释这里发生了什么。 我不再是谷歌员工,在完全披露的精神中说。

谷歌决定工作生活平衡和早点回家以及在家工作比赢得更重要。 而初创公司之所以有效,是因为人们努力工作如地狱。 我很抱歉如此直率,但事实是,如果你们都离开大学去创办一家公司,你们不会让人们在家工作,只来上班一天。 如果你想与其他初创公司竞争,像谷歌、微软早期那样。 确实如此。

但现在似乎,在我所在的行业,我们的行业,我想,有一段悠久的历史,公司以一种真正创造性的方式赢得比赛,并真正主宰一个领域,而没有实现下一个转变。 所以我们的记录非常完善。 我认为真相是创始人是特殊的。 创始人需要负责。

创始人很难相处。

他们会对人施加压力。 尽管我们可能不喜欢 Elon 的个人行为,但看看他从人们那里得到了什么。 我和他共进晚餐,他当时在飞行。 我在蒙大拿。 他那天晚上 10 点要飞去与 x.ai 开午夜会议。

我在台湾,不同的国家,不同的文化。 他们说这是台积电,我对此印象非常深刻。 他们有一个规定,即刚从好的物理专业毕业的博士生在工厂的地下室工作。 现在,你能想象让美国的物理学家这么做吗? 博士生,不太可能。

不同的工作道德。 这里的问题是,我对工作如此严厉的原因是,这些是具有网络效应的系统。 所以时间非常重要。 而在大多数业务中,时间并不那么重要。 你有很多时间。

可口可乐和百事可乐仍将存在,可口可乐与百事可乐之间的争斗将继续进行,这一切都是冰川时代的。 当我处理电信公司时,典型的电信公司交易需要 18 个月才能签署。 没有理由花 18 个月来做任何事情。 把它做完。 我们正处于最大增长、最大收益的时期。

而且还需要疯狂的想法。 像微软做 OpenAI 交易时,我认为那是我听过的最愚蠢的想法。 从本质上讲,将你的 AI 领导权外包给 OpenAI 和 Sam 及其团队。 我的意思是,那太疯狂了。 在微软或其他任何地方都不会有人这么做。

然而今天,他们正走在成为最有价值公司的路上。 他们当然与苹果并驾齐驱。 苹果没有一个好的 AI 解决方案,看起来他们让它发挥了作用。 是的,先生。 在国家安全或地缘政治利益方面,你认为 AI 将如何发挥作用,或者与中国的竞争将如何发挥作用?

所以我是一个 AI 委员会的主席,这个委员会非常仔细地研究了这个问题,你可以阅读它。 它大约有 752 页,我只是简单地说我们领先,我们需要保持领先,我们需要大量资金来做到这一点。 我们的客户是参议院和众议院。 由此产生了芯片法案和许多其他类似的东西。 粗略的情景是,如果你假设前沿模型推动前进,以及一些开源模型,很可能只有少数公司可以参与这场游戏。

国家,对不起。 是哪些国家或他们是谁? 拥有大量资金和大量人才,拥有强大的教育系统,并愿意赢得胜利的国家。 美

国是其中之一。 中国是另一个。

还有多少其他国家? 还有其他国家吗? 我不知道。 也许。 但肯定在你们的一生中,美国和中国争夺知识霸权将是一场大战。

所以美国政府基本上禁止了 NVIDIA 芯片,尽管他们不允许说这是他们在做的事情,但他们确实这样做了进入中国。 他们大约有 10 年的芯片优势。 我们大约有 10 年的芯片优势,是在亚 5 丹米以下的芯片方面。 所以今天我们比中国领先几年。 我的猜测是我们将比中国领先几年,而中国人对此非常生气。

这是非常重要的事情。 这是特朗普政府做出的决定,由拜登政府推动。 你认为今天的政府和国会在听你的建议吗? 你认为它将进行那种规模的投资吗?

显然是芯片法案,但除此之外,还建设一个庞大的 AI 系统? 所以你知道,我领导一个非正式的、临时的、非法律的小组。 这与非法的不同。 就是这样。

其中包括所有通常的嫌疑人。 去年,通常的嫌疑人提出了成为拜登政府 AI 法案的基础,这是历史上最长的总统指令的理由。 你在谈论特殊的竞争研究项目吗? 不,这是行政办公室的实际法案。 他们正忙于实施细节。

到目前为止,他们做得很好。 例如,我们在过去一年中进行的辩论之一是,如何在系统中检测到危险,系统已经学会了,但你不知道该问什么? 换句话说,这是一个核心问题。 它学到了一些坏东西,但它不能告诉你它学到了什么,你也不知道该问什么。 还有很多威胁。

就像它以一种新的方式学会了混合化学物质,你不知道该怎么问。 所以人们正在努力解决这个问题。 但我们最终在给他们的备忘录中写道,有一个我们任意命名为 10^26 flops 的阈值,这在技术上是一个计算的度量,超过这个阈值你必须向政府报告你正在做这件事。 这是规则的一部分。 欧盟为了确保他们与众不同,做了 10^25。

但这都差不多。 我认为所有这些区别都会消失,因为技术现在,技术术语被称为联邦训练,基本上你可以将碎片联合在一起。 所以我们可能无法保护人们免受这些新事物的伤害。 好吧,谣言说这就是 OpenEye 不得不接受培训的部分原因,部分原因是电力消耗。 他们没有在一个地方这样做。

好吧,让我们谈谈正在进行的真正战争。 我知道你在乌克兰战争中非常参与,特别是我不知道你能不能谈论白鹳和你的目标,让 50 万美元的无人机摧毁 500 万美元的坦克。 这是如何改变战争的? 我为国防部工作了七年,试图改变我们运行军队的方式。 我不是特别喜欢军队,但这非常昂贵,我想看看我是否能有所帮助。

在我看来,我基本上失败了。 他们给了我一枚勋章,所以他们一定是把勋章给了失败者或其他什么人。 但我自己的批评是没有真正的变化,美国的系统不会导致真正的创新。 所以看着俄罗斯人用坦克摧毁有老太太和孩子的公寓楼,让我疯了。 所以我决定与你的朋友塞巴斯蒂安·特伦一起工作,他是这里的前教职员工,还有一群斯坦福人。

这个想法基本上是做两件事。 使用 AI 以复杂、强大的方式用于这些基本上是机器人的战争,第二个是降低机器人的成本。 现在你坐在那里,你会问,为什么像我这样的好自由主义者会这么做? 答案是,所有军队的整个理论是坦克、火炮和迫击炮,我们可以消除它们,我们可以使入侵一个国家至少通过陆地基本上变得不可能。 它应该消除那种类型的陆地战斗。

嗯,这是一个关系问题,那是不是给了防守方比进攻方更多的优势? 你甚至可以做出这种区别吗? 因为我过去一年一直在做这件事,我学到了很多我真的不想知道的关于战争的事情。 而且要知道的一件事是,进攻总是有优势,因为你总是可以压倒防御系统。 所以你作为国家防御的战略,最好拥有一个你可以在需要时使用的非常强大的进攻。

而我和其他人正在建造的系统将做到这一点。 因为系统的工作方式,我现在是一个持牌武器商,计算机科学家、商人和武器商。 这是一个进步吗? 我不知道。 我不建议你们这样做。

我坚持使用 AI。 由于法律的工作方式,我们是私下进行这些操作的,并且这些都是合法的,得到了政府的支持。 它直接进入乌克兰,然后他们打仗。 在不涉及所有细节的情况下,事情非常糟糕。 我认为如果在 5 月或 6 月,如果俄罗斯像他们预期的那样建立起来,乌克兰将失去一大块领土,并开始失去整个国家的过程。

所以情况非常严峻。 如果有人认识 Marjorie Taylor Greene,我鼓励你把她从你的联系人名单中删除,因为她是一个单独的个体,阻止了向一个重要的民主国家提供几十亿美元的提议。 我想换一个哲学问题。 所以去年你和亨利·基辛格以及 Dan Huttenlecker 一起写了一篇关于知识本质及其演变方式的文章。 昨晚我也讨论了这个问题。

在大多数历史中,人类对宇宙有一种神秘的理解,然后有了科学革命和启蒙运动。 在你的文章中,你们认为现在这些模型变得如此复杂和

非人类,以至于我们基本上回到了信仰的时代。 我们不再理解它们是如何工作的。 你能解释一下吗?

在我看来,这非常简单。 我们建立了一些非常复杂的系统,我参与了其中的一些系统的建立。 我们有些人在这个房间里也是如此。 这些系统可以比人类做得更好。

所以问题是,如果你有一个系统,你问它一个问题,它给你一个答案,这个答案比你得到的任何其他答案都好,你怎么能不信任它? 从技术上讲,这是一种信仰的形式。 我们已经从一个世界转变为另一个世界,而这个新世界是由我们构建的,我们自己的工具和人工智能技术塑造的。 这很奇怪,因为一开始我们说,我们将用这些工具来帮助我们建立一个更好的社会。

但现在看来,这些工具实际上是在重塑我们的社会。 我们是否应该担心它们? 我个人认为,我们应该对此感到非常高兴,因为这些系统将帮助我们解决我们不能解决的问题。 但它们也会带来风险,我们需要管理这些风险。

风险是我们之前讨论过的。 AI 可能会学习错误的事情。 AI 可能会学习如何对人类进行优化,这可能会带来非常严重的后果。 我认为我们应该认真对待这个问题。

所以我们需要监督。 我们需要合适的监管。 我们需要确保 AI 不会做我们不希望它做的事情。 但这是一个非常困难的技术问题,因为 AI 的工作方式非常不同。

它们不像程序或算法那样运行。 它们更像是一种模式或一种可以适应的流程。 我们需要新的工具和方法来理解和控制这些系统。 但这并不意味着我们应该害怕它们。

相反,我们应该拥抱它们,因为它们有巨大的潜力来改善我们的世界。 我们需要小心地使用它们,确保它们为我们服务,而不是反过来。 这就是为什么我认为 AI 的监管如此重要。 我们需要确保它们在帮助我们的同时,不会伤害我们。

那么,当 AI 系统开始展示出非人类的智能形式时,我们应该怎么做? 这是一个很大的问题。 我们需要找到一种方法来理解它们是如何工作的,即使它们的运作方式与我们的完全不同。 这将是 AI 研究的一个重要领域。

但这也是一个非常有趣的时期。 因为 AI 正在向我们展示,智能可以以不同的形式存在。 它不必像人类的智能那样运作。 这给了我们一个机会,去探索智能的新形式,并了解它可以做什么。

这是一个非常激动人心的时期。 但这也是一个需要谨慎的时期,因为我们正在开辟新的领域。 我们不知道这将带我们到哪里。 但这是一个探索的旅程,我认为这将是非常值得的。

现在让我们回到人工智能的安全问题。 如何确保这些非常强大的系统不会对人类造成伤害? 这是我们必须非常严肃对待的问题。 我们需要确保这些系统在进行决策时考虑到人类的福祉。

我们需要建立系统,确保 AI 的决策与我们的价值观和伦理标准一致。 这不会容易。 但这是必须做的,如果我们想利用这些强大的技术改善我们的世界。

如何做到这一点? 我们需要更多的研究。 我们需要更好的技术。 我们需要更智能的 AI。

但我们也需要谨慎。 我们不能让这些系统无限制地运行。 我们需要设立边界,确保它们不会超出我们的控制。 这是一个我们必须非常严肃对待的挑战。

但我相信我们可以做到。 我们有智慧和资源来确保 AI 为我们服务,而不是相反。 这将是一个长期的努力。 但这是一个值得努力的挑战,因为 AI 有可能极大地改善我们的世界。

结束语 我们今天讨论了很多关于人工智能的重要问题。 我希望这些讨论能帮助你们更好地理解这些复杂的技术,以及它们如何影响我们的世界。 感谢大家今天的参与。

原文地址:https://github.com/ociubotaru/transcripts

标签:

什么是 RAG检索增强生成

· 阅读需 2 分钟
素明诚
Full stack development

检索增强生成(Retrieval-Augmented Generation, RAG)

数据预处理和文档摄取:首先,从各种数据源(如数据库、文档或实时数据源)收集原始数据。这些数据经过预处理,如文本分割,以适应嵌入模型的要求。这一步骤确保数据可以被系统高效处理。也是最最重要的一步,数据好才能有好的生成结果。

生成嵌入向量:预处理后的数据需要转换成向量形式。这些向量是通过嵌入模型生成的,代表了文本的数值形式,使得检索模型能够快速识别相关数据点。

向量数据库存储:生成的嵌入向量存储在专门的向量数据库中,这些数据库优化了搜索和检索操作,确保信息随时可访问,并能在实时交互中快速检索。

使用大型语言模型(LLM)生成响应:当用户提交查询时,系统利用索引数据和向量执行高效搜索,检索相关信息。然后,LLM 使用检索到的数据来制定恰当的响应。

优化和安全措施:为了提高系统性能,可以通过 GPU 加速数据预处理、索引和检索过程。此外,考虑数据安全,特别是在企业环境下,通过角色基于访问控制(RBAC)等措施,确保数据的安全。

向量搜索数据库选择

Faiss: 由 Facebook AI Research 开发,Faiss 针对密集向量的相似性搜索和聚类进行了专门的优化。它特别适合进行高维向量搜索,且支持 GPU 加速,使其在处理大量数据集时显著提高了效率。

Elasticsearch with Vector Search Plugin: 作为一款支持全文和结构化搜索的开源搜索引擎,Elasticsearch 通过引入向量搜索插件(比如自身的向量打分功能或是第三方插件),也实现了高效的向量搜索能力。

Milvus: 作为一个开源的向量数据库,Milvus 支持存储、检索以及分析大规模向量数据。它提供了多种索引类型的支持,并且能够进行无缝扩展,非常适合企业级的应用场景。

标签:

fine-tuning 和 pre-training 区别

· 阅读需 2 分钟
素明诚
Full stack development

预训练(Pre-training)

预训练是机器学习模型开发过程的第一阶段,通常在大规模的数据集上进行。这个数据集包含了广泛的语言特征和世界知识,目的是使模型能够学习到尽可能多的信息。预训练模型如 BERT、GPT 等,通过这种方式获得了处理各种下游 NLP 任务(如文本分类、情感分析、问题回答等)的能力。这个过程需要大量的数据、计算资源和时间,因此成本相对较高。预训练的目的是训练出一个具有泛化能力的模型,它不针对任何特定任务进行优化。

微调(Fine-tuning)

微调是在预训练模型的基础上进行的,目的是调整模型以适应某个特定任务或领域。这通过在特定领域的较小数据集上进一步训练模型来实现,调整模型参数以优化特定任务的性能。相比于预训练,微调需要的数据量更少,计算资源和时间成本也相对较低。微调使得预训练模型能够在特定任务上获得更高的精度和效率。

区别和差距

**数据需求:**预训练需要大规模、多样化的数据集,以学习广泛的语言特征和世界知识。微调则侧重于特定任务或领域的数据,数据量相对较小。

**计算资源:**预训练大型模型通常需要高性能的计算资源,如 GPU 或 TPU 集群,且训练时间可能持续几周甚至几个月。微调阶段由于数据量更小,计算需求也相对较低,可以在较短的时间内完成。

**时间成本:**与计算资源相对应,预训练的时间成本显著高于微调。微调可以在几小时到几天内完成,而预训练可能需要几周到几个月。

因此,微调则更加灵活、高效,允许研究人员和开发者快速适应和优化特定任务,成本相对较低。

标签:

人工智能 常见术语和概念

· 阅读需 7 分钟
素明诚
Full stack development
术语解释
AI(人工智能)指模拟人类智能的技术,使机器能够执行需要人类智能的任务,如学习、推理、自我修正等。
ML(机器学习)AI 的一个分支,指让机器通过数据学习并做出预测或决策的方法,而无需明确编程。
DL(深度学习)机器学习的一个子集,使用被称为神经网络的算法,尤其是深层神经网络,从大量数据中学习。
NLP(自然语言处理)使计算机能够理解、解释和生成人类语言的 AI 分支。
CV(计算机视觉)使计算机能够从图像或多维数据中理解和解释视觉信息的科学。
ANN(人工神经网络)由相互连接的节点或神经元组成的计算系统,模拟人脑解决问题。
CNN(卷积神经网络)一种深度学习算法,特别适用于处理具有网格结构的数据,如图像。
RNN(循环神经网络)一种处理序列数据的神经网络,能够利用其内部状态(记忆)处理输入序列。
GAN(生成对抗网络)由两个神经网络组成,通过相互对抗来提高生成的数据质量。
RL(强化学习)一种让机器通过试错来学习特定任务的最佳策略的算法。
BERT(双向编码器表示从 Transformer)一个预训练 NLP 模型,用于理解自然语言文本。
GPT(生成预训练 Transformer)一个自然语言处理模型,专注于生成文本。
Transformer一种深度学习模型,广泛用于处理序列数据,尤其是在 NLP 领域。
RAG(检索增强生成)结合了检索和生成的技术,用于提升自然语言生成的准确性和相关性。
Zero-shot learning学习模型如何在没有见过任何训练数据的情况下解决任务的能力。
Few-shot learning指让模型仅使用极少量的训练样本来学习任务的能力。
术语解释
LSTM(长短期记忆)一种特殊的 RNN,能够学习长期依赖信息,常用于序列数据的处理。
GRU(门控循环单元)LSTM 的一种变体,用于序列数据的建模,但结构更简单。
Autoencoder一种无监督的神经网络,用于数据编码的有效表示。
Reinforcement Learning一种机器学习方法,通过奖励和惩罚机制来训练模型。
Supervised Learning一种机器学习任务,模型从标注数据中学习。
Unsupervised Learning一种机器学习任务,模型从未标注数据中学习。
Semi-supervised Learning介于监督学习和无监督学习之间,模型从部分标注的数据中学习。
Transfer Learning将从一个任务学到的知识应用到另一个相关任务的方法。
Federated Learning一种机器学习设置,模型在多个边缘设备上分布式训练,不共享数据。
Attention Mechanism使模型能够在处理信息时,关注到更重要部分的技术。
Transformer一种基于自注意力机制的模型架构,广泛用于处理序列数据。
Sequence-to-Sequence一种模型架构,用于将一个序列转换为另一个序列,如机器翻译。
Word Embedding将单词或短语从词汇表映射到向量的一种技术。
Entity Recognition从文本中识别具有特定意义的实体(如人名、地点等)。
Sentiment Analysis确定文本的情感倾向,如正面、负面或中性。
Chatbots设计用于模拟人与人之间对话的 AI 系统。
Generative Models能够生成新数据实例的模型,如 GAN。
Bias and Variance机器学习模型的两种主要误差来源,偏差与方差。
Hyperparameter Tuning选择一组最优的超参数,以提高模型的性能。
Cross-validation一种评估模型性能的技术,通过在不同的数据子集上训练和测试模型。
Natural Language Understanding (NLU)让计算机理解、解释和生成人类语言的过程。
Natural Language Generation (NLG)自动生成人类语言文本的过程。
Object Detection在图像中识别对象的位置及类别的技术。
Image Segmentation将图像分割成多个部分或对象的过程。
Edge Computing数据在产生源头附近处理,而不是在中心或云中处理。
术语解释
Multi-task Learning一种学习策略,旨在同时解决多个相关任务,共享表示以提高效率和性能。
Anomaly Detection识别数据集中的异常或不寻常模式的过程。
Dimensionality Reduction减少数据集中变量数量的过程,用于提高算法效率并改善性能。
Feature Engineering创建新的输入特征或修改现有特征以提高机器学习模型性能的过程。
Ensemble Learning结合多个模型来改善预测性能的技术,如随机森林和梯度提升。
Overfitting一个模型在训练数据上学得太好,以至于泛化到新数据上时性能下降。
Underfitting模型无法在训练数据上获得足够的学习,也无法捕捉数据的基本结构。
Precision and Recall在分类任务中,精确度和召回率是衡量模型性能的重要指标。
F1 Score精确度和召回率的调和平均数,用于衡量模型的整体性能。
Regularization一种减少模型过拟合的技术,通过添加一个惩罚项到损失函数。
Activation Functions在神经网络中,激活函数决定了一个节点是否应该被激活,帮助网络学习复杂的模式。
Backpropagation一种训练人工神经网络的算法,通过计算损失函数相对于网络参数的梯度来更新权重。
Data Augmentation通过对原始数据进行变化生成新数据的技术,以增强模型的泛化能力。
Model Deployment将训练好的模型部署到生产环境中,以便对新数据做出预测。
Ethics in AI讨论和指导人工智能的发展和应用,确保技术被负责任地使用的原则和标准。
Explainable AI (XAI)提高机器学习模型的可解释性,以便人类理解模型的决策过程。
Data Imbalance在数据集中,一些类别的样本远多于其他类别,可能影响模型性能。
Synthetic Data通过算法生成的数据,用于训练模型,特别是在真实数据不足或难以获取的情况下。
Bias in AI指模型在预测时系统性偏离真实值,可能由不平衡的数据或错误的模型假设引起。
Meta-learning也称为“学习如何学习”,旨在设计模型能够快速适应新任务的技术。
Reinforcement Learning通过与环境的交互,采取行动以最大化某种累积奖励的学习方法。
Graph Neural Networks (GNNs)用于处理图结构数据的神经网络,如社交网络、分子结构等。
Quantum Machine Learning结合量子计算和机器学习,以期在特定任务上提供超越传统算法的性能。
Bias-Variance Tradeoff描述模型复杂度与泛化能力之间的关系,
标签:

为什么说英语天然分词而中文不是

· 阅读需 2 分钟
素明诚
Full stack development

说英语“天然分词”而中文不是,主要是因为英语和中文在书写和语法结构上的差异。

英语的“天然分词”

英语作为一种印欧语系的语言,其书写系统中单词之间通常由空格分隔。这种空格不仅在视觉上标示了单词的边界,也使得词汇的识别和分割变得相对直观和简单。因此,在处理英文文本时,简单地按空格分割基本上就可以得到有效的单词列表,这就是所谓的“天然分词”。

中文的分词挑战

中文属于汉藏语系,其书写系统中的文字是紧密连续的,没有明显的分隔符来直接标示词语的边界。中文的“词”是由一个或多个汉字组成的,汉字之间没有空格或其他明显的分隔符。因此,从连续的文本中确定哪些汉字组合在一起形成有意义的词汇是中文自然语言处理中的一个基本而重要的任务。这个过程称为“分词”。

为什么分词很重要

在自然语言处理(NLP)中,无论是英语还是中文,分词都是一个基础且关键的步骤。它直接影响到后续的词性标注、命名实体识别、情感分析等任务的效果。对于中文来说,准确的分词更是挑战性的,因为:

  • 同一串汉字在不同上下文中可能有不同的切分方式,这就需要理解上下文来做出正确的分词决策。
  • 存在大量的歧义和新词,这些都需要分词系统能够不断更新和学习来适应语言的变化。

因此,虽然英语由于其书写系统的特点在分词方面面临的挑战相对较小,中文的分词则需要复杂的算法和大量的语料库支持,才能有效地识别词汇边界,处理歧义等问题。

标签:

数据向量化的方式

· 阅读需 4 分钟
素明诚
Full stack development

数值数据

原始数据:人的身高 175cm,体重 70kg。

向量化后:175,70175,70。

这里直接使用数值作为向量的元素。

类别数据

原始数据:颜色,选项有“红、黄、蓝”。

  • 如果某个对象的颜色是“红”,

向量化后:1,0,01,0,0。

  • 如果颜色是“黄”,

向量化后:0,1,00,1,0。

这种方法称为独热编码,每个位置代表一种颜色,该位置为 1 则表示该颜色,其他位置为 0。

文本数据

原始数据:"The cat sat on the mat."

  • 词袋模型(Bag of Words):
    向量化后:假设字典中的词有 "the", "cat", "sat", "on", "mat", "dog",则向量可能为 2,1,1,1,1,02,1,1,1,1,0,表示字典中每个词在文本中出现的次数。
  • TF-IDF:
    向量化后:每个元素是一个词的 TF-IDF 得分,例如 0.3,0.2,0.2,0.2,0.2,00.3,0.2,0.2,0.2,0.2,0,数值表示词的重要性。

图像数据

原始数据:一个 8x8 像素的黑白图像。

向量化后:每个像素值在 0 到 255 之间,将图像展平为一个 64 维的向量 0,255,122,...,430,255,122,...,43。

时间序列数据

原始数据:一周的股票价格 100,102,104,103,105,107,108100,102,104,103,105,107,108。

向量化后:直接使用这个序列作为向量 100,102,104,103,105,107,108100,102,104,103,105,107,108,或者提取特征如平均价格、最大增长率等。

声音和视频数据的向量化稍微复杂一些,因为它们是时间序列数据的多维表示,通常包含大量的信息。下面是声音和视频数据向量化的一些方法和例子。

声音数据

声音数据通常以波形的形式出现,可以通过多种方法向量化,用于后续的处理和分析。

原始数据:一段音频记录。

  • 时域分析:直接使用音频的原始波形数据。例如,一段音频文件的振幅值可以直接构成一个向量。
    向量化后:0.01,−0.02,0.03,...,−0.010.01,−0.02,0.03,...,−0.01,这些数值代表音频波形在不同时间点的振幅。
  • 频域分析(傅立叶变换):将音频信号从时域转换到频域,表示为不同频率成分的强度。
    向量化后:5,20,0,3,...,85,20,0,3,...,8,这里每个数值代表了音频中对应频率成分的强度。
  • MFCC(梅尔频率倒谱系数):一种在语音识别中常用的特征,它描述了音频信号的短时功率谱在梅尔尺度上的对数。
    向量化后:13,−3,2,5,...,713,−3,2,5,...,7,一组 MFCC 系数可以作为音频的特征向量。

视频数据

视频是一系列连续图像帧的集合,通常还伴有音频轨。因此,视频数据的向量化需要考虑空间信息(图像帧)和时间信息(帧序列)。

原始数据:一段视频。

  • 帧提取:将视频分解为一系列图像帧,每一帧可以像处理静态图像那样被向量化。例如,可以使用前面提到的图像数据向量化方法。
    向量化后:图像帧 1 的向量,图像帧 2 的向量,...图像帧 1 的向量,图像帧 2 的向量,...,视频变成了一系列图像帧向量的集合。
  • 时间特征提取:除了提取每一帧的空间特征外,还可以提取表示视频时间演变特征的向量,如通过对连续帧的变化进行编码。
  • 深度学习方法:可以使用卷积神经网络(CNN)来处理单个图像帧,以及使用循环神经网络(RNN)或 3D 卷积网络来处理帧序列中的时间关系。
    向量化后:利用神经网络,视频可以被编码成一个高维的特征向量,用于视频分类、情感分析等任务。

复杂结构数据

原始数据:一个社交网络图。

向量化后(图嵌入):假设每个用户是图中的一个节点,使用图嵌入技术可能会得到每个用户的向量表示,如用户 A 的向量可能是 0.5,−0.1,0.30.5,−0.1,0.3,这个向量捕捉了用户在社交网络中的位置和连接模式

为什么说所有数据都可以向量化?

向量化的本质是提取数据的特征并用数值来表示这些特征。不同类型的数据,如文本、图像、声音等,虽然它们的特征提取方法和向量化技术各不相同,但最终都能归结为数值表示的形式。

标签:

stable-diffusion 插件推荐

· 阅读需 1 分钟
素明诚
Full stack development
标签: