当前位置: 首页 > java >正文

Janus-1B评测

1.推理流程内存

Peak memory usage:图生文 4.69200 GB 文生图 4.12932 GB


                                               Name    Self CPU %      Self CPU   CPU total %     CPU total  CPU time avg     Self CUDA   Self CUDA %    CUDA total  CUDA time avg       CPU Mem  Self CPU Mem      CUDA Mem  Self CUDA Mem    # of Calls  Total KFLOPs  

                                          aten::cat         0.91%      98.379ms         2.04%     221.175ms      28.454us      74.031ms        12.28%      74.058ms       9.528us           0 b           0 b       9.81 Gb       9.81 Gb          7773            --  aten::empty         0.42%      45.704ms         0.46%      50.266ms       4.799us       0.000us         0.00%       0.000us       0.000us         408 b         408 b       1.05 Gb       1.05 Gb         10475            --  aten::linear         0.43%      46.487ms        14.61%        1.580s     117.473us       0.000us         0.00%     293.150ms      21.797us           0 b           0 b     984.90 Mb      -4.00 Kb         13449            --  aten::mul         1.69%     182.922ms         2.80%     302.639ms      17.256us      67.651ms        11.22%      67.672ms       3.859us           0 b           0 b     871.87 Mb     871.86 Mb         17538    315352.990  aten::matmul         1.18%     127.979ms         7.95%     859.807ms      64.021us       0.000us         0.00%     289.369ms      21.546us           0 b           0 b     716.97 Mb      -4.00 Kb         13430            --  aten::mm         2.58%     278.637ms         4.76%     515.049ms      38.578us     289.102ms        47.95%     289.128ms      21.656us           0 b           0 b     716.78 Mb     716.78 Mb         13351  1786639286.272  aten::empty_strided         0.58%      62.384ms         0.58%      62.384ms       6.152us       0.000us         0.00%       0.000us       0.000us           0 b           0 b     548.69 Mb     548.69 Mb         10140            --  aten::to         0.16%      17.315ms         2.03%     220.100ms      17.513us       0.000us         0.00%      31.304ms       2.491us           0 b           0 b     439.60 Mb           0 b         12568            --  aten::_to_copy         0.45%      48.661ms         1.87%     202.785ms      24.912us       0.000us         0.00%      31.304ms       3.846us           0 b           0 b     439.60 Mb           0 b          8140            --  aten::add         1.42%     153.706ms         2.05%     221.767ms      19.016us      29.418ms         4.88%      29.421ms       2.523us           0 b           0 b     340.53 Mb     340.53 Mb         11662    168724.661  

Self CPU time total: 10.816s
Self CUDA time total: 602.915ms

2.量化模块

量化模块怎么实现的
量化模块的位置以及为啥在那里
量化模块在里面起到什么作用:在标记化方面,设计了离散标记化(如利用 VQ 系列方法)和连续标记化技术,通过不同的编码器和转换方法将多模态数据转化为标记

量化是将连续空间中的值映射到离散空间的过程,通常会得到一个小得多的表示空间。当需要对多模态信息进行离散表示时,它是默认操作。量化通常与自动编码器技术相结合,以减小潜在空间的大小。典型的例子包括VQ系列标记器如VQVAE[138]和VQGAN[112],它们本质上具有离散表示.离散化特征表示:模型通过 VectorQuantizer 将高维的连续特征(从卷积层和残差块中提取的特征)映射到一个离散的嵌入空间。在该结构中,embedding 初始化为 Embedding(16384, 8),这意味着有 16384 种可能的离散表示,每种表示的维度为 8。这可以有效降低特征的维度,减少计算复杂性。
特征提取:通过多个 ResnetBlock 和卷积层提取图像的高维特征。
特征量化:使用 VectorQuantizer 将提取的连续特征映射到离散的嵌入空间。
多模态对齐:在需要时,与其他模态(如文本)的特征进行对齐,以增强模型的多模态理解和生成能力。

2. 尝试使用8比特量化/4比特量化(可选)

借鉴残差量化修改我的训练流程

将简化的量化技术用到cat上—先聚类后线性量化

论文实验目标
探索训练效果到底适合样本数,特征数,还是数据分布有影响

