Lora训练Windows[笔记]
一. 使用kohya_ss的GUI版本(https://github.com/bmaltais/kohya_ss.git)
这个版本跟stable-diffusion-webui的界面很像,只不过是训练模型专用而已,打开的端口同样是7860。
1.双击setup.bat,选择1安装好xformers,pytorch等和cuda相关的库,然后可以control+C退出.将requirements.txt里面的内容除了“-e .”外复制到req.txt,然后在虚拟环境下({venv}\Scripts=E:\SD_WIN\kohya_ss\venv\Scripts)执行下面代码加速安装:
pip install -r {xxx}/req.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
安装结束后,重新双击setup.bat并选择1,查缺补漏。
2.双击gui.bat运行,这个和stable-diffusion-webui不一样,不会自动打开浏览器的。自行在chrome上输入“http://127.0.0.1:7860/”.






19:07:38-166454 INFO Start training LoRA Standard ...
19:07:38-167453 INFO Validating lr scheduler arguments...
19:07:38-168449 INFO Validating optimizer arguments...
19:07:38-169446 INFO Validating E:/SD_WIN/kohya_ss/logs existence and writability... SUCCESS
19:07:38-171441 INFO Validating E:/SD_WIN/kohya_ss/outputs existence and writability... SUCCESS
19:07:38-172439 INFO Validating E:/SD_WIN/stable-diffusion-webui/models/Stable-diffusion/sd_xl_base_1.0.safetensorsexistence... SUCCESS
19:07:38-173436 INFO Validating C:/sdxl existence... SUCCESS
19:07:38-174433 INFO Folder 1_images: 1 repeats found
19:07:38-186400 INFO Folder 1_images: 8 images found
19:07:38-187399 INFO Folder 1_images: 8 * 1 = 8 steps
19:07:38-188396 INFO Regulatization factor: 1
19:07:38-189394 INFO Total steps: 8
19:07:38-190389 INFO Train batch size: 1
19:07:38-191387 INFO Gradient accumulation steps: 1
19:07:38-192384 INFO Epoch: 1
19:07:38-193383 INFO Max train steps: 1600
19:07:38-193383 INFO stop_text_encoder_training = 0
19:07:38-194380 INFO lr_warmup_steps = 160
19:07:38-221307 INFO Saving training config to E:/SD_WIN/kohya_ss/outputs\pr1_sdxl_20240515-190738.json...
19:07:38-256213 INFO Executing command: E:\SD_WIN\kohya_ss\venv\Scripts\accelerate.EXE launch --dynamo_backend no--dynamo_mode default --mixed_precision no --num_processes 1 --num_machines 1--num_cpu_threads_per_process 2 E:/SD_WIN/kohya_ss/sd-scripts/sdxl_train_network.py--config_file E:/SD_WIN/kohya_ss/outputs/config_lora-20240515-190738.toml
19:07:38-263218 INFO Command executed.
2024-05-15 19:08:39 INFO Loading settings from train_util.py:3744E:/SD_WIN/kohya_ss/outputs/config_lora-20240515-190738.toml...INFO E:/SD_WIN/kohya_ss/outputs/config_lora-20240515-190738 train_util.py:3763
2024-05-15 19:08:39 INFO prepare tokenizers sdxl_train_util.py:134
2024-05-15 19:08:41 INFO update token length: 75 sdxl_train_util.py:159INFO Using DreamBooth method. train_network.py:172INFO prepare images. train_util.py:1572INFO found directory C:\sdxl\1_images contains 8 image files train_util.py:1519WARNING No caption file found for 1 images. Training will continue without train_util.py:1550captions for these images. If class token exists, it will be used. /1枚の画像にキャプションファイルが見つかりませんでした。これらの画像についてはキャプションなしで学習を続行します。classtokenが存在する場合はそれを使います。WARNING C:\sdxl\1_images\videoplayback[(000859)2023-11-09-22-17-15].jpg train_util.py:1557INFO 8 train images with repeating. train_util.py:1613INFO 0 reg images. train_util.py:1616WARNING no regularization images / 正則化画像が見つかりませんでした train_util.py:1621INFO [Dataset 0] config_util.py:565batch_size: 1resolution: (1024, 1024)enable_bucket: Truenetwork_multiplier: 1.0min_bucket_reso: 256max_bucket_reso: 2048bucket_reso_steps: 64bucket_no_upscale: True[Subset 0 of Dataset 0]image_dir: "C:\sdxl\1_images"image_count: 8num_repeats: 1shuffle_caption: Falsekeep_tokens: 0keep_tokens_separator:secondary_separator: Noneenable_wildcard: Falsecaption_dropout_rate: 0.0caption_dropout_every_n_epoches: 0caption_tag_dropout_rate: 0.0caption_prefix: Nonecaption_suffix: Nonecolor_aug: Falseflip_aug: Falseface_crop_aug_range: Nonerandom_crop: Falsetoken_warmup_min: 1,token_warmup_step: 0,is_reg: Falseclass_tokens: imagescaption_extension: .txtINFO [Dataset 0] config_util.py:571INFO loading image sizes. train_util.py:853
100%|██████████████████████████████████████████████████████████████████████████████████| 8/8 [00:00<00:00, 2025.13it/s]INFO make buckets train_util.py:859WARNING min_bucket_reso and max_bucket_reso are ignored if bucket_no_upscale is train_util.py:876set, because bucket reso is defined by image size automatically /bucket_no_upscaleが指定された場合は、bucketの解像度は画像サイズから自動計算されるため、min_bucket_resoとmax_bucket_resoは無視されますINFO number of images (including repeats) / train_util.py:905各bucketの画像枚数(繰り返し回数を含む)INFO bucket 0: resolution (1024, 1024), count: 8 train_util.py:910INFO mean ar error (without repeats): 0.0 train_util.py:915WARNING clip_skip will be unexpected / SDXL学習ではclip_skipは動作しません sdxl_train_util.py:343INFO preparing accelerator train_network.py:225
accelerator device: cudaINFO loading model for process 0/1 sdxl_train_util.py:30INFO load StableDiffusion checkpoint: sdxl_train_util.py:70E:/SD_WIN/stable-diffusion-webui/models/Stable-diffusion/sd_xl_base_1.0.safetensors
2024-05-15 19:08:47 INFO building U-Net sdxl_model_util.py:192INFO loading U-Net from checkpoint sdxl_model_util.py:196
2024-05-15 19:11:37 INFO U-Net: <All keys matched successfully> sdxl_model_util.py:202
2024-05-15 19:11:38 INFO building text encoders sdxl_model_util.py:205
2024-05-15 19:11:41 INFO loading text encoders from checkpoint sdxl_model_util.py:258
2024-05-15 19:11:47 INFO text encoder 1: <All keys matched successfully> sdxl_model_util.py:272
2024-05-15 19:12:15 INFO text encoder 2: <All keys matched successfully> sdxl_model_util.py:276INFO building VAE sdxl_model_util.py:279
2024-05-15 19:12:19 INFO loading VAE from checkpoint sdxl_model_util.py:284
2024-05-15 19:12:23 INFO VAE: <All keys matched successfully> sdxl_model_util.py:287
2024-05-15 19:12:36 INFO Enable xformers for U-Net train_util.py:2660
import network module: networks.lora
2024-05-15 19:12:40 INFO [Dataset 0] train_util.py:2079INFO caching latents. train_util.py:974INFO checking cache validity... train_util.py:984
100%|████████████████████████████████████████████████████████████████████████████████████████████| 8/8 [00:00<?, ?it/s]INFO caching latents... train_util.py:1021
100%|████████████████████████████████████████████████████████████████████████████████████| 8/8 [00:37<00:00, 4.75s/it]
2024-05-15 19:13:19 INFO create LoRA network. base dim (rank): 8, alpha: 1 lora.py:810INFO neuron dropout: p=None, rank dropout: p=None, module dropout: p=None lora.py:811INFO create LoRA for Text Encoder 1: lora.py:902INFO create LoRA for Text Encoder 2: lora.py:902
2024-05-15 19:13:20 INFO create LoRA for Text Encoder: 264 modules. lora.py:910INFO create LoRA for U-Net: 722 modules. lora.py:918INFO enable LoRA for text encoder lora.py:961INFO enable LoRA for U-Net lora.py:966
prepare optimizer, data loader etc.
2024-05-15 19:13:24 INFO use 8-bit AdamW optimizer | {} train_util.py:3889
Traceback (most recent call last):File "E:\SD_WIN\kohya_ss\sd-scripts\sdxl_train_network.py", line 185, in <module>trainer.train(args)File "E:\SD_WIN\kohya_ss\sd-scripts\train_network.py", line 429, in trainunet = accelerator.prepare(unet)File "E:\SD_WIN\kohya_ss\venv\lib\site-packages\accelerate\accelerator.py", line 1213, in prepareresult = tuple(File "E:\SD_WIN\kohya_ss\venv\lib\site-packages\accelerate\accelerator.py", line 1214, in <genexpr>self._prepare_one(obj, first_pass=True, device_placement=d) for obj, d in zip(args, device_placement)File "E:\SD_WIN\kohya_ss\venv\lib\site-packages\accelerate\accelerator.py", line 1094, in _prepare_onereturn self.prepare_model(obj, device_placement=device_placement)File "E:\SD_WIN\kohya_ss\venv\lib\site-packages\accelerate\accelerator.py", line 1334, in prepare_modelmodel = model.to(self.device)File "E:\SD_WIN\kohya_ss\venv\lib\site-packages\torch\nn\modules\module.py", line 1160, in toreturn self._apply(convert)File "E:\SD_WIN\kohya_ss\venv\lib\site-packages\torch\nn\modules\module.py", line 810, in _applymodule._apply(fn)File "E:\SD_WIN\kohya_ss\venv\lib\site-packages\torch\nn\modules\module.py", line 810, in _applymodule._apply(fn)File "E:\SD_WIN\kohya_ss\venv\lib\site-packages\torch\nn\modules\module.py", line 810, in _applymodule._apply(fn)[Previous line repeated 6 more times]File "E:\SD_WIN\kohya_ss\venv\lib\site-packages\torch\nn\modules\module.py", line 833, in _applyparam_applied = fn(param)File "E:\SD_WIN\kohya_ss\venv\lib\site-packages\torch\nn\modules\module.py", line 1158, in convertreturn t.to(device, dtype if t.is_floating_point() or t.is_complex() else None, non_blocking)
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 50.00 MiB. GPU 0 has a total capacty of 4.00 GiB of which 0 bytes is free. Of the allocated memory 10.68 GiB is allocated by PyTorch, and 226.95 MiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
Traceback (most recent call last):File "C:\Python310\lib\runpy.py", line 196, in _run_module_as_mainreturn _run_code(code, main_globals, None,File "C:\Python310\lib\runpy.py", line 86, in _run_codeexec(code, run_globals)File "E:\SD_WIN\kohya_ss\venv\Scripts\accelerate.EXE\__main__.py", line 7, in <module>File "E:\SD_WIN\kohya_ss\venv\lib\site-packages\accelerate\commands\accelerate_cli.py", line 47, in mainargs.func(args)File "E:\SD_WIN\kohya_ss\venv\lib\site-packages\accelerate\commands\launch.py", line 1017, in launch_commandsimple_launcher(args)File "E:\SD_WIN\kohya_ss\venv\lib\site-packages\accelerate\commands\launch.py", line 637, in simple_launcherraise subprocess.CalledProcessError(returncode=process.returncode, cmd=cmd)
subprocess.CalledProcessError: Command '['E:\\SD_WIN\\kohya_ss\\venv\\Scripts\\python.exe', 'E:/SD_WIN/kohya_ss/sd-scripts/sdxl_train_network.py', '--config_file', 'E:/SD_WIN/kohya_ss/outputs/config_lora-20240515-190738.toml']' returned non-zero exit status 1.
19:16:29-337912 INFO Training has ended.
二、ComfyUI之插件Lora-Training-in-Comfy(https://github.com/LarryJane491/Lora-Training-in-Comfy.git),顺道也安装一下Image-Captioning-in-ComfyUI(https://github.com/LarryJane491/Image-Captioning-in-ComfyUI.git)和Vector_Sculptor_ComfyUI(https://github.com/Extraltodeus/Vector_Sculptor_ComfyUI.git)
在“custom_nodes”下clone它下来,重启安装,一般大概率是没法顺顺利利的,自行安装一些库,我这边列一下xformers和pytorch几个需要注意的库,其他的随意吧
accelerate 0.29.3
library 0.0.0 E:\SD_WIN\ComfyUI_windows_portable\ComfyUI\custom_nodes\Lora-Training-in-Comfy\sd-scripts
torch 2.3.0+cu121
torchaudio 2.3.0+cu121
torchvision 0.18.0+cu121
xformers 0.0.26.post1
xformers优先安装,使用
{venv}/Scripts/pip.exe install xformers --index-url --index-url https://download.pytorch.org/whl/cu121
然后根据pytorch的版本提示安装torchaudio和torchvision我的例子:{venv}/Scripts/pip.exe install xformers==0.0.26.post1 torch==2.3.0+cu121 torchaudio==2.3.0+cu121 torchvision==0.18.0+cu121 --index-url https://download.pytorch.org/whl/cu121
其次要到“custom_nodes/Lora-Training-in-Comfy/sd-scripts/library”目录下运行
{venv}/Scripts/pip.exe install -e .
后面这一步没做的话,可能会遇到library模块加不来,要是直接用线上的安装就傻眼了,大概率是对不上号的。
重新双击run_nvidia_gpu.bat运行ComfyUI,添加节点“LJRE/LORA/LORA training in ComfyUI”,SD1.5的LORA只需要改三个配置就可以运行了。
output_dir最好是相对run_nvidia_gpu.bat所在的路径,这样得到的lora不需要复制,重启ComfyUI就可以测试。
这个插件有个大问题,就是很多机器没法正常运行,哈哈,没错,是真的。我建议有两点:
1.更新sd-scripts,将原来删了,在同路径下运行
git clone https://github.com/kohya-ss/sd-scripts.git
安装参考上面
2.修改train.py。 搜索"python -m accelerate",改为“{vevn-path}/python.exe -m accelerate”,vevn-path应该是run_nvidia_gpu.bat同目录下的python_embeded的绝对路径。(注:下载一键安装包,要是clone的版本应该自己知道venv路径的)
最后补充一张根据图片提取文本的流程图
用到Comfyui_image2prompt(https://github.com/zhongpei/Comfyui_image2prompt.git),这玩意要是完整几乎不太可能,低端机器下wd-swinv2-tagger-v3-hf足够了。等有空再聊聊这个插件的安装经历。
当然也可以安装其他的插件代替的,WD14是不太可能了,还有其他的插件可以考虑。
相关文章:

Lora训练Windows[笔记]
一. 使用kohya_ss的GUI版本(https://github.com/bmaltais/kohya_ss.git) 这个版本跟stable-diffusion-webui的界面很像,只不过是训练模型专用而已,打开的端口同样是7860。 1.双击setup.bat,选择1安装好xformers,pytorch等和cuda…...

nuget局域网在线包制作,nuget打包,nuget打自己的包
目录 首先编辑类库项目的.csproj文件信息 打包项目 设置局域网nuget包 Nuget包管理器--->程序包源 微软帮助文档: NuGet 及其功能介绍 | Microsoft Learn https://learn.microsoft.com/zh-cn/nuget/what-is-nuget 承载自己的 NuGet 源 https://learn.mic…...

Ubuntu 24 换国内源及原理 (阿里源)
备份原文件 sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.bak 编辑源文件 sudo gedit /etc/apt/sources.list.d/ubuntu.sources (阿里源) Types: deb deb-src URIs: https://mirrors.aliyun.com/ubunt…...
python学习-使用pandas库分析excel表,并导出所需的表
核心代码 # 导入pandas库 import pandas as pd # 导入正则表达式包 import re# 指定Excel文件的路径,这个data.xlsx表为原始表,表内有40个sheet子表 file_path data.xlsx # 读取各个子表 allDf pd.read_excel(file_path, sheet_nameNone) # 获取各个子…...

Python中使用C扩展详解
文章目录 1. Python/C API示例2. Cython示例3. ctypes关于C扩展的进一步讨论安全性和兼容性性能优化策略调试C扩展发布和分发C扩展 应用实例:加速矩阵乘法运算1. 准备C扩展代码2. 编译C扩展3. 在Python中使用C扩展 在Python中,使用C扩展是一种提高程序性…...
llama使用tutorial微调(windows版本)
Llama3-Tutorial/docs/assistant.md at main SmartFlowAI/Llama3-Tutorial GitHub 有一些命令需要修改 前期的安装还是要按照教程搞的 streamlit run ~/Llama3-Tutorial/tools/internstudio_web_demo.py \ ~/model/Meta-Llama-3-8B-Instruct 改为了 streamlit run .\Ll…...

MyBatis操作数据库(动态SQL)
1 动态SQL 动态SQL是MyBatis的特征之一,能够完成不同条件下不同的SQL拼接 1.1 <if>标签 在注册用户的时候,可能会有这样一个问题,由于注册分为两种字段:必填字段和非必填字段,如果在添加用户的时候有不确定的…...
python发票真伪查验开发文档、票据OCR、数电票查验
想象一下,只需一行行简洁的代码,复杂繁琐的发票审核工作瞬间变得井然有序。翔云发票查验开发文档详尽易懂,即便是Python新手也能迅速上手,搭建起自己的发票真伪查验系统。无论是纸质发票的扫描图像,还是电子发票的数据…...
Unity构建详解(12)——自动构建
【前言】 自动构建是指整个构建流程不需要人工操作,只需要输入启动构建指令即可获取构建结果。实现这样的自动构建需要满足以下条件: 支持命令行参数启动 我们不可能每次构建时都打开Unity去手动点击构建,必须支持通过命令行启动Unity自动执…...
中文编程降低了中文环境下编程入门的门槛
近年来,随着编程技术的普及和中文编程环境的日益成熟,越来越多的开发者开始使用中文进行编程。中文编程不仅提高了代码的可读性和理解性,而且在一定程度上降低了中文环境下编程的入门门槛。本文将详细探讨中文编程的优势,以及它如…...

通过内网穿透免费部署我们的springboot+vue项目 实现跟服务器一样的效果
前文讲到通过内网穿透能够实现远程访问个人电脑的静态资源。本文将讲解通过内网穿透实现远程访问本地的项目,实现跟部署到服务器一样的效果:前文链接:通过内网穿透实现远程访问个人电脑资源详细过程(免费)(…...

SMB攻击利用之-mimikatz上传/下载流量数据包逆向分析
SMB协议作为windows环境下最为常见的一种协议,在历史上出现过无数的通过SMB协议进行网络攻击利用的案例,包括针对SMB协议本身以及通过SMB协议实施网络攻击。 本文将介绍一种通过SMB协议的常见利用方式,即向远程主机传输mimikatz,作为我的专栏《SMB攻击流量数据包分析》中的…...
Mysql常见数据类型探索
Mysql常见数据类型探索 数值类型 MySQL 支持所有标准 SQL 数值数据类型。 这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL 和 NUMERIC),以及近似数值数据类型(FLOAT、REAL 和 DOUBLE PRECISION)。 关键字INT是INTEGER的同义词,关键字DEC是…...

2024 年第四届长三角高校数学建模竞赛赛题B题超详细解题思路+问题一二代码分享
2024年第四届长三角数学建模竞赛B题详细解题思路 赛道B:人工智能范式的物理化学家 长三角分享资料(问题一代码论文思路)链接(18点更新): 链接:https://pan.baidu.com/s/1lteKvIWNZ4v-Gd7oOcg…...

干货速学!1+X电子商务数据分析:电子商务数据分析的流程
电商数据采集API接口 生活中的数据分析 日常工作和生活中处处都有数据分析的存在,比如消费者在购买不同商品前,经常会对儿“性价比”进行简单分析,价格表现为固定的货币数字。性能则具体体现在商品质量、客户收务等客观因素和客户对该商品的需…...

618好物推荐大赏:2024年必囤好物一网打尽,购物攻略助你抢购无忧!
在618购物狂欢节来临之际,我为大家精心挑选了一系列好物,它们不仅品质卓越,更能在日常生活中为我们带来无限便利与乐趣。这里的每一款产品都经过我严格筛选,只为给你最优质的购物体验。让我们一起在这个618,发现生活中…...
【MySQL】基础操作(DDL,DML,DCL,DQL)
安装教程自行搜索,网上有很多 用户名设置为 root密码设置为 123456可以不这样设置,但要记好用户名密码,相关的代码也要自行更改 打开命令提示符程序(winR打开输入cmd回车) 输入:mysql -uroot -p 回车输入密码即可进入命令行环境…...
工厂自动化升级改造(3)-Modbus与MQTT的转换
什么是MQTT,Modbus,见下面文章 工厂自动化升级改造参考(01)--设备通信协议详解及选型-CSDN博客文章浏览阅读608次,点赞9次,收藏6次。>>特点:基于标准的以太网技术,使用TCP/IP协议栈,支持高速数据传输和局域网内的设备通信。>>>特点:跨平台的通信协议,…...

InnoDB 事务处理机制
文章目录 前言1. 事务处理挑战1.1 事务机制处理的问题1.2 并发事务带来的问题 2. InnodDB 和 ACID 模型2.1 Innodb Buffer Pool2.2 Redo log2.3 Undo log2.4 应用案例 3. 隔离级别和锁机制3.1 事务隔离级别3.1.1 READ UNCOMMITTED3.1.2 READ COMMITTED3.1.3 REPEATABLE READ3.1…...

Thymeleaf
替代jsp 功能:服务器渲染(就是将服务器的数据展示在网页上) 1、MVC概念 model 模型 javaBean(User/Book/Order...) View视图 html 服务器的动态数据 Controller控制器 Servlet MVC是在表述层开发运用的一种设计理念。主张把封装数据…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
反射获取方法和属性
Java反射获取方法 在Java中,反射(Reflection)是一种强大的机制,允许程序在运行时访问和操作类的内部属性和方法。通过反射,可以动态地创建对象、调用方法、改变属性值,这在很多Java框架中如Spring和Hiberna…...

04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...