【大模型私有化部署要花多少钱?】一张图看懂你的钱用在哪

【大模型学习】私有大模型部署(基础知识) 保护内部隐私。 阅读详情
AI摘要

本文聚焦DeepSeek大模型私有化部署,先介绍大模型性能指标,包括系统级和个人用户体验指标,用roofline模型分析算力平台和模型相关指标;接着评估部署成本,根据业务场景选模型,以4090、H20加速卡为例讨论,还提及不同模型特点及价格评估情况。

DeepSeek 热度持续,大家都在探索DeepSeek的使用场景,拓宽它的使用边界。在一些数据安全敏感的场景私有化部署是企业落地LLM的重要选项。本文将详细的讨论如何才能高性价比的完成DeepSeek的私有化部署,下面将以两个章节来讨论这个问题:第一章节定义一些大模型服务的性能指标,第二个章节评估私有化部署大模型的成本情况。

一,大模型的性能指标:

我们把评估大模型服务的指标体系分为两类: 一类是系统级别的指标,一类是个人用户体验的指标。

系统级别指标主要评估LLM服务的整体性能,这些指标都和成本相关。

吞吐量(Throughput): 推理服务器每秒可为所有用户和请求生成的输出token数量。吞吐越高则单token成本越低。

并发数(Concurrency) :系统在同一时间正在处理的请求数量,单台设备同一时间能服务的请求越多,单请求的成本越低。

个人用户体验的指标主要评估LLM服务的个人体验情况,可以视做SLO。

首token生成时间(Time To First Token,TTFT):用户提交提示词(prompt)后开始看到模型输出的速度。较短的响应等待时间对于实时交互至关重要,但在离线工作负载中则不那么重要。该指标由处理提示词(prompt)并生成第一个输出令牌所需的时间决定。

单token 生成时间(Time Per Output Token,TPOT):为每个用户生成单个token所需的时间。该指标直接影响用户对模型"速度"的感知。例如,100毫秒/token 的TPOT相当于每秒每个用户生成10个令牌,或约450词/分钟,这比普通人阅读速度更快。

从成本优化的角度看,我们希望吞吐量越大越好,从用户体验的角度看TTFT和TPOT 越小越好。这两个方向往往不能同时达到, 当并发增加时吞吐量提高,但是TPOT也会随之变大。所以实际部署中为了满足一定的TPOT,需要控制系统的并发上限,这个时候的吞吐量就是这个系统不触发SLA情况下能达到的系统吞吐量。

这里的性能分析使用roofline模型进行分析,我们也把roofline的分析指标分为两类:一类是算力平台指标,一类是模型相关的指标。

算力平台的指标主要评估的算力平台处理模型计算任务的能力,这些指标和系统瓶颈在哪里相关

算力 π :为GPU一秒可以完成的浮点数计算量,是计算平台的性能上限,如 H100 FP16 是 989 FLOP/s

带宽 β :为GPU一秒最大可以完成的内存交换量,是计算平台的带宽上限。如H100 是3.35 TB/s

计算强度上限 Imax :GPU上单位内存交换最多可以完成多少次运算,以上两个指标相除即可得到计算强度。 比如H100 的计算强度就是 295。

模型相关的指标主要评估的是模型解码过程中需要计算资源,这些指标和模型如何部署相关

计算量:模型生成一个token所需要的浮点数运算个数,单机部署的模型参数越多,处理的序列越长计算量越大。

访存量:模型生成一个token所需要发生的内存交换总量,单机部署服务的请求越多,处理的序列越长访存量越大。

二,部署大模型的成本情况

为了确认大模型的成本我们首先需要根据业务场景的复杂程度来确认到底使用哪个模型,DeepSeek 最新发布的系列模型简要列于下表

模型

特点

备注

DeepSeek-V3 671B

擅长语文,聊天

综合能力强

成本高

DeepSeek-R1 671B

擅长写代码,做数学

综合能力强

成本高

DeepSeek-R1-Distill-Qwen-32B

