qwenvl 以及qwenvl 2 模型架构理解

qwenvl 模型理解:

  • 参考资料:
    https://qwenlm.github.io/zh/blog/qwen2-vl/
    https://github.com/QwenLM/Qwen2-VLtab=readme-ov-file
    https://qwenlm.github.io/zh/blog/qwen2-vl/

  • 论文:
    qwenvl https://arxiv.org/abs/2308.12966
    Qwen2-VL https://arxiv.org/pdf/2409.12191

最近正好在做qwenvl 总结记录一下qwenvl 以及qwenvl2模型的架构,本文主要聚焦模型架构和训练技术,其他内容后面有涉及再补

注意:要了解qwenvl 2需要先理解qwenvl ,因为qwenvl 2文章明确提到qwenvl 2的架构是和qwenvl保持一致的

由于我主要关注模型架构,因此读论文的时候读完摘要直接看model architecture

qwenvl

架构图

在这里插入图片描述

qwenvl架构很简单,就是三个部分:

  • QwenLM: 作为Qwen-VL模型的基础组件,这个部分采用了一个大型语言模型,其初始权重来自于预训练的Qwen-7B模型。
    如果大家看一下代码的话,这个模型的结构和经典的llamma等大模型没什么区别

  • ViT&

### 复现 Flux 和 CLIP 相关问题或项目的指南 为了成功复现与 Flux 和 CLIP 相关的问题或项目,了解两者的工作原理及其集成方式至关重要。 #### 理解 Flux 架构 Flux 是一种用于 ComfyUI环境下的架构,在此环境中可以通过特定工作流对 LoRA 进行训练[^2]。这意味着 Flux 提供了一种优化的方法来调整和改进现有的预训练模型,使其更适合特定的任务或者数据集。 #### 配置环境并加载 Clip 类型 根据已有信息,当前使用的 clip 类型为 `flux`,而可用的选择还包括其他两种类型如 sdxl, sd3 。因此,在配置实验环境时应确保选择了正确的 clip 版本即 flux 来支持后续操作[^1]。 #### 利用 Tokenizer 准备输入数据 对于任何基于文本的机器学习任务来说,准备合适的输入格式是非常重要的一步。在使用 CLIP 时,这涉及到通过 tokenizer 将原始文本转化为能够被模型识别的形式。具体而言,分词器会把一段文字拆分成一系列 token ,这些 tokens 可以更好地表示给定语句中的单词或其他组成部分[^3]。 ```python from transformers import CLIPTokenizer # 初始化分词器 tokenizer = CLIPTokenizer.from_pretrained('openai/clip-vit-base-patch32') # 对文本进行编码 text_input = ["a photo of a cat"] encoded_text = tokenizer(text_input, return_tensors="pt") print(encoded_text) ``` 上述代码展示了如何利用 Hugging Face 库初始化一个 CLIP 分词器,并将其应用于简单的英文短语上。实际应用中可能还需要考虑更复杂的场景以及多语言的支持等问题。 #### 设计具体的实验流程 一旦完成了前期准备工作之后,则可以根据研究目标设计详细的实验方案。例如,如果想要评估不同参数设置下 Flux 对于图像生成质量的影响,那么就需要定义好评价指标体系;如果是探索新的应用场景,则要先确定预期效果再逐步验证假设。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值