AI杂谈(一)

在这里插入图片描述

名词解释

  • LLM

大语言模型(Large Language Model,LLM)是一种基于深度学习的自然语言处理模型,旨在理解和生成自然语言文本。这类模型通常由数亿到数千亿个参数构成,能够处理复杂的语言任务,如文本生成、翻译、问答、摘要等。

  • ChatGPT

全称为(Chat Generative Pre-trained Transformer)

Generative:生成式。

Pre-trained:预训练,大规模的文本数据上进行训练,以学习语言的结构和语义。

Transformer:大语言模型的核心技术是Transformer架构,这种架构通过自注意力(self-attention)机制来捕捉文本中词语之间的关系。比如GPT系列模型就是通过自回归(Auto-regressive)的方式,通过逐步生成文本,每次根据已经生成的部分来预测下一个词,直到生成完整的句子或段落。

  • 规模化法则(Scaling Law)

也称尺度定律,是被业界认为是大模型预训练第一性原理,也是在机器学习领域,特别是对于大语言模型而言,模型性能与其规模(如参数数量)、训练数据集大小以及用于训练的计算资源之间存在的一种可预测的关系。

就是说随着模型规模的增大,每增加相同数量的参数或计算资源,可以得到更好的效果,但是获得的性能提升逐渐减少的现象。从一张卡加到 10 张卡时,可以达到 9.5 张卡的价值,但从 10 万张卡加到 100 万张卡,也许只能达到 30 万张卡的价值。

过去几年,预训练Scaling Law推动大模型依赖参数和数据扩张,但逐渐触及瓶颈。24年9月,OpenAI发布的o1模型开创性地提出1:1:1资源分配范式(预训练、后训练和推理)和新Scaling Law:通过强化学习提升微调和推理计算时间,来提升模型性能,正式开启了大模型的后训练时代。24年底,OpenAI发布了o3模型,进一步验证了这一范式的有效性。这个新Scaling Law在成为大模型发展的重点。

但其实,目前能够有足够多的资源和数据去触摸 Scaling Law 天花板的公司,全世界没几家。

ChatGPT

工作原理

我们可以简单理解为“文字接龙”。

例如:我今天去超市买了苹果和__。
A:香蕉 B:太阳 C:螺丝刀 D:酸奶

以上四个答案,我们按照正确的排序是:香蕉>酸奶>螺丝刀>太阳。

因为“注意力机制”,对语言进行压缩和特征提取。这里面重要的词语有超市和苹果,它理解到在购物的上下文中,接下来可能会提到其他水果。

那么AI是如何知道苹果和香蕉相似度更高呢?我们假设用数字进行标记,取值范围是 -1 到 1:

  • 对于“苹果”来说:“水果”这个特征对应的数字是 1;“味道好”这个特征对应的数字可能是 0.8;“质地”这个特征对应的数字可能是 0.8。 [1, 0.8, 0.8]
  • 对于“香蕉”来说:“水果”这个特征对应的数字是 1;“味道好”这个特征对应的数字可能是 0.7;“质地”这个特征对应的数字可能是 0.3。 [1, 0.7, 0.3]

实际的维度和精度复杂得多,这里只是示意。

在这里插入图片描述
训练过程中,模型将每个词转换为一个高维空间中的向量(即词向量)。相似的词在这个向量空间中会被映射到相近的位置。比如,“苹果”和“香蕉”这两个词的向量可能会非常接近,因为它们都是水果,并且在许多上下文中可以互换使用。
另外,模型不仅仅考虑单个词的相似度,还会分析整个句子的上下文。通过上下文,模型能够更好地理解某些词在特定情况下的相关性。例如,在讨论“水果”时,模型会更倾向于选择与“水果”相关的词,如“苹果”、“香蕉”、“橙子”等。

其实OpenAI早在2018年6月就发布ChatGPT底层GPT技术的初代版本,但是直到22年11月底发布gpt3.5才引起大波澜。原因就是早期数据规模小,实际效果并不理想。后面OpenAI加大了向量的维度,训练数据,大力出奇迹般的让大模型量变产生质变,或者说是涌现。而为什么会这样,目前依旧无法解释。

比如,我们常用的翻译功能,以前翻译感觉它不能理解句子中某些词语的意思,但是在gpt3.5后,明显感觉听的懂人话。当模型理解你的语义时,就能更好的提供你相应的答案。

多模态

我们输入给gpt的文字,每个词(Token)都会被转换成一个个的向量(Embedding)。然后输入Transformer层处理,从而理解我们输入文本的上下文和语义。

