DeepSeek AIGC的相关架构
DeepSeek R1及蒸馏模型
- DeepSeek-R1模型参数:671B(6710亿),模型大小:约720G。
- DeepSeek-R1-Distill-Qwen-1.5B模型参数(15亿), 模型大小:约4G
- DeepSeek-R1-Distill-Qwen-7B模型参数 (70亿), 模型大小:约15G
- DeepSeek-R1-Distill-Llama-8B模型参数 (80亿), 模型大小:约16G
- DeepSeek-R1-Distill-Qwen-14B模型参数 (140亿),模型大小:约30G
- DeepSeek-R1-Distill-Qwen-32B模型参数 (320亿),模型大小:约75G
- DeepSeek-R1-Distill-Llama-70B模型参数(700亿),模型大小:约140G
- DeepSeek-R1 671B
- DeepSeek-R1-Distill-Llama-70B
显然不适合在个人电脑上部署,而其余五个模型则完全可以在个人电脑上进行部署。
为什么需要模型运行框架
模型运行框架是指用于训练、推理和部署大型语言模型(LLMs)的软件工具和库。这些框架通常提供了高效的计算资源管理、分布式训练、模型优化和推理加速等功能,以便更好地利用硬件资源(如GPU和TPU)来处理庞大的数据集和复杂的模型结构。
大模型框架的优点
- 高效性:通过优化计算和内存管理,这些框架能够显著提高训练和推理的速度。
- 可扩展性:支持分布式训练,可以在多个GPU或TPU上运行,适用于大规模数据集和复杂任务。
- 灵活性:提供丰富的API和工具,使得研究人员和工程师可以方便地进行定制化开发。
- 易用性:通常具有良好的文档和社区支持,降低了使用门槛。
常见的大模型框架
- Ollama + OrbStack (个人部署,简单易用)
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
- vLLM
- TensorRT-LLM ( Nvidia官方 )
- SGLang (11.2K star)
在运行 Llama 3.1 405B 时,它的吞吐量和延迟表现都优于 vLLM 和 TensorRT-LLM。在某些情况下(运行 Llama 系列模型),它的吞吐量甚至能达到 TensorRT-LLM 的 2.1 倍,vLLm 的 3.8 倍。
DeepSeek模型及配置推荐
| DS模型 | 显存需求 | 推荐推理卡型号 | 推荐数量 | 推荐机型和配置 |
|---|---|---|---|---|
| 7B | ≥20GB | RTX 40XX / LXX /A3X / A4X | 1张 | |
| 14B | ≥35GB | RTX 40XX / LXX 48G | 2-4张 | |
| 32B | ≥72GB | H1XX 80GB A1XX 80GB LXX 48G 58XX ADA 48GB RTX 40XX | H20 96G 1张 80GB:1张 48GB:3张 24GB:4张 | |
| 70B | ≥140GB | H1XX 80GB A1XX 80GB LXX 48G 58XX ADA 48GB RTX 40XX | H20 141G 1张 80GB:2张 48GB:4张 24GB:8张 | |
| 671B | ≥800GB(FP8) | H1XX 80GB H20 96GB H20 141GB | 16张 |
DeepSeek R1 671B Q4 是一个超大规模的 AI 模型。
模型规模:671B 参数
比喻:想象一座巨大的图书馆,里面有 6710 亿本书(参数),每一本书都记录了不同的知识和规则。这座图书馆的规模远超普通图书馆,几乎涵盖了人类已知的所有领域。
解释:671B 参数意味着模型拥有极其庞大的知识库和计算能力,能够处理非常复杂的任务。
量化级别:Q4和AWQ
比喻:假设你有一幅高清的名画,但为了节省空间,你将它压缩成一个小尺寸的版本(Q4 量化)。虽然画作变小了,但关键细节仍然保留,整体效果依然令人惊叹。
解释:Q4 量化是一种模型压缩技术,将模型的参数从高精度(如 16 位浮点数)压缩到低精度(如 4 位整数)。虽然精度降低了,但模型的核心能力仍然保留,同时大幅减少了计算资源的需求。
总结:
DeepSeek R1 671B Q4 是一个超大规模的 AI 模型,就像一座巨大的图书馆和一位全能顾问的结合体。通过 Q4 量化技术,它能够在保持高性能的同时,降低对硬件的要求,成为一把适用于各种场景的“瑞士军刀”。
AWQ的基本原理
AWQ方法的核心思想是通过自适应调整量化位数,以实现在保持模型性能的同时最大化压缩效果。它根据权重的分布动态分配量化位数,对重要权重给予更高的量化精度,而对不重要的权重则采用较低的量化精度。这种灵活性使得AWQ方法能够在压缩模型大小的同时,尽可能减少性能损失。
Embedding嵌入模型
语义向量模型(Embedding Model)是语言模型生态体系中的重要组成部分,这一技术被广泛应用于搜索(Search)、问答(QA)、大语言模型检索增强(RAG)等应用场景之中。嵌入模型可以将我们上传的文件转换成计算机容易理解的数字,然后储存到它的向量数据库中。我们在向它提问时,它就会通过RAG技术,在数据库中搜索相关的答案,最终输出给我们。
智源 BGE(BAAI General Embedding)模型自去年8月发布后广受好评,被开源爱好者集成至 LangChain、Llama_index 等项目,全球下载量已达713万次。
近日,智源发布了BGE家族新成员——通用语义向量模型BGE-M3,支持超过100种语言,具备领先的多语言、跨语言检索能力,全面且高质量地支撑“句子”、“段落”、“篇章”、“文档”等不同粒度的输入文本,最大输入长度为 8192,并且一站式集成了稠密检索、稀疏检索、多向量检索三种检索功能,在多个评测基准中达到最优水平。
BGE-M3是首个集多语言(Multi-Linguality)、多粒度(Multi-Granularity)、多功能(Multi-Functionality)三大技术特征于一体的语义向量模型,极大提升了语义向量模型在现实世界的可用性。目前,BGE-M3已向社区全面开源并支持免费商用许可。
知识库名称并选择嵌入模型为: BAAI/bge-m3
DeepSeek的应用场景架构
本地客户端
- AnythingLLM
- Chatbox
- Cherry Studio
通过API接口调用
- FastAPI
- gRPC接入
- WebSocket
- 消息队列(如RabbitMQ、Kafka)接入
通过插件或SDK接入
- WordPress
- Discord
- Slack
利用Vllm/sglang部署DeepSeek
DeepSeek的私有化部署
为什么要私有化部署
从赋能场景来看,券商们的主要目标是加速数字化转型,完善“智能化”服务。值得一提的是,对于为何接入DeepSeek,上述券商均指向了“高性能、低成本”。 据公开资料显示,DeepSeek-V3和R1的训练成本仅为560万美元,远低于行业平均水平,且模型架构完全开源,支持私有化部署,有效保障了数据安全。
关于GPU选型
推理场景
- 英伟达 4090、H100、H20、H200 并发和性能支持情况
- 沐曦 C500 (资料下载是保密的,需要厂家授权下载,
测试还在进行中,效果很好) - 昇腾 910b
- 昆仑芯 p800
训练场景
- Nvidia A100/A800
- Nvidia H100/H800/H20
- Nvidia B200/GB200
DeepSeek不同版本的差异
DeepSeek R1
DeepSeek-R1 是一款高性能 AI 推理模型,旨在通过强化学习技术提升模型在复杂任务场景下的推理能力。
中信建投证券首席策略官陈果表示,
- 中小模型如1.5B、7B和14B适合简单的微信交流场景,但无法解决复杂问题;
- 32B模型具备深度思考能力,适用于服务客户的微信交流。
- 70B模型及671B完整版 需要企业级显卡如A100或H100支持,不适合消费级硬件。
DeepSeek V3
最早的版本,无思考过程,适用于快速查询知识,及时获取响应的场景。
DeepSeek的参数解读
前期调研工作
- NAT网关、负载均衡、防火墙
- 公网带宽、公网IP
- 裸金属主机、云主机、物理机
- 需不需要共享存储(分布式、高性能、读写隔离)
- 机柜空间、电力要求
- 物流接收人员不给力,前一天推说只有一个人收不了
- 托架和网络拉纤没有提前准备(前后浪费一个多小时)
- 机房无 wifi,需要自己开热点,测试不方便且不太稳定
- 服务器的 cx4网卡识别不了(BMC上看不到,拆箱重新插拔才识别,安装mellux的驱动,用ibstats检查)
- 光纤模块有问题,最后无奈检查更换后才发光,机房的值班运维根本不管事
软件部分
- CUDA 和 NVIDIA 驱动已安装。(参考 gpu4090 开启p2p🚀)
apt --purge remove "cuda*" apt install nvidia-driver-570-server
- Docker Compose 和 NVIDIA Container Toolkit 已安装。
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list apt -y update apt -y upgrade apt install docker-compose nvidia-container-toolkit systemctl enable --now docker
- 确保所有机器的时间同步(使用 timesynced 或 chrony)
timedatectl set-timezone Asia/Shanghai sed -r -i '/^#{0,}NTP/s@.*@NTP=cn.pool.ntp.org@g' /etc/systemd/timesyncd.conf systemctl daemon-reload systemctl restart systemd-timesyncd
- 确保DNS解析正常(systemd-resolved)
模型文件
- DeepSeek-R1 70B
- QWQ32B
运行容器构建
docker pull sglang/sglang:latest FROM sglang/sglang:latest # 安装额外依赖 RUN pip3 install deepseek-r1 docker build -t sglang-deepseek:latest . docker run --gpus all --network host -tid \ sglang-deepseek:latest sglang-server \ -v /data/models/deepseek-r1:/models \ --model /models/deepseek-r1 --tensor-parallel-size <GPU数量>
GPU压测
- hashcat 压力测试
- vllm/sglang 压测流程
netplan网络配置
禁用cloud init配置
bash -c 'echo "network: {config: disabled}" > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg'
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following: # network: {config: disabled} network: version: 2 ethernets: intel: match: name: ens37f* mtu: 1500 mlx5: match: name: ens1f* mtu: 1500 bonds: bond27: interfaces: [intel] dhcp4: false addresses: [192.168.27.160/24] routes: - to: default via: 192.168.27.254 optional: true nameservers: addresses: [218.85.157.99, 114.114.114.114] parameters: mode: 802.3ad lacp-rate: fast mii-monitor-interval: 100 transmit-hash-policy: layer3+4 bond12: interfaces: [mlx5] dhcp4: false parameters: mode: 802.3ad vlans: vlan12: id: 12 link: bond12 addresses: [192.168.12.160/24] nameservers: addresses: [218.85.157.99, 114.114.114.114] routes: - to: 192.168.12.0/24 via: 192.168.12.254

