char-notes
Char*.txt 内容索引
本页用于把随书 Char01.txt 到 Char10.txt 的内容按主题归档,方便后续学习和查找。
完整代码版见 完整代码附录。
Char01:Transformer 与微调基础
主题:
- Transformer 编码器层。
- 多头注意力机制。
- 前馈神经网络。
- 编码器-解码器结构。
- GPT-2 推理与基础微调。
- LoRA 微调。
- P-Tuning。
学习重点:
- 从手写 attention 开始理解模型结构。
- 区分 encoder-only、decoder-only、encoder-decoder。
- 理解 LoRA 和 P-Tuning 都是参数高效微调思路。
Jetson Nano 建议:
- 将
d_model=512降到64或128。 - 将
batch_size=2/4降到1。 - 将 GPT-2 替换为
sshleifer/tiny-gpt2。
Char02:CUDA 与 PyTorch 加速
主题:
- CUDA 矩阵乘法。
- 分块计算。
- CUDA 同步与计时。
nvprof/nsys性能分析。- 多 GPU 训练概念。
学习重点:
- 理解 GPU 加速主要来自矩阵运算并行。
- 学会用
torch.cuda.synchronize()做准确计时。 - 区分 PyTorch 层面的张量操作和手写 CUDA kernel。
Jetson Nano 建议:
- 矩阵大小从
256或512开始。 - 运行时使用
tegrastats观察 GPU 和内存。
Char03:微调任务与数据准备
主题:
- 分类、生成、问答任务。
- 数据集加载、清洗、拆分。
- tokenizer 编码。
- Hugging Face
Trainer。
学习重点:
- 微调效果高度依赖数据质量。
- 任务类型决定模型架构和 loss。
max_length、batch size 和 epoch 是最先控制的资源参数。
Jetson Nano 建议:
- 不要使用 LLaMA 3B。
- 用 tiny BERT / DistilBERT 做分类。
max_length=64,batch_size=1。
Char04:量化、部署与性能测试
主题:
- 模型量化。
- FastAPI 部署。
- RESTful 推理接口。
- 性能测试。
学习重点:
- 部署不等于训练。
- 推理服务需要关注延迟、吞吐、内存占用和稳定性。
- 量化可以降低内存占用,但需要兼容硬件和推理框架。
Jetson Nano 建议:
- 优先部署小分类模型或 embedding 服务。
- 大生成模型用远程 API 或量化后的本地小模型。
Char05:智能客服
主题:
- 对话生成。
- FAQ 匹配。
- 情感检测。
- 知识库构建。
- 数据增强。
- 对话状态追踪。
学习重点:
- 客服系统不一定要完全依赖生成模型。
- FAQ 检索 + 模板回复常常更稳定。
- 生成模型适合处理未命中问题或润色回答。
Jetson Nano 建议:
- 本地做 FAQ 检索和 FastAPI。
- 复杂生成调用远端模型。
Char06:代码助手
主题:
- 代码生成。
- 错误检测和修复。
- 生成式与判别式模型结合。
- VS Code 插件。
- LSP。
- AST 解析和复杂度分析。
学习重点:
- 代码助手应结合静态分析和模型生成。
- 代码上下文检索非常重要。
- 插件端、后端、模型端应解耦。
Jetson Nano 建议:
- 本地做 AST、检索和 API 网关。
- 代码生成模型放到远端。
Char07:向量数据库与语义搜索
主题:
- Milvus。
- Sentence-BERT。
- HNSW / IVF。
- 相似度匹配。
- 排序与过滤。
学习重点:
- 向量检索是 RAG 的核心。
- embedding 模型决定召回质量。
- 索引参数决定速度和精度权衡。
Jetson Nano 建议:
- 小规模用 FAISS 或内存向量检索。
- 大规模 Milvus 放到服务器。
Char08:硬件开发助手
主题:
- 文档解析。
- 硬件语料库。
- 领域微调。
- 多步检索问答。
- 知识链和动态知识图谱。
- EDA 工具接口。
学习重点:
- 硬件助手最关键的是可靠知识库。
- RAG 比直接微调更适合持续更新文档。
- 工具接口要可控、可审计。
Jetson Nano 建议:
- 本地做边缘硬件控制和小规模检索。
- 推理和规划交给远端 LLM。
Char09:提示词优化
主题:
- Prompt 质量评估。
- Prompt 库。
- 聚类与分类。
- 自动扩展。
- Few-shot / Zero-shot。
- T5 prompt 优化。
- 对比学习。
学习重点:
- Prompt 是可管理资产,不是临时字符串。
- Prompt 需要版本、评估和样例集。
- Few-shot 样例质量通常比样例数量更重要。
Jetson Nano 建议:
- 本地维护 prompt 库和评估脚本。
- 生成和优化可调用远端模型。
Char10:翻译系统与翻译 Agent
主题:
- 文档翻译。
- 划词翻译。
- 翻译 Agent。
- 多语言翻译。
- 词典 vs 语料方法。
- BLEU / ROUGE 评价。
学习重点:
- 翻译系统包含解析、分段、术语、翻译、后处理和评估。
- Agent 负责调度模块,不等于单个模型。
- 翻译质量需要自动指标和人工评估结合。
Jetson Nano 建议:
- 本地做文档解析、分段、术语替换和评估。
- 翻译模型用小模型或远端 API。
总结
这些 Char*.txt 可以按三条主线学习:
- 模型原理线:Char01 -> Char02 -> Char03 -> Char04。
- 微调应用线:Char03 -> Char05 -> Char06 -> Char09 -> Char10。
- RAG / Agent 系统线:Char07 -> Char08 -> Char05 -> Char10。
Jetson Nano 最适合承载:
- tiny 模型训练。
- 小模型推理。
- RAG 原型。
- 边缘 API。
- 硬件集成 Agent 节点。
Page Source