多模态就是可以接收来自不同模态的数据输入,不局限只能输入输出文字,比如可以输入语音,图片等。例如图片,就是通过卷积神经网络提取图片里的特征信息,转换为向量信息。

多模态大模型很大的提高了沟通的效率。代表模型OpenAI的gpt-4o。

推理

可以像人一样,会花更多时间思考问题,尝试不同的策略,甚至能意识到自己的错误。代表模型OpenAI o1,擅长处理科学、编码、数学和类似领域的复杂问题,这些增强的推理功能可能特别有用。缺点是速度相较gpt-4o速度更慢,费用更高。

问题

  1. 幻觉
    如果你经常使用ChatGPT等生成式AI工具,会发现回答会很啰嗦,说一些车轱辘话,有时还有胡言乱语(幻觉)。回答的答案对不对不好说,但是回答的速度很快,文字很通顺,看着很有逻辑和道理。

    知道上面的原理,你就可以明白其中的原因。“文字接龙”的过程中,就是通过概率寻找相似性的过程,免不了就命中了较低概率的词语。

    所以它更擅长的翻译,文本生成类的工作。翻译就是将一种语言文字的意义用另一种语言文字表达出来的过程。而词向量就包含这些特征,可以找出一个词语在另一种语言的相似表达。

    不擅长的就是数学题,因为解数学题的过程不是线性的,例如2x7-3x4,先乘除后加减,按顺序计算肯定错的。当然实际上这么简单的题,gpt还是会的。毕竟在千亿万亿的数据量面前,你能碰见的问题,其实它都早已有了答案。同时通过不断的算法优化,也能解决部分问题。

  2. 失忆
    记忆说的就是上下文的token数量,一个token大约是 0.75 个英语单词或半个汉字(不同模型有所不同)。目前大模型上下文都是有限的,gpt3.5时是4096,到gpt-4o时已经到了128K,注意这个数值包含输入和输出。当超过上限时,就会有一部分信息丢失掉。比如一开始你告诉gpt你的年龄是20,聊了很久后,你问它你的年龄,它会不知道。大模型的api使用费用也是通过消耗token的数量计算的。

如今解决此类“失忆”问题,目前常见的是可以通过RAG技术。还有就是技术的迭代突破:

  • 25年1月15日MiniMax发布并开源了新模型MiniMax-01。技术报告中透露了MiniMax基础大模型的大胆创新:一是MoE+线性注意力机制(Linear Attention)的架构,二是上下文窗口可以达到100万个token,并且在推理期间以可承受的成本外推到400万个token。

  • Doubao-1.5-pro 使用稀疏 MoE 架构。在预训练阶段,仅用较小参数激活的 MoE 模型,性能即可超过 Llama-3.1-405B 等超大稠密预训练模型。团队通过对稀疏度 Scaling Law 的研究,确定了性能和效率比较平衡的稀疏比例,并根据 MoE Scaling Law 确定了小参数量激活的模型即可达到世界一流模型的性能

使用技巧

  • 复杂的要求或问题,分步骤去解决,让gpt给出每一步的步骤及解释。这样它会按步骤输出,这个过程它通过更多的上下文信息,更容易接到正确的答案。

  • 给正确的答案格式示例,强化引导输出的结果。

    在这里插入图片描述
    如果我接着这段上下文一直提问,回答的格式或许都会是xxx可以翻译为xxx。比如我希望它直接回答出答案,不要加其他内容。

    在这里插入图片描述
    当有了上下文中我需要的正确的答案格式时,gpt会参考这些回答,保持答案符合要求。

    所以在做翻译功能时,我会给他一个json格式的返回结果或是markdown表格当作示例,这样在翻译时,它就会同样返回json格式数据,格式统一,就方便处理解析数据。同时避免数据的异常造成结果的错误。

    所以,如果你发现使用gpt的过程中,答案的内容已经跑偏了,就及时删除或清空错误的聊天内容。再聊下去也是浪费时间。如果有调整的空间,可以继续让gpt修正。

  • 让gpt扮演角色,提问时描述详细要求。对于国外的模型最好使用英语,一方面可以节省token用量,同时便于模型理解。提示词的公式:提示词 = 角色定位 + 最终目的 + 限定范围 + 输出要求

    例如翻译的时候,我的提示词是:

    Below, I will let you act as a translator. Your goal is to translate any language into English, German, French, Spanish, Italian, Traditional Chinese and Portuguese, and display them in a table. You should translate naturally, fluently, and authentically, using elegant and graceful expressions.

    随着模型的能力不断升级,它会更聪明,所以不需要太过于研究提示词的技巧,但是表达清晰你的需求还是关键。

  • 需要注意的是,尽量不要输入太多内容,会降低生产质量,同时费用也更高。如果问的问题上下文没有关联,可以开启新的聊天进行,减少不必要的上下文干扰。