擅长写代码,做数学,基于Qwen蒸馏,中文比较好

成本低

适合专项场景

DeepSeek-R1-Distill-Llama-70B

擅长写代码,做数学,基于Llama蒸馏,中文略差于Qwen

成本低

适合专项场景

根据DeepSeek的论文, 使用R1模型SFT的Distill模型,继续使用RL还可以增强其能力,阿里最新的QwQ 32B模型也证明了这个研究方向,在客观的benchmark评测中得分很高。

(deepseek 论文)

(QwQ-32B 评测结果)

整体来看小模型能力弱于大模型,但某些场景下小模型回答的准确性足够,比如简单一些的客服场景,某个领域的专业模型。

下面会以4090,H20 做为主要的加速卡来进行讨论,H20 明显的特征是:显存大;显存带宽高;GPU互联带宽大。非常适合做为LLM推理的加速卡。4090 受互联能力限制,单机8卡性价比超高(可根据第一章节来做推导)。

H20 参数如下:

RTX 4090 参数:

下表是价格评估(政策等原因,价格会随市场发生变化)

模型

显存要求

高性价比硬件配置

价格预估

并发估算

DeepSeek-V3 671B

基础:700GB

kv cache:5k上下文,约2.5GB

H20 141GB 1台/ H20 96GB 2台

本地私有化部署:

H20 2台,约300万

可支持约50人并发(即同一时刻使用),假设总人数的10%会同时使用,可支持约500人使用

云端私有化部署:

H20 2台,约6万/月

DeepSeek-R1 671B

基础:700GB

kv cache:5k上下文,约 2.5 GB

H20 141GB 1台/ H20 96GB 2台

本地私有化部署:

H20 2台,约300万

云端私有化部署:

H20 2台,约6万/月

DeepSeek-R1-Distill-Qwen-32B

基础:70GB

kv cache:5k上下文,约8 GB

4 张4090/8张4090 1台

本地私有化部署:

1台8卡4090,约25万

小模型+短上下文的情况下,并发可达满血的3-4倍

云端私有化部署:

1台8卡4090,约1w/月

DeepSeek-R1-Distill-Llama-70B

基础:150GB

kv cache 5k上下文,~10 GB

8张4090 1台/A800 80GB 台/H20 96GB 1台

本地私有化部署:

1台8卡4090,约25万

小模型+短上下文的情况下,并发可达满血的2-3倍

云端私有化部署:

1台8卡4090,约1w/月

有私有化需求请戳解决方案 - OneThingAI算力云 - 热门GPU算力平台

参考文献:

1, 谈谈微信+DeepSeek

2,https://zhuanlan.zhihu.com/p/23282743306?utm_medium=social&utm_psn=1873120562987016192&utm_source=wechat_timeline&utm_id=0

3,https://arxiv.org/pdf/2412.19437v1

如何在自己电脑上私有化部署deep seek 要在自己的电脑上私有化部署 DeepSeek,通常需要以下步骤: 阅读详情

相关推荐

DeepSeek R1 Ollama本地化部署全攻略:三步实现企业级私有化大模型部署

Ollama作为当前最受欢迎的本地大模型运行框架,为DeepSeek R1的私有化部署提供了便捷高效的解决方案。本文将深入讲解如何将Hugging Face格式的DeepSeek R1模型转换为Ollama支持的GGUF格式,并实现企业级的高可用部署方案。文章包含完整的量化配置、API服务集成和性能优化技巧。

理论都是虚的,代码才是王道。 1万+

企业部署ActAgent AI大模型的成本与价格解析

ActAgent是由明大网络科技推出的企业级AI大模型部署产品,其核心定位不是“回答问题”,而是“持续推动目标达成”。

2601_96553047的博客 350

私有化大模型部署

