
大模型
文章平均质量分 91
大模型相关的技术博文
彬彬侠
人工智能算法(Python)工程师、后端(Java)工程师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【RLHF】对抗偏好优化(Adversarial Preference Optimization, APO):通过对抗学习解决语言模型生成响应分布与人类偏好数据分布之间的漂移问题
对抗偏好优化(Adversarial Preference Optimization, APO) 是一种新颖的 RLHF 框架,旨在通过对抗学习(adversarial learning)解决语言模型(LLM)生成响应分布与人类偏好数据分布之间的漂移问题(sampling distribution shifting)。APO 通过在语言模型(LLM)和奖励模型(RM)之间进行类似于生成对抗网络(GAN)的最小-最大博弈(min-max game),实现高效的人类偏好对齐,而无需对新生成样本进行额外的人类偏好原创 2025-06-15 11:31:50 · 943 阅读 · 0 评论 -
【RLHF】直接偏好优化(Direct Preference Optimization, DPO):基于偏好数据优化语言模型
直接偏好优化(DPO) 是一种高效、简单的 RLHF 替代方法,通过直接基于偏好数据优化语言模型,省去了奖励模型和强化学习步骤。DPO 将偏好对齐问题转化为分类任务,利用语言模型的隐式奖励函数,性能与 PPO 相当(如胜率 ~70%),但训练成本显著降低(单 GPU 数小时)。其简单性和稳定性使其适合快速开发和资源受限场景,但对偏好数据质量依赖较高,缺乏 PPO 的动态探索能力。DPO 的提出简化了 RLHF 流程,为大语言模型对齐提供了新范式,未来可与 RLAIF 等技术结合,进一步提升效率和扩展性。原创 2025-06-15 11:31:21 · 838 阅读 · 0 评论 -
【RLHF】近端策略优化(Proximal Policy Optimization, PPO):优化语言模型以对齐人类偏好的核心强化学习算法
近端策略优化(PPO) 是 RLHF 中用于优化语言模型以对齐人类偏好的核心强化学习算法。它通过裁剪目标函数或 KL 正则化限制策略更新幅度,确保训练稳定性。PPO 在 RLHF 和 RLAIF 中表现出色,广泛应用于对话生成、文本摘要等任务,显著提升模型性能(如胜率 70%+)。尽管需要多个模型和在线采样,PPO 的简单性和鲁棒性使其成为行业标准。然而,其计算成本和超参数调优空间,促使研究者探索更高效的替代方法(如 DPO、RRHF、d-RLAIF)。在未来,PPO 与其他技术的结合可能进一步提升 RLH原创 2025-06-15 11:30:47 · 1091 阅读 · 0 评论 -
【RLHF】RLAIF( Scaling Reinforcement Learning from Human Feedback with AI Feedback):利用人工智能生成偏好标签来训练奖励模
RLAIF 是一种通过使用现成的(off-the-shelf)大语言模型生成偏好标签来训练奖励模型(Reward Model, RM),并利用该奖励模型进行强化学习,从而优化语言模型输出的方法。相比 RLHF 依赖人类标注的高质量偏好数据,RLAIF 利用 AI 模型(如 PaLM 2、ChatGPT 等)生成偏好标签,显著降低了数据收集的成本和时间。原创 2025-06-15 11:30:21 · 734 阅读 · 0 评论 -
【RLHF】RRHF(Rank Responses to Align Language Models with Human Feedback):基于人类反馈的排序学习
RRHF(Rank Responses to Align Language Models with Human Feedback)是一种新型的基于人类反馈的强化学习方法,旨在通过排名损失(ranking loss)将语言模型的输出与人类偏好对齐。RRHF 通过对来自不同来源的响应(如模型自身生成、其他大语言模型生成或人类专家提供)进行评分和排名,优化语言模型,使其生成更符合人类期望的输出。原创 2025-06-15 11:29:47 · 516 阅读 · 0 评论 -
什么是 Jinja2:基于 Python 的现代化模板引擎
Jinja2 是一个功能强大、灵活且安全的 Python 模板引擎,适用于 Web 开发、报告生成和 LLM 提示模板等场景。其核心优势在于动态渲染、模板继承和易于集成的特性。在大模型开发中,Jinja2 与 LangChain 的结合为动态生成结构化提示提供了高效解决方案。通过掌握其基本语法和高级特性,可以显著提升开发效率。原创 2025-05-24 22:33:00 · 1114 阅读 · 0 评论 -
Presidio 和 Faker 框架:大型语言模型(LLM)的匿名化工具
在大型语言模型(LLM)的匿名化过程中,Presidio 和 Faker 是两个常用于处理个人身份信息(PII)的强大工具。它们在功能、设计目标和使用场景上各有侧重,结合使用可以实现更高效的匿名化流程。本文是对 Presidio 和 Faker 框架的详细介绍,包括其功能、用法、优缺点,以及在LLM匿名化中的应用。原创 2025-05-07 22:59:00 · 1109 阅读 · 0 评论 -
GGUF :LLaMA.cpp 项目开发的一种现代化模型文件格式
GGUF 是 LLaMA.cpp 项目开发的一种现代化模型文件格式,取代了早期的 GGML 格式(现已废弃)。它专为高效存储和推理量化 LLM(如 LLaMA、Mistral)设计,支持多种硬件(CPU、GPU)和操作系统(Linux、Windows、macOS)。GGUF 是一种高效的模型文件格式,专为 LLaMA.cpp 设计,包含:文件头:魔法数、版本、元数据(模型架构、分词器等)。张量信息:描述权重名称、维度、类型。张量数据:量化权重(如 Q4_0、Q8_0)。分词器:词汇表和分词规则。原创 2025-05-06 18:03:08 · 875 阅读 · 0 评论 -
什么是 Open WebUI
Open WebUI 是一个功能强大、用户友好的自托管 AI 平台,通过直观的 Web 界面简化了与大语言模型的交互。它与 Ollama 的无缝集成使其成为本地运行模型的理想选择,同时支持 OpenAI 兼容 API 和 RAG 等高级功能。无论是个人实验、企业部署还是开发者集成,Open WebUI 都提供了灵活、隐私导向的解决方案。原创 2025-05-02 21:35:30 · 1064 阅读 · 0 评论 -
Ollama 常用的操作 列举 和 说明
Ollama 的常用操作主要分为命令行操作(`list`、`pull`、`run`、`create` 等)和 API 操作(`/api/generate`、`/api/chat` 等),覆盖了模型管理、推理和集成需求。通过 CLI,用户可以快速管理模型和测试功能;通过 API,开发者可以构建复杂的 AI 应用。掌握这些操作后,可以灵活使用 Ollama 进行本地化 AI 开发。原创 2025-05-02 17:18:45 · 1222 阅读 · 0 评论 -
Ollama : 在本地运行和管理大语言模型(LLM)
Ollama 是一个开源工具,用于在本地运行和管理大语言模型(LLM),以简便、高效的方式支持开发者和研究人员在个人设备上进行模型推理。它允许用户轻松下载、配置和运行主流开源 LLM(如 Llama 3、Mistral、Gemma 等),无需复杂的环境设置或云端依赖。Ollama 提供了简单易用的命令行接口(CLI)、REST API 和 Python/Go 库,特别适合本地开发、测试和小型生产环境。以下是对 Ollama 的详细介绍,包括其背景、核心特性、工作原理、优势、局限性以及与 vLLM、TGI、F原创 2025-05-02 16:42:46 · 1440 阅读 · 0 评论 -
FastTransformer 框架:高性能推理框架
FastTransformer 是一个由 NVIDIA 开发的高性能推理框架,专门针对 Transformer 模型(例如 BERT、GPT、T5 等)进行优化,旨在提供低延迟、高吞吐量的推理能力。它通过一系列底层优化技术和模型并行策略,显著提升了 Transformer 模型在 GPU 上的推理性能,广泛应用于自然语言处理(NLP)、对话系统、文本生成等场景。核心特性包括:高效的 Transformer 层实现、KV Cache 优化、模型并行支持、原创 2025-04-21 15:30:21 · 955 阅读 · 0 评论 -
Hugging Face 的 TGI 框架:大语言模型(LLM)的推理和服务优化开源框架
Text Generation Inference(TGI,Text Generation Inference)是由 Hugging Face 开发的一个开源框架,专为大语言模型(LLM)的推理和服务优化设计。它旨在提供高效、易用的推理解决方案,支持生产环境中高性能的文本生成任务,如对话系统、文本补全和实时翻译。TGI 结合了高性能的推理引擎和便捷的部署接口,特别适合需要快速部署 LLM 的开发者和企业。TGI 的性能和易用性来源于以下核心技术:连续批处理(Continuous Batching)优化后的注原创 2025-04-21 15:24:52 · 1554 阅读 · 0 评论 -
vLLM(Virtual Large Language Model) 框架:一个开源的高性能推理和服务的框架
vLLM(Virtual Large Language Model)是一个开源的高性能推理和服务的框架,专为大语言模型(LLM)设计,旨在优化推理速度、内存效率和吞吐量。它通过创新的内存管理和调度技术(如PagedAttention)解决了传统LLM推理中的内存瓶颈和性能问题,广泛应用于对话系统、文本生成、实时翻译等场景。vLLM 由加州大学伯克利分校 Sky Computing Lab 开发,现已成为社区驱动的开源项目,得到学术界和工业界的广泛支持。原创 2025-04-21 13:06:20 · 1935 阅读 · 0 评论 -
什么是 PagedAttention
PagedAttention 是一种针对 Transformer 模型(尤其是大语言模型)中 KV Cache(Key-Value Cache)管理的优化技术,旨在解决长序列推理时 KV Cache 的内存碎片化和高内存占用问题。它通过引入分页机制(类似于操作系统的虚拟内存分页),将 KV Cache 分块存储和管理,从而提高内存利用率、支持更长的序列长度,并提升推理服务的吞吐量和稳定性。原创 2025-04-21 13:00:26 · 1215 阅读 · 0 评论 -
什么是 KV Cache(Key-Value Cache)
KV Cache(Key-Value Cache)是大模型(特别是Transformer架构)在推理过程中常用的一种优化技术,主要用于加速自回归生成任务(如文本生成)中的计算效率。它通过缓存中间计算结果(键和值的张量),避免重复计算,从而显著降低推理的计算量和延迟。原创 2025-04-21 12:55:52 · 3435 阅读 · 0 评论 -
什么是 稀疏激活(Sparse Activation) 和 MOE(The Sparsely-Gated Mixture-of-Experts Layer,稀疏门控专家混合层)
稀疏激活(Sparse Activation)是指在神经网络中,某一层的激活值(即神经元的输出)中只有一小部分是非零值(或显著非零),而大部分值为零或接近零。这种稀疏性可以减少计算量和内存需求,从而加速推理并降低能耗。稀疏门控专家混合层(Mixture-of-Experts, MoE)是一种神经网络架构,通过将任务分配给多个子模型(称为专家,Experts),并使用一个门控网络(Gating Network)动态选择少量专家进行计算,从而实现高效的计算和参数利用。MoE通过门控网络的Top-k选择实现专家的原创 2025-04-21 12:31:32 · 1232 阅读 · 0 评论 -
什么是 模型剪枝(Model Pruning)
模型剪枝(Model Pruning)是一种深度学习模型压缩和加速技术,通过移除模型中冗余或不重要的部分(如权重、神经元、层等),减少模型的参数量和计算量,从而降低存储需求、加速推理,并保持尽可能接近原始模型的性能。剪枝特别适用于在资源受限的设备(如移动设备、边缘设备)上部署大型神经网络。一个使用PyTorch实现结构化通道剪枝的示例,展示如何对一个简单的CNN模型(基于MNIST数据集)进行通道剪枝,并进行微调。原创 2025-04-21 11:52:38 · 1471 阅读 · 0 评论 -
什么是 知识蒸馏(Knowledge Distillation,KD)
知识蒸馏(Knowledge Distillation,KD)是一种模型压缩和加速技术,通过将一个复杂、性能强大的大模型(称为教师模型,Teacher Model)的知识迁移到一个较小、轻量的模型(称为学生模型,Student Model),使学生模型在保持较小规模的同时,尽量接近教师模型的性能。知识蒸馏常用于深度学习模型优化,尤其在资源受限的场景(如移动设备、边缘设备)中。一个使用PyTorch实现知识蒸馏的示例,展示如何训练一个学生模型(MobileNet)以学习教师模型(ResNet-18)的知识,基原创 2025-04-21 11:46:54 · 1045 阅读 · 0 评论 -
什么是 模型量化(Model Quantization)
模型量化(Model Quantization)是一种模型压缩和加速技术,通过将模型中的高精度数值(通常是32位浮点数,FP32)转换为低精度表示(如8位整数,INT8,或更低的位数),来减少模型的存储需求、计算量和推理延迟,同时尽量保持模型的精度。量化广泛应用于深度学习模型的部署,特别是在资源受限的设备(如移动端、嵌入式设备)上。本文还包括一个具体的代码示例,展示如何使用PyTorch进行训练后量化(PTQ),以将一个简单的卷积神经网络(CNN)从FP32量化为INT8。原创 2025-04-21 11:42:39 · 2102 阅读 · 0 评论 -
什么是 S-LoRA(Serving Thousands of Concurrent LoRA Adapters )
S-LoRA(Serving Thousands of Concurrent LoRA Adapters )是一种专为高效服务大量并发 LoRA(Low-Rank Adaptation) 适配器设计的系统,旨在解决在大规模语言模型(LLM)部署中同时处理多个任务特定适配器的高效性问题。S-LoRA 由 Ying Sheng 等人在 2023 年提出,通过优化内存管理、批处理和并行计算,能够在单一 GPU 或多 GPU 环境中以极低开销服务数千个 LoRA 适配器,显著提高吞吐量和适配器数量支持。原创 2025-04-20 13:05:27 · 1081 阅读 · 0 评论 -
什么是 VeRA(Vector-based Random Matrix Adaptation,基于向量的随机矩阵适应)
VeRA(基于向量的随机矩阵适应) 是一种用于高效微调大语言模型的参数高效微调(PEFT)方法。VeRA 通过在预训练权重矩阵上引入基于向量的随机矩阵适配机制,显著减少微调所需的参数量,同时保持模型性能接近全参数微调。VeRA 由 Kopiczko 等人在 2024 年提出,旨在解决 LoRA(Low-Rank Adaptation)等方法在参数效率和计算开销上的局限性,特别适合超大规模模型的微调。原创 2025-04-20 12:52:56 · 689 阅读 · 0 评论 -
什么是 LongLoRA
LongLoRA 是一种针对 LoRA 的改进方法,旨在通过参数高效微调(PEFT)使大语言模型能够处理长上下文(long-context)任务,同时保持低计算和内存成本。LongLoRA 结合了 LoRA 的低秩更新机制和针对长序列优化的训练策略(如 Shift Short Attention),以适配预训练模型到需要处理长输入(如长文档、长对话)的任务。LongLoRA 由 Chen 等人在 2023 年提出,特别适合需要扩展上下文窗口的场景。原创 2025-04-20 12:47:07 · 663 阅读 · 0 评论 -
什么是 QA-LoRA(Quantized-Aware Low-Rank Adaptation,量化感知低秩适配)
QA-LoRA(量化感知低秩适配)是一种结合了低秩适配(LoRA) 和量化感知训练(QAT) 的参数高效微调(PEFT)方法。QA-LoRA 旨在通过在微调过程中考虑量化的影响,进一步优化大语言模型在低精度(如 4-bit 或 8-bit)环境下的性能和效率。QA-LoRA 特别适合在资源受限的设备上部署超大规模模型,同时保持高性能。QA-LoRA 是对 LoRA 和 QLoRA 的进一步改进,强调在微调阶段就模拟量化效果,以减少量化误差。原创 2025-04-20 12:43:23 · 1198 阅读 · 0 评论 -
什么是 AdaLoRA(Adaptive Low-Rank Adaptation,自适应低秩适配)
AdaLoRA(Adaptive Low-Rank Adaptation,自适应低秩适配)是 LoRA(Low-Rank Adaptation)的一种改进版本,旨在通过自适应地调整低秩更新矩阵的秩(rank)来增强参数高效微调(Parameter-Efficient Fine-Tuning, PEFT)的性能和效率。AdaLoRA 在训练过程中根据参数的重要性动态分配秩值,使得模型能够为不同权重矩阵分配合适的容量,从而在保持低参数量的同时提升任务适配能力和泛化性能。AdaLoRA 由 Zhang 等人在 2原创 2025-04-20 12:38:49 · 833 阅读 · 0 评论 -
什么是 DyLoRA(Dynamic Low-Rank Adaptation,动态低秩适配)
DyLoRA(Dynamic Low-Rank Adaptation,动态低秩适配)是 LoRA(Low-Rank Adaptation)的一种改进版本,旨在通过动态调整低秩更新矩阵的秩(rank)来增强参数高效微调(Parameter-Efficient Fine-Tuning, PEFT)的灵活性和性能。DyLoRA 在保持 LoRA 的高效性和低计算成本的同时,允许模型在训练过程中根据任务需求自适应地选择最优的秩值,从而提升任务适配能力和泛化性能。DyLoRA 由 Valipour 等人在 2023原创 2025-04-20 12:32:43 · 986 阅读 · 0 评论 -
【Python】bitsandbytes 库:为 PyTorch 提供低精度(k-bit)优化和量化功能
bitsandbytes 是一个轻量级的 Python 库,专注于为 PyTorch 提供低精度(k-bit)优化和量化功能,主要用于降低大型语言模型(LLM)在训练和推理过程中的内存消耗,同时保持性能。它通过 CUDA 自定义函数实现 8 位和 4 位量化、优化器和矩阵乘法操作,特别适合在 GPU 上运行深度学习任务。以下是对 bitsandbytes 库的详细介绍,包括其功能、主要模块、用法和注意事项。原创 2025-04-20 12:27:46 · 1574 阅读 · 0 评论 -
什么是 QLoRA(Quantized Low-Rank Adaptation,量化低秩适配)
QLoRA(Quantized Low-Rank Adaptation,量化低秩适配)是 LoRA(Low-Rank Adaptation)的一种优化扩展,旨在进一步降低大语言模型微调的计算和内存需求。QLoRA 结合了4-bit 量化(quantization)和 LoRA 的低秩更新技术,使超大规模模型(如 70B 参数的 LLaMA)能够在单 GPU 上进行高效微调,同时保持与全参数微调相近的性能。QLoRA 由 Dettmers 等人在 2023 年提出,特别适合资源受限环境和大规模模型的适配。原创 2025-04-20 12:23:19 · 1307 阅读 · 0 评论 -
什么是 LoRA(Low-Rank Adaptation,低秩适配)
LoRA(Low-Rank Adaptation,低秩适配)是一种参数高效微调(Parameter-Efficient Fine-Tuning, PEFT) 方法,用于适配预训练模型(特别是大语言模型)到特定任务,而无需修改模型的全部参数。LoRA 的核心思想是通过在预训练模型的权重矩阵上添加低秩分解(low-rank decomposition)的更新矩阵来实现微调,仅训练这些低秩矩阵的参数,而冻结原始模型参数。这种方法显著降低了计算和存储成本,同时在许多任务上性能接近全参数微调。原创 2025-04-20 11:37:12 · 1819 阅读 · 0 评论 -
什么是 P-tuning v2
P-tuning v2 是 P-tuning 的改进版本,是一种参数高效微调(PEFT) 方法,旨在通过优化连续提示(continuous prompts)来适配预训练语言模型到特定任务,同时保持模型原始参数不变。P-tuning v2 在 P-tuning v1 的基础上进行了多项优化,增强了提示生成器的表达能力、初始化策略和任务适配性,使其在更广泛的任务(包括自然语言理解和生成任务)上表现更稳定,性能更接近全参数微调、Adapter Tuning 或 LoRA 等方法。原创 2025-04-20 00:40:46 · 1182 阅读 · 0 评论 -
什么是 P-tuning v1
P-tuning v1 是一种参数高效微调(PEFT)方法,旨在通过优化连续提示(continuous prompts)来适配预训练语言模型到特定任务,同时保持模型原始参数不变。P-tuning v1 结合了离散提示(discrete prompts,如手动设计的文本提示)和软提示(soft prompts,如 Prompt Tuning 中的连续向量)的优点,通过引入一个小型神经网络(称为提示生成器,prompt encoder)生成任务特定的提示嵌入,从而增强提示的表达能力和任务适配性。原创 2025-04-19 22:32:01 · 1097 阅读 · 0 评论 -
什么是提示微调(Prompt Tuning)
提示微调(Prompt Tuning)是一种参数高效微调(Parameter-Efficient Fine-Tuning, PEFT) 方法,用于适配预训练模型(特别是大语言模型)到特定任务,而无需修改模型的全部参数。其核心思想是在输入序列中添加一组可训练的“软提示”(soft prompts),这些提示是连续的、可学习的嵌入向量,而不是固定的文本提示。训练时,只优化这些软提示的参数,而预训练模型的权重保持冻结。Prompt Tuning 通过极少的参数调整实现高效微调,特别适合小数据集和资源受限的场景。原创 2025-04-19 20:18:16 · 1288 阅读 · 0 评论 -
什么是前缀微调(Prefix Tuning)
前缀微调(Prefix Tuning)是一种参数高效微调(Parameter-Efficient Fine-Tuning, PEFT) 方法,用于适配预训练模型(尤其是 Transformer 模型)到特定任务,而无需修改模型的全部参数。它的核心思想是在 Transformer 的注意力机制中引入一组可训练的“前缀”向量(prefix vectors),这些向量作为任务特定的上下文引导模型的输出,而原始模型参数保持冻结。Prefix Tuning 通过优化少量附加参数实现高效微调,特别适合生成任务和小数据集原创 2025-04-19 16:46:10 · 1243 阅读 · 0 评论 -
什么是适配器微调(Adapter tuning)
适配器微调(Adapter Tuning)是一种参数高效微调(PEFT) 方法,用于在不修改预训练模型全部参数的情况下,将模型适配到特定任务或数据集。它的核心思想是在预训练模型的结构中插入小型的、可训练的神经网络模块(称为适配器,Adapters),只更新这些适配器的参数,而冻结原始模型的参数,从而以较低的计算和存储成本实现高效微调。还包含使用 Hugging Face 的 transformers 库和 adapters 库在 BERT 模型上为文本分类任务实现适配器微调的示例。示例使用 基于 GLUE原创 2025-04-19 15:38:46 · 1104 阅读 · 0 评论 -
什么是参数高效微调(Parameter-Efficient Fine-Tuning, PEFT)
参数高效微调(PEFT)是一种针对预训练模型进行微调的策略,旨在以较低的计算和存储成本适配模型到特定任务或数据集,同时保持模型的泛化能力。选择合适的 PEFT 方法需要根据以下因素权衡:任务复杂度:简单任务可用 Prompt Tuning,复杂任务可能需要 LoRA 或 Adapter。资源限制:内存和存储受限时,优先选择 LoRA 或 Prompt Tuning。推理需求:对延迟敏感的场景,LoRA 更优。数据集规模:小数据集适合 Prefix Tuning 或 Prompt Tuning,大数据集可尝试原创 2025-04-18 18:40:13 · 1086 阅读 · 0 评论 -
训练优化技术:混合精度训练(Mixed Precision Training)
混合精度训练(Mixed Precision Training) 是一种优化深度学习训练过程的技术,通过结合使用不同精度的数据类型(例如,32位浮动精度和16位浮动精度),在保证模型性能的同时,显著减少内存消耗,并加速训练过程。在 PyTorch 中,混合精度训练可以通过 torch.cuda.amp 模块来实现。PyTorch 提供了 自动混合精度(AMP)功能,使得混合精度训练变得更加简便。原创 2025-04-15 11:49:17 · 1341 阅读 · 0 评论 -
训练优化技术:流水线并行(Pipeline Parallelism)
流水线并行(Pipeline Parallelism) 是一种优化技术,旨在加速大规模深度学习模型的训练,尤其适用于模型非常大,以至于无法直接在单个设备上训练的情况。流水线并行通过将模型分成多个阶段,每个阶段在不同的计算设备上运行,每个阶段的输出会被传递到下一个阶段,这就像一个流水线一样,从而实现并行计算。DeepSpeed 是微软开源的深度学习训练优化库,提供了对流水线并行的支持,能够在多机多卡环境中高效执行模型并行训练。但也面临一些挑战:负载不均衡、通信延迟、实现复杂度高原创 2025-04-15 10:51:35 · 1076 阅读 · 0 评论 -
训练优化技术:模型并行(Model Parallelism)
模型并行(Model Parallelism) 是一种训练优化技术,旨在解决超大规模模型的训练问题。其核心思想是将模型的不同部分分配到不同的计算设备(如多个 GPU 或多个计算节点),以克服单个设备无法容纳大模型的问题。模型并行将每个层或每个子模块的参数和计算负载分配到不同的设备上,每个设备负责计算模型的一部分。设备之间通过网络连接进行数据交换,确保计算的顺序和梯度的正确传递。模型并行可以分为层级模型并行和操作级模型并行两种方式。但它也面临着通信开销、负载不均等挑战,因此需要精心设计模型划分方式和计算策略。原创 2025-04-15 10:37:24 · 968 阅读 · 0 评论 -
训练优化技术:数据并行(Data Parallelism)
数据并行(Data Parallelism) 是一种常见的训练优化技术,它的基本思想是将训练数据划分成多个小批次(mini-batches),并将这些小批次分配到多个计算设备(如多台 GPU 或多个计算节点)上并行计算,从而实现更高效的训练。每个设备上都有一份模型副本,它们独立地计算各自的小批次的梯度,然后将这些梯度聚合,更新模型的权重。PyTorch实现:torch.nn.DataParallel:用于单机多 GPU 的数据并行。torch.distributed:用于分布式训练,支持多机多 GPU 的数原创 2025-04-15 10:30:18 · 1238 阅读 · 0 评论 -
【Python】CLIP 库:CLIP多模态模型的库
CLIP(Contrastive Language–Image Pretraining)是 OpenAI 提出的 多模态模型,可以将图像和文本映射到同一个嵌入空间中,从而实现图文匹配、零样本分类、图文检索等任务。虽然 OpenAI 没有单独发布一个叫 clip 的官方 Python 库,但社区版本如 open_clip, CLIP from OpenAI, CLIP-as-service 等都被广泛使用。加载模型:clip.load(),文本编码:model.encode_text(),图像编码:model原创 2025-04-15 00:19:45 · 701 阅读 · 0 评论