质量保证的六个模式(6) - 架构和实现模式

AI模型训练质量保证:架构师的6个步骤(附教程) 目标:选择一个简单、可复现的基线模型,作为后续模型改进的参考。本文从架构师视角,提出了6个系统的模型训练质量保证步骤数据质量验证:从源头杜绝偏差;定义模型基准:建立可对比的参考;训练过程监控:及时发现异常;应用正则化:防止过拟合;交叉验证:确保泛化能力;上线前评估:模拟真实场景。通过这些步骤,你可以构建一套可重复、可监控、可优化的质量保证体系,降低模型上线风险,提升模型的稳定性与可靠性。模型训练质量保证不是事后检查,而是贯穿于整个流程的持续优化。 阅读详情
 
质量保证的六个模式(6) - 架构和实现模式
 
陈能技
2007-10-7
 
原文:Quality:It's All in the Values – Neil Harrison
 
我们从研究的组织中发现模式。这些模式形成了动态组成的软件项目组的语言模式。这里有一些模式是跟质量和价值尤其相关的。这些模式是从Organizational Patterns of Agile Software Development这本书选出来的。它们包括:
1、 雇用质量保证模式
2、引入客户质量模式
3、客户代表质量模式
4、架构师控制产品模式
5、架构和实现模式
6、代码拥有者模式
 
架构和实现模式
如果架构师呆在象牙塔里面,他与现实是脱节的,然而,某些人需要把高层次的观点与实际结合起来。因此,要确保架构师参与到每天的实现过程中来。
 
架构是抽象的活动,但是架构需要具体的实现。如果架构与系统的具体实现方面脱节的话,架构是不容易被实现的。而这些会使架构师的所有好的工作失效。因此,架构师的观点必须与实现融合。最简单、最好的方式是让架构师写代码。不应该很多 – 毕竟,架构师有很多其它的责任 – 但是必须足以让架构师明白自己的实现环境。
 
架构和实现模式包括:
 
软件项目必须是在不牺牲实用的深度和对实用性的注意的前提下放宽领导范围。
 
虽然开发人员在单独的设计和实现决定方面很在行,但是一个项目需要总体的、指导性的、策略性的、技术性的指引。指引通常来自架构师。然而,很多软件架构师限于思考和对抽象概念的说明,而抽象是忽略无知的正式形式之一。
 
因此:
 
除了建议、指导和与开发人员沟通外,架构师还应该参与到实现中来。
 
架构师应该有组织地参与到开发中来并编写代码。架构师可能与一个开发人员一起实现某个模块,通过结对编程的开发方式。
 
 
 
AI提示工程测试的6大维度:提示工程架构师的质量保证框架 歧义性:提示中的模糊表述(如“请写一篇好文章”)导致模型输出不符合预期;不完整性:遗漏关键约束(如“总结不超过300字”)导致输出过长;引导性过强:提示中的暗示(如“这款产品很棒,对吗?”)导致模型输出有偏;鲁棒性差:轻微的输入变化(如语序调整、同义词替换)导致输出突变。提示是“自然语言”与“模型逻辑”的中间层,其不确定性远高于传统软件的“结构化输入”。因此,必须通过体系化测试替代“经验判断”。在LLM时代,提示工程是AI系统的“新基建”,而提示测试是“基建的质量保证”。本文提出的。 阅读详情

相关推荐

36、事件驱动架构中的测试策略与质量保证

本文探讨了在事件驱动架构中实施测试策略与质量保证的关键方法。重点介绍了契约测试和消费者驱动契约在确保服务间兼容性中的作用,同时分析了不同测试分类(如Q1-Q4)在预生产和生产阶段的指导意义。文章强调了端到端质量保证不再依赖传统端到端测试,而是通过组件级测试、兼容性测试和生产环境测试的综合策略实现高效可靠的质量保障。此外,还介绍了消费者驱动契约的具体实施步骤,以及生产环境测试在复杂分布式系统中的重要性。

g5h6i的博客 157

二、如何保证架构的质量、架构前期准备、技术填补与崩溃预防、系统重构

① 架构师分类:系统架构师、应用架构师、业务架构师。

小草莓的博客 747

微服务架构下的质量保证实践