不同的私有化大模型部署方式适用于不同的业务需求和技术场景,企业可以根据以下因素选择最适合的部署方式:数据隐私要求:如果对数据隐私有极高要求,可以选择本地部署或私有云部署。计算资源需求:大模型推理需要高性能的计算资源,公有云或混合云部署提供了灵活的计算资源。低延迟要求:边缘计算适合对延迟要求极高的实时应用场景。灵活性和扩展性:云端部署提供更高的弹性和可扩展性,适用于需求波动较大的应用。选择合适的部署方式能够帮助企业更好地平衡成本、性能和安全需求,实现大模型在实际业务中的高效运作。

cancer_s的博客 3230

【手把手教你】搭建私有大模型+私有知识库

就是把目前最流行的开源大模型部署到自己的电脑上,无需联网、也不用买会员,隐私可不会泄露,直接可以和AI聊天。就是你可以把你喜欢的资料统统喂给大模型,然后让AI查询你指定的材料,再来回复你的问题。若是在公司搭建这套组合,可以把公司的介绍、产品数据、销售数据等等都发给私有大模型,回复用户的信息就更有针对性。大模型搭建已经分享过了,就不在此赘述,直接进入主题,知识库搭建。AnthingLLM可以直接在其界面上对话,导入各种形式的资料。也可以把本地AI大模型和知识库做成接口API,在企业的其他应用里面去调用。

2301_76168381的博客 4828

AI私有化部署怎么做?企业AI大模型私有化部署解决方案来了

是一个功能强大、架构灵活的行业应用解决方案,能够高效地将AI大模型部署到企业私有环境,包括私有云部署和本地部署,其重要优势包括:先进的应用架构和模型算法,卓越的性能,高质量的模型训练能力,全面的客户支持服务,稳定高效的技术运行和完善的运营保障体系等。因此,在决策私有化部署前,需要综合考虑企业的实际需求、预算限制和项目风险,做出明智的决策。总之,企业AI大模型私有化部署的解决方案、部署流程和报价应着眼于满足企业的具体需求,保护企业的数据安全和隐私,同时提高AI应用的性能和稳定性,帮助企业实现自身的业务目标。

Python栈 1668

AIGC大模型微调与私有化部署的应用及案例

AIGC(人工智能生成内容)大模型与私有化部署的结合,特别适用于需要高度数据隐私和定制化需求的场景。以下是AIGC大模型与私有化部署的应用及具体案例分析:1. 医疗健康应用- 临床决策支持:通过私有化部署大模型对患者数据进行分析,生成个性化的诊疗建议和健康管理方案。- 病历自动生成:大模型可以帮助医生自动生成标准化的电子病历,提高文书工作效率。案例- 描述:Mayo Clinic使用私有化部署的大模型对患者的医疗数据进行分析,提供适时的临床决策支持和疾病预防建议。

chenxyuan1tuo的博客 1267

零基础,零成本,部署一个属于你的大模型

因此,本文是为AI初学者们(包括我自己)编写的保姆级大型模型部署和使用指南。现在正值阿里云免费试用计划,我们可以不花一分钱就可以体验部署自己的大型模型的乐趣。

蛮三刀酱 9871

企业部署私有化AI大模型的必要性

红点匠AI可提供整体的AI大模型私有化解决方案,包括 AI大模型部署 + 数据训练 + AI商业化客户端,可提供端到端的全场景全链条业务。

2401_84679518的博客 1721

大模型私有化部署要花多少钱?一张图看懂你的钱用在哪

DeepSeek热度持续,大家都在探索DeepSeek的使用场景,拓宽它的使用边界。在一些数据安全敏感的场景私有化部署是企业落地LLM的重要选项。

weixin_59191169的博客 1155

USB的24脚和12脚TYPEC引脚定义

USB 是一种接口,用于将设备连接到计算机上。通过该连接,计算机可以向设备发送数据或检索来自设备的数据。USB 为开发者提供了一个标准接口,适用于多种不同类型的应用。借助于系统的设计过程,USB 设备易于连接和使用。本应用笔记会使该过程变得更加简单。以下是本应用笔记中会使用的概念:USB 历史USB 架构USB 物理接口USB 速度USB 电源USB 端点USB 通信协议USB 描述符USB 类设备USB 枚举与配置过程。

