云计算百科
云计算领域专业知识百科平台

在你调用 API 之前,服务商都做了什么?

原始数据清洗(Data Cleaning)

海量数据到手了 别管怎么来的第一步就是写正则去标签,用 MinHash 算法去重、用分类模型过滤低质量和有害内容、按语言分类。

MinHash

这个算法 大概就是把一本书 切片 (Shingling) 成大量连续词组,每个词组都计算出对应的哈希映射(Hashing) 配置 多少个个哈希函数,每组哈希运算都选取哈希结果中的最小值 (Min) 选出多少Hash函数 就会生成多少数字组成的数组 生成指纹 (Signature)

两篇文章的 MinHash 指纹重合度越高,它们原文的相似度就越高。

分类模型

今年过节不收礼,收礼只收脑白金

类似广告投的到处都是 所以会先训练一个非常小、速度非常快的传统神经网络或机器学习模型

先进行人工打标(高质量文章(维基百科) 是1 黄赌毒内容是0)然后给模型 让他区分什么是好的

等真正取清洗数据的时候,每段文本都会打个分 分低的都直接流放了

训练分词器 (Train Tokenizer)

把上一步海量提纯过的数据放进去

BPE 字节对编码 Byte‑Pair‑Encoding

统计文本里哪些字/词组最常连在一起, 给最常用的词组分配一个唯一的 ID

比如 人 后面经常出现 工

智 后面经常出现 能

就会给人工分配 ID=1024;智能分配 ID =1025;

人工这个词组后面经常跟智能这个词组 给 人工智能 分配 ID = 8899

然后得到一个词表文件(vocab.json,通常几万到十几万个词元 Token)。

{
"人": 1230,
"工": 1231,
"人工": 4521,
"智": 1288,
"能":1289,
"人工智能": 8899,
}

架构搭建与随机初始化 (Architecture & Initialization)

用 PyTorch 代码写出 Embedding 层

Embedding

把输入 token 整数 ID(比如 0~100000 词表)映射成固定长度向量。 例如词表 10 万,隐藏维度 512:Embedding 矩阵形状 [100000,512] ,这就是第一个巨大权重矩阵。 每个单词 ID 查表取出一行向量,作为输入。

堆叠多层 Transformer Block
  • Multi‑Head Attention 多头自注意力:计算 token 和 token 之间的关联;内部有 Q/K/V/O 四个大权重矩阵。
  • FFN 前馈网络:对每个向量单独做非线性变换,两个线性层中间套激活函数。 每层还有 LayerNorm 层归一化、残差连接。 几十层 Block 直接堆叠起来,就是大模型主干。
  • 随机初始化

    还没有训练数据的时候,所有权重不能全 0!全 0 会导致所有神经元输出一模一样,学不到东西。

    所以全部初始化为小方差正态分布随机数(标准做法:N(0,σ²),σ 取很小的值)。

    把里面几百亿个权重参数全部初始化为符合正态分布的随机数。

    预训练 (Pre-training / PT)

    把随机初始化的模型架构 和 洗好的海量 Token 数据流 输入

    自回归语言建模,给前面 N 个 token,预测下一个 token,就是词语接龙。

    Cross‑Entropy Loss 交叉熵损失:

    量化模型预测和标准答案之间差距。loss 越大,错得越离谱。

    反向传播 Backpropagation :

    得到 loss 之后,PyTorch 自动做反向传播: 沿着网络从输出往回走,计算几百亿参数每一个权重,对这个误差贡献多大(梯度 gradient)。

    这部分不修改权重,只计算梯度

    优化器 AdamW

    拿到全部参数梯度后,AdamW优化器执行一步更新: 每个权重 = 旧权重 − 学习率 × 梯度(AdamW 还自带权重衰减)。 小幅度挪动每一个随机初始的权重

    显卡会把整个流程连续跑数月

    监督微调 (Supervised Fine-Tuning / SFT)

    把 基座模型 + 几十万条高质量的“人工编写问答对”(Q&A)输入进去

    这部分是让 AI 能听懂人话的重要部分

    这里必须混入大量“工具调用”格式的数据。

    比如 你问今天天气怎么样ai这时候会给你瞎编一个数据

    所以 人类问答就会给出标准json {"action": "call_weather_api", "location": "北京"} 进行权重调节

    奖励模型训练 (Reward Model / RM)

    把 SFT 模型 + 人类偏好数据集 输入进去

    人类偏好数据集

    AI生成两个答案由训练人来选出人类觉得好的答案

    把 SFT 模型的最后一层“预测下一个词”的输出头砍掉,换成一个输出“标量分数”的头。

    用监督学习训练它,让它给人类喜欢的回答打高分,不喜欢的打低分。

    这步是代替人工打分,方便进行下一步强化学习

    强化学习对齐 (RLHF – PPO算法)

    把 SFT 模型 + RM 模型 + 无答案的提示词集 输入进去

    让 SFT 模型对提示词生成回答,RM 给回答打分。

    SFT 模型根据分数,利用 PPO 强化学习算法调整自己的参数,力求以后生成能拿更高分的回答,同时限制它不能偏离 SFT 模型太远

    对齐模型 (Aligned / Chat Model) 就是它最终交付的权重

    推理部署 (Inference Deployment)

    工程师使用 vLLM 等推理框架,将权重加载到 GPU 显存。实现 KV Cache(缓存计算过的上下文,极大地加速推断)和 Continuous Batching(高并发处理请求)。最后套上一个 HTTP 接口(如 FastAPI)。

    这部分保证高吞吐量

    这部分是服务商要完成的底层部署工作

    我们用API Key 请求的模型一般就是对齐模型(对齐好的对话模型)

    少数会提供基座模型

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 在你调用 API 之前,服务商都做了什么?
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!