AGI大模型(3):大模型生成内容

embedded/2025/3/15 3:50:34/

1 大模型是怎么生成内容的

简单来说就是靠"猜"!

虽然⾮常不可思议,但事实就是这样,现阶段所有的 NLP 任务,都不意味着机器真正理解这个世界,它只是在玩⽂字游戏,进⾏⼀次⼜⼀次的概率解谜,本质上和我们玩报纸上的填字游戏是⼀个逻辑。只是我们靠知识和智慧,AI 靠概率计算。

基于LLM演进出最主流的两个⽅向:BERT和GPT

其中 BERT 是之前最流⾏的⽅向,几乎统治了所有 NLP 领域,并在⾃然语⾔理解类任务中发挥出色(例如⽂本分类、情感倾向判断等)

⽽GPT ⽅向则较为薄弱,事实上在 GPT3.0 发布前,GPT ⽅向⼀直是弱于 BERT的(GPT3.0 是 ChatGPT 背后模型 GPT3.5 的前身)

2 GPT和BERT的区别?

3 代码演示

下⾯⽤程序演示「⽣成下⼀个字」。你可以⾃⼰修改 prompt 试试。还可以使⽤相同的 prompt 运⾏多次安装 OpenAI Python 库

3.1 安装python库

pip install openai
pip install python-dotenv

3.2  openai代码

from openai import OpenAI
from dotenv import load_dotenv # pip install python-dotenv
# 新建⼀个.env⽂件 ⽂件中新建⼀个变量 OPENAI_API_KEY OPENAI_BASE_URL 会⾃动从
#环境变量加载 OPENAI_API_KEY 和 OPENAI_BASE_URL
load_dotenv()client = OpenAI()
prompt = "我今天真" # 改我试试
response = client.completions.create(model="gpt-3.5-turbo-instruct",prompt=prompt,max_tokens=20,
)
print(response.choices[0].text)

3.3 新建.env文件

OPENAI_API_KEY="你们的key"
OPENAI_BASE_URL="openai的url"
client = OpenAI(api_key="你们的Key",base_url="openai的url"
)

3.4 结果如下

4 大模型的⼯作原理

4.1 ⽤通俗的语⾔描述⼤模型的⼯作原理:

  1. ⼤模型阅读了⼈类曾说过的所有的话。这就是机器学习,这个过程叫训练
  2. 把⼀串 token 后⾯跟着的不同 token 的概率记了下来。记下的就是参数,也叫权重
  3. 当我们给它若⼲ token,⼤模型就能算出概率最⾼的下⼀个 token 是什么。这就是⽣成,也叫推理
  4. ⽤⽣成的 token,再加上上⽂,就能继续⽣成下⼀个 token。以此类推,⽣成更多⽂字

4.2 Token是什么?

Token⼀定表示⼀个汉字么?

下⾯这个例⼦中我让ChatGPT按照Token的划分粒度将"我喜欢⾹蕉"进⾏倒序输出。

这个例⼦说明:Token既可能是⼀个单词,例如“⾹蕉”,也可能是⼀个汉字,例

如:“我”

4.3 Token的定义

在⼤语⾔模型中,Token是模型进⾏语⾔处理的基本信息单元,它可以是⼀个字,⼀个词甚⾄是⼀个短语句⼦。Token并不是⼀成不变的,在不同的上下⽂中,他会有不同的划分粒度。

Tokenizer:https://platform.openai.com/tokenizer

4.3 Token对我们有哪些影响

从官⽅⽂档中我们可以看到每个模型都有⼀个MAX TOKENS的参数,这个参数的意思就是在⼀次会话中,模型能基于整个上下⽂记忆的最⼤的Token数量,这个上下⽂既包含了我们的输⼊,也包含了我们的输出。

在上⾯这个解释中会有两个概念:

  • ⼀次会话:所谓的⼀次会话是指你打开了⼀个和ChatGPT的聊天窗⼝,只要你⼀直在这个窗⼝内和ChatGPT聊天,那么这个窗⼝就是你和ChatGPT的⼀次会话,⽆论你们已经聊了多久
  • 上下⽂:所谓的上下⽂就是指在最新的⼀个提问之前所有的聊天记录

值得注意的是,这⾥的上下⽂记忆的最⼤Token数量,不仅仅是指你单次提问的语句的最⼤Token数量,⽽是整个会话中之前所有的输⼊和输出的Token数量


http://www.ppmy.cn/embedded/172659.html

相关文章

Elasticsearch 解析 updateTime 字段时格式错误

遇到的问题: {"error":{"root_cause":[{"type":"mapper_parsing_exception","reason":"failed to parse field [updateTime] of type [date] in document with id 57"}],"type":"mapper_parsing…

Python第十八课:目标检测 | 让计算机看懂世界

🎯 本节目标 理解目标定位与分类的核心差异掌握YOLO算法的实时检测原理解析锚框(Anchor Box)的尺度适应机制开发实战项目:交通场景行人车辆检测系统学习模型量化与移动端部署基础一、目标检测基础(视觉世界的GPS) 1. 核心任务拆解 任务类型输出内容生活比喻图像分类图片…

Python 数据可视化

Python 提供了多种强大的库用于数据可视化,常用的库包括 Matplotlib、Seaborn、Plotly、Pandas 和 Bokeh 等。以下是这些库的简介和一些常见的数据可视化示例。 1. Matplotlib Matplotlib 是 Python 中最常用的绘图库,提供了类似 MATLAB 的绘图接口。 …

R格式 | 第十五届蓝桥杯C++B组

小蓝最近在研究一种浮点数的表示方法:RR 格式。 对于一个大于 00 的浮点数 dd,可以用 RR 格式的整数来表示。 给定一个转换参数 nn,将浮点数转换为 RR 格式整数的做法是: 将浮点数乘以 2n2n;四舍五入到最接近的整数。 输入格式…

matlab慕课学习3.2+3.3

于20250310 3.2用if语句实现选择结构 3.2.1什么是选择结构 用if 语句和switch语句可实现选择结构 3.2.2单分支if语句 if 条件语句组 %可以是一条也可是多条end 当条件为标量,非0表成立,0表示不成立。 当条件为矩阵时,矩阵非空&#xff…

基于Spring Boot的网上蛋糕售卖店管理系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

大语言模型-01-语言模型发展历程-03-预训练语言模型到大语言模型

简介 本博客内容是《大语言模型》一书的读书笔记,该书是中国人民大学高瓴人工智能学院赵鑫教授团队出品,覆盖大语言模型训练与使用的全流程,从预训练到微调与对齐,从使用技术到评测应用,帮助学员全面掌握大语言模型的…

Kotlin关键字`when`的详细用法

Kotlin关键字when的详细用法 在Kotlin中,when是一个强大的控制流语句,相当于其他语言中的switch语句,但更加强大且灵活。本文将详细讲解when的用法及其常见场景,并与Java的switch语句进行对比。 一、基本语法 基本的when语法如…