易板 1万+

Matlab R2024a硬件支持包安装避坑指南:以Arduino为例(附离线包下载)

本文详细介绍了Matlab R2024a硬件支持包(Support Package)的安装流程,特别是针对Arduino平台的避坑指南和高效部署方法。从环境准备、离线安装方案到Arduino支持包的专项优化,提供了全面的技术细节和解决方案,帮助开发者避免常见错误,实现快速部署。

weixin_33737134的博客 448

零基础学AI大模型之大模型私有化部署全指南

摘要 本文系统介绍了AI大模型私有化部署的两种核心方式:源码部署(技术门槛高但灵活)和应用部署(低门槛快速上手)。重点分析了DeepSeek系列大模型从1.5B到671B不同参数规模的硬件配置要求、性能表现及适用场景,涵盖个人开发到企业级应用的完整选型建议。特别针对Ollama工具提供了详细实操指南,包括模型下载、参数配置等关键步骤,为技术团队提供从理论到实践的完整参考框架。

chandfy的博客 2317

关于无障碍适配的笔记

针对无障碍兼容性的笔记,针对wcg2.0/2.1

CoffeeAndIce的博客 4217

DeepSeek-R1私有化大模型本地部署教程

本地部署可以有效保护我们的隐私数据不被泄露,而且使用更加稳定,尤其是最近DeepSeek经常被恶意攻击,导致服务无法使用,本地部署就可以很好的避免这个问题,而且不依赖网络,更加灵活自由。

Y525698136的博客 4237

大疆M3508电机使用CAN通信进行速度PID闭环控制详解

目录一. 简介二. 电机通信协议三. 电机PID控制原理四. 官方代码移植-中断接收五. 官方代码移植-查询接收 一. 简介 之前写过一篇文章STM32实现四驱小车(五)电机控制任务——电机速度PID控制算法,其中是以大疆的M3508电机为例进行讲解的(没错,就是RoboMaster机器人同款电机,不过Robomaster上的电机好像是小一号的M2006)。不少小伙伴私信问我要代码,我都回复说不是有官方demo么。后来问的人多了我大概明白了,看来官方的Demo还是有点门槛。可能是带FreeRTOS操作系统看

qq_30267617的博客 7万+

大模型微调部署实战及类GPT工具的高效使用

本文主要介绍了专栏《大模型微调部署实战及类GPT工具的高效使用》的核心内容,希望对使用大语言模型的同学们有所帮助。 文章目录 1. 前言 2. 专栏亮点 3. 你的收获 4. 详细目录

herosunly的博客 22万+

小白搭建大模型应用与智能体(1)——了解大模型私有化部署

本系列内容将对笔者学到的大模型私有化部署、应用与智能体做一个全方位的总结,旨在从较低的技术门槛层面,帮助需要搭建大模型应用的企业或者个人,了解大模型应用搭建的整个流程,并可以根据本篇文章的整体思路,拓展学习其中的其他知识。

yzChristina620的博客 2296

012、乘累加单元(MAC):NPU中最基本的计算单元

本文深入剖析了神经网络处理器(NPU)中的核心计算单元——乘累加单元(MAC)。作者通过实际调试案例揭示了MAC单元设计中的关键问题:定点数格式对齐、累加器位宽陷阱、流水线优化和多MAC同步方案。重点讨论了INT8量化中的边界条件处理、偏置项截断风险以及零值检测等实战经验,并提供了三点实用建议:建立精确的C模型、参考RISC-V P扩展指令集、仔细审查芯片规格书。文章强调硬件加速的实际瓶颈往往在于数据搬运而非计算单元本身,为NPU开发者提供了宝贵的工程实践参考。

m0_50546716的博客 298

大模型私有化部署

