深度学习训练技巧
Dropout调整:合理位置添加并调整Drop Rate,可有效提升模型性能。
Softmax温度:在注意力、交叉熵分类、对比学习等涉及Softmax的场景中引入温度参数。
Normalization:深度学习核心是表征学习,需通过归一化(如LLM的Pre-norm/Post-norm、多模态系统设计)确保分布对齐,避免深层网络或模块组合时的表征偏移。
Batch Size与Learning Rate同步调整:Batch Size影响梯度估计准确性(类比下山方向),LR影响更新步长(下山速度),方向准确时可加快步长;微调预训练模型时可采用极低LR(如e-7)配合多轮训练。
学习率策略:采用W ...
Diffusers
扩散模型,微调方法等
通过bash/cmd运行代码
Shell 脚本基础知识、跨平台对比及最佳实践,tmux使用
AI系统架构
1234567891011121314151617181920212223242526[Physical World] ↑[Robotics / Sensors / UI] ← Agent的“手脚与感官” ↑┌──────────────────────┐│ 🤖 Agent │ ← Planning + Memory + Tool Use + Reflection└──────────────────────┘ ↑[Application Layer] ← RAG、Workflow引擎、Multi-Agent系统 ↑┌─ ...
VScode
使用.vsix导入extension
数据结构
堆 heap堆是一种特殊的树形数据结构,它通常是一个完全二叉树。堆分为两种类型:最大堆和最小堆。(heapq库中的堆默认是最小堆)
最大堆:每个节点的值都大于或等于其子节点的值。
最小堆:每个节点的值都小于或等于其子节点的值。
heapq库中常用函数
heapq.heapify()
heapify 函数用于将一个列表转换为堆结构。在 Python 中,默认使用的是最小堆。该函数会对列表进行原地操作,即直接修改原列表,而不是返回一个新的列表。
123import heapqarr = [5, 3, 8, 1]heapq.heapify(arr) # 将列表 arr 原地转为堆
123456 ...
Tokenization Algorithm
1. Whitespace / Word-level Tokenization(空格或词级分词)最简单的分词方法:按空格或标点切割。
✔ 优点
非常简单
快
✘ 缺点
词表巨大(上百万)
完全不能处理新词(OOV)
不适合大型模型
📌 使用场景早期 NLP(如传统机器学习、bag-of-words)
🔡 2. Character-level Tokenization(字符级分词)将每个字符作为 token。
✔ 优点
没有 OOV
词表极小(几百个字符)
✘ 缺点
序列长度极长,训练慢
丢失词内部结构(较难学习语义)
📌 使用场景
一些生成任务(字符语言模型)
高频率的低资源语 ...
Machine Learning
对比 Categorical vs. Multinominal
对比点
Categorical 分布
Multinomial 分布
抽样单位
抽一次,得到一个类别
抽多次,得到每类出现的次数
是谁的特例?
是 Multinomial 的特例(n=1)
是更广义的分布
应用
单标签分类、one-hot
文本计数、生成模型、多次采样
123456789101112131415import torchfrom torch.distributions import Categorical, Multinomialp = torch.tensor([0.2, 0.5, 0. ...
将本地代码上传至Github
步骤一:创建 GitHub 仓库
登录 GitHub
点击右上角的 “➕” → “New repository”
填写仓库名称(Repository name),选择 Public 或 Private
选择自己代码语言的.gitignore
如果们本地已有代码,不要勾选 “Initialize this repository with a README”
点击 Create repository
步骤二:在本地初始化 Git 仓库假设你已经在本地有一个项目文件夹,操作如下:
12cd /path/to/your/projectgit init # 初始化 ...
