继续准备 LLM 面试知识,这次写文本检索技术。文本检索是 RAG(检索增强生成)系统的核心组件,也是面试中经常被问到的问题。本文将详细介绍稠密向量检索、稀疏向量检索、BM25算法以及混合检索策略,帮助理解现代文本检索系统的技术原理。
LLM 训练:DPO 深入与实践
上一篇详细介绍了 RLHF 训练中的 PPO 原理和实现细节。本文聚焦于 Direct Preference Optimization(DPO)在 LLM 对齐训练中的原理与实践。从直观动机与数学推导入手,给出训练流程与实现要点,随后比较 DPO 与基于奖励的 PPO 在适用场景、训练复杂度与稳定性上的异同,最后给出工程建议与常见陷阱。
LLM 训练:PPO 原理和实现细节
本文详细讲解大模型 RLHF 阶段使用的 PPO(Proximal Policy Optimization)训练原理和实现细节。我们将从强化学习基础概念开始,逐步深入到 PPO 在 LLM 中的具体应用,最后分析 PPO 的损失函数和优势估计计算。
图像生成基础:DDPM
目前所采用的扩散模型大都是来自于 2020 年的工作 DDPM。DDPM 对之前的扩散模型进行了简化,并通过变分推断(variational inference)来进行建模,这主要是因为扩散模型也是一个隐变量模型(latent variable model),相比 VAE 这样的隐变量模型,扩散模型的隐变量是和原始数据是同维度的,而且推理过程(即扩散过程)往往是固定的。
vscode C++ 开发之使用 clangd、C/C++、clang-format
最近比较忙,废话少说,vscode 开发 C/C++ 需要很繁琐的配置,之前也说过 launch 和 tasks 的配置。这篇文章主要结合自身使用经历讲讲 C++ 相关插件。
shared_ptr 和 unique_ptr 深入探秘
C++ 中 shared_ptr 和 unique_ptr 是 C++11 之后被广泛使用的两个智能指针,但是其实他们在使用上还是有一些“秘密”的,我根据平时遇到的两个问题,总结记录一些知识。