
DeepSeek-R1模型扫盲(自学记录)
一、Deepseek本地部署方案
(一)、Deepseek本地部署 https://dblab.xmu.edu.cn/blog/5816/
(二)、常见问题及回复
-
这个部署完一共有多大?
模型文件大小,根据版本不同,最小1.1GB, 最大671GB -
对部署环境有什么具体要求?
Windows10以上、linux(无)、macos11以上 -
下载Ollama后还需要联网么?
不需要,仅需要预先下载ollama及相关模型文件 -
完全离线安装部署是否可行?如果不能完全离线,那打包成一个docker是否可以?
离线安装部署可行 -
部署完成后需要喂数据让他自学习么?后续需要更新么?如果需要该如何更新?
(1)针对个性化需求的话,需要自学习。通用任务(如文本生成、问答、对话等)已经预训练了,不需要
(2)更新必要性:考虑模型可能有性能提升;数据新鲜度;安全威胁等可能需要
(3)① 找到公开数据集通常为.json、.txt文件; ② 微调参数等 -
一个token对应几个字符?
不同模型可能采用各自的切分方法,因此,一个 Token 所对应的汉字数量也会有所不同。具体对应关系取决于分词方式:
英文:1个token通常对应1个单词或标点符号。例如,“Hello, world!” 可能被分成3个token:[“Hello”, “,”, “world”, “!”]。
中文:1个token通常对应1个汉字或标点符号。例如,“你好,世界!” 可能被分成5个token:[“你”, “好”, “,”, “世”, “界”, “!”]。
子词分词:某些模型(如BERT)使用子词分词,1个token可能对应单词的一部分。例如,“unhappiness” 可能被分成 [“un”, “happiness”] 或 [“un”, “happ”, “iness”]。
- embedding模型和rerank模型区别?
Embedding模型是一种将文本或其他类型的数据转换为稠密的低维向量的技术。这些向量(通常称为嵌入)旨在捕捉数据的语义特性,使得具有相似含义的数据在向量空间中的距离较近。
常见的embedding模型包括:
- Word2Vec:通过训练一个浅层神经网络,学习单词的向量表示。
- GloVe:通过全局词频统计来获得词向量。
- BERT embeddings:使用预训练的深度双向transformer网络来生成上下文相关的嵌入。
- FastText:类似于Word2Vec,但它还考虑了单词内部的结构(如字根)。
Rerank模型通常用在初始搜索结果之后,目的是通过更复杂的算法或模型来优化和重新排序这些结果。这一步骤可以帮助提升结果的相关性和质量。
Reranking的常见方法包括:
- Learning to Rank(LTR):使用机器学习方法来学习如何根据相关性对搜索结果进行排序。这可能包括线性模型、树模型、或神经网络。
- BERT for ranking:使用BERT或其他预训练的语言模型来理解查询和文档之间的深层语义关系,并据此对结果进行排序。
- Ensemble methods:结合多种排名信号和模型,通过加权或投票机制来确定最终排名。
在一个搜索引擎中,首先使用embedding模型快速检索出一批初步的搜索结果,然后应用rerank模型对这些结果进行精细的重排序。
- Transformer是什么? (transformer )
Transformer是一种用于自然语言处理(NLP)和其他序列到序列(sequence-to-sequence)任务的深度学习模型架构。
Transformer 结构
- 注意力层:使用多头注意力(Multi-Head Attention)机制整合上下文语义,它使得序列中任意两个单词之间的依赖关系可以直接被建模而不基于传统的循环结构,从而更好地解决文本 的长程依赖。
- 位置感知前馈层(Position-wise FFN):通过全连接层对输入文本序列中的每个单词表示进行 更复杂的变换。
- 残差连接:对应图中的 Add 部分。它是一条分别作用在上述两个子层当中的直连通路,被用 于连接它们的输入与输出。从而使得信息流动更加高效,有利于模型的优化。
- 层归一化:对应图中的 Norm 部分。作用于上述两个子层的输出表示序列中,对表示序列进 行层归一化操作,同样起到稳定优化的作用
-
如何实现个性化本地部署?如何训练?
docker部署dify、ragflow。 (已解决)
训练过于复杂,目前仅针对应用进行研究 -
硅基流动是什么?
硅基流动(SiliconCloud)是硅基流动公司推出的一站式大模型云服务平台,致力于为开发者和企业提供高效、低成本且全面的生成式人工智能(GenAI)模型服务,包括 IaaS、PaaS 和 MaaS。其核心目标是通过优化大模型使用体验,帮助用户实现 “Token 自由”,即以更低成本和更高效率使用先进的大语言模型(LLMs)及其他生成式人工智能(AI)模型。
二、Deepseek介绍
(一)公司简介
(1)DeepSeek成立于2023年7月,由国内知名量化资管公司幻方量化创立,专注于开发先进的大语言模型及相关技术。
(二)Deepseek优势
- 关键技术创新:
-
MLA架构:新型多头潜在注意力机制,显存占用仅为传统架构的5%-13%。
-
DeepSeekMoESparse结构:优化计算量,显著降低推理成本。例如,DeepSeek-V2模型每百万token成本仅1元人民币,是GPT-4 Turbo的1/70。
-
强化学习驱动:R1模型通过强化学习技术提升推理能力,仅需557.6万美元训练成本(OpenAI同类模型的1/10)。
推理模型: 如DeepSeek-R1,GPT-o3,是指能够在传统的大语言模型基础上,强化推理、逻辑分析和决策能力的模型。它们通常具备额外的技术,比如强化学习、神经符号推理、元学习等,来增强其推理和问题解决能力。
非推理大模型: 适用于大多数任务,非推理大模型一般侧重于语言生成、上下文理解和自然语言处理,而不强调深度推理能力。此类模型通常通过对大量文本数据的训练,掌握语言规律并能够生成合适的内容,但缺乏像推理模型那样复杂的推理和决策能力。
(三)产业链与生态合作
DeepSeek的成功依赖上下游产业链的支持,并形成广泛的应用生态:
-
算力支持:浪潮信息、中科曙光等提供高性能服务器与液冷系统。
-
数据合作:拓尔思、卓创资讯等贡献金融、政务领域数据。
-
应用场景:
-
教育:科大讯飞集成DeepSeek-Math模型推出AI辅导应用。
-
金融:与中信证券合作开发智能研报生成系统。
-
办公:金山办公WPS集成其API,公文生成效率提升3倍。
(四)挑战与未来展望
- 当前挑战:
-
算力依赖:高端芯片禁运可能限制其研发进度。
-
服务稳定性:用户量激增导致服务器短暂宕机。
- 未来方向:
-
AGI探索:梁文锋明确将通用人工智能(AGI)作为终极目标,强调基础模型创新的优先级。
-
生态构建:通过开源社区推动技术普惠,计划形成“基础模型研发—行业应用落地”的完整产业链。
三、大模型相关技术扫盲
(一)什么是大模型
- “大型语言模型”(Large Language Model,LLM )指的是使用深度学习技术训练出来的,具有大规模参数量的语言处理模型
(1)语言模型(Language Model,LM) 目标就是建模自然语言的概率分布。词汇表 V \mathbb{V} V 上的语言模型,由函数 P ( w 1 , w 2 , . . . w m ) P (w_1,w_2,...w_m) P(w1,w2,...wm) 表示,可以形 式化地构建为词序列 w 1 , w 2 , . . . w m w_1,w_2,...w_m w1,w2,...wm 的概率分布,表示词序列 w 1 , w 2 , . . . w m w_1,w_2,...w_m w1,w2,...wm作为一个句子出现的可能性大小。
减少模型参数空间方式:链式法则、n元语法
(2)LM模型发展
- n元模型(n-gram)
- 神经语言模型(Neural Language Models, NLM)
- 预训练语言模型(Pre-trained Language Models,PLM)
(二) 常用大模型介绍
- GPT
(1) 大模型构建流程
大模型应用
- 常用大模型框架
选择Ollama,可以跨平台,极简部署。
- 开源Ollama GUI客户端
(1)Lobechat
docker运行
- RAG(Retrieval-Augmented Generation,检索增强生成)框架:
(1)RAGFlow
2 Langchain
- 加载文件:将需要处理的文本文件加载到系统中。这些文本可以是百科全书、知识图谱或其他类型的知识源。
- 读取文本:从文件中读取文本内容,并将其转换为字符串格式。
- 文本分割:将输入的文本分割成单独的句子或段落。这可以通过正则表达式、分词器或其他文本处理方法实现。
- 文本向量化:将分割后的文本转换为数值向量。这可以通过词嵌入方法(如 Word2Vec、GloVe 等)或将文本转换为独热编码(one-hot encoding)来实现。
- 问句向量化:将用户输入的问句转换为数值向量。与文本向量化类似,可以使用词嵌入方法或独热编码来实现。
- 匹配查询:使用相似度计算方法(如余弦相似度、Jaccard 相似度等)在文本向量中找到与问句向量最相似的 top k 个文本片段。这些相似的文本片段可以作为上下文和问题的一部分,添加到 prompt 中。
- 构建 prompt:将匹配到的文本片段和原始问题组合成一个完整的 prompt。例如,“您的问题关于 […],以下是与您问题相关的上下文: […],请回答 […]”。
- 提交给 LLM 生成回答:将构建好的 prompt 提交给大型语言模型(如 GPT-3、ChatGPT 等)进行回答生成。模型根据 prompt 中的上下文和问题生成相应的回答。
- 输出回答:将模型生成的回答输出给用户,完成问答过程。
四、知识库使用
- 大模型主要缺陷
- 知识更新不及时:大模型的知识仅限于训练数据的截止时间,无法获取之后的知识
- 大模型幻觉问题:大模型一本正经的胡说八道,
- 大模型知识不足:大模型的知识有限,很多垂直领域的知识它都不知道
- 构建准确的语义表示
-
块优化
-
微调嵌入模型
在确定了 Chunk 的适当大小之后,我们需要通过一个嵌入模型将 Chunk 和查询嵌入到语义空间中。如今,一些出色的嵌入模型已经问世,例如 UAE、Voyage、BGE等,它们在大规模语料库上预训练过
- RAG优化
(1)数据获取
doc类,直接解析
PDF类,使用了多个开源模型进行协同分析
例如版面分析使用了百度的PP-StructureV2,能够对Text、Title、Figure、Figure caption、Table、Table caption、Header、Footer、Reference、Equation10类区域进行检测,统一了OCR和文本属性分类两个任务;
PPT类文档,将PPT转换成PDF形式,然后用上述处理PDF的方式来进行解析。
对动画是否能分析?(待解决)
(2) 文本分割
- 句分割:以”句”的粒度进行切分,保留一个句子的完整语义。常见切分符包括:句号、感叹号、问号、换行符等
- 固定大小的分块方式:根据embedding模型的token长度限制,将文本分割为固定长度(例如256/512个tokens),这种切分方式会损失很多语义信息,一般通过在头尾增加一定冗余量来缓解。
- 基于意图的分块方式: 常用的意图包有基于NLP的NLTK和spaCy
!!!
当前分片问题:
自动生成问答对;
跨页分行;
语义分析;
处理PDF---->转为markdown;
预处理文本;
!!!
TopK: 用于筛选与用户问题相似度最高的文本片段。系统同时会根据选用模型上下文窗口大小动态调整片段数量。默认值为 3,数值越高,预期被召回的文本分段数量越多。
Score 阈值: 用于设置文本片段筛选的相似度阈值,只召回超过设置分数的文本片段,默认值为 0.5。数值越高说明对于文本与问题要求的相似度越高,预期被召回的文本数量也越少。
使用大模型参数设置 https://zhuanlan.zhihu.com/p/24484122371
待做:embedding和ranking模型区别;各参数意义;
吴未汇报交流
切片大小的影响
metaGPT
规则生成 样式------------------> 数据库查询难点在哪
graph RAG
知识库:通用、混合、父子模式对比
提示词;阿里泄露的
hugging face微调后的模型
微调模型
ttp 日志 重放攻击
参考文献
[1] 张奇、桂韬、郑锐、黄萱菁. 大规模语言模型:从理论到实践[M/OL]. 上海, 2023. https://intro-llm.github.io/.
更多推荐
所有评论(0)