当前位置: 首页 > article >正文

手写LLM(2): 模型训练及代码详解

文章目录

    • 1. 模型原理
    • 2. 分词器tokernizer的训练
    • 3. 利用tokernizer对语料分词
    • 4. LLM 代码详解
      • 4. 1 模型效果说明
      • 4. 2 模型代码
      • 4. 3 训练代码
      • 4. 4 推理代码

在上文中,主要介绍了tokenizer的实现。我们将text 拆分成token,每个token会映射为一个id。实现将自然语音映射数字id,这些数字id最终输入到模型中,通过embedding进行词向量化。

在本文中,主要是介绍基于transformer的llm模型的原理, 以及准备训练的语料。

1. 模型原理

Transformer模型最早是google发明的,模型主要分为两部分:Encoder (编码器)和Decoder(解码器), Encoder 负责将输入(语言序列),编码为隐藏层。然后Decoder把隐藏层映射为语言序列。

这种Encoder-Decoder结构,比较适合做一些翻译或者QA相关的问题。比如左边输入的是问题,右边对应生成答案。这种结构要求,对训练数据进行标注,将语料准备为问题+答案的方式,让模型来训练,数据准备不太容易实现。虽然它也具备生成的能力,但他还是依赖于encoder模块对问题的编码。
在这里插入图片描述
openai在发明chatgpt的时候,它将encoder层去掉了,只保留了右边decode


http://www.kler.cn/a/579437.html

相关文章:

  • Mybatis Generator 使用手册
  • Java 中数据脱敏的实现
  • Java集合框架全解析:从数据结构到高并发简单解析
  • 数据库语句
  • nginx配置反向代理服务器,实现在https网站中请求http资源
  • 在 ASP.NET Core 中启用 Brotli 和 Gzip 响应压缩
  • SoftKeyboard安卓输入法详解
  • Qt之QGraphicsView图像操作
  • 城市霓虹灯夜景拍照后期Lr调色教程,手机滤镜PS+Lightroom预设下载!
  • 数字信号处理之信号功率谱计算welch方法(分段加窗平均周期图)、Bartlett方法(周期图)(Python)
  • 为wordpress自定义一个留言表单并可以在后台进行管理的实现方法
  • DeepSeek 3FS:端到端无缓存的存储新范式
  • HTML 区块元素详解
  • 蓝桥杯备考:进制转换问题
  • 大中型水闸安全监测系统的内容和功能
  • 二次SQL注入
  • Windows控制台函数:控制台输出函数WriteConsoleA()
  • 大白话Vue Router 中路由守卫(全局守卫、路由独享守卫、组件内守卫)的种类及应用场景
  • Vue.js框架设计中的权衡艺术:解析性能、可维护性与范式选择
  • VisionPro、VisionMaster 多模板匹配分类(大球刀、小球刀、尖刀、三角刀)