跳至主要內容
谈谈 Tokenization 如何注入攻击防御,防止原语料中存在 special tokens 被直接编码

前言

在自然语言处理(NLP)和机器学习领域,特别是在使用预训练的大语言模型(如BERT、GPT、Llama等)前,往往需要用特定的 tokenizer ,将原始语料文本分解成一个个 tokens ,以让模型理解,这一过程被称为 tokenization,tokenization 是文本预处理的关键步骤,它影响着模型的性能,"special tokens" 是指一些具有特殊意义的 tokens,它们不对应于实际的单词或短语,但在模型的架构和处理流程中扮演重要角色。例如,下面是一些常见的特殊标记及其用途:


CK...大约 8 分钟机器、深度学习深度学习模型训练Tokenization
详解 DeepSpeed Zero 的各个 Stage 状态及日常使用

引言

DeepSpeed 是一个由 Microsoft 开发的深度学习开源优化工具,它横跨模型训练、推理和模型压缩等领域。在本文中,我将只关注与训练相关的优化,而推理和压缩部分将留待今后探讨。如前文所述,我们可以通过在多个设备上复制整个模型(数据并行 Data Parallelism)或将模型拆分,并将其不同部分存储在不同设备上(模型并行 Model Parallelism / 流水线并行 Pipeline Parallelism)来执行分布式训练。一般来说,DP 比 MP 的计算效率更高;但是,如果模型太大,单个 GPU 设备的可用显存无法容纳,那么只能使用模型并行。


CK...大约 14 分钟机器、深度学习深度学习模型训练分布式训练DeepSpeed
深度学习模型训练显存占用及DP、MP、PP分布式训练策略

引言

在训练深度学习模型时,常常遇到两个问题:1. 训练速度过慢,2. GPU计算资源(显存)不足。为了解决这两个问题,我们常常选择分布式训练的策略,将模型训练任务分布到多个GPU,甚至多个节点上的多个GPU。Pytorch 与 tensorflow 分布提供了一定的分布式训练策略。 本文章主要介绍 Microsoft 开发的 DeepSpeed library,看该技术是透过何种优化让 deep learning 的训练过程有更高的效率同时使用更少的 GPU 显存。


CK...大约 9 分钟机器、深度学习深度学习模型训练分布式训练
如何理解深度学习领域中的端到端 (end to end)

前情提要

我已经有一年多没有更新自己的博客了,说来实在可惜,原本让我引以为傲的博客网站成为了久久不变的一堆代码,甚至让我自己都不再敢点了进来。这期间,不断有更新博客的想法,但几个问题一直困扰着我:


CK...大约 11 分钟机器、深度学习深度学习概念理解