Masutangu

也許我這一生 始終在追逐那顆九號球

Retrieval-Augmented Generation 介绍【AI 生成】

引言 随着人工智能技术的不断进步,大型语言模型(LLMs)已成为自然语言处理领域的核心技术。然而,LLMs的知识受限于其训练数据,这使得它们在处理最新趋势、事件或特定领域知识时存在局限性。为了解决这一问题,检索增强生成(RAG)技术应运而生,它通过整合实时外部知识,显著提升了LLMs的响应准确性和相关性。 RAG技术的引入,使得LLMs能够动态地从外部知识库中检...

工作十周年

即将迎来工作的十周年,也是入职十周年。几个月前我就在想,在这个颇有意义的时间节点,应该写些什么来纪念一下。于是这几个月来断断续续抽空就写一些片段,而每次提笔的情绪、心境、经历都有所不同,所以草稿里有积极,有消极,但其中不变的,是对未来的思考和期望。过去已是历史,应该沿着什么样的方向,来走当下的路,是最重要的。 从内心上我并没有意识到自己已经工作了这么久,我总希望自己能保持学生的心态,不断学...

Transformer 中的位置编码

对 Transformer 中使用的位置编码的解读,分享两篇不错的文章: Why Are Sines and Cosines Used For Positional Encoding? Transformer Architecture: The Positional Encoding 本文为读书笔记。 Why Are Sines and Cosine...

【PyTorch 源码阅读】AutoGrad 概念和基础类

AutoGrad 概念和基础类 这篇文章介绍 PyTorch 自动微分的概念和基础类,总结自以下文章: A Gentle Introduction to torch.autograd Overview of PyTorch Autograd Engine [源码解析]深度学习利器之自动微分(3) — 示例解读 [源码解析]PyTorch如何实现前...

虚数和复数

对虚数、复数的理解,分享两篇不错的文章: A Visual, Intuitive Guide to Imaginary Numbers:强烈推荐阅读原文!! 欧拉复数公式 本文是摘抄这两篇文章的笔记。 虚数 Visual Understanding of Negative and Complex Numbers 表达式 $x^2 = 9$ 可以拆...

【论文笔记】Attention Is All You Need

本文为论文 Attention Is All You Need 的笔记。 Introduction 在 Transformer 出现之前,主流的序列转换模型基于复杂的循环神经网络或卷积神经网络,通常都包括一个编码器和一个解码器。表现最好的模型是通过注意力机制将编码器和解码器连接起来。这篇论文提出了一种新的简单网络架构 Transformer,仅基于注意力机制,完...

【PyTorch 源码阅读】Dispatcher 源码篇

前言 本文分为三部分: 类:罗列注册和调用运算符所涉及的类和类之间的关系 注册运算符:结合源码梳理注册运算符的链路 调用运算符:结合源码梳理调用运算符的链路 类 Dispatcher & OperatorDef https://github.com/pytorch/pytorch/blob/main/aten/src/ATen/core/dispatch/Di...

【PyTorch 源码阅读】DispatchKeySet 源码篇

代码路径 https://github.com/pytorch/pytorch/blob/main/c10/core/DispatchKey.h https://github.com/pytorch/pytorch/blob/main/c10/core/DispatchKeySet.h 定义 BackendComponent 根据注释: 1 2 3 4 5 6 7 8 9 10 1...

【PyTorch 源码阅读】dispatch 机制概念篇

PyTorch 的 dispatch 机制比较复杂,在深入源码之前,建议先学习 Let’s talk about the PyTorch dispatcher 这篇文章,对源码中各个类的角色有初步的了解。本文是对该文章的精简翻译,图片也取自该文章。 背景 当调用torch.mm时,会发生两次 dispatch: 第一次 dispatch 基于 input tensor 的设备...

【PyTorch 源码阅读】intrusive_ptr 篇

代码路径 https://github.com/pytorch/pytorch/blob/main/c10/util/intrusive_ptr.h 定义 根据注释: 1 2 3 4 5 6 7 8 /** * intrusive_ptr<T> is an alternative to shared_ptr<T> that has better * per...