本文深入探讨了在微服务架构下进行质量保证的关键实践,包括测试自动化、渐进式调整以及建立完整的质量保证系统。文章详细描述了微服务环境下测试用例的分布式特性,强调了随着微服务数量的增加,自动化测试变得尤为重要。同时,提出了测试环境、测试技术和测试方法的新要求,并强调了持续集成和持续部署基础设施的重要性。此外,文章还讨论了如何根据系统所处生命周期的不同阶段调整测试策略,并建立了一个包括离线、在线和基础设施的质量保证系统。

weixin_28888459的博客 421

如何保证架构的质量

架构崩溃是严重的架构设计事故,需要预防的关键.用户行为抓取,争取在最新时间获取到用户操作链条。日志记录,如操作日志、错误日志、业务日志等。系统崩溃的产生的原因。

wanmeijuhao的博客 1364

软件部组织结构及职责.doc

软件部组织结构及职责,定义了经典的软件公司和互联网公司软件开发部的组织架构形态,以及岗位职责。包括经理,后端开发工程师,java开发工程师,安卓开发工程师等岗位职责。

软件项目管理组织结构图

一般软件 分解模块图 从用户需求开始一直到软件维护全过程

质量保证的六个模式(1) - 质量价值简介

 质量保证的六个模式(1) - 质量价值简介 陈能技2007-10-1 原文:Quality:Its All in the Values – Neil Harrison 最近,我家搬到一个新房子。有些事情是搬进新房特有的兴奋:检查新房间、感觉一下脚趾头之间的地毯、第一次使用新的器具…啊,对了,新的器具。不幸的是,我们的热情被消减了一下,因为我们发现冰箱不制冷。我们

软件质量优化 2774

三菱FX5U运动控制(步进)

三菱FX5U脉冲定位控制,原点回归,相对定位,绝对定位,运动控制案例。

weixin_55762091的博客 1万+

质量保证的六个模式

(1)质量价值简介   原文:Quality:Its All in the Values – Neil Harrison   最近,我家搬到一个新房子。有些事情是搬进新房特有的兴奋:检查新房间、感觉一下脚趾头之间的地毯、第一次使用新的器具…啊,对了,新的器具。不幸的是,我们的热情被消减了一下,因为我们发现冰箱不制冷。我们很快换了一个,但是制冰器不工作。制冰器修好了,但是门开不了。然后水管结冰了。

NatureNature的专栏 1553

MobileNet V3 图像分类

MobileNet V3

Henry的博客 1768

GPMC开发笔记(TI开发者推荐笔记)

因为gpmc(General-Purpose Memory Controller)是TI特有的驱动,gpmc的资料比较少,本人开发gpmc驱动算是摸了很多石头过河的。所以想通过这遍文章可以给也做GPMC驱动开发的后来者有一点参考价值。文章如有瑕疵也请各位批评改正。 1.GPMC介绍 gpmc主要用于与nandflash,norflash,fpga进行通信。在这里主要介绍gpmc16位数据和地址线不复用nor模式下的通信。 注意:在这种模式下gpmc_a[0]引脚是没法使用的 1.1GPMC信号线

weixin_44316996的博客 7498

质量保证的六个模式(5) - 架构师控制产品模式

 质量保证的六个模式(5) - 架构师控制产品模式 陈能技2007-10-7 原文:Quality:Its All in the Values – Neil Harrison 我们从研究的组织中发现模式。这些模式形成了动态组成的软件项目组的语言模式。这里有一些模式是跟质量和价值尤其相关的。这些模式是从Organizational Patterns of Agile

软件质量优化 2171

免费大容量国外网盘测评:冷数据归档与rclone加密接入

云存储的本质,是通过对象存储、冗余编码和分层缓存,把本地磁盘容量问题转化为网络访问与数据管理问题。免费大容量国外网盘常以空间换用户规模或付费转化,容量政策、传输策略、协议支持和退出成本,往往比标称容量更决定长期可用性。支持 WebDAV、S3 兼容和命令行工具的服务,可接入 rclone 等自动化流程,再配合客户端加密与冷热分层,用于冷数据归档、老项目备份和家庭影像保存。理解带宽换算、单文件上限、保活机制与传输一致性后,评估话题型大容量网盘与专业向协议网盘,就能把免费空间纳入可靠存储层。围绕免费大容量国外网

weixin_31292729的博客 212