本文介绍了企业私有化部署大模型的全流程方案。首先通过Docker在主服务器部署Dify平台作为统一服务入口,同时在独立GPU服务器上分别部署Ollama(运行大语言模型)和Xinference(运行嵌入/重排序模型)。采用多服务器架构可分散计算压力、提高扩展性并展示Dify的分布式管理能力。详细说明了Dify在腾讯云的部署步骤、模型服务器的配置方法,以及通过SSH隧道实现服务连接的技术细节。最后总结了该架构的优势:Ollama专注LLM、Xinference支持多样化模型、分离部署优化资源利用,共同构建安全

cashAAone的博客 1495

手把手教你学Simulink——基于Simulink的多轮PMSM同步驱动交叉耦合控制

摘要:本文针对多轮PMSM同步驱动系统的负载不均、参数差异等问题,提出基于Simulink的交叉耦合控制解决方案。通过实时补偿轮间同步误差,实现同步误差<1%、转矩脉动<5%的性能提升。文章详细介绍了系统架构、核心算法(包括PMSM数学模型和偏差耦合控制算法)、Simulink建模步骤及参数设置,并通过仿真验证了稳态和动态性能。同时提供了工程调试建议和完整代码实现,为多轮驱动系统开发提供实用参考。该方案计算量小,可移植性强,适用于电动汽车、AGV等应用场景。

MHD0815的博客 140

代谢组数据分析(二十一):通过MetaboAnalystR标准化构建sPLSDA预测模型

本文介绍了如何使用R语言中的MetaboAnalystR包和mixOmics包进行代谢组学数据的标准化和sPLSDA分析。MetaboAnalystR包用于数据预处理,包括数据初始化、清洗、补足、过滤和标准化等步骤,以确保数据质量。mixOmics包则用于sPLSDA分析,通过Lasso惩罚进行变量选择,并建立分类模型。文章详细说明了安装和加载相关R包的步骤,并提供了数据导入和预处理的代码示例。最后,强调了数据预处理的重要性,以确保后续分析的准确性和可靠性。

专注生信领域 2426

大模型私有化部署小栗子

介绍其概念、分类及 “学会说话 - 理解意图 - 反馈择优” 核心机制,聚焦 DeepSeek 系列开源模型(尤指 deepseek-r1),明确核心目标是私有化部署构建聊天机器人。接着讲部署需求、架构(个人电脑用 Ollama,云平台用 LangChain,前端用 Streamlit)及 Ollama 特性,最后提供 Windows/Linux/WSL 多系统 Ollama 部署、ChatBox 前端配置、Python 环境搭建、Ollama API 使用及 Streamlit 开发实操指南

qq_61475850的博客 1053

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

企业AI大模型私有化部署解决方案

在解决方案上,建议企业建立专门的AI服务器集群,配置高性能计算资源,实现大规模模型训练和推理任务。为了实施严格的数据安全,需要提供安全隔离和访问控制的措施,以防止数据泄露或非法获取。在部署流程上,包括环境搭建、数据准备、模型训练、模型优化和推理部署等多个步骤。每个步骤都需要严格的操作和测试,以确保最终部署的模型能够稳定运行并达到预期的性能指标。在报价方面,需要根据具体项目需求的特点进行定价。此外,还需要考虑培训和技术支持等增值服务,以满足企业的各种需求。

2301_82275412的博客 2983

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

本地私有化部署AI大模型

一、产品概述AI大模型已成为推动人工智能发展的关键力量,它们能够处理海量数据,学习复杂的模式,并做出精确的预测。在多个领域,如自然语言处理、图像识别、语音识别等,AI大模型都表现出了卓越的性能,为使用单位带来了前所未有的机遇。本地私有化部署AI大模型是一个复杂而关键的过程,同时在军事领域的应用具有广泛的前景和重要的价值。本地私有化AI大模型是指将大规模、高复杂度的AI模型部署在本地服务器或设备上,实现数据的本地处理、存储和分析,以满足使用单位或个人的特定需求。

2301_82275412的博客 2096

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上一篇: 16元推理成本,DeepSeek动了谁的蛋糕?
下一篇: 【Attention优化重大突破!显存减半效率倍增,大模型长文本处理迎来新时代】
OneThingAI
博客等级 码龄2年 135粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值