MacOS&Linux中的工具
一些 CLI 小工具 x-cmd proxychains: 用于代理 CLI 中的命令。在 Clash 中如果不打开增强模式,CLI 中的应用流量不会被代理,使用 proxychains 可以为 CLI 应用添加代理。注意:在 macOS 中,由于 SIP(系统完整性保护),/usr/bin 中的命令行程序并不会被代理。在局域网中,proxychains 的 ip:port 配置可以是一个开了允许局域网连接的代理设备上的代理端口。 bat: cat plusplus,可以用 -l 参数指定语法。 btop: TUI top 软件。 ranger: CLI 中的文件 explorer。 yazi: 比 ranger 更好用,功能更丰富。 eza: 可以显示 Nerd Font 的 ls 工具,可以用 alias 替代 ls, ll, la 等。 fastfetch: 展示系统的一些信息。 fzf: 模糊搜索 (fuzzyfind)。可以配合管道交互式查找,如果仅输入 fzf 则是查找文件。 starship: 用于配置 SHELL PROMPT。 zoxide: 比 zsh...
LeetCode题目笔记
这个笔记用来记录 第一次刷 LeetCode Hot 100 1. 两数之和1-251210 tag: 哈希表 123456789class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: dic = {} for i in range(len(nums)): residual = target - nums[i] if nums[i] in dic.keys(): return [i, dic[nums[i]]] if residual not in dic.keys(): dic[residual] = i 对每个数 留下 索引(value) 以及 到 target 的差(index),之后遇到 target差 的数,直接读出索引就行 2. 字母异位词分组49-251210 tag: 哈希表 排序 思路一:哈希 123456789101112131415161718class Solution: def groupAnagrams(self, strs:...
Diffusion相关知识
Diffusion学习 [x] 知乎DDIM&DDPM [x] HuggingFace Diffusion公开课 [x] b站讲的很好的DDPM HuggingFace Diffusion Models Course HuggingFace Diffusion公开课 DDPM - Denoising Diffusion Probabilistic Models DDPM 用 找到 的分布,再从这个分布中采样得到一个 ,循环往复就得到了一个 。 为什么推理速度慢: DDPM 有一个超参数 ,马尔可夫链(Markov chain)的总长度(通常 ),需要采样1000步才能得到一个好的图像。 设置小一些(如100或50)不能加速的原因如下: 由DDPM中单步加噪公式: 根据马尔可夫性质,可以由 一步得到 ,每次增加一个很小的噪声: $$x_t=\sqrt{\bar{\alpha}t}x{0}+\sqrt{1-\bar{\alpha}_t}\epsilon\ , \quad...
Aligning Cyber Space with Physical World A Comprehensive Survey on Embodied AI
这是一篇Embodied AI的综述文章,介绍了Embodied AI的几个研究方向以及现状。 背景介绍 在计算机空间Cyber-Space中的智能体,被称为非具身智能体,而在物理世界中的智能体则称之为具身智能。 Embodied AI对AGI的实现很重要,是链接计算机世界与物理世界之间的各种应用的基础。 目前多模态大模型(MLM)和世界模型(WM)使具身模型具有更强大的感知、交互以及规划能力。这些模型表现出卓越的模拟能力和对物理定律的良好理解,这使得具体模型能够全面理解物理和真实环境。具身智能也被认为是这些模型的最佳载体。 具身智能最初是由 Alan Turing 于 1950 年提出的 Embodied Turing...
轻量推理框架
这是一份针对 EchoLLMServing 推理引擎架构及核心算子优化的工程笔记梳理。内容已针对技术深度、架构权衡(Trade-off)以及实现细节进行了重构,,并补充了底层逻辑分析。 EchoLLMServing 推理框架笔记 1. 架构设计与分布式执行逻辑 当前项目采用了多进程架构支持张量并行(Tensor Parallelism),控制流与数据流分离: 控制平面:Rank 0 作为主节点(LLMEngine),负责请求接收、调度(Scheduler)和元数据管理(可结合 Gloo 进行跨进程协调)。 数据平面:副卡初始化 ModelRunner 并阻塞于共享内存(shm)或类似 ZeroMQ 的异步队列等待指令。 执行流:Rank 0 在 generate 中调用 run,将计算元信息写入 shm,触发所有 Rank 并行执行前向传播。在 LMHead 阶段,各卡计算出局部的 logits 后,通过 All-Reduce 或 Gather 汇总到 Rank 0,由采样器(Sampler)根据策略输出...
服务器代理相关问题
服务器代理相关问题 转发内网网页到本地 在 非内网环境下访问内网网页比较麻烦,记录一下解决这种问题的方式 环境描述 一台内网中的linux服务器,使用 公网服务器 + frp 进行内网穿透 在内网环境下访问的 两种网页(目前为止遇到这两种): 服务 直接开在这个服务器上 服务 没在该服务器上 第一种 服务 在服务器上 例如,一个 自建的 overleaf 网页服务开在 服务器的 8888 端口。 Step1 可以直接 在服务器中查看 这个 overleaf 开在哪个 ip 上 ,命令如下: 1sudo lsof -i :8888 这里已经事先知道了服务开在了 10.10.5.4 这个内网 IP Step2 直接将本地某个端口的流量转发到 服务器 对应 ip:port 上: 1ssh -L 8888:10.10.5.4:8888 user@公网服务器ip -p <frp穿透端口> 然后就可以直接 通过 http://localhost:8888 来访问这个主机的服务了 第二种 服务 不在服务器上 在内网中 需要访问的 url...
轻量推理手记
目前的项目结构 123456789101112131415161718192021222324252627282930313233├── bench.py├── example.py├── LICENSE├── llm_serving.py├── nanovllm│ ├── config.py│ ├── engine│ │ ├── async_llm_engine.py│ │ ├── block_manager.py│ │ ├── llm_engine.py│ │ ├── model_runner.py│ │ ├── scheduler.py│ │ └── sequence.py│ ├── layers│ │ ├── activation.py│ │ ├── attention.py│ │ ├── embed_head.py│ │ ├── layernorm.py│ │ ├── linear.py│ │ ├── rotary_embedding.py│ │ └──...
ResShift 论文阅读
ResShift Motivation 主要想法:缩短马氏链,加速反向传播过程 传统的方法是:从高斯分布中采样 Pure Noise 然后逐步 reverse 得到 一个图像。 主要问题都是 沿用了 原本 DDPM 中的马氏链 (太长,从 pure noise 开始还原)导致要经过很多次迭代才能 生成出一张图片。而且 reverse 过程过长 还会导致 生成的图像过于平滑。 (?可能是因为 纹理细节被当做噪声给 过滤掉 ? 如何 balance 高频 和 噪声?) (?多次经过 diffusion 的reverse 相当于 过了很多次低通滤波? ) One common approach involves inserting the LR image into the input of current diffusion model. and retraining the model from scratch on the training data for SR. 一种方法是 把 LR 插入到输入中 (在Google的Image Super-Resolution via...
nanovllm相关
模型架构与 FlashAttention 底层优化解析 以下是对推理引擎中模型架构与注意力机制核心算子的技术推演与重构,侧重于计算瓶颈的分析、数学逻辑的推导以及硬件层面的 Trade-off。 1. 模型架构配置分析 根据提取的维度信息(16 个 Q Head,8 个 KV Head,Head Dim = 128),该模型采用了 GQA (Grouped Query Attention) 架构,Q 与 KV 的比例为 2:1。 基础设施影响:相较于传统的 MHA (Multi-Head Attention),GQA 是推理阶段(尤其是 Decode 阶段)缓解 Memory Bound 的关键设计。KV Cache 的显存占用直接减少了 50%,极大降低了显存带宽的读写压力,并允许系统维持更大的 Batch Size 从而提升系统吞吐。 归一化选择:采用 RMSNorm 替代 LayerNorm,移除了均值计算(Mean-centering),在保证模型收敛和精度的前提下,减少了规约操作(Reduction)的开销,提升了前向推理的速度。 2. 标准...
Linux中网络相关的命令
写在前面 目前用到的有: ping ifconfig curl netstat nc route lsof 软件: frp chisel rsync & scp proxychains 命令介绍 route 如果有多张网卡启用: en0 wifi en12 有线宽带 使用这个命令添加路由:使 向 10.10.5.4 的流量 走 10.11.3.254 网关 gate_way 1sudo route -n add 10.10.5.4 10.11.3.254 查看路由表:netstat netstat 查看路由表: 1netstat -rn lsof 查看端口被哪个进程占用: 1lsof -i :<port> curl 几个好用的URL: cip.cc ifconfig.me ipinfo.io nc
Kitty 终端模拟器
写在前面 最近在用 kitty 终端 在研究怎么把它配置的更好用,dotfile打包到github上面 ,挂一个官方链接:Kitty 。 引用一篇写的很好的 博客 BLOG Warning: 在配置mapping时候某个键不生效 检查一下是不是 后面的配置覆盖了的问题 如果在 source 时候 exit 1 可以用 bash -x ~/.bashrc 或者 zsh -x ~/.zshrc 进入debug Kitty - GPU 加速的终端 kitten copyboard 可以在所有服务器上面 alias copy='kitten copyboard' 然后就可以像 pbcopy 一样使用,具体请参阅官方文档 : kitten clipboard 一些常用用法: 1234567891011121314151617# Copy an image to the clipboard:kitten clipboard picture.png# Copy an image and some text to the clipboard:kitten clipboard...
SSH 命令的详细使用
SSH - Secure Shell Protocol SSH OPTION 总览 ssh 最常用的 的连接方式就是 ssh user@ip 端口不指定的话默认是 22 ,或者通过 配置 .ssh/config 进行登录。 常用的 ssh 的 常用参数有下面这些: 12345678910111213141516171819202122232425262728293031# 指定连接哪个端口-p <Port># 显示 ssh 连接时的详细输出 -v# 如果使用 -J 参数 可以用 -vv 详细两层详细信息# 跳板机 这个下面详细讲吧-J# 允许 X11 转发,可以把 远程机器的图形程序 通过ssh 传输到本地# 条件:远程支持 X11 ,本地有 X server (跟系统有关)-X# 禁止 X11 转发-x# 直接指定 登录的目标用户-lssh -l user IP# 指定从哪个 本地IP 发起连接 (本地有多个网卡-IP)-b <local IP addr># 强制给 给 远程命令分配一个 伪终端# 例如 ssh Target "vim...
GIT 常用命令
写在前面 git 作为 版本管理软件 还是很常用的 但是感觉每次要用什么的时候都不太熟练 还要麻烦去查 所以记录一下常用的 如果以后还有的话继续补充 。 目前我常用的命令主要分为 本地 和 远程 ,还有一些在新设备上的 配置 命令 这个就放在最后 使用频率很低。 本地命令 git-add add 就是把 本地的 文件修改 添加到 暂存区(stage),只是加到暂存区 还没有 commit 就没有添加到版本库 没有提交的 commit id ,stage 如果不想要了可以用 reset 恢复。 123git add .git add <filename>git add -p # 这个是交互式 添加文件的部分到 stage 还有一个 把本地和远程仓库连接起来的在 add remote git-commit commit 就是把 stage 中的修改 提交到 本地 版本库 中。 12git commit -m "commit msg"git commit --amend # 修改上一次的提交信息 把新的更改...
机器学习复习资料
大纲复习资料 第一章 机器学习简介 机器学习的概念、要素、类型 概念 机器学习(Machine Learning,ML)是指从有限的观测数据中学习(或“猜测”)出具有一般性的规律,并将这些规律应用到未观测数据样本上的方法。主要研究内容是学习算法。 机器学习(英语:machine learning)是人工智能的一个分支。机器学习理论主要是设计和分析一些让计算机可以自动学习的算法。机器学习算法是一类从数据]中自动分析获得规律,并利用规律对未知数据进行预测的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法(要防止错误累积)。很多推论问题属于非程序化決策,所以部分的机器学习研究是开发容易处理的近似算法。(Wikipedia) 计算机科学家汤姆·米切尔在其著作的Machine Learning一书中定义的机器学习为: well-posed learning problem A computer program is said to learn from experience...
SwinIR 代码阅读
pipeline 输入x = [ B, C, H, W] ClassicSR (pixcelShuffle) 1.ConvFirst: 仅仅提高输入的纬度 (也是浅层特征提取 UpSample 先用一个卷积Conv2d(in_C,emd_dim,3,1,1) 把输入通道数(一般是3)扩到embedding的channel 得到 embedding 在这个过程中 输入图像的H, W都没有变化 embedding 大小为 [B, emd_dim, H, W] 2. ForwardFeature 1234567891011def forward_features(self, x): x_size = (x.shape[2], x.shape[3]) x = self.patch_embed(x) if self.ape: x = x + self.absolute_pos_embed x = self.pos_drop(x) for layer in self.layers: x = layer(x, x_size) x = self.norm(x) # b seq_len...
