LLM:RoPE - 开源代码中的实现 (下)

本文着重学习一下开源代码中关于RoPE的实现:ChatGLM-6B、ChatGLM2-6B、LLAMA

回顾一下RoPE位置编码:

1:对于 token 序列中的每个词嵌入向量,首先计算其对应的 query 和 key 向量
2:然后对每个 token 位置都计算对应的旋转位置编码
3:接着对每个 token 位置的 query 和 key 向量的元素按照 两两一组 应用旋转变换
4:最后再计算 query 和 key 之间的内积得到 self-attention 的计算结果


 

前文提供了RoPE的基本实现,本文学习一下开源LLM中的RoPE的实现。

ChatGLM-6B:

源码中通过以下方式实现旋转位置编码(代码中 d=64):[注意与上面蓝色公式的区别]

相关推荐

  1. Rust 常用 Web 源代码

    2024-01-23 19:56:02       32 阅读
  2. ArduPilot源代码之AP_MSP

    2024-01-23 19:56:02       27 阅读
  3. ArduPilot源代码之AP_OpticalFlow_MSP

    2024-01-23 19:56:02       26 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-23 19:56:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-23 19:56:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-01-23 19:56:02       87 阅读
  4. Python语言-面向对象

    2024-01-23 19:56:02       96 阅读

热门阅读

  1. Hotspot源码解析-第22章-vtable和itable的重新初始化

    2024-01-23 19:56:02       53 阅读
  2. 25. string和const char哪个更合理?

    2024-01-23 19:56:02       57 阅读
  3. 免费chartGPT网站汇总

    2024-01-23 19:56:02       53 阅读
  4. 如何从软硬件层面优化MySQL?

    2024-01-23 19:56:02       53 阅读
  5. 【Poetry】python包管理工具简介

    2024-01-23 19:56:02       60 阅读
  6. 一键生成-微信问一问解答

    2024-01-23 19:56:02       56 阅读
  7. Midjourney常见命令(极速版)

    2024-01-23 19:56:02       55 阅读
  8. 10个常用python自动化脚本

    2024-01-23 19:56:02       45 阅读
  9. 装进肚子(贪心)

    2024-01-23 19:56:02       51 阅读