Langchain-Chatchat/knowledge_base/samples/content/llm/大模型应用技术原理.md

97 lines
5.1 KiB
Markdown
Raw Normal View History

2023-11-23 14:18:00 +08:00
# 大模型应用技术原理
- RAG
- 向量数据库 [对比]("https://www.jianshu.com/p/43cc19426113")
- 选型标准
- 开源vs.闭源vs. 源码可见
- 客户端/SDK语言
- 托管方式
- self-hosted/on-premise
- redis,pgvector,milvus
- managed/cloud-native
- zilliz,pinecone
- embeded+cloud-native
- chroma,lanceDB
- self-hosted+cloud-native
- vald,drant,weaviate,vspa,elasticsearch
- 索引方法
- 算法
- Flat
- Tree-based
- Annoy(Approximate Nearest Neighbors Oh Yeah)
- KD-Tree
- Trinary Projection Trees
- IVF
- IVF
- IVMF(Inverted Multi-index File)
- Graph-based
- HNSW
- NSG
- Vamana(DiskANN)
- ![图片](./img/大模型应用技术原理-幕布图片-793118-735987.jpg)
- ![图片](./img/大模型应用技术原理-幕布图片-580318-260070.jpg)
- Hashing-based
- LSH
- Spherical Hashing
- Spectral Hashing
- 量化
- PQProduct Quantization
- PQ 将特征空间分解为多个低维子空间的笛卡尔乘积,然后单独地对每一个子空间进行量化
- SQScalar Quantization
- SQ是将每一个维度量化成指定位数的一个数
- 主流方案
- professional
- weaviate
- 1. 文档丰富,容易上手
- 2. 提供混合索引
- 3. 支持自托管+云原生
- 4.支持python,js,ts,go,java等客户端
- 5. 支持HNSW,HNSW-PQ,DisANN等索引
- chroma
- LanceDB
- pinecone
- 1. 完全云原生,非常容易上手
- 2. 自建复合索引
- faiss
- 1.来自 Meta AI原 Facebook Research的开源项目
- 2.同时支持cpu和GPU两种设备
- 3. 支持C++,python, go等客户端
- 4. 支持常见的索引方式如IVF,HNSW,支持PQ量化
- 5. in-memory运行
- 6. self-hosted
- milvus
- 1. 通过代理、负载均衡器、消息代理、Kafka和Kubernetes的组合实现了高度可扩展性这使得整个系统变得非常复杂和资源密集
- 2. 截至2023年它是唯一一个提供可工作的DiskANN实现的主要供应商
- 3. 支持在向量相似度检索过程中进行标量字段过滤,实现混合查询
- 4. 采用 **存储与计算分离** 的架构设计
- 5. 提供python,juava,go,node.js等语言SDK,也提供milvus lite等in-momery运行
- 6. 提供了图形界面客户端
- traiditional
- ES
- redis
- pgvector
- Embedding模型
- bi-encoder
- cross-encoder
- 【可选】文本检索引擎
- ElasticSearch
- OpenSearch
- 【可选】图数据库
- 检索
- 向量检索
- 关键字检索
- BM25
- NL2Cypher
- NL2SQL
- RAG增强
- Self-RAG
- 框架
- 自反思检索增强生成Self-RAG, Self-Reflective Retrieval-Augmented Generation。这是一个新框架它不仅可以根据需要自适应地检索段落模型可以判断是否有必要进行检索增强还引入了名为反思令牌reflection tokens的特殊令牌使LM在推理阶段可控。
- ![图片](./img/大模型应用技术原理-幕布图片-108319-429731.jpg)
- ![图片](./img/大模型应用技术原理-幕布图片-918388-323086.jpg)
- 训练
- 首先,训练评论家,使用检索器检索到的段落以及反思令牌增强指令-输出数据,然后,使用标准的下一个 token 预测目标来训练生成器 LM以学习生成 自然延续(continuations)以及特殊 tokens (用来检索或批评其自己的生成内容).
- 推理
- 它可以适应性地使用检索令牌进行检索因此模型可以自发判断是不是有必要进行检索。它引入了多种细粒度的批评令牌这些令牌用于评估生成内容的各个方面的质量。在生成过程中作者使用期望的批评令牌概率的线性插值进行segment级的beam search以在每一个时间步骤中确定最佳的K个续写方案
- Agent
- function call
- ToolFormer