AI编程

目前AI编程领域的头部产品有Cursor,bolt.new,Copilot,V0等,各有特点。最近字节也推出了Trea。

用好AI编程工具需要具备:

  • 准确的描述你的需求。
  • 将复杂问题拆解的架构能力。
  • 有一定的编程能力,可以分辨生成的代码的质量,避免盲目接受。
  • 调试能力,快速定位问题,独立或者借助AI完成。

因此目前对于专业的程序员可以提高开发效率;对于非专业的可以完成简单原型,面对复杂任务依赖AI还是不好完成,费时费力。

一些观点

  • 开发软件成本越来越低,但创意更值钱:AI 产品经理将炙手可热!

在 AI 产品经理领域——是软件工程师由于具备技术背景,对 AI 的理解和接受速度更快,而许多产品经理则相对缓慢。即使在今天,大多数公司都难以找到既懂产品开发又懂 AI 的人才,我预计这一短缺还会继续加剧。
AI 产品经理需要与传统软件产品经理不同的一组技能,包括:

  • AI 技术能力。 PM 需要了解从技术角度看可以构建哪些产品,并且理解 AI 项目的生命周期——例如数据收集、模型构建、监测和维护。
  • 迭代式开发。 由于 AI 开发相比传统软件更加迭代,在过程中需要更多的方向修正,PM 需要知道如何管理这样的流程。
  • 数据相关技能。 AI 产品通常从数据中学习,也可以被设计成比传统软件产生更丰富数据的形态。
  • 处理不确定性的能力。 由于 AI 的性能难以事先准确预测,PM 需要对这种不确定性保持适应,并且具备应对策略。
  • 持续学习。 AI 技术正在快速发展。与所有致力于充分利用这项技术的人一样,PM 也需要及时跟进行业的最新技术进展、产品创意以及它们在用户生活中的应用方式。

文章观点:AI降低了编程的门槛,所以“开发什么软件”成为了关键。只要拥抱AI,持续学习,无论是PM还是开发,都可以胜任这一工作。

  • AI让知识平权是骗局?

    AI的实际影响:

    1. 加速了用AI和不用AI的不平等。
    2. 加速了愿意花钱使用强模型和不花钱之间的不平等。
    3. 加速了善用AI和不善用AI的不平等。

所以让我们都变成用AI,用强AI,善用AI的人。

参考

  • 深入浅出的chatGPT原理科普
  • 2025 AI展望:Scaling Law新叙事加速AI变革
  • 全文版 | 豆包大模型 1.5 Pro 正式发布

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

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

相关文章

fps一些内容添加

1 增强输入要点记录 输入 :输入值的类型 布尔 1d,2d,3d 映射:就是确定按键输入键位,输入类型,和一些触发器(按键方式)修改器(对输出值进行修改) 基本的&am…

2.策略模式(Strategy)