质量保证的六个模式(2) - 雇用质量保证模式

 质量保证的六个模式(2) - 雇用质量保证模式 陈能技2007-10-6 原文:Quality:Its All in the Values – Neil Harrison 我们从研究的组织中发现模式。这些模式形成了动态组成的软件项目组的语言模式。这里有一些模式是跟质量和价值尤其相关的。这些模式是从Organizational Patterns of Agile

软件质量优化 2132

[HBM] RAM Cell Self Repair | 内存单元自我修复

对抗错误的大都是冗余,内存颗粒在设计的时候也考虑增加冗余。具体的说:添加冗余或备用的存储单元行和列,及时将测试中的故障进行修复和替换,存储器修复包括行修复,列修复或两者的组合。

串起点滴 783

高通SA8295P音频接口深度解析:全面掌握SA8295P的LS-I2S、PCM/TDM与高性能音频处理技术设计

SA8295P提供丰富的音频接口选项,包括LS-I2S、PCM/TDM和HS-I2S接口,具备灵活的配置选项,适合各种高保真音频和高速数据传输应用。结合LS-I2S和PCM/TDM接口:在复杂的音频编解码器设计中,可结合使用LS-I2S和PCM/TDM接口,以处理和传输不同的音频数据流。使用HS-I2S接口:在软件定义无线电(SDR)系统中,高速I2S接口可处理高速数据流,如无线电信号的解码和处理。LS-I2S(低速I2S)接口是SA8295P的一部分,提供了丰富的音频数据传输选项。

weixin_43199439的博客 1403

质量保证的六个模式(8) - 质量在于意识的改变

  质量保证的六个模式(8) - 质量在于意识的改变 陈能技2007-10-7 原文:Quality:Its All in the Values – Neil Harrison 我们从研究的组织中发现模式。这些模式形成了动态组成的软件项目组的语言模式。这里有一些模式是跟质量和价值尤其相关的。这些模式是从Organizational Patterns of Agil

软件质量优化 2311

可疑物品遗留检测系统:基于YOLOv8的智能安防解决方案

数据采集与标注模块:负责收集和标注可疑物品图像数据模型训练模块:基于YOLOv8算法训练检测模型推理检测模块:加载训练好的模型进行实时检测用户界面模块:提供友好的操作界面和可视化结果展示报警模块:当检测到可疑物品时触发报警机制:包含多种暴力场景和可疑物品SUAVe:监控场景下的异常行为与物品数据集:包含多种可疑物品自建数据集:针对特定场景收集的数据背包(backpack)手提箱(suitcase)无人看管的包裹(package)可疑箱子(box)

YOLO 435

质量保证的六个模式(3) - 引入客户质量模式

质量保证的六个模式(3) - 引入客户质量模式 陈能技2007-10-6 原文:Quality:Its All in the Values – Neil Harrison 我们从研究的组织中发现模式。这些模式形成了动态组成的软件项目组的语言模式。这里有一些模式是跟质量和价值尤其相关的。这些模式是从Organizational Patterns of Agile Sof

软件质量优化 2363

【ComfyUI】【Nunchaku】【diffusers报错解决】秋叶整合包安装 Nunchaku 报错的解决方法

最近在折腾 AI 绘图时,我尝试在秋叶的 ComfyUI 整合包中安装 `ComfyUI-nunchaku` 插件(版本 0.3.3),结果启动后直接报错,提示无法从 `accelerate.utils.memory` 中导入 `clear_device_cache`,让我一度怀疑插件是否兼容。查阅了一堆 issue 和源码之后,总算找到了原因和解决方法。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1852

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

CMMI-质量保证

CMMI-质量保证

深圳市多克创新科技有限公司 1432

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

质量保证的六个模式(7) - 代码拥有者模式

 质量保证的六个模式(7) - 代码拥有者模式 陈能技2007-10-7 原文:Quality:Its All in the Values – Neil Harrison 我们从研究的组织中发现模式。这些模式形成了动态组成的软件项目组的语言模式。这里有一些模式是跟质量和价值尤其相关的。这些模式是从Organizational Patterns of Agile S

软件质量优化 2251

深度学习工具包 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")

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: 质量保证的六个模式(5) - 架构师控制产品模式
下一篇: 质量保证的六个模式(7) - 代码拥有者模式
TIB
TIB
博客等级 码龄19年 2879粉丝 957原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值