
Hello,大家好,我是人月聊IT。
今天给大家推荐和导读下《DeepSeek原理与项目实战》这本书。为何导读这本书,因为在DeepSeek方面的书,前面更多的都是关于DeepSeek应用技能和提示语如何编写方面的。实际这类书籍我一直的观点就是阅读的意义不大,你看看相关电子文档或在线视频基本足够了。
而今天这本讲DeepSeek原理和实战的书,可能更适合程序员读。整本书内容的大家从题目可以看到,核心就两个部分。其一是DeepSeek概念原理方面的内容,其二是项目实战方面的内容。
我顺着这个顺序来给大家讲下关键点。
1. DeepSeek的关键技术应用
DeepSeek本身也是大模型,特别是DeepSeek V3更是通用大模型,和我们接触的GPT4或Claude大模型的底层技术并没有太大的差异。所以在这块内容不是讲基本的Transformer和自注意机制,而是应该突出DeepSeek核心的差异化点,包括对已有技术的优化。
自注意力-多头注意力->多头潜在注意力
首先谈下自注意力机制,在这里要注意DeepSeek重点并不算多头注意力机制,因为多头注意力机制(Multi-Head Attention,MHA)并不是由DeepSeek提出的,而是由Vaswani等人在2017年提出的Transformer架构中首次引入。
DeepSeek对多头注意力机制进行了改进,提出了多头潜在注意力机制(Multi-Head Latent Attention,MLA)。MLA的核心思想是通过低秩联合压缩键值(Key-Value,KV)对传统MHA的KV缓存进行优化,从而减少推理时的内存占用和计算开销。具体来说,MLA将多个注意力头的Key和Value投影到一个低维的共享潜在向量空间中,取代了传统的逐头存储方式。这种方法在推理阶段只需更新潜在向量,而无需存储所有历史KV缓存,显著降低了内存占用。
MOE混合架构->动态路由
MOE(Mixture of Experts)混合专家模型的的本质是就是分而治之的思路。简单来说就是将原有的大专家模型拆分为多个“专家子网络”,不同任务激活不同专家(如文本生成、代码解析各由专属模块处理)。然后再通过通过门控网络(Gating Network)分配任务权重,避免资源浪费。
在这里同样注意,MOE也不是DeepSeek提出的。但是DeepSeek在MoE架构中引入了动态路由算法,优化了专家选择和负载均衡。通过动态偏置调整专家利用率,避免了传统方法中辅助损失函数对训练目标的干扰。
如何来理解这点呢?就是你细分了1000个不同的专家不是重点,重点是你基于不同的问题场景,究竟应该如何拆分问题,知道你用过拉起或启动哪些专家才是重点。这就涉及到核心的动态路由算法和负载均衡。
FP8混合精度训练
这个在书里面讲的很清楚。DeepSeek-V3首次在千亿级模型上验证了FP8混合精度训练。通过细粒度量化、动态缩放和混合存储等技术,降低了训练成本和GPU内存占用。
简单来说就是将两种精度使用在训练中混合使用。在模型的前向传播和部分反向传播中使用FP8低精度格式,减少计算复杂度和内存占用。而在关键步骤(如梯度累积和权重更新)中使用更高精度(如FP16或FP32),以避免数值不稳定。
再举例来说,一个复杂的带小数的四则运算,我们最终的结果需要保留2位精度。但是里面有乘法,也有加分。对于乘法运算小数点的位数对精度影响就相对大,而加分影响小。
比如6.5+6.5,如果取整结果是12,高精度预算结果13,相差1。但是如果两个数相乘,取整结果是36,但是实际保留精度运算结果是42,相差6。那么我们再混合精度的时候可以采用加法运算低精度处理,而乘法运算高精度处理。
多Token预测(MTP)
为何要把这点单独来出来谈,因为多Token并行预测可以极大的提升推理的速度。特别是在类似AI辅助写代码场景意义更大。也就是原来大模型是一个词一个词的吐出来,采用MTP后大模型可以做到一次同时吐2到3个单词出来,速度自然加倍。
我们来举例做以下简单的说明如下:
长上下文扩展支持能力
DeepSeek通过技术优化,将上下文窗口扩展至128K Token。这使得模型能够处理更长的文本,适用于文档分析、代码库理解等场景。
能够处理长达128K Token的上下文,使DeepSeek在处理长文档、多文件项目以及复杂数据集时更具优势。例如,在法律文件分析、技术文档处理、文学作品创作等场景中,模型可以完整地理解和处理整个文档,而不会因上下文长度限制而影响性能
蒸馏技术
在该书中没有讲到,但是在DeepSeek学习的时候还是需要去了解的一个关键概念。我在前面公众号文章有谈到。
一谈到蒸馏这个词,很容易联想到三体里面乱纪元谈到的三体人脱水的情节。简单来说蒸馏技术就是浓缩后的都是精华。蒸馏技术将类似老师的大模型抽取精华并压缩,形成小模型后再投喂给学生,从而达到接近大模型的训练或推理效果。
DeepSeek的蒸馏技术采用了监督微调的方式,将教师模型的知识迁移到学生模型中,这一方法在行业内已有广泛应用。DeepSeek在知识迁移策略上进行了多项创新,例如特定任务蒸馏针对不同任务进行优化,提升了学生模型在特定领域的性能。例如DeepSeek-R1-Distill-Qwen-7B在AIME 2024基准测试中实现了55.5%的通过率,超越了QwQ-32B-Preview。
以上基础的概念原理在这本书里面基本都有比较系统的讲解。这些原理的理解也是我们后续能够基于DeepSeek进行开发部署,集成,模型调优等的关键。
2. DeepSeek的实战应用
这本书的第三部分(第 10~12章)详细讲解了从函数回调、缓存机制到实际应用开发的全流程。
书中通过对 DeepSeek 开放平台与 API 的深度剖析,提供了从 API 调用到性能优化的全方位指导。同时,通过三种实际场景的集成开发案例展示了 DeepSeek-V3 在生产环境中的强大应用潜力。
集成实战1:基于LLM的Chat类客户端开发
集成实战2:AI 智能助理开发
集成实战3:基于VS Code的辅助编程插件开发
对于这块是本书的另外一个重要内容,教会你知道如何通过API调用和DeepSeek进行深度集成,包括Function Call函数调用和外部能力的集成。
对于大模型的应用,我原来谈到过一种就是直接使用类似coze,dify, ragflow,anythingllm等工具来实现和大模型的集成。包括实现可视化的智能编排等方式来实现AI Agent应用。
还有一种方式就是直接和大模型的底层API对接,通过能够通过function all方式来实现大模型对外部能力的调用和集成。这个实际在原来讲LLM大模型开发,langchain开发的很多书中都会谈到。
那么除了这块还有哪些内容?我们个人理解还有两个相对重要的内容。
第一个就是大模型的微调,这个在DeepSeek大模型开发里面应该如何做?包括我应该如何准备相关的数据集对大模型进行预训练,在训练过程中对大模型参数进行优化等。
这个实际是在我们进行DeepSeek大模型开发的时候相当重要的一个内容。大模型实战开发不是说你要去改DeepSeek的开源代码,大部分人也没有这个水平。更多的还是去学会大模型调优,参数优化方面工作。
第二就是在讲基于VS Code辅助编程插件的时候,应该进一步讲解下本地化的MCP Server和MCP框架协议。
MCP Server(Model Context Protocol Server)是一种基于模型上下文协议(MCP)的轻量级服务,旨在为AI模型提供标准化的外部资源访问和工具调用能力。它通过统一的通信协议,让AI模型能够安全地与本地或远程的数据源、工具和服务进行交互。
AI模型通常擅长处理文本或数据,但它们本身无法直接访问外部资源(如数据库、API、文件系统)。MCP Server作为桥梁,让AI模型能够调用外部工具和服务,从而扩展其功能。例如,通过MCP Server,AI模型可以读取本地文件、查询数据库、调用API或执行脚本。
MCP 将不同服务和平台的能力列表告诉 AI Agent,AI Agent 根据上下文和模型的推理,判断出是否需要调用某个服务,接着使用 Function Calling 执行函数,这个函数是通过 MCP 来告诉 Function Calling 的,最后通过 MCP 协议提供的具体代码来完成整个过程。 https://guangzhengli.com/blog/zh/model-context-protocol
MCP Server的作用可以通俗易懂地理解为:它是一个“万能接口”,让AI Agent可以用统一的方式去访问和操作各种不同的资源,而不需要为每个AI Agent开发不同的接口。
os和file模块。现在,只需开发一个遵循MCP标准的文件系统MCP服务器,AI Agent就可以通过这个服务器读取、写入和管理文件,无需为不同的文件系统开发不同的接口。总的来说,MCP Server的出现让AI Agent的开发变得更简单、更高效,同时也让AI助手变得更智能、更实用。
MCP Server为AI模型提供了一种标准化的外部资源访问和工具调用能力,极大地扩展了AI模型的功能范围。它通过简化开发流程、增强数据安全性和隐私保护,以及促进生态系统的协作,成为AI编程中不可或缺的工具。
比如我们在使用Cursor这样的AI编程工具时,Cursor可以MCP来实现对本地代码的文件的访问,二次解析和索引创建,并详细阅读理解你原有整个工程项目上下文,而不需要讲所有源代码都上传到外网。同时MCP还可以和本地的数据库,文件多个资源进行访问和联动。对于我们要走安装在本地的一些AI智能体的时候,MCP是一个很好的思路或框架。
最后简单总结下本书的一些关键特色。
● 技术前瞻性:内容体系深度结合DeepSeek技术团队的最新研究成果,在模型发布后第一时间完成知识体系转化,确保技术解密的时效价值。
● 实战系统性:突破传统技术书籍重理论轻实践的局限,从生成式AI的理论基础讲解到DeepSeek-V3的技术架构,再到具体的开发实践,构建了从模型部署、参数微调到应用落地的全链路技术框架。
通过近100个案例和实践项目帮助读者在实际操作中加深对知识的理解,使学习过程既不枯燥又具有深度。为了确保读者实现学完即用,用即见效,同时这本书还附赠了DeepSeek-R1参考指南及完整开源代码库等配套内容,方便你最快速度上手DeepSeek开发实战。
● 应用普适性:既满足初学者从零构建大模型认知体系的需求,又为资深工程师提供分布式训练优化、长上下文处理等进阶解决方案。
如果你是一个期望采用DeepSeek作为底层大模型进行应用开发和集成的读者,这本书可以原理到实战给你一个较为全面的参考。让人这本书更多还是一个指引,真正的能力提升还得多结合项目实际情况进行实践。
当然,如果你不是希望获取大模型开发知识讲解,更多的是希望掌握DeepSeek的使用技能,特别是提示词的一些编写底层逻辑,那么还可以参考下人邮最近新出版的另外一本书《DeepSeek极速上手:高效做事不内耗》。这本书的重点会更加深入的讲解清楚提示语编写逻辑。
这本书从问题复杂度层级切入,重点提出了科学使用提示词的策略:
简单问题使用简单提示词,复杂问题必须使用复杂提示词。这一策略的本质是“以问题为中心,以效率为导向”的人机协作新范式。
那什么是简单问题,什么是复杂问题?本书构建了一个用于区分问题类型的“五维问题复杂度判断框架”,分别从信息维度、逻辑维度、领域维度、输出维度和验证维度对一个问题的类型进行判定,从而快速明确问题类型,继而采取相应的问题解决策略。
基于“五维问题复杂度判断框架”,本书着手构建了“问题复杂度层级”。
书中贴心地展示了操作过程。
复杂问题
针对复杂问题,本书基于提示工程提出了 DeepSeek提示词方法论:六定模型。
该模型从6个关键要素入手,进行全方位、精细化的筹划设计,旨在深度挖掘问题本质,有效解决复杂难题,为用户提供精准、高效的解决方案。
根据六定模型,书中提炼出了一个适配DeepSeek的提示词结构模版,并举例说明具体步骤。
当然,这本书也不只是讲提示词。同时也对DeepSeek 推理大模型的技术原理与应用方法展开了系统性剖析。无论你是AI技术的初学者,还是经验丰富的专业人士;无论你是职场人士、创作者、教育工作者,还是商业决策者,只要你对利用DeepSeek等AI技术提升自我、减少内耗、实现高效工作感兴趣,这本书都将为你提供实用的指导和启发。