质量保证的六个模式(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

【RK3588 NPU性能调优实战】多线程异步推理YOLOv5,榨干6TOPS算力

本文详细解析了如何在RK3588 NPU上通过多线程异步推理优化YOLOv5目标检测性能,实现6TOPS算力的最大化利用。通过线程池设计、流水线化帧处理及避开内存带宽瓶颈等技巧,将NPU利用率从30%提升至82%,帧率显著提高至61.2FPS。文章还提供了环境配置、代码实现及性能对比数据,助力开发者高效部署AI模型。

weixin_29034963的博客 340

质量保证的六个模式

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

NatureNature的专栏 1553

Ubuntu操作系统等保测评指南

Ubuntu操作系统等保测评指南

qq_40181198的博客 7025

超速U盘选购避坑指南:如何通过Rx Detect机制识别真伪USB3.0设备

本文深入解析了USB 3.0超速U盘的选购避坑要点,重点介绍了通过Rx Detect机制识别真伪设备的核心原理。文章提供了从软件检测到实际性能测试的完整方案,帮助消费者和技术人员有效辨别虚假的USB3.0设备,确保获得真正的超速传输体验。

weixin_29189373的博客 443

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

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

软件质量优化 2171

ubuntu17.04 UHD 驱动出错

ubuntu 17.04 源码安装UHD

xrh003的博客 1万+

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

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

软件质量优化 2132

Android开发者必看:F2FS文件系统如何优化你的手机存储性能(附实测数据对比)

本文深入解析了F2FS文件系统如何针对闪存特性优化Android设备存储性能。通过对比ext4,F2FS采用追加写和冷热数据分离策略,将随机写转化为顺序写,显著提升写入速度并减少GC卡顿。实测数据显示,其在随机写入和SQLite事务等场景下性能提升显著,为开发者提供了优化应用IO性能的关键思路。

weixin_29248313的博客 325

Python + DeepSeek 完美结合:本地部署提效指南

随着生成式 AI 和深度学习技术的快速发展,如何将智能搜索工具与本地部署结合以提升效率成为了许多企业和开发者关注的重点。DeepSeek 是一款开源的智能搜索框架,结合 Python 的灵活性,能够实现高效、可靠的本地部署方案。本文将介绍如何通过 Python 和 DeepSeek 的完美结合,实现本地化部署并提升工作效率。通过将 Python 与 DeepSeek 结合,可以快速实现语义搜索的本地化部署,确保数据安全的同时提升工作效率。文件可直接作为 DeepSeek 的输入数据。

weixin_44872675的博客 1万+

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

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

软件质量优化 2311

基于改进Unet的多场景水果图像分割与分类研究

本文针对复杂场景下的水果图像分割问题,提出了一种改进Unet模型。通过构建包含8类水果、3种成熟度及多种干扰场景的数据集,采用ResNet50与MobileNetV3作为骨干网络,并在跳跃连接层集成CBAM注意力机制。实验表明,改进模型在测试集上达到91.6%的mIoU,推理速度提升23%,特别在重叠水果和低光照场景表现突出。研究为农业视觉检测提供了有效解决方案。

AI的内部世界的博客 303

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

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

软件质量优化 2363

在 RAP 中把业务对象“搬到网口上”:service definition 与 service binding 的全流程、范式与实战

本文解析了SAP ABAP开发中service definition和service binding的关键作用。service definition负责选择要暴露的CDS实体和行为,形成服务模型;而service binding则将服务绑定到具体协议(如OData),生成可访问的端点。两者分离带来三大优势:支持同一模型多重发布、降低环境迁移耦合度、强化安全治理。文章通过预订业务对象的端到端示例,展示了如何从CDS建模到生成Fiori Elements预览。最后以售后工单业务为例,说明这种架构如何支持内外服务

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 390

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

CMMI-质量保证

CMMI-质量保证

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

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

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

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

软件质量优化 2251

IEM模型,地表粗糙度模拟

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

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值