数据来源样本数特征数损失变化均方误差 (MSE)参数设置
random_data.npy6500020480.050.025
–nt: 65000 (训练向量数量)
–nval: 536 (验证向量数量)
–M: 12 (子量化器的数量)
–L: 4 ( 残差块的数量)
–K: 512 (代码本大小)
–h: 2048 (残差块的隐藏维度)
–rq_beam_size: 1 (初始残差量化器的光束大小)
–ngpu: 1
–lr: 1e-4 (基础学习率)
–max_epochs: 1000 (最大训练轮次)
–batch_size: 8 (批次大小)
dataset_2.npy5000010240.040.030
–nt: 65000 (训练向量数量)
–nval: 536 (验证向量数量)
–M: 12 (子量化器的数量)
–L: 4 ( 残差块的数量)
–K: 512 (代码本大小)
–h: 2048 (残差块的隐藏维度)
–rq_beam_size: 1 (初始残差量化器的光束大小)
–ngpu: 1
–lr: 1e-4 (基础学习率)
–max_epochs: 1000 (最大训练轮次)
–batch_size: 8 (批次大小)
custom_data.npy8000040960.030.020
–nt: 65000 (训练向量数量)
–nval: 536 (验证向量数量)
–M: 12 (子量化器的数量)
–L: 4 ( 残差块的数量)
–K: 512 (代码本大小)
–h: 2048 (残差块的隐藏维度)
–rq_beam_size: 1 (初始残差量化器的光束大小)
–ngpu: 1
–lr: 1e-4 (基础学习率)
–max_epochs: 1000 (最大训练轮次)
–batch_size: 8 (批次大小)

表格说明

  • 数据来源:使用的数据集文件名。
  • 样本数:数据集中样本的数量。
  • 特征数:每个样本的特征维度。
  • 损失变化:表示训练过程中损失的变化值。
  • 均方误差 (MSE):训练模型过程中计算的均方误差
http://www.xdnf.cn/news/2966.html

相关文章:

  • vue 优化策略,大白话版本
  • 一页概览:统一数据保护方案
  • Discord多账号注册登录:如何同时管理多个账户?
  • 全球667629个流域90m分辨率数据(流域参数含:面积、长度、宽度、纵横比、坡度和高程等)
  • 借助Spring AI实现智能体代理模式:从理论到实践
  • 案例解析:基于量子计算的分子对接-QDOCK(Quantum Docking)
  • 2025年深圳软件开发公司推荐
  • Laravel+API 接口
  • Mybatis-plus代码生成器的创建使用与详细解释
  • 环境-疲劳载荷综合试验系统
  • AI日报 - 2025年04月30日
  • Weiss Robotics的WPG与WSG系列紧凑型机器人夹爪,精准、灵活、高效
  • LoRA 微调技术详解:参数高效的大模型轻量化适配方案
  • 【嘉立创EDA】如何找到曲线和直线的交点,或找到弧线和直线的交点
  • GESP2024年9月认证C++八级( 第三部分编程题(2)美丽路径)
  • leetcode373.寻找和最小的k对数字
  • 机器人“跨协议对话”秘籍:EtherNet IP转PROFINET网关应用实录
  • mongoose插入文档,字段类型, 字段验证, 删除文档,更新文档,读取文档,查询文档的条件控制 ,字段筛选,数据排序,数据截取
  • [Linux网络_68] 转发 | 路由(Hop by Hop) | IP的分片和组装
  • 住宅代理IP购买指南:保护您的网络行为
  • C++:Lambda表达式
  • YOLO学习笔记 | YOLOv8与卡尔曼滤波实现目标跟踪与预测(附代码)
  • JVM GC垃圾回收算法
  • 面试手撕——快速排序
  • 高翔视觉slam中常见的OpenCV和Eigen的几种数据类型的内存布局及分配方式详解
  • 【AlphaFold2】Feature extraction:提取特征,为模型输入做准备|Datapipeline讲解
  • 【AI微信小程序开发】掷骰子小程序项目代码:自设骰子数量和动画(含完整前端代码)
  • 为网页LOGO视频增加电影质感表现
  • AbortController 取消请求
  • Lucene 分词工具全解析与对比指南