定义 定义一系列算法,把它们一个个封装起来,并且使他们可互相替换(变化)。该模式使算法可独立于使用它的客户程序(稳定)而变化(拓展,子类化)。 动机(Motiva…

为什么应用程序是特定于操作系统的?[计算机原理]

你把WINDOWS程序复制到MAC上使用,会发现无法运行。你可能会说,MAC是arm处理器,而WINDWOS是X86 处理器。但是在2019年,那时候MAC电脑还全是Intel处理器,在同样的X86芯片上,运行MAC和WINDOWS 程序还是无法互相…

2025苹果CMS v10短剧模板源码

文件不到70kb,加载非常快 无配置,没有详情页,上传就可以直接使用 使用教程:上传到网站template目录并解压、进入网站后台选择模板 注意:默认调用ID为1的数据和扩展分类,建议新建站使用 源码下载&#xf…

PyTorch API 详细中文文档,基于PyTorch2.5

PyTorch API 详细中文文档 按模块分类,涵盖核心函数与用法示例 目录 张量操作 (Tensor Operations)数学运算 (Math Operations)自动求导 (Autograd)神经网络模块 (torch.nn)优化器 (torch.optim)数据加载与处理 (torch.utils.data)设备管理 (Device Management)模…

C# Dynamic关键字

一、引言:开启动态编程之门 在 C# 的编程世界里,长久以来我们习惯了静态类型语言带来的严谨与稳定。在传统的 C# 编程中,变量的类型在编译时就已经确定,这就像是给每个变量贴上了一个固定的标签,在整个代码执行过程中…

自定义数据集,使用 PyTorch 框架实现逻辑回归并保存模型,然后保存模型后再加载模型进行预测

在本文中,我们将展示如何使用 NumPy 创建自定义数据集,利用 PyTorch 实现一个简单的逻辑回归模型,并在训练完成后保存该模型,最后加载模型并用它进行预测。 1. 创建自定义数据集 首先,我们使用 NumPy 创建一个简单的…

​ONES 春节假期服务通知

ONES 春节假期服务通知 灵蛇贺岁,瑞气盈门。感谢大家一直以来对 ONES 的认可与支持,祝您春节快乐! 「2025年1月28日 ~ 2025年2月4日」春节假期期间,我们的值班人员将为您提供如下服务 : 紧急问题 若有紧急问…

python:洛伦兹变换

洛伦兹变换(Lorentz transformations)是相对论中的一个重要概念,特别是在讨论时空的变换时非常重要。在四维时空的背景下,洛伦兹变换描述了在不同惯性参考系之间如何变换时间和空间坐标。在狭义相对论中,洛伦兹变换通常…

Solon Cloud Gateway 开发:Route 的配置与注册方式

路由的配置与注册有三种方式:手动配置;自动发现配置;代码注册。 1、手动配置方式 solon.cloud.gateway:routes: #!必选- id: demotarget: "http://localhost:8080" # 或 "lb://user-service"predicates: #?可选- &quo…

LangChain:使用表达式语言优化提示词链

在 LangChain 里,LCEL 即 LangChain Expression Language(LangChain 表达式语言),本文为你详细介绍它的定义、作用、优势并举例说明,从简单示例到复杂组合示例,让你快速掌握LCEL表达式语言使用技巧。 定义 …

Julia DataFrames.jl:深入理解和使用

随着数据科学和机器学习的发展,数据框架广泛应用于数据处理与分析工作中。在 Julia 语言中,DataFrames.jl 是一个强大且灵活的数据框库,为数据操作提供了丰富的功能。本文旨在系统地介绍 DataFrames.jl 的基础概念、使用方法、常见实践和最佳…

Kotlin判空辅助工具

1)?.操作符 //执行逻辑 if (person ! null) {person.doSomething() } //表达式 person?.doSomething() 2)?:操作符 //执行逻辑 val c if (a ! null) {a } else {b } //表达式 val c a ?: b 3)!!表达式 var message: String? &qu…

unity学习20:time相关基础 Time.time 和 Time.deltaTime

目录 1 unity里的几种基本时间 1.1 time 相关测试脚本 1.2 游戏开始到现在所用的时间 Time.time 1.3 时间缩放值 Time.timeScale 1.4 固定时间间隔 Time.fixedDeltaTime 1.5 两次响应时间之间的间隔:Time.deltaTime 1.6 对应测试代码 1.7 需要关注的2个基本…

Vue.js组件开发-实现下载时暂停恢复下载

在 Vue 中实现下载时暂停和恢复功能,通常可以借助 XMLHttpRequest 对象来控制下载过程。XMLHttpRequest 允许在下载过程中暂停和继续请求。 实现步骤 创建 Vue 组件:创建一个 Vue 组件,包含下载、暂停和恢复按钮。初始化 XMLHttpRequest 对…

【llm对话系统】大模型 RAG 之回答生成:融合检索信息,生成精准答案

今天,我们将深入 RAG 流程的最后一步,也是至关重要的一步:回答生成 (Answer Generation)。 在这一步,LLM 将融合用户问题和检索到的文档片段,生成最终的答案。这个过程不仅仅是简单的文本拼接,更需要 LLM …

赚钱的究极认识

1、赚钱的本质是提供了价值或者价值想象 价值: 比如小米手机靠什么?“性价比”,什么饥饿营销,创新,用户参与,生态供应链,品牌这些不能说不重要,但是加在一起都没有“性价比”这3字重…

世上本没有路,只有“场”et“Bravo”

楔子:电气本科“工程电磁场”电气研究生课程“高等电磁场分析”和“电磁兼容”自学”天线“、“通信原理”、“射频电路”、“微波理论”等课程 文章目录 前言零、学习历程一、Maxwells equations1.James Clerk Maxwell2.自由空间中传播的电磁波3.边界条件和有限时域…

electron typescript运行并设置eslint检测

目录 一、初始化package.json 二、安装依赖 三、项目结构 四、配置启动项 五、补充:ts转js别名问题 一、初始化package.json 我的:这里的"main"没太大影响,看后面的步骤。 {"name": "xloda-cloud-ui-pc"…

学习数据结构(3)顺序表

1.动态顺序表的实现 (1)初始化 (2)扩容 (3)头部插入 (4)尾部插入 (5)头部删除 (这里注意要保证有效数据个数不为0) (6&a…